
//jquery.js

/*!
 * jQuery JavaScript Library v1.4.3
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Oct 14 23:10:06 2010 -0400
 */
(function(E,A){function U(){return false}function ba(){return true}function ja(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ga(a){var b,d,e=[],f=[],h,k,l,n,s,v,B,D;k=c.data(this,this.nodeType?"events":"__events__");if(typeof k==="function")k=k.events;if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){if(a.namespace)D=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var H=k.live.slice(0);for(n=0;n<H.length;n++){k=H[n];k.origType.replace(X,
"")===a.type?f.push(k.selector):H.splice(n--,1)}f=c(a.target).closest(f,a.currentTarget);s=0;for(v=f.length;s<v;s++){B=f[s];for(n=0;n<H.length;n++){k=H[n];if(B.selector===k.selector&&(!D||D.test(k.namespace))){l=B.elem;h=null;if(k.preType==="mouseenter"||k.preType==="mouseleave"){a.type=k.preType;h=c(a.relatedTarget).closest(k.selector)[0]}if(!h||h!==l)e.push({elem:l,handleObj:k,level:B.level})}}}s=0;for(v=e.length;s<v;s++){f=e[s];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;
a.handleObj=f.handleObj;D=f.handleObj.origHandler.apply(f.elem,arguments);if(D===false||a.isPropagationStopped()){d=f.level;if(D===false)b=false}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(Ha,"`").replace(Ia,"&")}function ka(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Ja.test(b))return c.filter(b,
e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function la(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var k in e[h])c.event.add(this,h,e[h][k],e[h][k].data)}}})}function Ka(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}
function ma(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?La:Ma,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function ca(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Na.test(a)?e(a,h):ca(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?
e(a,""):c.each(b,function(f,h){ca(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(na.concat.apply([],na.slice(0,b)),function(){d[this]=a});return d}function oa(a){if(!da[a]){var b=c("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";da[a]=d}return da[a]}function ea(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var u=E.document,c=function(){function a(){if(!b.isReady){try{u.documentElement.doScroll("left")}catch(i){setTimeout(a,
1);return}b.ready()}}var b=function(i,r){return new b.fn.init(i,r)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,k=/\S/,l=/^\s+/,n=/\s+$/,s=/\W/,v=/\d/,B=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,D=/^[\],:{}\s]*$/,H=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,G=/(?:^|:|,)(?:\s*\[)+/g,M=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,j=/(msie) ([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,
q=[],t,x=Object.prototype.toString,C=Object.prototype.hasOwnProperty,P=Array.prototype.push,N=Array.prototype.slice,R=String.prototype.trim,Q=Array.prototype.indexOf,L={};b.fn=b.prototype={init:function(i,r){var y,z,F;if(!i)return this;if(i.nodeType){this.context=this[0]=i;this.length=1;return this}if(i==="body"&&!r&&u.body){this.context=u;this[0]=u.body;this.selector="body";this.length=1;return this}if(typeof i==="string")if((y=h.exec(i))&&(y[1]||!r))if(y[1]){F=r?r.ownerDocument||r:u;if(z=B.exec(i))if(b.isPlainObject(r)){i=
[u.createElement(z[1])];b.fn.attr.call(i,r,true)}else i=[F.createElement(z[1])];else{z=b.buildFragment([y[1]],[F]);i=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,i)}else{if((z=u.getElementById(y[2]))&&z.parentNode){if(z.id!==y[2])return f.find(i);this.length=1;this[0]=z}this.context=u;this.selector=i;return this}else if(!r&&!s.test(i)){this.selector=i;this.context=u;i=u.getElementsByTagName(i);return b.merge(this,i)}else return!r||r.jquery?(r||f).find(i):b(r).find(i);
else if(b.isFunction(i))return f.ready(i);if(i.selector!==A){this.selector=i.selector;this.context=i.context}return b.makeArray(i,this)},selector:"",jquery:"1.4.3",length:0,size:function(){return this.length},toArray:function(){return N.call(this,0)},get:function(i){return i==null?this.toArray():i<0?this.slice(i)[0]:this[i]},pushStack:function(i,r,y){var z=b();b.isArray(i)?P.apply(z,i):b.merge(z,i);z.prevObject=this;z.context=this.context;if(r==="find")z.selector=this.selector+(this.selector?" ":
"")+y;else if(r)z.selector=this.selector+"."+r+"("+y+")";return z},each:function(i,r){return b.each(this,i,r)},ready:function(i){b.bindReady();if(b.isReady)i.call(u,b);else q&&q.push(i);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(i){return this.pushStack(b.map(this,function(r,y){return i.call(r,
y,r)}))},end:function(){return this.prevObject||b(null)},push:P,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var i=arguments[0]||{},r=1,y=arguments.length,z=false,F,I,K,J,fa;if(typeof i==="boolean"){z=i;i=arguments[1]||{};r=2}if(typeof i!=="object"&&!b.isFunction(i))i={};if(y===r){i=this;--r}for(;r<y;r++)if((F=arguments[r])!=null)for(I in F){K=i[I];J=F[I];if(i!==J)if(z&&J&&(b.isPlainObject(J)||(fa=b.isArray(J)))){if(fa){fa=false;clone=K&&b.isArray(K)?K:[]}else clone=
K&&b.isPlainObject(K)?K:{};i[I]=b.extend(z,clone,J)}else if(J!==A)i[I]=J}return i};b.extend({noConflict:function(i){E.$=e;if(i)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(i){i===true&&b.readyWait--;if(!b.readyWait||i!==true&&!b.isReady){if(!u.body)return setTimeout(b.ready,1);b.isReady=true;if(!(i!==true&&--b.readyWait>0)){if(q){for(var r=0;i=q[r++];)i.call(u,b);q=null}b.fn.triggerHandler&&b(u).triggerHandler("ready")}}},bindReady:function(){if(!p){p=true;if(u.readyState==="complete")return setTimeout(b.ready,
1);if(u.addEventListener){u.addEventListener("DOMContentLoaded",t,false);E.addEventListener("load",b.ready,false)}else if(u.attachEvent){u.attachEvent("onreadystatechange",t);E.attachEvent("onload",b.ready);var i=false;try{i=E.frameElement==null}catch(r){}u.documentElement.doScroll&&i&&a()}}},isFunction:function(i){return b.type(i)==="function"},isArray:Array.isArray||function(i){return b.type(i)==="array"},isWindow:function(i){return i&&typeof i==="object"&&"setInterval"in i},isNaN:function(i){return i==
null||!v.test(i)||isNaN(i)},type:function(i){return i==null?String(i):L[x.call(i)]||"object"},isPlainObject:function(i){if(!i||b.type(i)!=="object"||i.nodeType||b.isWindow(i))return false;if(i.constructor&&!C.call(i,"constructor")&&!C.call(i.constructor.prototype,"isPrototypeOf"))return false;for(var r in i);return r===A||C.call(i,r)},isEmptyObject:function(i){for(var r in i)return false;return true},error:function(i){throw i;},parseJSON:function(i){if(typeof i!=="string"||!i)return null;i=b.trim(i);
if(D.test(i.replace(H,"@").replace(w,"]").replace(G,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(i):(new Function("return "+i))();else b.error("Invalid JSON: "+i)},noop:function(){},globalEval:function(i){if(i&&k.test(i)){var r=u.getElementsByTagName("head")[0]||u.documentElement,y=u.createElement("script");y.type="text/javascript";if(b.support.scriptEval)y.appendChild(u.createTextNode(i));else y.text=i;r.insertBefore(y,r.firstChild);r.removeChild(y)}},nodeName:function(i,r){return i.nodeName&&i.nodeName.toUpperCase()===
r.toUpperCase()},each:function(i,r,y){var z,F=0,I=i.length,K=I===A||b.isFunction(i);if(y)if(K)for(z in i){if(r.apply(i[z],y)===false)break}else for(;F<I;){if(r.apply(i[F++],y)===false)break}else if(K)for(z in i){if(r.call(i[z],z,i[z])===false)break}else for(y=i[0];F<I&&r.call(y,F,y)!==false;y=i[++F]);return i},trim:R?function(i){return i==null?"":R.call(i)}:function(i){return i==null?"":i.toString().replace(l,"").replace(n,"")},makeArray:function(i,r){var y=r||[];if(i!=null){var z=b.type(i);i.length==
null||z==="string"||z==="function"||z==="regexp"||b.isWindow(i)?P.call(y,i):b.merge(y,i)}return y},inArray:function(i,r){if(r.indexOf)return r.indexOf(i);for(var y=0,z=r.length;y<z;y++)if(r[y]===i)return y;return-1},merge:function(i,r){var y=i.length,z=0;if(typeof r.length==="number")for(var F=r.length;z<F;z++)i[y++]=r[z];else for(;r[z]!==A;)i[y++]=r[z++];i.length=y;return i},grep:function(i,r,y){var z=[],F;y=!!y;for(var I=0,K=i.length;I<K;I++){F=!!r(i[I],I);y!==F&&z.push(i[I])}return z},map:function(i,
r,y){for(var z=[],F,I=0,K=i.length;I<K;I++){F=r(i[I],I,y);if(F!=null)z[z.length]=F}return z.concat.apply([],z)},guid:1,proxy:function(i,r,y){if(arguments.length===2)if(typeof r==="string"){y=i;i=y[r];r=A}else if(r&&!b.isFunction(r)){y=r;r=A}if(!r&&i)r=function(){return i.apply(y||this,arguments)};if(i)r.guid=i.guid=i.guid||r.guid||b.guid++;return r},access:function(i,r,y,z,F,I){var K=i.length;if(typeof r==="object"){for(var J in r)b.access(i,J,r[J],z,F,y);return i}if(y!==A){z=!I&&z&&b.isFunction(y);
for(J=0;J<K;J++)F(i[J],r,z?y.call(i[J],J,F(i[J],r)):y,I);return i}return K?F(i[0],r):A},now:function(){return(new Date).getTime()},uaMatch:function(i){i=i.toLowerCase();i=M.exec(i)||g.exec(i)||j.exec(i)||i.indexOf("compatible")<0&&o.exec(i)||[];return{browser:i[1]||"",version:i[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,r){L["[object "+r+"]"]=r.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=
m.version}if(b.browser.webkit)b.browser.safari=true;if(Q)b.inArray=function(i,r){return Q.call(r,i)};if(!/\s/.test("\u00a0")){l=/^[\s\xA0]+/;n=/[\s\xA0]+$/}f=b(u);if(u.addEventListener)t=function(){u.removeEventListener("DOMContentLoaded",t,false);b.ready()};else if(u.attachEvent)t=function(){if(u.readyState==="complete"){u.detachEvent("onreadystatechange",t);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=u.documentElement,b=u.createElement("script"),d=u.createElement("div"),
e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],k=u.createElement("select"),l=k.appendChild(u.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),
hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:l.selected,optDisabled:false,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};k.disabled=true;c.support.optDisabled=!l.disabled;b.type="text/javascript";try{b.appendChild(u.createTextNode("window."+e+"=1;"))}catch(n){}a.insertBefore(b,
a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function s(){c.support.noCloneEvent=false;d.detachEvent("onclick",s)});d.cloneNode(true).fireEvent("onclick")}d=u.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=u.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var s=u.createElement("div");
s.style.width=s.style.paddingLeft="1px";u.body.appendChild(s);c.boxModel=c.support.boxModel=s.offsetWidth===2;if("zoom"in s.style){s.style.display="inline";s.style.zoom=1;c.support.inlineBlockNeedsLayout=s.offsetWidth===2;s.style.display="";s.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=s.offsetWidth!==2}s.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var v=s.getElementsByTagName("td");c.support.reliableHiddenOffsets=v[0].offsetHeight===
0;v[0].style.display="";v[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&v[0].offsetHeight===0;s.innerHTML="";u.body.removeChild(s).style.display="none"});a=function(s){var v=u.createElement("div");s="on"+s;var B=s in v;if(!B){v.setAttribute(s,"return;");B=typeof v[s]==="function"}return B};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",
cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var pa={},Oa=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?pa:a;var e=a.nodeType,f=e?a[c.expando]:null,h=c.cache;if(!(e&&!f&&typeof b==="string"&&d===A)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=
c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==A)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?pa:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);else if(d)delete f[e];else for(var k in a)delete a[k]}},acceptData:function(a){if(a.nodeName){var b=
c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){if(typeof a==="undefined")return this.length?c.data(this[0]):null;else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===A){var e=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(e===A&&this.length){e=c.data(this[0],a);if(e===A&&this[0].nodeType===1){e=this[0].getAttribute("data-"+a);if(typeof e===
"string")try{e=e==="true"?true:e==="false"?false:e==="null"?null:!c.isNaN(e)?parseFloat(e):Oa.test(e)?c.parseJSON(e):e}catch(f){}else e=A}}return e===A&&d[1]?this.data(d[0]):e}else return this.each(function(){var h=c(this),k=[d[0],b];h.triggerHandler("setData"+d[1]+"!",k);c.data(this,a,b);h.triggerHandler("changeData"+d[1]+"!",k)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=c.data(a,b);if(!d)return e||
[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===A)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var qa=/[\n\t]/g,ga=/\s+/,Pa=/\r/g,Qa=/^(?:href|src|style)$/,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,ra=/^(?:radio|checkbox)$/i;c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,
a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(s){var v=c(this);v.addClass(a.call(this,s,v.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1)if(f.className){for(var h=" "+f.className+" ",k=f.className,l=0,n=b.length;l<n;l++)if(h.indexOf(" "+b[l]+" ")<0)k+=" "+b[l];f.className=c.trim(k)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(n){var s=
c(this);s.removeClass(a.call(this,n,s.attr("class")))});if(a&&typeof a==="string"||a===A)for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(qa," "),k=0,l=b.length;k<l;k++)h=h.replace(" "+b[k]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,
f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,k=c(this),l=b,n=a.split(ga);f=n[h++];){l=e?l:!k.hasClass(f);k[l?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(qa," ").indexOf(a)>-1)return true;return false},
val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var k=f[h];if(k.selected&&(c.support.optDisabled?!k.disabled:k.getAttribute("disabled")===null)&&(!k.parentNode.disabled||!c.nodeName(k.parentNode,"optgroup"))){a=c(k).val();if(b)return a;d.push(a)}}return d}if(ra.test(b.type)&&
!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Pa,"")}return A}var l=c.isFunction(a);return this.each(function(n){var s=c(this),v=a;if(this.nodeType===1){if(l)v=a.call(this,n,s.val());if(v==null)v="";else if(typeof v==="number")v+="";else if(c.isArray(v))v=c.map(v,function(D){return D==null?"":D+""});if(c.isArray(v)&&ra.test(this.type))this.checked=c.inArray(s.val(),v)>=0;else if(c.nodeName(this,"select")){var B=c.makeArray(v);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=v}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return A;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==A;b=e&&c.props[b]||b;if(a.nodeType===1){var h=Qa.test(b);if((b in a||a[b]!==A)&&e&&!h){if(f){b==="type"&&Ra.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Sa.test(a.nodeName)||Ta.test(a.nodeName)&&a.href?0:A;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return A;a=!c.support.hrefNormalized&&e&&
h?a.getAttribute(b,2):a.getAttribute(b);return a===null?A:a}}});var X=/\.(.*)$/,ha=/^(?:textarea|input|select)$/i,Ha=/\./g,Ia=/ /g,Ua=/[^\w\s.|`]/g,Va=function(a){return a.replace(Ua,"\\$&")},sa={focusin:0,focusout:0};c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var k=a.nodeType?"events":"__events__",l=h[k],n=h.handle;if(typeof l===
"function"){n=l.handle;l=l.events}else if(!l){a.nodeType||(h[k]=h=function(){});h.events=l={}}if(!n)h.handle=n=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(n.elem,arguments):A};n.elem=a;b=b.split(" ");for(var s=0,v;k=b[s++];){h=f?c.extend({},f):{handler:d,data:e};if(k.indexOf(".")>-1){v=k.split(".");k=v.shift();h.namespace=v.slice(0).sort().join(".")}else{v=[];h.namespace=""}h.type=k;if(!h.guid)h.guid=d.guid;var B=l[k],D=c.event.special[k]||{};if(!B){B=l[k]=[];
if(!D.setup||D.setup.call(a,e,v,n)===false)if(a.addEventListener)a.addEventListener(k,n,false);else a.attachEvent&&a.attachEvent("on"+k,n)}if(D.add){D.add.call(a,h);if(!h.handler.guid)h.handler.guid=d.guid}B.push(h);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,k=0,l,n,s,v,B,D,H=a.nodeType?"events":"__events__",w=c.data(a),G=w&&w[H];if(w&&G){if(typeof G==="function"){w=G;G=G.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||
typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in G)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[k++];){v=f;l=f.indexOf(".")<0;n=[];if(!l){n=f.split(".");f=n.shift();s=RegExp("(^|\\.)"+c.map(n.slice(0).sort(),Va).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=G[f])if(d){v=c.event.special[f]||{};for(h=e||0;h<B.length;h++){D=B[h];if(d.guid===D.guid){if(l||s.test(D.namespace)){e==null&&B.splice(h--,1);v.remove&&v.remove.call(a,D)}if(e!=null)break}}if(B.length===0||e!=null&&B.length===1){if(!v.teardown||
v.teardown.call(a,n)===false)c.removeEvent(a,f,w.handle);delete G[f]}}else for(h=0;h<B.length;h++){D=B[h];if(l||s.test(D.namespace)){c.event.remove(a,v,D.handler,h);B.splice(h--,1)}}}if(c.isEmptyObject(G)){if(b=w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,H);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=
f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return A;a.result=A;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===
false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){e=a.target;var k,l=f.replace(X,""),n=c.nodeName(e,"a")&&l==="click",s=c.event.special[l]||{};if((!s._default||s._default.call(d,a)===false)&&!n&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[l]){if(k=e["on"+l])e["on"+l]=null;c.event.triggered=true;e[l]()}}catch(v){}if(k)e["on"+l]=k;c.event.triggered=false}}},handle:function(a){var b,d,e;
d=[];var f,h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var k=d.length;f<k;f++){var l=d[f];if(b||e.test(l.namespace)){a.handler=l.handler;a.data=
l.data;a.handleObj=l;l=l.handler.apply(this,h);if(l!==A){a.result=l;if(l===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.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[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||u;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=u.documentElement;d=u.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==A)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ga,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=u.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ba;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ba;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ba;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
var ta=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},ua=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?ua:ta,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?ua:ta)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=A;return ja("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=A;return ja("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
va=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ha.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=va(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===A||f===e))if(e!=null||f){a.type="change";a.liveFired=
A;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",va(a))}},setup:function(){if(this.type===
"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ha.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ha.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}u.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){sa[b]++===0&&u.addEventListener(a,d,true)},teardown:function(){--sa[b]===
0&&u.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=A}var k=b==="one"?c.proxy(f,function(n){c(this).unbind(n,k);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var l=this.length;h<l;h++)c.event.add(this[h],d,k,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var wa={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var k,l=0,n,s,v=h||this.selector;h=h?this:c(this.context);if(typeof d===
"object"&&!d.preventDefault){for(k in d)h[b](k,e,d[k],v);return this}if(c.isFunction(e)){f=e;e=A}for(d=(d||"").split(" ");(k=d[l++])!=null;){n=X.exec(k);s="";if(n){s=n[0];k=k.replace(X,"")}if(k==="hover")d.push("mouseenter"+s,"mouseleave"+s);else{n=k;if(k==="focus"||k==="blur"){d.push(wa[k]+s);k+=s}else k=(wa[k]||k)+s;if(b==="live"){s=0;for(var B=h.length;s<B;s++)c.event.add(h[s],"live."+Y(k,v),{data:e,selector:v,handler:f,origType:k,origHandler:f,preType:n})}else h.unbind("live."+Y(k,v),f)}}return this}});
c.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){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
(function(){function a(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1&&!q){x.sizcache=o;x.sizset=p}if(x.nodeName.toLowerCase()===j){C=x;break}x=x[g]}m[p]=C}}}function b(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1){if(!q){x.sizcache=o;x.sizset=p}if(typeof j!=="string"){if(x===j){C=true;break}}else if(l.filter(j,
[x]).length>0){C=x;break}}x=x[g]}m[p]=C}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,k=true;[0,0].sort(function(){k=false;return 0});var l=function(g,j,o,m){o=o||[];var p=j=j||u;if(j.nodeType!==1&&j.nodeType!==9)return[];if(!g||typeof g!=="string")return o;var q=[],t,x,C,P,N=true,R=l.isXML(j),Q=g,L;do{d.exec("");if(t=d.exec(Q)){Q=t[3];q.push(t[1]);if(t[2]){P=t[3];
break}}}while(t);if(q.length>1&&s.exec(g))if(q.length===2&&n.relative[q[0]])x=M(q[0]+q[1],j);else for(x=n.relative[q[0]]?[j]:l(q.shift(),j);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();x=M(g,x)}else{if(!m&&q.length>1&&j.nodeType===9&&!R&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){t=l.find(q.shift(),j,R);j=t.expr?l.filter(t.expr,t.set)[0]:t.set[0]}if(j){t=m?{expr:q.pop(),set:D(m)}:l.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&j.parentNode?j.parentNode:j,R);x=t.expr?l.filter(t.expr,
t.set):t.set;if(q.length>0)C=D(x);else N=false;for(;q.length;){t=L=q.pop();if(n.relative[L])t=q.pop();else L="";if(t==null)t=j;n.relative[L](C,t,R)}}else C=[]}C||(C=x);C||l.error(L||g);if(f.call(C)==="[object Array]")if(N)if(j&&j.nodeType===1)for(g=0;C[g]!=null;g++){if(C[g]&&(C[g]===true||C[g].nodeType===1&&l.contains(j,C[g])))o.push(x[g])}else for(g=0;C[g]!=null;g++)C[g]&&C[g].nodeType===1&&o.push(x[g]);else o.push.apply(o,C);else D(C,o);if(P){l(P,p,o,m);l.uniqueSort(o)}return o};l.uniqueSort=function(g){if(w){h=
k;g.sort(w);if(h)for(var j=1;j<g.length;j++)g[j]===g[j-1]&&g.splice(j--,1)}return g};l.matches=function(g,j){return l(g,null,null,j)};l.matchesSelector=function(g,j){return l(j,null,null,[g]).length>0};l.find=function(g,j,o){var m;if(!g)return[];for(var p=0,q=n.order.length;p<q;p++){var t=n.order[p],x;if(x=n.leftMatch[t].exec(g)){var C=x[1];x.splice(1,1);if(C.substr(C.length-1)!=="\\"){x[1]=(x[1]||"").replace(/\\/g,"");m=n.find[t](x,j,o);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=j.getElementsByTagName("*"));
return{set:m,expr:g}};l.filter=function(g,j,o,m){for(var p=g,q=[],t=j,x,C,P=j&&j[0]&&l.isXML(j[0]);g&&j.length;){for(var N in n.filter)if((x=n.leftMatch[N].exec(g))!=null&&x[2]){var R=n.filter[N],Q,L;L=x[1];C=false;x.splice(1,1);if(L.substr(L.length-1)!=="\\"){if(t===q)q=[];if(n.preFilter[N])if(x=n.preFilter[N](x,t,o,q,m,P)){if(x===true)continue}else C=Q=true;if(x)for(var i=0;(L=t[i])!=null;i++)if(L){Q=R(L,x,i,t);var r=m^!!Q;if(o&&Q!=null)if(r)C=true;else t[i]=false;else if(r){q.push(L);C=true}}if(Q!==
A){o||(t=q);g=g.replace(n.match[N],"");if(!C)return[];break}}}if(g===p)if(C==null)l.error(g);else break;p=g}return t};l.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=l.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|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,j){var o=typeof j==="string",m=o&&!/\W/.test(j);o=o&&!m;if(m)j=j.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=o||q&&q.nodeName.toLowerCase()===
j?q||false:q===j}o&&l.filter(j,g,true)},">":function(g,j){var o=typeof j==="string",m,p=0,q=g.length;if(o&&!/\W/.test(j))for(j=j.toLowerCase();p<q;p++){if(m=g[p]){o=m.parentNode;g[p]=o.nodeName.toLowerCase()===j?o:false}}else{for(;p<q;p++)if(m=g[p])g[p]=o?m.parentNode:m.parentNode===j;o&&l.filter(j,g,true)}},"":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=j=j.toLowerCase();p=a}p("parentNode",j,m,g,q,o)},"~":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=
j=j.toLowerCase();p=a}p("previousSibling",j,m,g,q,o)}},find:{ID:function(g,j,o){if(typeof j.getElementById!=="undefined"&&!o)return(g=j.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,j){if(typeof j.getElementsByName!=="undefined"){for(var o=[],m=j.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&o.push(m[p]);return o.length===0?null:o}},TAG:function(g,j){return j.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,j,o,m,p,q){g=" "+g[1].replace(/\\/g,
"")+" ";if(q)return g;q=0;for(var t;(t=j[q])!=null;q++)if(t)if(p^(t.className&&(" "+t.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))o||m.push(t);else if(o)j[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var j=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=j[1]+(j[2]||1)-0;g[3]=j[3]-0}g[0]=e++;return g},ATTR:function(g,j,o,
m,p,q){j=g[1].replace(/\\/g,"");if(!q&&n.attrMap[j])g[1]=n.attrMap[j];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,j,o,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=l(g[3],null,null,j);else{g=l.filter(g[3],j,o,true^p);o||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,j,o){return!!l(o[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,j){return j===0},last:function(g,j,o,m){return j===m.length-1},even:function(g,j){return j%2===0},odd:function(g,j){return j%2===1},lt:function(g,j,o){return j<o[3]-0},gt:function(g,j,o){return j>o[3]-0},nth:function(g,j,o){return o[3]-
0===j},eq:function(g,j,o){return o[3]-0===j}},filter:{PSEUDO:function(g,j,o,m){var p=j[1],q=n.filters[p];if(q)return q(g,o,j,m);else if(p==="contains")return(g.textContent||g.innerText||l.getText([g])||"").indexOf(j[3])>=0;else if(p==="not"){j=j[3];o=0;for(m=j.length;o<m;o++)if(j[o]===g)return false;return true}else l.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,j){var o=j[1],m=g;switch(o){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(o===
"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":o=j[2];var p=j[3];if(o===1&&p===0)return true;var q=j[0],t=g.parentNode;if(t&&(t.sizcache!==q||!g.nodeIndex)){var x=0;for(m=t.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++x;t.sizcache=q}m=g.nodeIndex-p;return o===0?m===0:m%o===0&&m/o>=0}},ID:function(g,j){return g.nodeType===1&&g.getAttribute("id")===j},TAG:function(g,j){return j==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
j},CLASS:function(g,j){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(j)>-1},ATTR:function(g,j){var o=j[1];o=n.attrHandle[o]?n.attrHandle[o](g):g[o]!=null?g[o]:g.getAttribute(o);var m=o+"",p=j[2],q=j[4];return o==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&o!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,j,o,m){var p=n.setFilters[j[2]];
if(p)return p(g,o,j,m)}}},s=n.match.POS,v=function(g,j){return"\\"+(j-0+1)},B;for(B in n.match){n.match[B]=RegExp(n.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[B].source.replace(/\\(\d+)/g,v))}var D=function(g,j){g=Array.prototype.slice.call(g,0);if(j){j.push.apply(j,g);return j}return g};try{Array.prototype.slice.call(u.documentElement.childNodes,0)}catch(H){D=function(g,j){var o=j||[],m=0;if(f.call(g)==="[object Array]")Array.prototype.push.apply(o,
g);else if(typeof g.length==="number")for(var p=g.length;m<p;m++)o.push(g[m]);else for(;g[m];m++)o.push(g[m]);return o}}var w,G;if(u.documentElement.compareDocumentPosition)w=function(g,j){if(g===j){h=true;return 0}if(!g.compareDocumentPosition||!j.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(j)&4?-1:1};else{w=function(g,j){var o=[],m=[],p=g.parentNode,q=j.parentNode,t=p;if(g===j){h=true;return 0}else if(p===q)return G(g,j);else if(p){if(!q)return 1}else return-1;
for(;t;){o.unshift(t);t=t.parentNode}for(t=q;t;){m.unshift(t);t=t.parentNode}p=o.length;q=m.length;for(t=0;t<p&&t<q;t++)if(o[t]!==m[t])return G(o[t],m[t]);return t===p?G(g,m[t],-1):G(o[t],j,1)};G=function(g,j,o){if(g===j)return o;for(g=g.nextSibling;g;){if(g===j)return-1;g=g.nextSibling}return 1}}l.getText=function(g){for(var j="",o,m=0;g[m];m++){o=g[m];if(o.nodeType===3||o.nodeType===4)j+=o.nodeValue;else if(o.nodeType!==8)j+=l.getText(o.childNodes)}return j};(function(){var g=u.createElement("div"),
j="script"+(new Date).getTime();g.innerHTML="<a name='"+j+"'/>";var o=u.documentElement;o.insertBefore(g,o.firstChild);if(u.getElementById(j)){n.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:A:[]};n.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}o.removeChild(g);
o=g=null})();(function(){var g=u.createElement("div");g.appendChild(u.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(j,o){var m=o.getElementsByTagName(j[1]);if(j[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(j){return j.getAttribute("href",2)};g=null})();u.querySelectorAll&&
function(){var g=l,j=u.createElement("div");j.innerHTML="<p class='TEST'></p>";if(!(j.querySelectorAll&&j.querySelectorAll(".TEST").length===0)){l=function(m,p,q,t){p=p||u;if(!t&&!l.isXML(p))if(p.nodeType===9)try{return D(p.querySelectorAll(m),q)}catch(x){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var C=p.id,P=p.id="__sizzle__";try{return D(p.querySelectorAll("#"+P+" "+m),q)}catch(N){}finally{if(C)p.id=C;else p.removeAttribute("id")}}return g(m,p,q,t)};for(var o in g)l[o]=g[o];
j=null}}();(function(){var g=u.documentElement,j=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,o=false;try{j.call(u.documentElement,":sizzle")}catch(m){o=true}if(j)l.matchesSelector=function(p,q){try{if(o||!n.match.PSEUDO.test(q))return j.call(p,q)}catch(t){}return l(q,null,null,[p]).length>0}})();(function(){var g=u.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(j,o,m){if(typeof o.getElementsByClassName!=="undefined"&&!m)return o.getElementsByClassName(j[1])};g=null}}})();l.contains=u.documentElement.contains?function(g,j){return g!==j&&(g.contains?g.contains(j):true)}:function(g,j){return!!(g.compareDocumentPosition(j)&16)};l.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var M=function(g,
j){for(var o=[],m="",p,q=j.nodeType?[j]:j;p=n.match.PSEUDO.exec(g);){m+=p[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;p=0;for(var t=q.length;p<t;p++)l(g,q[p],o);return l.filter(m,o)};c.find=l;c.expr=l.selectors;c.expr[":"]=c.expr.filters;c.unique=l.uniqueSort;c.text=l.getText;c.isXMLDoc=l.isXML;c.contains=l.contains})();var Wa=/Until$/,Xa=/^(?:parents|prevUntil|prevAll)/,Ya=/,/,Ja=/^.[^:#\[\.,]*$/,Za=Array.prototype.slice,$a=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("",
"find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var k=0;k<d;k++)if(b[k]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(ka(this,a,false),"not",a)},filter:function(a){return this.pushStack(ka(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,
b){var d=[],e,f,h=this[0];if(c.isArray(a)){var k={},l,n=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:n})}h=h.parentNode;n++}}return d}k=$a.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(k?k.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||
!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});
c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",
d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Wa.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||Ya.test(e))&&Xa.test(a))f=f.reverse();return this.pushStack(f,a,Za.call(arguments).join(","))}});
c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===A||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var xa=/ jQuery\d+="(?:\d+|null)"/g,
$=/^\s+/,ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,za=/<([\w:]+)/,ab=/<tbody/i,bb=/<|&#?\w+;/,Aa=/<(?:script|object|embed|option|style)/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,cb=/\=([^="'>\s]+\/)>/g,O={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,"",""]};O.optgroup=O.option;O.tbody=O.tfoot=O.colgroup=O.caption=O.thead;O.th=O.td;if(!c.support.htmlSerialize)O._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==A)return this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,
d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},
unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=
c(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,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));
c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(xa,"").replace(cb,'="$1">').replace($,
"")],e)[0]}else return this.cloneNode(true)});if(a===true){la(this,b);la(this.find("*"),b.find("*"))}return b},html:function(a){if(a===A)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(xa,""):null;else if(typeof a==="string"&&!Aa.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!O[(za.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ya,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?
this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,
true)},domManip:function(a,b,d){var e,f,h=a[0],k=[],l;if(!c.support.checkClone&&arguments.length===3&&typeof h==="string"&&Ba.test(h))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(h))return this.each(function(s){var v=c(this);a[0]=h.call(this,s,b?v.html():A);v.domManip(a,b,d)});if(this[0]){e=h&&h.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);l=e.fragment;if(f=l.childNodes.length===1?l=l.firstChild:
l.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var n=this.length;f<n;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):this[f]:this[f],f>0||e.cacheable||this.length>1?l.cloneNode(true):l)}k.length&&c.each(k,Ka)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:u;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===u&&!Aa.test(a[0])&&(c.support.checkClone||
!Ba.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=
d.length;f<h;f++){var k=(f>0?this.clone(true):this).get();c(d[f])[b](k);e=e.concat(k)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||u;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||u;for(var f=[],h=0,k;(k=a[h])!=null;h++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!bb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(ya,"<$1></$2>");var l=(za.exec(k)||["",""])[1].toLowerCase(),n=O[l]||O._default,
s=n[0],v=b.createElement("div");for(v.innerHTML=n[1]+k+n[2];s--;)v=v.lastChild;if(!c.support.tbody){s=ab.test(k);l=l==="table"&&!s?v.firstChild&&v.firstChild.childNodes:n[1]==="<table>"&&!s?v.childNodes:[];for(n=l.length-1;n>=0;--n)c.nodeName(l[n],"tbody")&&!l[n].childNodes.length&&l[n].parentNode.removeChild(l[n])}!c.support.leadingWhitespace&&$.test(k)&&v.insertBefore(b.createTextNode($.exec(k)[0]),v.firstChild);k=v.childNodes}if(k.nodeType)f.push(k);else f=c.merge(f,k)}}if(d)for(h=0;f[h];h++)if(e&&
c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,k=0,l;(l=a[k])!=null;k++)if(!(l.nodeName&&c.noData[l.nodeName.toLowerCase()]))if(d=l[c.expando]){if((b=e[d])&&b.events)for(var n in b.events)f[n]?
c.event.remove(l,n):c.removeEvent(l,n,b.handle);if(h)delete l[c.expando];else l.removeAttribute&&l.removeAttribute(c.expando);delete e[d]}}});var Ca=/alpha\([^)]*\)/i,db=/opacity=([^)]*)/,eb=/-([a-z])/ig,fb=/([A-Z])/g,Da=/^-?\d+(?:px)?$/i,gb=/^-?\d/,hb={position:"absolute",visibility:"hidden",display:"block"},La=["Left","Right"],Ma=["Top","Bottom"],W,ib=u.defaultView&&u.defaultView.getComputedStyle,jb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===A)return this;
return c.access(this,a,b,true,function(d,e,f){return f!==A?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),k=a.style,l=c.cssHooks[h];b=c.cssProps[h]||
h;if(d!==A){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!l||!("set"in l)||(d=l.set(a,d))!==A)try{k[b]=d}catch(n){}}}else{if(l&&"get"in l&&(f=l.get(a,false,e))!==A)return f;return k[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==A)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=
e[f]},camelCase:function(a){return a.replace(eb,jb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=ma(d,b,f);else c.swap(d,hb,function(){h=ma(d,b,f)});return h+"px"}},set:function(d,e){if(Da.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return db.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":
b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=d.filter||"";d.filter=Ca.test(f)?f.replace(Ca,e):d.filter+" "+e}};if(ib)W=function(a,b,d){var e;d=d.replace(fb,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return A;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};else if(u.documentElement.currentStyle)W=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],
h=a.style;if(!Da.test(f)&&gb.test(f)){d=h.left;e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f};if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var kb=c.now(),lb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
mb=/^(?:select|textarea)/i,nb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ob=/^(?:GET|HEAD|DELETE)$/,Na=/\[\]$/,T=/\=\?(&|$)/,ia=/\?/,pb=/([?&])_=[^&]*/,qb=/^(\w+:)?\/\/([^\/?#]+)/,rb=/%20/g,sb=/#.*$/,Ea=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ea)return Ea.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=
b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(k,l){if(l==="success"||l==="notmodified")h.html(f?c("<div>").append(k.responseText.replace(lb,"")).find(f):k.responseText);d&&h.each(d,[k.responseText,l,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
!this.disabled&&(this.checked||mb.test(this.nodeName)||nb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),k=ob.test(h);b.url=b.url.replace(sb,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ia.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+kb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var l=E[d];E[d]=function(m){f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);if(c.isFunction(l))l(m);else{E[d]=A;try{delete E[d]}catch(p){}}v&&v.removeChild(B)}}if(b.dataType==="script"&&b.cache===null)b.cache=
false;if(b.cache===false&&h==="GET"){var n=c.now(),s=b.url.replace(pb,"$1_="+n);b.url=s+(s===b.url?(ia.test(b.url)?"&":"?")+"_="+n:"")}if(b.data&&h==="GET")b.url+=(ia.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");n=(n=qb.exec(b.url))&&(n[1]&&n[1]!==location.protocol||n[2]!==location.host);if(b.dataType==="script"&&h==="GET"&&n){var v=u.getElementsByTagName("head")[0]||u.documentElement,B=u.createElement("script");if(b.scriptCharset)B.charset=b.scriptCharset;B.src=
b.url;if(!d){var D=false;B.onload=B.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);B.onload=B.onreadystatechange=null;v&&B.parentNode&&v.removeChild(B)}}}v.insertBefore(B,v.firstChild);return A}var H=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!k||a&&a.contentType)w.setRequestHeader("Content-Type",
b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}n||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(G){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
c.triggerGlobal(b,"ajaxSend",[w,b]);var M=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){H||c.handleComplete(b,w,e,f);H=true;if(w)w.onreadystatechange=c.noop}else if(!H&&w&&(w.readyState===4||m==="timeout")){H=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&g.call&&g.call(w);M("abort")}}catch(j){}b.async&&b.timeout>0&&setTimeout(function(){w&&!H&&M("timeout")},b.timeout);try{w.send(k||b.data==null?null:b.data)}catch(o){c.handleError(b,w,null,o);c.handleComplete(b,w,e,f)}b.async||M();return w}},param:function(a,b){var d=[],e=function(h,k){k=c.isFunction(k)?k():k;d[d.length]=encodeURIComponent(h)+
"="+encodeURIComponent(k)};if(b===A)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)ca(f,a[f],b,e);return d.join("&").replace(rb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",[b,a])},handleComplete:function(a,
b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),e=a.getResponseHeader("Etag");
if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});if(E.ActiveXObject)c.ajaxSettings.xhr=
function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var da={},tb=/^(?:toggle|show|hide)$/,ub=/^([+\-]=)?([\d+.\-]+)(.*)$/,aa,na=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",3),a,b,d);else{a=
0;for(b=this.length;a<b;a++){if(!c.data(this[a],"olddisplay")&&this[a].style.display==="none")this[a].style.display="";this[a].style.display===""&&c.css(this[a],"display")==="none"&&c.data(this[a],"olddisplay",oa(this[a].nodeName))}for(a=0;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",d)}for(a=
0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,d,e);if(c.isEmptyObject(a))return this.each(f.complete);
return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),k,l=this.nodeType===1,n=l&&c(this).is(":hidden"),s=this;for(k in a){var v=c.camelCase(k);if(k!==v){a[v]=a[k];delete a[k];k=v}if(a[k]==="hide"&&n||a[k]==="show"&&!n)return h.complete.call(this);if(l&&(k==="height"||k==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(oa(this.nodeName)===
"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[k])){(h.specialEasing=h.specialEasing||{})[k]=a[k][1];a[k]=a[k][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(B,D){var H=new c.fx(s,h,B);if(tb.test(D))H[D==="toggle"?n?"show":"hide":D](a);else{var w=ub.exec(D),G=H.cur(true)||0;if(w){var M=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(s,B,(M||1)+g);
G=(M||1)/H.cur(true)*G;c.style(s,B,G+g)}if(w[1])M=(w[1]==="-="?-1:1)*M+G;H.custom(G,M,g)}else H.custom(G,D,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.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=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(h){return f.step(h)}
this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var f=this;a=c.fx;e.elem=this.elem;if(e()&&c.timers.push(e)&&!aa)aa=setInterval(a.tick,a.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(l,n){f.style["overflow"+n]=h.overflow[l]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
this.options.show)for(var k in this.options.curAnim)c.style(this.elem,k,this.options.orig[k]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(aa);aa=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(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;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
b.elem}).length};var vb=/^t(?:able|d|h)$/i,Fa=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in u.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(k){c.offset.setOffset(this,a,k)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=ea(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,e=b.ownerDocument,f,h=e.documentElement,k=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;
for(var l=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==k&&b!==h;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;f=e?e.getComputedStyle(b,null):b.currentStyle;l-=b.scrollTop;n-=b.scrollLeft;if(b===d){l+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&vb.test(b.nodeName))){l+=parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&f.overflow!=="visible"){l+=
parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}f=f}if(f.position==="relative"||f.position==="static"){l+=k.offsetTop;n+=k.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){l+=Math.max(h.scrollTop,k.scrollTop);n+=Math.max(h.scrollLeft,k.scrollLeft)}return{top:l,left:n}};c.offset={initialize:function(){var a=u.body,b=u.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
height:"1px",visibility:"hidden"});b.innerHTML="<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>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
f.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!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),k=c.css(a,"top"),l=c.css(a,"left"),n=e==="absolute"&&c.inArray("auto",[k,l])>-1;e={};var s={};if(n)s=f.position();k=n?s.top:parseInt(k,10)||0;l=n?s.left:parseInt(l,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+k;if(b.left!=null)e.left=b.left-h.left+l;"using"in b?b.using.call(a,
e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Fa.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||u.body;a&&!Fa.test(a.nodeName)&&
c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==A)return this.each(function(){if(h=ea(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=ea(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(h){var k=c(this);k[d](e.call(this,h,k[d]()))});return c.isWindow(f)?f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+
b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):e===A?parseFloat(c.css(f,d)):this.css(d,typeof e==="string"?e:e+"px")}})})(window);

































//hoverIntent.js

(function($){
	/* hoverIntent by Brian Cherne */
	$.fn.hoverIntent = function(f,g) {
		// default configuration options
		var cfg = {
			sensitivity: 7,
			interval: 100,
			timeout: 0
		};
		// override configuration options with user supplied object
		cfg = $.extend(cfg, g ? { over: f, out: g } : f );

		// instantiate variables
		// cX, cY = current X and Y position of mouse, updated by mousemove event
		// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
		var cX, cY, pX, pY;

		// A private function for getting mouse position
		var track = function(ev) {
			cX = ev.pageX;
			cY = ev.pageY;
		};

		// A private function for comparing current and previous mouse position
		var compare = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			// compare mouse positions to see if they've crossed the threshold
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
				$(ob).unbind("mousemove",track);
				// set hoverIntent state to true (so mouseOut can be called)
				ob.hoverIntent_s = 1;
				return cfg.over.apply(ob,[ev]);
			} else {
				// set previous coordinates for next time
				pX = cX; pY = cY;
				// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
				ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
			}
		};

		// A private function for delaying the mouseOut function
		var delay = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			ob.hoverIntent_s = 0;
			return cfg.out.apply(ob,[ev]);
		};

		// A private function for handling mouse 'hovering'
		var handleHover = function(e) {
			// next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
			var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
			while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
			if ( p == this ) { return false; }

			// copy objects to be passed into t (required for event object to be passed in IE)
			var ev = jQuery.extend({},e);
			var ob = this;

			// cancel hoverIntent timer if it exists
			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }

			// else e.type == "onmouseover"
			if (e.type == "mouseover") {
				// set "previous" X and Y position based on initial entry point
				pX = ev.pageX; pY = ev.pageY;
				// update "current" X and Y position based on mousemove
				$(ob).bind("mousemove",track);
				// start polling interval (self-calling timeout) to compare mouse coordinates over time
				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}

			// else e.type == "onmouseout"
			} else {
				// unbind expensive mousemove event
				$(ob).unbind("mousemove",track);
				// if hoverIntent state is true, then call the mouseOut function after the specified delay
				if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
			}
		};

		// bind the function to the two event listeners
		return this.mouseover(handleHover).mouseout(handleHover);
	};
	
})(jQuery);



















































//jquery.media.js

/*
 * jQuery Media Plugin for converting elements into rich media content.
 *
 * Examples and documentation at: http://malsup.com/jquery/media/
 * Copyright (c) 2007-2008 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * @author: M. Alsup
 * @version: 0.92 (24-SEP-2009)
 * @requires jQuery v1.1.2 or later
 * $Id: jquery.media.js 2460 2007-07-23 02:53:15Z malsup $
 *
 * Supported Media Players:
 *	- Flash
 *	- Quicktime
 *	- Real Player
 *	- Silverlight
 *	- Windows Media Player
 *	- iframe
 *
 * Supported Media Formats:
 *	 Any types supported by the above players, such as:
 *	 Video: asf, avi, flv, mov, mpg, mpeg, mp4, qt, smil, swf, wmv, 3g2, 3gp
 *	 Audio: aif, aac, au, gsm, mid, midi, mov, mp3, m4a, snd, rm, wav, wma
 *	 Other: bmp, html, pdf, psd, qif, qtif, qti, tif, tiff, xaml
 *
 * Thanks to Mark Hicken and Brent Pedersen for helping me debug this on the Mac!
 * Thanks to Dan Rossi for numerous bug reports and code bits!
 * Thanks to Skye Giordano for several great suggestions!
 * Thanks to Richard Connamacher for excellent improvements to the non-IE behavior!
 */
;(function($) {

/**
 * Chainable method for converting elements into rich media.
 *
 * @param options
 * @param callback fn invoked for each matched element before conversion
 * @param callback fn invoked for each matched element after conversion
 */
$.fn.media = function(options, f1, f2) {
	if (options == 'undo') {
		return this.each(function() {
			var $this = $(this);
			var html = $this.data('media.origHTML');
			if (html)
				$this.replaceWith(html);
		});
	}
	
	return this.each(function() {
		if (typeof options == 'function') {
			f2 = f1;
			f1 = options;
			options = {};
		}
		var o = getSettings(this, options);
		// pre-conversion callback, passes original element and fully populated options
		if (typeof f1 == 'function') f1(this, o);

		var r = getTypesRegExp();
		var m = r.exec(o.src.toLowerCase()) || [''];

		o.type ? m[0] = o.type : m.shift();
		for (var i=0; i < m.length; i++) {
			fn = m[i].toLowerCase();
			if (isDigit(fn[0])) fn = 'fn' + fn; // fns can't begin with numbers
			if (!$.fn.media[fn])
				continue;  // unrecognized media type
			// normalize autoplay settings
			var player = $.fn.media[fn+'_player'];
			if (!o.params) o.params = {};
			if (player) {
				var num = player.autoplayAttr == 'autostart';
				o.params[player.autoplayAttr || 'autoplay'] = num ? (o.autoplay ? 1 : 0) : o.autoplay ? true : false;
			}
			var $div = $.fn.media[fn](this, o);

			$div.css('backgroundColor', o.bgColor).width(o.width);
			
			if (o.canUndo) {
				var $temp = $('<div></div>').append(this);
				$div.data('media.origHTML', $temp.html()); // store original markup
			}
			
			// post-conversion callback, passes original element, new div element and fully populated options
			if (typeof f2 == 'function') f2(this, $div[0], o, player.name);
			break;
		}
	});
};

/**
 * Non-chainable method for adding or changing file format / player mapping
 * @name mapFormat
 * @param String format File format extension (ie: mov, wav, mp3)
 * @param String player Player name to use for the format (one of: flash, quicktime, realplayer, winmedia, silverlight or iframe
 */
$.fn.media.mapFormat = function(format, player) {
	if (!format || !player || !$.fn.media.defaults.players[player]) return; // invalid
	format = format.toLowerCase();
	if (isDigit(format[0])) format = 'fn' + format;
	$.fn.media[format] = $.fn.media[player];
	$.fn.media[format+'_player'] = $.fn.media.defaults.players[player];
};

// global defautls; override as needed
$.fn.media.defaults = {
	standards:  false,      // use object tags only (no embeds for non-IE browsers)
	canUndo:    true,       // tells plugin to store the original markup so it can be reverted via: $(sel).mediaUndo()
	width:		400,
	height:		400,
	autoplay:	0,		   	// normalized cross-player setting
	bgColor:	'#ffffff', 	// background color
	params:		{ wmode: 'transparent'},	// added to object element as param elements; added to embed element as attrs
	attrs:		{},			// added to object and embed elements as attrs
	flvKeyName: 'file', 	// key used for object src param (thanks to Andrea Ercolino)
	flashvars:	{},			// added to flash content as flashvars param/attr
	flashVersion:	'7',	// required flash version
	expressInstaller: null,	// src for express installer

	// default flash video and mp3 player (@see: http://jeroenwijering.com/?item=Flash_Media_Player)
	flvPlayer:	 'mediaplayer.swf',
	mp3Player:	 'mediaplayer.swf',

	// @see http://msdn2.microsoft.com/en-us/library/bb412401.aspx
	silverlight: {
		inplaceInstallPrompt: 'true', // display in-place install prompt?
		isWindowless:		  'true', // windowless mode (false for wrapping markup)
		framerate:			  '24',	  // maximum framerate
		version:			  '0.9',  // Silverlight version
		onError:			  null,	  // onError callback
		onLoad:			      null,   // onLoad callback
		initParams:			  null,	  // object init params
		userContext:		  null	  // callback arg passed to the load callback
	}
};

// Media Players; think twice before overriding
$.fn.media.defaults.players = {
	flash: {
		name:		 'flash',
		title:		 'Flash',
		types:		 'flv,mp3,swf',
		mimetype:	 'application/x-shockwave-flash',
		pluginspage: 'http://www.adobe.com/go/getflashplayer',
		ieAttrs: {
			classid:  'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
			type:	  'application/x-oleobject',
			codebase: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + $.fn.media.defaults.flashVersion
		}
	},
	quicktime: {
		name:		 'quicktime',
		title:		 'QuickTime',
		mimetype:	 'video/quicktime',
		pluginspage: 'http://www.apple.com/quicktime/download/',
		types:		 'aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp',
		ieAttrs: {
			classid:  'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
			codebase: 'http://www.apple.com/qtactivex/qtplugin.cab'
		}
	},
	realplayer: {
		name:		  'real',
		title:		  'RealPlayer',
		types:		  'ra,ram,rm,rpm,rv,smi,smil',
		mimetype:	  'audio/x-pn-realaudio-plugin',
		pluginspage:  'http://www.real.com/player/',
		autoplayAttr: 'autostart',
		ieAttrs: {
			classid: 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'
		}
	},
	winmedia: {
		name:		  'winmedia',
		title:		  'Windows Media',
		types:		  'asx,asf,avi,wma,wmv',
		mimetype:	  $.browser.mozilla && isFirefoxWMPPluginInstalled() ? 'application/x-ms-wmp' : 'application/x-mplayer2',
		pluginspage:  'http://www.microsoft.com/Windows/MediaPlayer/',
		autoplayAttr: 'autostart',
		oUrl:		  'url',
		ieAttrs: {
			classid:  'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',
			type:	  'application/x-oleobject'
		}
	},
	// special cases
	iframe: {
		name:  'iframe',
		types: 'html,pdf'
	},
	silverlight: {
		name:  'silverlight',
		types: 'xaml'
	}
};

//
//	everything below here is private
//


// detection script for FF WMP plugin (http://www.therossman.org/experiments/wmp_play.html)
// (hat tip to Mark Ross for this script)
function isFirefoxWMPPluginInstalled() {
	var plugs = navigator.plugins;
	for (var i = 0; i < plugs.length; i++) {
		var plugin = plugs[i];
		if (plugin['filename'] == 'np-mswmp.dll')
			return true;
	}
	return false;
}

var counter = 1;

for (var player in $.fn.media.defaults.players) {
	var types = $.fn.media.defaults.players[player].types;
	$.each(types.split(','), function(i,o) {
		if (isDigit(o[0])) o = 'fn' + o;
		$.fn.media[o] = $.fn.media[player] = getGenerator(player);
		$.fn.media[o+'_player'] = $.fn.media.defaults.players[player];
	});
};

function getTypesRegExp() {
	var types = '';
	for (var player in $.fn.media.defaults.players) {
		if (types.length) types += ',';
		types += $.fn.media.defaults.players[player].types;
	};
	return new RegExp('\\.(' + types.replace(/,/ig,'|') + ')\\b');
};

function getGenerator(player) {
	return function(el, options) {
		return generate(el, options, player);
	};
};

function isDigit(c) {
	return '0123456789'.indexOf(c) > -1;
};

// flatten all possible options: global defaults, meta, option obj
function getSettings(el, options) {
	options = options || {};
	var $el = $(el);
	var cls = el.className || '';
	// support metadata plugin (v1.0 and v2.0)
	var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {};
	meta = meta || {};
	var w = meta.width	 || parseInt(((cls.match(/w:(\d+)/)||[])[1]||0));
	var h = meta.height || parseInt(((cls.match(/h:(\d+)/)||[])[1]||0));

	if (w) meta.width	= w;
	if (h) meta.height = h;
	if (cls) meta.cls = cls;

	var a = $.fn.media.defaults;
	var b = options;
	var c = meta;

	var p = { params: { bgColor: options.bgColor || $.fn.media.defaults.bgColor } };
	var opts = $.extend({}, a, b, c);
	$.each(['attrs','params','flashvars','silverlight'], function(i,o) {
		opts[o] = $.extend({}, p[o] || {}, a[o] || {}, b[o] || {}, c[o] || {});
	});

	if (typeof opts.caption == 'undefined') opts.caption = $el.text();

	// make sure we have a source!
	opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown';
	return opts;
};

//
//	Flash Player
//

// generate flash using SWFObject library if possible
$.fn.media.swf = function(el, opts) {
	if (!window.SWFObject && !window.swfobject) {
		// roll our own
		if (opts.flashvars) {
			var a = [];
			for (var f in opts.flashvars)
				a.push(f + '=' + opts.flashvars[f]);
			if (!opts.params) opts.params = {};
			opts.params.flashvars = a.join('&');
		}
		return generate(el, opts, 'flash');
	}

	var id = el.id ? (' id="'+el.id+'"') : '';
	var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
	var $div = $('<div' + id + cls + '>');

	// swfobject v2+
	if (window.swfobject) {
		$(el).after($div).appendTo($div);
		if (!el.id) el.id = 'movie_player_' + counter++;

		// replace el with swfobject content
		swfobject.embedSWF(opts.src, el.id, opts.width, opts.height, opts.flashVersion,
			opts.expressInstaller, opts.flashvars, opts.params, opts.attrs);
	}
	// swfobject < v2
	else {
		$(el).after($div).remove();
		var so = new SWFObject(opts.src, 'movie_player_' + counter++, opts.width, opts.height, opts.flashVersion, opts.bgColor);
		if (opts.expressInstaller) so.useExpressInstall(opts.expressInstaller);

		for (var p in opts.params)
			if (p != 'bgColor') so.addParam(p, opts.params[p]);
		for (var f in opts.flashvars)
			so.addVariable(f, opts.flashvars[f]);
		so.write($div[0]);
	}

	if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
	return $div;
};

// map flv and mp3 files to the swf player by default
$.fn.media.flv = $.fn.media.mp3 = function(el, opts) {
	var src = opts.src;
	var player = /\.mp3\b/i.test(src) ? $.fn.media.defaults.mp3Player : $.fn.media.defaults.flvPlayer;
	var key = opts.flvKeyName;
	src = encodeURIComponent(src);
	opts.src = player;
	opts.src = opts.src + '?'+key+'=' + (src);
	var srcObj = {};
	srcObj[key] = src;
	opts.flashvars = $.extend({}, srcObj, opts.flashvars );
	return $.fn.media.swf(el, opts);
};

//
//	Silverlight
//
$.fn.media.xaml = function(el, opts) {
	if (!window.Sys || !window.Sys.Silverlight) {
		if ($.fn.media.xaml.warning) return;
		$.fn.media.xaml.warning = 1;
		alert('You must include the Silverlight.js script.');
		return;
	}

	var props = {
		width: opts.width,
		height: opts.height,
		background: opts.bgColor,
		inplaceInstallPrompt: opts.silverlight.inplaceInstallPrompt,
		isWindowless: opts.silverlight.isWindowless,
		framerate: opts.silverlight.framerate,
		version: opts.silverlight.version
	};
	var events = {
		onError: opts.silverlight.onError,
		onLoad: opts.silverlight.onLoad
	};

	var id1 = el.id ? (' id="'+el.id+'"') : '';
	var id2 = opts.id || 'AG' + counter++;
	// convert element to div
	var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
	var $div = $('<div' + id1 + cls + '>');
	$(el).after($div).remove();

	Sys.Silverlight.createObjectEx({
		source: opts.src,
		initParams: opts.silverlight.initParams,
		userContext: opts.silverlight.userContext,
		id: id2,
		parentElement: $div[0],
		properties: props,
		events: events
	});

	if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
	return $div;
};

//
// generate object/embed markup
//
function generate(el, opts, player) {
	var $el = $(el);
	var o = $.fn.media.defaults.players[player];

	if (player == 'iframe') {
		var o = $('<iframe' + ' width="' + opts.width + '" height="' + opts.height + '" >');
		o.attr('src', opts.src);
		o.css('backgroundColor', o.bgColor);
	}
	else if ($.browser.msie) {
		var a = ['<object width="' + opts.width + '" height="' + opts.height + '" '];
		for (var key in opts.attrs)
			a.push(key + '="'+opts.attrs[key]+'" ');
		for (var key in o.ieAttrs || {}) {
			var v = o.ieAttrs[key];
			if (key == 'codebase' && window.location.protocol == 'https:')
				v = v.replace('http','https');
			a.push(key + '="'+v+'" ');
		}
		a.push('></ob'+'ject'+'>');
		var p = ['<param name="' + (o.oUrl || 'src') +'" value="' + opts.src + '">'];
		for (var key in opts.params)
			p.push('<param name="'+ key +'" value="' + opts.params[key] + '">');
		var o = document.createElement(a.join(''));
		for (var i=0; i < p.length; i++)
			o.appendChild(document.createElement(p[i]));
	}
	else if (o.standards) {
		// Rewritten to be standards compliant by Richard Connamacher
		var a = ['<object type="' + o.mimetype +'" width="' + opts.width + '" height="' + opts.height +'"'];
		if (opts.src) a.push(' data="' + opts.src + '" ');
		a.push('>');
		a.push('<param name="' + (o.oUrl || 'src') +'" value="' + opts.src + '">');
		for (var key in opts.params) {
			if (key == 'wmode' && player != 'flash') // FF3/Quicktime borks on wmode
				continue;
			a.push('<param name="'+ key +'" value="' + opts.params[key] + '">');
		}
		// Alternate HTML
		a.push('<div><p><strong>'+o.title+' Required</strong></p><p>'+o.title+' is required to view this media. <a href="'+o.pluginspage+'">Download Here</a>.</p></div>');
		a.push('</ob'+'ject'+'>');
	}
	 else {
	        var a = ['<embed width="' + opts.width + '" height="' + opts.height + '" style="display:block"'];
	        if (opts.src) a.push(' src="' + opts.src + '" ');
	        for (var key in opts.attrs)
	            a.push(key + '="'+opts.attrs[key]+'" ');
	        for (var key in o.eAttrs || {})
	            a.push(key + '="'+o.eAttrs[key]+'" ');
	        for (var key in opts.params) {
	            if (key == 'wmode' && player != 'flash') // FF3/Quicktime borks on wmode
	            	continue;
	            a.push(key + '="'+opts.params[key]+'" ');
	        }
	        a.push('></em'+'bed'+'>');
	    }	
	// convert element to div
	var id = el.id ? (' id="'+el.id+'"') : '';
	var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
	var $div = $('<div' + id + cls + '>');
	$el.after($div).remove();
	($.browser.msie || player == 'iframe') ? $div.append(o) : $div.html(a.join(''));
	if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
	return $div;
};


})(jQuery);






























































//superfish.js

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */

;(function($){
	$.fn.superfish = function(op){

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);	
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
			
		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;
			
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();
			
			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);
			
		}).each(function() {
			var menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

	var sf = $.fn.superfish;
	sf.o = [];
	sf.op = {};
	sf.IE7fix = function(){
		var o = sf.op;
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
			this.toggleClass(sf.c.shadowClass+'-off');
		};
	sf.c = {
		bcClass     : 'sf-breadcrumb',
		menuClass   : 'sf-js-enabled',
		anchorClass : 'sf-with-ul',
		arrowClass  : 'sf-sub-indicator',
		shadowClass : 'sf-shadow'
	};
	sf.defaults = {
		hoverClass	: 'sfHover',
		pathClass	: 'overideThisToUse',
		pathLevels	: 1,
		delay		: 800,
		animation	: {opacity:'show'},
		speed		: 'normal',
		autoArrows	: true,
		dropShadows : true,
		disableHI	: false,		// true disables hoverIntent detection
		onInit		: function(){}, // callback functions
		onBeforeShow: function(){},
		onShow		: function(){},
		onHide		: function(){}
	};
	$.fn.extend({
		hideSuperfishUl : function(){
			var o = sf.op,
				not = (o.retainPath===true) ? o.$path : '';
			o.retainPath = false;
			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
					.find('>ul').hide().css('visibility','hidden');
			o.onHide.call($ul);
			return this;
		},
		showSuperfishUl : function(){
			var o = sf.op,
				sh = sf.c.shadowClass+'-off',
				$ul = this.addClass(o.hoverClass)
					.find('>ul:hidden').css('visibility','visible');
			sf.IE7fix.call($ul);
			o.onBeforeShow.call($ul);
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
			return this;
		}
	});

})(jQuery);



















































//
// initialise plugins
jQuery(function(){
jQuery('ul.sf-menu').superfish();
});
var _HOST_="http://www.cottonworld.pl/";

jQuery.noConflict();





















//jquery.scrollTo-min.js
/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);





















































//scripts.js


function czysc_pole(id,name,type){
	if(document.getElementById(id).value==name){document.getElementById(id).value='';}
	if(type=='password'){document.getElementById(id).setAttribute("type","password");}
}
function uzupelnij_pole(id,name,type){
	if(document.getElementById(id).value==''){
		document.getElementById(id).value=name;
		if(type=='password'){document.getElementById(id).setAttribute("type","text");}
	}
}

function setCheckboxes(the_form, do_check)
{

    var elts      = document.forms[the_form].elements;
    var elts_cnt  = elts.length;

	for (var i = 0; i < elts_cnt; i++) {
		if (elts[i].type=="checkbox") elts[i].checked = do_check;
    } // end for

    return true;
}

function ustawWartosc(nazwaPola, wartosc){
	document.getElementById(nazwaPola).value = wartosc;
}

function ustaw_checkboxy(formularz, opcja){
	d = eval("document." + formularz + "");
	if(opcja == "select"){
		for (i = 0; i<d.elements.length; i++){
			if(d.elements[i].type == "checkbox"){
				d.elements[i].checked = true;
			}
		}
	}else if(opcja == "deselect"){
		for (i = 0; i<d.elements.length; i++){
			if(d.elements[i].type == "checkbox"){
				d.elements[i].checked = false;
			}
		}
	}else if(opcja == "invert"){
		for (i = 0; i<d.elements.length; i++){
			if(d.elements[i].type == "checkbox"){
				if(d.elements[i].checked == true){
					d.elements[i].checked = false;
				}else{
					d.elements[i].checked = true;
				}
			}
		}
	}
}

function formatuj_liczbe(n, dokladnosc){
	/*
	n = Math.round(n * 100) / 100;
	//n = (n + 0.001) + '';
	n = (n + 0.001) + '';
	n = (n - 0.001) + '';
	//alert("n: " + n);
	return n.substring(0, n.indexOf('.') + 3);
	*/
	//num = 930.9805;
	//result = n.toFixed(2);
	return n.toFixed(dokladnosc);
}

function limit_dla_pola(limit, pole, span_pole){
	if (document.getElementById(pole).value.length > limit){
		document.getElementById(pole).value = document.getElementById(pole).value.substring(0, limit);
	}
	if(span_pole.length > 0){
		txt = "";
		ile_pozostalo = limit - document.getElementById(pole).value.length;
		txt = "<br>Pozostało " + ile_pozostalo + " z " + limit + " znaków.";
		document.getElementById(span_pole).innerHTML = txt;
	}
}

function migajacy_text(id, k1, t1, k2, t2){
  if (document.getElementById){
    document.getElementById(id).style.color = k1;
	setTimeout('migajacy_text("' +  id + '","' + k2 + '",' + t2 + ',"' + k1 + '",' + t1 + ')', t1);
  }else if (document.all){
    document.all[id].style.color = k1;
	setTimeout('migajacy_text("' +  id + '","' + k2 + '",' + t2 + ',"' + k1 + '",' + t1 + ')', t1);
  }
}

function popraw_telefon(nazwa_pola, max_znakow) {
    document.getElementById(nazwa_pola).value = document.getElementById(nazwa_pola).value.replace(/[^0-9\(\)\ ]/g,"");
	if(max_znakow.length > 0){
		document.getElementById(nazwa_pola).value = przytnij_text(document.getElementById(nazwa_pola).value, max_znakow);
	}
}

function sprawdz_mail(email_pole) {
	if (document.getElementById(email_pole).value.length>0){
		Wzor = /^[0-9a-zA-Z.-_\-]+\@[0-9a-zA-Z.-_\-]+\.[0-9a-zA-Z.]{2,4}$/;
	   	if (Wzor.test(document.getElementById(email_pole).value) == false){
    		alert("Niewłasciwy format adresu e-mail!");
	    	return false;
	    }  
   		return true; 
    }
  	return true;
}

function MM_jumpMenu(targ,value,restore){ //v3.0
	eval(targ+".location='"+value+"'");
	if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore(){ //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages(){ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d){ //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage(){ //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function pop_new_window(nazwa_pliku, zmienna, id, qs){
	var plik = nazwa_pliku + "?" + zmienna + "=" + id + qs;
	var Win = window.open(plik, "okno","menubar=0,location=0,status=0,toolbar=0,directories=0,alwaysRaised=1,scrollbars=1,titlebar=1,resizable=1");
}

function pop_zdjecie(nazwa_zdjecia_big, nazwa_podkatalogu){
	var plik = "pop_zdjecie.php?foto=" + nazwa_zdjecia_big + "&podkatalog=" + nazwa_podkatalogu;
	var Win = window.open(plik, "big_foto","menubar=0,location=0,status=0,toolbar=0,directories=0,alwaysRaised=1,scrollbars=1,titlebar=1,resizable=1");
}

function pop_zdjecie2(host ,nazwa_zdjecia_big, nazwa_podkatalogu){
	var plik = host + "pop_zdjecie.php?foto=" + nazwa_zdjecia_big + "&podkatalog=" + nazwa_podkatalogu;
	var Win = window.open(plik, "big_foto","menubar=0,location=0,status=0,toolbar=0,directories=0,alwaysRaised=1,scrollbars=1,titlebar=1,resizable=1");
}

function przytnij_text(text, max_znakow){
	if (text.length > max_znakow){
		text = text.substring(0, max_znakow);
	}
	return text;
}

function tylko_cyfry(nazwa_pola, max_znakow) {
    document.getElementById(nazwa_pola).value = document.getElementById(nazwa_pola).value.replace(/[^0-9]/g,"");
	if(max_znakow.length > 0){
		document.getElementById(nazwa_pola).value = przytnij_text(document.getElementById(nazwa_pola).value, max_znakow);
	}
}

function tylko_litery(nazwa_pola, max_znakow) {
    document.getElementById(nazwa_pola).value = document.getElementById(nazwa_pola).value.replace(/[^a-z]/g,"");
	if(max_znakow.length > 0){
		document.getElementById(nazwa_pola).value = przytnij_text(document.getElementById(nazwa_pola).value, max_znakow);
	}
}

function usun_biale_znaki(ciag){
	ciag = ciag.replace(/\r/g, " ");
  	ciag = ciag.replace(/[^ A-Za-z0-9`~!@#\$%\^&\*\(\)-_=\+\\\|\]\[\}\{'";:\?\/\.>,<]/g, "");
	ciag = ciag.replace(/'/g, "");
	ciag = ciag.replace(/ +/g, " ");  
	ciag = ciag.replace(/^\s/g, "");
	ciag = ciag.replace(/\s$/g, "");	
	return ciag;
}

function uwzglednij_rabat(pole_brutto, pole_oryg_netto,  pole_netto, pole_rabat, pole_vat){
		document.getElementById(pole_netto).value = formatuj_liczbe((document.getElementById(pole_oryg_netto).value * (1 - usun_biale_znaki(document.getElementById(pole_rabat).value) / 100)), 3);		
		wylicz_wartosc(pole_netto, pole_brutto, '0', pole_vat, 'brutto');
}

function wylicz_wartosc(pole_baza, pole_zmiana, rabat, pole_vat, opcja){
	if(opcja == 'brutto'){
		document.getElementById(pole_zmiana).value = formatuj_liczbe(document.getElementById(pole_baza).value * (1 + usun_biale_znaki(document.getElementById(pole_vat).value) / 100), 3);
	}else if(opcja == 'netto'){
		document.getElementById(pole_zmiana).value = formatuj_liczbe(document.getElementById(pole_baza).value / (1 + usun_biale_znaki(document.getElementById(pole_vat).value) / 100), 3);
	}
}

function podmien_zdjecie(nazwa_zdjecia, div_name, name, host, zdjecie_big){
	document.getElementById(div_name).innerHTML="<img src=\""+nazwa_zdjecia+"\" border=\"0\" width=\"160\" height=\"160\" alt=\""+name+"\" title=\""+name+"\" onmouseover=\"this.style.cursor='pointer';\" onclick=\"pop_zdjecie2('"+host+"','"+zdjecie_big+"','foto');\">";
}

function zmien_serie(host,seria){
	if(seria!='-'){
		document.location=''+host+'serie/'+seria+'/';
	}
}

function oceny(ile, host, id){
	tresc='';
	for(i=0; i<ile; i++){
		j=i+1;
		tresc=tresc+' <img src="'+host+'img/oceny_t.gif" title="oceny" alt="oceny" />';
		//tresc=tresc+' <img src="'+host+'img/oceny_t.gif" title="oceny" alt="oceny" onmouseover="oceny('+j+', \''+host+'\', \''+id+'\');" />';
	}
	j=ile+1;
	for(i=j; i<6; i++){
		tresc=tresc+' <img src="'+host+'img/oceny_n.gif" title="oceny" alt="oceny" />';
		//tresc=tresc+' <img src="'+host+'img/oceny_n.gif" title="oceny" alt="oceny" onmouseover="oceny('+i+', \''+host+'\', \''+id+'\');" />';
	}
	document.getElementById(id).innerHTML=tresc;
}

function textarea_znaki(pole_id,id,limit){
	if (document.getElementById(pole_id).value.length>=limit){
		document.getElementById(pole_id).value=document.getElementById(pole_id).value.substr(0,limit);
		document.getElementById(id).innerHTML="Użyto znaków: <b><span style=\"color: red;\">"+document.getElementById(pole_id).value.length+"</span></b> &nbsp;&nbsp; Pozostało: <b>"+parseInt(limit-document.getElementById(pole_id).value.length)+"</b>";
	}else{
		document.getElementById(id).innerHTML="Użyto znaków: <b>"+document.getElementById(pole_id).value.length+"</b> &nbsp;&nbsp; Pozostało: <b>"+parseInt(limit-document.getElementById(pole_id).value.length)+"</b>";
	}
}


















































//AC_RunActiveContent.js
// Implements AC_GenerateObj() function. This is a generic function used to generate
// object/embed/param tags. It is used by higher level api functions.

/************** LOCALIZABLE GLOBAL VARIABLES ****************/

var MSG_EvenArgs = 'The %s function requires an even number of arguments.'
                 + '\nArguments should be in the form "atttributeName","attributeValue",...';
var MSG_SrcRequired = "The %s function requires that a movie src be passed in as one of the arguments.";

/******************** END LOCALIZABLE **********************/

// Finds a parameter with the name paramName, and checks to see if it has the 
// passed extension. If it doesn't have it, this function adds the extension.
function AC_AddExtension(args, paramName, extension)
{
  var currArg, paramVal, queryStr, endStr;
  for (var i=0; i < args.length; i=i+2){
    currArg = args[i].toLowerCase();    
    if (currArg == paramName.toLowerCase() && args.length > i+1) {
      paramVal = args[i+1];
      queryStr = "";

      // Pull off the query string if it exists.
      var indQueryStr = args[i+1].indexOf('?');
      if (indQueryStr != -1){
        paramVal = args[i+1].substring(0, indQueryStr);
        queryStr = args[i+1].substr(indQueryStr);
      }

      endStr = "";
      if (paramVal.length > extension.length)
        endStr = paramVal.substr(paramVal.length - extension.length);
      if (endStr.toLowerCase() != extension.toLowerCase()) {
        // Extension doesn't exist, add it
        args[i+1] = paramVal + extension + queryStr;
      }
    }
  }
}

// Builds the codebase value to use. If the 'codebase' parameter is found in the args,
// uses its value as the version for the baseURL. If 'codebase' is not found in the args,
// uses the defaultVersion.
function AC_GetCodebase(baseURL, defaultVersion, args)
{
  var codebase = baseURL + defaultVersion;
  for (var i=0; i < args.length; i=i+2) {
    currArg = args[i].toLowerCase();    
    if (currArg == "codebase" && args.length > i+1) {
      if (args[i+1].indexOf("http://") == 0) {
        // User passed in a full codebase, so use it.
        codebase = args[i+1];
      }
      else {
        codebase = baseURL + args[i+1];
      }
    }
  }
	
  return codebase;	
}

// Substitutes values for %s in a string.
// Usage: AC_sprintf("The %s function requires %s arguments.","foo()","4");
function AC_sprintf(str){
  for (var i=1; i < arguments.length; i++){
    str = str.replace(/%s/,arguments[i]);
  }
  return str;
}
		
// Checks that args, the argument list to check, has an even number of 
// arguments. Alerts the user if an odd number of arguments is found.
function AC_checkArgs(args,callingFn){
  var retVal = true;
  // If number of arguments isn't even, show a warning and return false.
  if (parseFloat(args.length/2) != parseInt(args.length/2)){
    alert(sprintf(MSG_EvenArgs,callingFn));
    retVal = false;
  }
  return retVal;
}
	
function AC_GenerateObj(callingFn, useXHTML, classid, codebase, pluginsPage, mimeType, args){

  if (!AC_checkArgs(args,callingFn)){
    return;
  }

  // Initialize variables
  var tagStr = '';
  var currArg = '';
  var closer = (useXHTML) ? '/>' : '>';
  var srcFound = false;
  var embedStr = '<embed';
  var paramStr = '';
  var embedNameAttr = '';
  var objStr = '<object classid="' + classid + '" codebase="' + codebase + '"';

  // Spin through all the argument pairs, assigning attributes and values to the object,
  // param, and embed tags as appropriate.
  for (var i=0; i < args.length; i=i+2){
    currArg = args[i].toLowerCase();    

    if (currArg == "src"){
      if (callingFn.indexOf("RunSW") != -1){
        paramStr += '<param name="' + args[i] + '" value="' + args[i+1] + '"' + closer + '\n';
        embedStr += ' ' + args[i] + '="' + args[i+1] + '"';
        srcFound = true;
      }
      else if (!srcFound){
        paramStr += '<param name="movie" value="' + args[i+1] + '"' + closer + '\n'; 
        embedStr += ' ' + args[i] + '="' + args[i+1] + '"';
        srcFound = true;
      }
    }
    else if (currArg == "movie"){
      if (!srcFound){
        paramStr += '<param name="' + args[i] + '" value="' + args[i+1] + '"' + closer + '\n'; 
        embedStr += ' src="' + args[i+1] + '"';
        srcFound = true;
      }
    }
    else if (   currArg == "width" 
              || currArg == "height" 
              || currArg == "align" 
              || currArg == "vspace" 
              || currArg == "hspace" 
              || currArg == "class" 
              || currArg == "title" 
              || currArg == "accesskey" 
              || currArg == "tabindex"){
      objStr += ' ' + args[i] + '="' + args[i+1] + '"';
      embedStr += ' ' + args[i] + '="' + args[i+1] + '"';
    }
    else if (currArg == "id"){
      objStr += ' ' + args[i] + '="' + args[i+1] + '"';
      // Only add the name attribute to the embed tag if a name attribute 
      // isn't already there. This is what Dreamweaver does if the user
      // enters a name for a movie in the PI: it adds id to the object
      // tag, and name to the embed tag.
      if (embedNameAttr == "")
        embedNameAttr = ' name="' + args[i+1] + '"';
    }
    else if (currArg == "name"){
      objStr += ' ' + args[i] + '="' + args[i+1] + '"';
      // Replace the current embed tag name attribute with the one passed in.
      embedNameAttr = ' ' + args[i] + '="' + args[i+1] + '"';
    }    
    else if (currArg == "codebase"){
      // The codebase parameter has already been handled, so ignore it. 
    }    
    // This is an attribute we don't know about. Assume that we should add it to the 
    // param and embed strings.
    else{
      paramStr += '<param name="' + args[i] + '" value="' + args[i+1] + '"' + closer + '\n'; 
      embedStr += ' ' + args[i] + '="' + args[i+1] + '"';
    }
  }

  // Tell the user that a movie/src is required, if one was not passed in.
  if (!srcFound){
    alert(AC_sprintf(MSG_SrcRequired,callingFn));
    return;
  }

  if (embedNameAttr)
    embedStr += embedNameAttr;	
  if (pluginsPage)
    embedStr += ' pluginspage="' + pluginsPage + '"';
  if (mimeType)
    embedStr += ' type="' + mimeType + '"';
    
  // Close off the object and embed strings
  objStr += '>\n';
  embedStr += '></embed>\n'; 

  // Assemble the three tag strings into a single string.
  tagStr = objStr + paramStr + embedStr + "</object>\n"; 

  document.write(tagStr);
}





































//AC_Flash.js
// The code below contains functions that run active content. The functions
// assemble an OBJECT/EMBED tag string, and then perform a document.write of 
// this string in the calling html document.
//   AC_RunFlContent() - build tags to display Flash content.
//   AC_RunFlContentX() - build XHTML formatted tags to display Flash content.
//   AC_RunSWContent() - build tags to display Shockwave content.
//   AC_RunSWContentX()  - build XHTML formatted tags to display Shockwave content.
//
// To call one of these functions, pass all the attributes and values that you would 
// otherwise specify for the object, param, and embed tags in the following form:
//   AC_RunFlContent(
//     "attrName1", "attrValue1"
//     "attrName2", "attrValue2"
//     ...
//     "attrNamen", "attrValuen"
//   )
//
// When passing in the src or movie attributes, do not include the file extension.
// Note, these functions use default values for several standard tag attributes, 
// including classid, codebase, pluginsPage, and mimeType, depending on the function
// you call. So, you should not pass in values for these attributes. If you require
// an alternate values for these attributes, you'll need to modify the default values 
// used in the 'Run' function implementations below. However, you may pass in an
// alternate version for the codebase value, as in AC_RunFlContent("codebase","6,0,0,0",...).
// Note that you should only pass in the version string rather than the full
// codebase URL.
//
// You must include AC_RunActiveContent.js for these functions to work.

function AC_RunFlContent()
{
  // First, look for a "movie" and "src" params, and if either exists, add a ".swf" to the end
  // if it doesn't already have one (this function will only run swf files)
  AC_AddExtension(arguments, "movie", ".swf");
  AC_AddExtension(arguments, "src", ".swf");

  // Build the codebase value. If user passed in a version for the codebase, add the version
  // to the base codebase url. Otherwise, use the default version.
  var codebase = AC_GetCodebase
                 (  "https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
                  , "7,0,0,0", arguments 
                 );
	
  AC_GenerateObj
  (  "AC_RunFlContent()", false, "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
   , codebase
   , "https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
   , "application/x-shockwave-flash", arguments
  );
}

function AC_RunFlContentX()
{
  // First, look for a "movie" and "src" params, and if either exists, add a ".swf" to the end
  // if it doesn't already have one (this function will only run swf files)
  AC_AddExtension(arguments, "movie", ".swf");
  AC_AddExtension(arguments, "src", ".swf");

  // Build the codebase value. If user passed in a version for the codebase, add the version
  // to the base codebase url. Otherwise, use the default version.
  var codebase = AC_GetCodebase
                 (  "https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
                  , "7,0,0,0", arguments 
                 );
	
  AC_GenerateObj
  (  "AC_RunFlContentX()", true, "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
   , codebase
   , "https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
   , "application/x-shockwave-flash", arguments
  );	
}

function AC_RunSWContent()
{
  // First, look for a "src" param, and if it exists, add a ".dcr" to the end
  // if it doesn't already have one (this function will only run dcr files)
  AC_AddExtension(arguments, "src", ".dcr");

  // Build the codebase value. If user passed in a version for the codebase, add the version
  // to the base codebase url. Otherwise, use the default version.
  var codebase = AC_GetCodebase
                 (  "https://fpdownload.macromedia.com/pub/shockwave/cabs/director/sw.cab#version="
                  , "8,5,0,0", arguments 
                 );
	
  AC_GenerateObj
  (  "AC_RunSWContent()", false, "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
   , codebase
   , "https://www.macromedia.com/shockwave/download/", null, arguments
  );
}
	
function AC_RunSWContentX()
{
  // First, look for a "src" param, and if it exists, add a ".dcr" to the end
  // if it doesn't already have one (this function will only run dcr files)
  AC_AddExtension(arguments, "src", ".dcr");

  // Build the codebase value. If user passed in a version for the codebase, add the version
  // to the base codebase url. Otherwise, use the default version.
  var codebase = AC_GetCodebase
                 (  "https://fpdownload.macromedia.com/pub/shockwave/cabs/director/sw.cab#version="
                  , "8,5,0,0", arguments 
                 );
	
  AC_GenerateObj
  (  "AC_RunSWContentX()", true, "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
   , codebase
   , "https://www.macromedia.com/shockwave/download/", null, arguments
  );
}
	










































//jquery.jcarousel.js
/**
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function($) {
    /**
     * Creates a carousel for all matched elements.
     *
     * @example $("#mycarousel").jcarousel();
     * @before <ul id="mycarousel" class="jcarousel-skin-name"><li>First item</li><li>Second item</li></ul>
     * @result
     *
     * <div class="jcarousel-skin-name">
     *   <div class="jcarousel-container">
     *     <div disabled="disabled" class="jcarousel-prev jcarousel-prev-disabled"></div>
     *     <div class="jcarousel-next"></div>
     *     <div class="jcarousel-clip">
     *       <ul class="jcarousel-list">
     *         <li class="jcarousel-item-1">First item</li>
     *         <li class="jcarousel-item-2">Second item</li>
     *       </ul>
     *     </div>
     *   </div>
     * </div>
     *
     * @name jcarousel
     * @type jQuery
     * @param Hash o A set of key/value pairs to set as configuration properties.
     * @cat Plugins/jCarousel
     */
    $.fn.jcarousel = function(o) {
        return this.each(function() {
            new $jc(this, o);
        });
    };

    // Default configuration properties.
    var defaults = {
        vertical: false,
        start: 1,
        offset: 1,
        size: null,
        scroll: 1,
        visible: null,
        animation: 'slow',
        easing: 'swing',
		counter: false,
        auto: 0,
        wrap: null,
        initCallback: null,
        reloadCallback: null,
        itemLoadCallback: null,
        itemFirstInCallback: null,
        itemFirstOutCallback: null,
        itemLastInCallback: null,
        itemLastOutCallback: null,
        itemVisibleInCallback: null,
        itemVisibleOutCallback: null,
        buttonNextHTML: '<div></div>',
        buttonPrevHTML: '<div></div>',
        buttonNextEvent: 'click',
        buttonPrevEvent: 'click',
        buttonNextCallback: null,
        buttonPrevCallback: null
    };

    /**
     * The jCarousel object.
     *
     * @constructor
     * @name $.jcarousel
     * @param Object e The element to create the carousel for.
     * @param Hash o A set of key/value pairs to set as configuration properties.
     * @cat Plugins/jCarousel
     */
    $.jcarousel = function(e, o) {
        this.options    = $.extend({}, defaults, o || {});

        this.locked     = false;

        this.container  = null;
        this.clip       = null;
        this.list       = null;
        this.buttonNext = null;
        this.buttonPrev = null;

        this.wh = !this.options.vertical ? 'width' : 'height';
        this.lt = !this.options.vertical ? 'left' : 'top';

        // Extract skin class
        var skin = '', split = e.className.split(' ');

        for (var i = 0; i < split.length; i++) {
            if (split[i].indexOf('jcarousel-skin') != -1) {
                $(e).removeClass(split[i]);
                var skin = split[i];
                break;
            }
        }

        if (e.nodeName == 'UL' || e.nodeName == 'OL') {
            this.list = $(e);
            this.container = this.list.parent();

            if (this.container.hasClass('jcarousel-clip')) {
                if (!this.container.parent().hasClass('jcarousel-container'))
                    this.container = this.container.wrap('<div></div>');

                this.container = this.container.parent();
            } else if (!this.container.hasClass('jcarousel-container'))
                this.container = this.list.wrap('<div></div>').parent();
        } else {
            this.container = $(e);
            this.list = $(e).find('>ul,>ol,div>ul,div>ol');
        }

        if (skin != '' && this.container.parent()[0].className.indexOf('jcarousel-skin') == -1)
        	this.container.wrap('<div class=" '+ skin + '"></div>');

        this.clip = this.list.parent();

        if (!this.clip.length || !this.clip.hasClass('jcarousel-clip'))
            this.clip = this.list.wrap('<div></div>').parent();

        this.buttonPrev = $('.jcarousel-prev', this.container);

        if (this.buttonPrev.size() == 0 && this.options.buttonPrevHTML != null)
            this.buttonPrev = this.clip.before(this.options.buttonPrevHTML).prev();

        this.buttonPrev.addClass(this.className('jcarousel-prev'));

        this.buttonNext = $('.jcarousel-next', this.container);

        if (this.buttonNext.size() == 0 && this.options.buttonNextHTML != null)
            this.buttonNext = this.clip.before(this.options.buttonNextHTML).prev();

        this.buttonNext.addClass(this.className('jcarousel-next'));

        this.clip.addClass(this.className('jcarousel-clip'));
        this.list.addClass(this.className('jcarousel-list'));
        this.container.addClass(this.className('jcarousel-container'));

        var di = this.options.visible != null ? Math.ceil(this.clipping() / this.options.visible) : null;
        var li = this.list.children('li');

        var self = this;

        if (li.size() > 0) {
            var wh = 0, i = this.options.offset;
            li.each(function() {
                self.format(this, i++);
                wh += self.dimension(this, di);
            });

            this.list.css(this.wh, wh + 'px');

            // Only set if not explicitly passed as option
            if (!o || o.size === undefined)
                this.options.size = li.size();
        }

        // For whatever reason, .show() does not work in Safari...
        this.container.css('display', 'block');
        this.buttonNext.css('display', 'block');
        this.buttonPrev.css('display', 'block');

        this.funcNext   = function() { self.next(); };
        this.funcPrev   = function() { self.prev(); };
        this.funcResize = function() { self.reload(); };

        if (this.options.initCallback != null)
            this.options.initCallback(this, 'init');

        if ($.browser.safari) {
            this.buttons(false, false);
            $(window).bind('load', function() { self.setup(); });
        } else
            this.setup();
    };

    // Create shortcut for internal use
    var $jc = $.jcarousel;

    $jc.fn = $jc.prototype = {
        jcarousel: '0.2.3'
    };

    $jc.fn.extend = $jc.extend = $.extend;

    $jc.fn.extend({
        /**
         * Setups the carousel.
         *
         * @name setup
         * @type undefined
         * @cat Plugins/jCarousel
         */
        setup: function() {
            this.first     = null;
            this.last      = null;
            this.prevFirst = null;
            this.prevLast  = null;
            this.animating = false;
            this.timer     = null;
            this.tail      = null;
            this.inTail    = false;

            if (this.locked)
                return;

            this.list.css(this.lt, this.pos(this.options.offset));
            var p = this.pos(this.options.start);
            this.prevFirst = this.prevLast = null;
            this.animate(p, false);

            $(window).unbind('resize', this.funcResize).bind('resize', this.funcResize);
        },

        /**
         * Clears the list and resets the carousel.
         *
         * @name reset
         * @type undefined
         * @cat Plugins/jCarousel
         */
        reset: function() {
            this.list.empty();

            this.list.css(this.lt, '0px');
            this.list.css(this.wh, '10px');

            if (this.options.initCallback != null)
                this.options.initCallback(this, 'reset');

            this.setup();
        },

        /**
         * Reloads the carousel and adjusts positions.
         *
         * @name reload
         * @type undefined
         * @cat Plugins/jCarousel
         */
        reload: function() {
            if (this.tail != null && this.inTail)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + this.tail);

            this.tail   = null;
            this.inTail = false;

            if (this.options.reloadCallback != null)
                this.options.reloadCallback(this);

            if (this.options.visible != null) {
                var self = this;
                var di = Math.ceil(this.clipping() / this.options.visible), wh = 0, lt = 0;
                $('li', this.list).each(function(i) {
                    wh += self.dimension(this, di);
                    if (i + 1 < self.first)
                        lt = wh;
                });

                this.list.css(this.wh, wh + 'px');
                this.list.css(this.lt, -lt + 'px');
            }

            this.scroll(this.first, false);
        },

        /**
         * Locks the carousel.
         *
         * @name lock
         * @type undefined
         * @cat Plugins/jCarousel
         */
        lock: function() {
            this.locked = true;
            this.buttons();
        },

        /**
         * Unlocks the carousel.
         *
         * @name unlock
         * @type undefined
         * @cat Plugins/jCarousel
         */
        unlock: function() {
            this.locked = false;
            this.buttons();
        },

        /**
         * Sets the size of the carousel.
         *
         * @name size
         * @type undefined
         * @param Number s The size of the carousel.
         * @cat Plugins/jCarousel
         */
        size: function(s) {
            if (s != undefined) {
                this.options.size = s;
                if (!this.locked)
                    this.buttons();
            }

            return this.options.size;
        },

        /**
         * Checks whether a list element exists for the given index (or index range).
         *
         * @name get
         * @type bool
         * @param Number i The index of the (first) element.
         * @param Number i2 The index of the last element.
         * @cat Plugins/jCarousel
         */
        has: function(i, i2) {
            if (i2 == undefined || !i2)
                i2 = i;

            if (this.options.size !== null && i2 > this.options.size)
            	i2 = this.options.size;

            for (var j = i; j <= i2; j++) {
                var e = this.get(j);
                if (!e.length || e.hasClass('jcarousel-item-placeholder'))
                    return false;
            }

            return true;
        },

        /**
         * Returns a jQuery object with list element for the given index.
         *
         * @name get
         * @type jQuery
         * @param Number i The index of the element.
         * @cat Plugins/jCarousel
         */
        get: function(i) {
            return $('.jcarousel-item-' + i, this.list);
        },

        /**
         * Adds an element for the given index to the list.
         * If the element already exists, it updates the inner html.
         * Returns the created element as jQuery object.
         *
         * @name add
         * @type jQuery
         * @param Number i The index of the element.
         * @param String s The innerHTML of the element.
         * @cat Plugins/jCarousel
         */
        add: function(i, s) {
            var e = this.get(i), old = 0, add = 0;

            if (e.length == 0) {
                var c, e = this.create(i), j = $jc.intval(i);
                while (c = this.get(--j)) {
                    if (j <= 0 || c.length) {
                        j <= 0 ? this.list.prepend(e) : c.after(e);
                        break;
                    }
                }
            } else
                old = this.dimension(e);

            e.removeClass(this.className('jcarousel-item-placeholder'));
            typeof s == 'string' ? e.html(s) : e.empty().append(s);

            var di = this.options.visible != null ? Math.ceil(this.clipping() / this.options.visible) : null;
            var wh = this.dimension(e, di) - old;

            if (i > 0 && i < this.first)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - wh + 'px');

            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) + wh + 'px');

            return e;
        },

        /**
         * Removes an element for the given index from the list.
         *
         * @name remove
         * @type undefined
         * @param Number i The index of the element.
         * @cat Plugins/jCarousel
         */
        remove: function(i) {
			
            var e = this.get(i);

            // Check if item exists and is not currently visible
            if (!e.length || (i >= this.first && i <= this.last))
                return;

            var d = this.dimension(e);

            if (i < this.first)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + d + 'px');

            e.remove();

            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) - d + 'px');
        },

        /**
         * Moves the carousel forwards.
         *
         * @name next
         * @type undefined
         * @cat Plugins/jCarousel
         */
        next: function() {
			
            this.stopAuto();

            if (this.tail != null && !this.inTail)
                this.scrollTail(false);
            else
                this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'last') && this.options.size != null && this.last == this.options.size) ? 1 : this.first + this.options.scroll);
        },

        /**
         * Moves the carousel backwards.
         *
         * @name prev
         * @type undefined
         * @cat Plugins/jCarousel
         */
        prev: function() {
			
            this.stopAuto();

            if (this.tail != null && this.inTail)
                this.scrollTail(true);
            else
                this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'first') && this.options.size != null && this.first == 1) ? this.options.size : this.first - this.options.scroll);
        },
		

        /**
         * Scrolls the tail of the carousel.
         *
         * @name scrollTail
         * @type undefined
         * @param Bool b Whether scroll the tail back or forward.
         * @cat Plugins/jCarousel
         */
        scrollTail: function(b) {
            if (this.locked || this.animating || !this.tail)
                return;

            var pos  = $jc.intval(this.list.css(this.lt));

            !b ? pos -= this.tail : pos += this.tail;
            this.inTail = !b;

            // Save for callbacks
            this.prevFirst = this.first;
            this.prevLast  = this.last;

            this.animate(pos);
        },

        /**
         * Scrolls the carousel to a certain position.
         *
         * @name scroll
         * @type undefined
         * @param Number i The index of the element to scoll to.
         * @param Bool a Flag indicating whether to perform animation.
         * @cat Plugins/jCarousel
         */
        scroll: function(i, a) {
            if (this.locked || this.animating)
                return;

            this.animate(this.pos(i), a);
        },

        /**
         * Prepares the carousel and return the position for a certian index.
         *
         * @name pos
         * @type Number
         * @param Number i The index of the element to scoll to.
         * @cat Plugins/jCarousel
         */
        pos: function(i) {
			
            if (this.locked || this.animating)
                return;

            i = $jc.intval(i);
            if (this.options.wrap != 'circular')
                i = i < 1 ? 1 : (this.options.size && i > this.options.size ? this.options.size : i);

            var back = this.first > i;
            var pos  = $jc.intval(this.list.css(this.lt));

            // Create placeholders, new list width/height
            // and new list position
            var f = this.options.wrap != 'circular' && this.first <= 1 ? 1 : this.first;
            var c = back ? this.get(f) : this.get(this.last);
            var j = back ? f : f - 1;
            var e = null, l = 0, p = false, d = 0;

            while (back ? --j >= i : ++j < i) {
                e = this.get(j);
                p = !e.length;
                if (e.length == 0) {
                    e = this.create(j).addClass(this.className('jcarousel-item-placeholder'));
                    c[back ? 'before' : 'after' ](e);
                }

                c = e;
                d = this.dimension(e);

                if (p)
                    l += d;

                if (this.first != null && (this.options.wrap == 'circular' || (j >= 1 && (this.options.size == null || j <= this.options.size))))
                    pos = back ? pos + d : pos - d;
            }

            // Calculate visible items
            var clipping = this.clipping();
            var cache = [];
            var visible = 0, j = i, v = 0;
            var c = this.get(i - 1);

            while (++visible) {
                e = this.get(j);
                p = !e.length;
                if (e.length == 0) {
                    e = this.create(j).addClass(this.className('jcarousel-item-placeholder'));
                    // This should only happen on a next scroll
                    c.length == 0 ? this.list.prepend(e) : c[back ? 'before' : 'after' ](e);
                }

                c = e;
                var d = this.dimension(e);
                if (d == 0) {
                    //alert('jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...');
                    return 0;
                }

                if (this.options.wrap != 'circular' && this.options.size !== null && j > this.options.size)
                    cache.push(e);
                else if (p)
                    l += d;

                v += d;

                if (v >= clipping)
                    break;

                j++;
            }

             // Remove out-of-range placeholders
            for (var x = 0; x < cache.length; x++)
                cache[x].remove();

            // Resize list
            if (l > 0) {
                this.list.css(this.wh, this.dimension(this.list) + l + 'px');

                if (back) {
                    pos -= l;
                    this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - l + 'px');
                }
            }

            // Calculate first and last item
            var last = i + visible - 1;
            if (this.options.wrap != 'circular' && this.options.size && last > this.options.size)
                last = this.options.size;

            if (j > last) {
                visible = 0, j = last, v = 0;
                while (++visible) {
                    var e = this.get(j--);
                    if (!e.length)
                        break;
                    v += this.dimension(e);
                    if (v >= clipping)
                        break;
                }
            }

            var first = last - visible + 1;
            if (this.options.wrap != 'circular' && first < 1)
                first = 1;

            if (this.inTail && back) {
                pos += this.tail;
                this.inTail = false;
            }

            this.tail = null;
            if (this.options.wrap != 'circular' && last == this.options.size && (last - visible + 1) >= 1) {
                var m = $jc.margin(this.get(last), !this.options.vertical ? 'marginRight' : 'marginBottom');
                if ((v - m) > clipping)
                    this.tail = v - clipping - m;
            }

            // Adjust position
            while (i-- > first)
                pos += this.dimension(this.get(i));

            // Save visible item range
            this.prevFirst = this.first;
            this.prevLast  = this.last;
            this.first     = first;
            this.last      = last;

            return pos;
        },

        /**
         * Animates the carousel to a certain position.
         *
         * @name animate
         * @type undefined
         * @param mixed p Position to scroll to.
         * @param Bool a Flag indicating whether to perform animation.
         * @cat Plugins/jCarousel
         */
        animate: function(p, a) {
            if (this.locked || this.animating)
                return;

            this.animating = true;

            var self = this;
            var scrolled = function() {
                self.animating = false;

                if (p == 0)
                    self.list.css(self.lt,  0);

                if (self.options.wrap == 'both' || self.options.wrap == 'last' || self.options.size == null || self.last < self.options.size)
                    self.startAuto();

                self.buttons();
                self.notify('onAfterAnimation');
            };

            this.notify('onBeforeAnimation');

            // Animate
            if (!this.options.animation || a == false) {
                this.list.css(this.lt, p + 'px');
                scrolled();
            } else {
                var o = !this.options.vertical ? {'left': p} : {'top': p};
                this.list.animate(o, this.options.animation, this.options.easing, scrolled);
            }
        },

        /**
         * Starts autoscrolling.
         *
         * @name auto
         * @type undefined
         * @param Number s Seconds to periodically autoscroll the content.
         * @cat Plugins/jCarousel
         */
        startAuto: function(s) {
            if (s != undefined)
                this.options.auto = s;

            if (this.options.auto == 0)
                return this.stopAuto();

            if (this.timer != null)
                return;

            var self = this;
            this.timer = setTimeout(function() { self.next(); }, this.options.auto * 1000);
        },

        /**
         * Stops autoscrolling.
         *
         * @name stopAuto
         * @type undefined
         * @cat Plugins/jCarousel
         */
        stopAuto: function() {
            if (this.timer == null)
                return;

            clearTimeout(this.timer);
            this.timer = null;
        },

        /**
         * Sets the states of the prev/next buttons.
         *
         * @name buttons
         * @type undefined
         * @cat Plugins/jCarousel
         */
        buttons: function(n, p) {
            if (n == undefined || n == null) {
                var n = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'first') || this.options.size == null || this.last < this.options.size);
                if (!this.locked && (!this.options.wrap || this.options.wrap == 'first') && this.options.size != null && this.last >= this.options.size)
                    n = this.tail != null && !this.inTail;
            }

            if (p == undefined || p == null) {
                var p = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'last') || this.first > 1);
                if (!this.locked && (!this.options.wrap || this.options.wrap == 'last') && this.options.size != null && this.first == 1)
                    p = this.tail != null && this.inTail;
            }

            var self = this;

            this.buttonNext[n ? 'bind' : 'unbind'](this.options.buttonNextEvent, this.funcNext)[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true);
            this.buttonPrev[p ? 'bind' : 'unbind'](this.options.buttonPrevEvent, this.funcPrev)[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true);

            if (this.buttonNext.length > 0 && (this.buttonNext[0].jcarouselstate == undefined || this.buttonNext[0].jcarouselstate != n) && this.options.buttonNextCallback != null) {
                this.buttonNext.each(function() { self.options.buttonNextCallback(self, this, n); });
                this.buttonNext[0].jcarouselstate = n;
            }

            if (this.buttonPrev.length > 0 && (this.buttonPrev[0].jcarouselstate == undefined || this.buttonPrev[0].jcarouselstate != p) && this.options.buttonPrevCallback != null) {
                this.buttonPrev.each(function() { self.options.buttonPrevCallback(self, this, p); });
                this.buttonPrev[0].jcarouselstate = p;
            }
        },

        notify: function(evt) {
            var state = this.prevFirst == null ? 'init' : (this.prevFirst < this.first ? 'next' : 'prev');

            // Load items
            this.callback('itemLoadCallback', evt, state);

            if (this.prevFirst !== this.first) {
                this.callback('itemFirstInCallback', evt, state, this.first);
                this.callback('itemFirstOutCallback', evt, state, this.prevFirst);
            }

            if (this.prevLast !== this.last) {
                this.callback('itemLastInCallback', evt, state, this.last);
                this.callback('itemLastOutCallback', evt, state, this.prevLast);
            }

            this.callback('itemVisibleInCallback', evt, state, this.first, this.last, this.prevFirst, this.prevLast);
            this.callback('itemVisibleOutCallback', evt, state, this.prevFirst, this.prevLast, this.first, this.last);
        },

        callback: function(cb, evt, state, i1, i2, i3, i4) {
            if (this.options[cb] == undefined || (typeof this.options[cb] != 'object' && evt != 'onAfterAnimation'))
                return;

            var callback = typeof this.options[cb] == 'object' ? this.options[cb][evt] : this.options[cb];

            if (!$.isFunction(callback))
                return;

            var self = this;

            if (i1 === undefined)
                callback(self, state, evt);
            else if (i2 === undefined)
                this.get(i1).each(function() { callback(self, this, i1, state, evt); });
            else {
                for (var i = i1; i <= i2; i++)
                    if (i !== null && !(i >= i3 && i <= i4))
                        this.get(i).each(function() { callback(self, this, i, state, evt); });
            }
        },

        create: function(i) {
            return this.format('<li></li>', i);
        },

        format: function(e, i) {
            var $e = $(e).addClass(this.className('jcarousel-item')).addClass(this.className('jcarousel-item-' + i));
            $e.attr('jcarouselindex', i);
            return $e;
        },

        className: function(c) {
            return c + ' ' + c + (!this.options.vertical ? '-horizontal' : '-vertical');
        },

        dimension: function(e, d) {
            var el = e.jquery != undefined ? e[0] : e;

            var old = !this.options.vertical ?
                el.offsetWidth + $jc.margin(el, 'marginLeft') + $jc.margin(el, 'marginRight') :
                el.offsetHeight + $jc.margin(el, 'marginTop') + $jc.margin(el, 'marginBottom');

            if (d == undefined || old == d)
                return old;

            var w = !this.options.vertical ?
                d - $jc.margin(el, 'marginLeft') - $jc.margin(el, 'marginRight') :
                d - $jc.margin(el, 'marginTop') - $jc.margin(el, 'marginBottom');

            $(el).css(this.wh, w + 'px');

            return this.dimension(el);
        },

        clipping: function() {
            return !this.options.vertical ?
                this.clip[0].offsetWidth - $jc.intval(this.clip.css('borderLeftWidth')) - $jc.intval(this.clip.css('borderRightWidth')) :
                this.clip[0].offsetHeight - $jc.intval(this.clip.css('borderTopWidth')) - $jc.intval(this.clip.css('borderBottomWidth'));
        },

        index: function(i, s) {
            if (s == undefined)
                s = this.options.size;

            return Math.round((((i-1) / s) - Math.floor((i-1) / s)) * s) + 1;
        }
    });

    $jc.extend({
        /**
         * Gets/Sets the global default configuration properties.
         *
         * @name defaults
         * @descr Gets/Sets the global default configuration properties.
         * @type Hash
         * @param Hash d A set of key/value pairs to set as configuration properties.
         * @cat Plugins/jCarousel
         */
        defaults: function(d) {
            return $.extend(defaults, d || {});
        },

        margin: function(e, p) {
            if (!e)
                return 0;

            var el = e.jquery != undefined ? e[0] : e;

            if (p == 'marginRight' && $.browser.safari) {
                var old = {'display': 'block', 'float': 'none', 'width': 'auto'}, oWidth, oWidth2;

                $.swap(el, old, function() { oWidth = el.offsetWidth; });

                old['marginRight'] = 0;
                $.swap(el, old, function() { oWidth2 = el.offsetWidth; });

                return oWidth2 - oWidth;
            }

            return $jc.intval($.css(el, p));
        },

        intval: function(v) {
            v = parseInt(v);
            return isNaN(v) ? 0 : v;
        }
    });

})(jQuery);



























































//jQuery_marque


/**
* author Remy Sharp
* url http://remysharp.com/tag/marquee
*/

(function ($) {
    $.fn.marquee = function (klass) {
        var newMarquee = [],
            last = this.length;

        // works out the left or right hand reset position, based on scroll
        // behavior, current direction and new direction
        function getReset(newDir, marqueeRedux, marqueeState) {
            var behavior = marqueeState.behavior, width = marqueeState.width, dir = marqueeState.dir;
            var r = 0;
            if (behavior == 'alternate') {
                r = newDir == 1 ? marqueeRedux[marqueeState.widthAxis] - (width*2) : width;
            } else if (behavior == 'slide') {
                if (newDir == -1) {
                    r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] : width;
                } else {
                    r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] - (width*2) : 0;
                }
            } else {
                r = newDir == -1 ? marqueeRedux[marqueeState.widthAxis] : 0;
            }
            return r;
        }

        // single "thread" animation
        function animateMarquee() {
            var i = newMarquee.length,
                marqueeRedux = null,
                $marqueeRedux = null,
                marqueeState = {},
                newMarqueeList = [],
                hitedge = false;
                
            while (i--) {
                marqueeRedux = newMarquee[i];
                $marqueeRedux = $(marqueeRedux);
                marqueeState = $marqueeRedux.data('marqueeState');
                
                if ($marqueeRedux.data('paused') !== true) {
                    // TODO read scrollamount, dir, behavior, loops and last from data
                    marqueeRedux[marqueeState.axis] += (marqueeState.scrollamount * marqueeState.dir);

                    // only true if it's hit the end
                    hitedge = marqueeState.dir == -1 ? marqueeRedux[marqueeState.axis] <= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState) : marqueeRedux[marqueeState.axis] >= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);
                    
                    if ((marqueeState.behavior == 'scroll' && marqueeState.last == marqueeRedux[marqueeState.axis]) || (marqueeState.behavior == 'alternate' && hitedge && marqueeState.last != -1) || (marqueeState.behavior == 'slide' && hitedge && marqueeState.last != -1)) {                        
                        if (marqueeState.behavior == 'alternate') {
                            marqueeState.dir *= -1; // flip
                        }
                        marqueeState.last = -1;

                        $marqueeRedux.trigger('stop');

                        marqueeState.loops--;
                        if (marqueeState.loops === 0) {
                            if (marqueeState.behavior != 'slide') {
                                marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
                            } else {
                                // corrects the position
                                marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);
                            }

                            $marqueeRedux.trigger('end');
                        } else {
                            // keep this marquee going
                            newMarqueeList.push(marqueeRedux);
                            $marqueeRedux.trigger('start');
                            marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
                        }
                    } else {
                        newMarqueeList.push(marqueeRedux);
                    }
                    marqueeState.last = marqueeRedux[marqueeState.axis];

                    // store updated state only if we ran an animation
                    $marqueeRedux.data('marqueeState', marqueeState);
                } else {
                    // even though it's paused, keep it in the list
                    newMarqueeList.push(marqueeRedux);                    
                }
            }

            newMarquee = newMarqueeList;
            
            if (newMarquee.length) {
                setTimeout(animateMarquee, 25);
            }            
        }
        
        // TODO consider whether using .html() in the wrapping process could lead to loosing predefined events...
        this.each(function (i) {
            var $marquee = $(this),
                width = $marquee.attr('width') || $marquee.width(),
                height = $marquee.attr('height') || $marquee.height(),
                $marqueeRedux = $marquee.after('<div ' + (klass ? 'class="' + klass + '" ' : '') + 'style="display: block-inline; width: ' + width + 'px; height: ' + height + 'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">' + $marquee.html() + '</div></div>').next(),
                marqueeRedux = $marqueeRedux.get(0),
                hitedge = 0,
                direction = ($marquee.attr('direction') || 'left').toLowerCase(),
                marqueeState = {
                    dir : /down|right/.test(direction) ? -1 : 1,
                    axis : /left|right/.test(direction) ? 'scrollLeft' : 'scrollTop',
                    widthAxis : /left|right/.test(direction) ? 'scrollWidth' : 'scrollHeight',
                    last : -1,
                    loops : $marquee.attr('loop') || -1,
                    scrollamount : $marquee.attr('scrollamount') || this.scrollAmount || 2,
                    behavior : ($marquee.attr('behavior') || 'scroll').toLowerCase(),
                    width : /left|right/.test(direction) ? width : height
                };
            
            // corrects a bug in Firefox - the default loops for slide is -1
            if ($marquee.attr('loop') == -1 && marqueeState.behavior == 'slide') {
                marqueeState.loops = 1;
            }

            $marquee.remove();
            
            // add padding
            if (/left|right/.test(direction)) {
                $marqueeRedux.find('> div').css('padding', '0 ' + width + 'px');
            } else {
                $marqueeRedux.find('> div').css('padding', height + 'px 0');
            }
            
            // events
            $marqueeRedux.bind('stop', function () {
                $marqueeRedux.data('paused', true);
            }).bind('pause', function () {
                $marqueeRedux.data('paused', true);
            }).bind('start', function () {
                $marqueeRedux.data('paused', false);
            }).bind('unpause', function () {
                $marqueeRedux.data('paused', false);
            }).data('marqueeState', marqueeState); // finally: store the state
            
            // todo - rerender event allowing us to do an ajax hit and redraw the marquee

            newMarquee.push(marqueeRedux);

            marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
            $marqueeRedux.trigger('start');
            
            // on the very last marquee, trigger the animation
            if (i+1 == last) {
                animateMarquee();
            }
        });            

        return $(newMarquee);
    };
}(jQuery));



















































































































//funkcje.js

/*function klik() { 
  if (event.button==2) { 
    alert('Prawy przycisk jest zablokowany!');
  } 
} 
document.onmousedown=klik;
*/


/*function dodaj_do_ulubionych()
{
        var title = document.title;
        var url = document.location;
        if (window.sidebar)  // Mozilla Firefox Bookmark
        {
               window.sidebar.addPanel('www.budomex.eu', 'http://www.budomex.eu/', "");
        }
        else if(window.external)  // IE Favorite
        {
               window.external.AddFavorite('http://www.budomex.eu/', 'www.budomex.eu');
        }
}*/





function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_openBrWindow2(theURL,winName,w,h) { 
var winl = (screen.width-w)/2;
var wint = (screen.height-h)/2;

 var settings ='';
settings +='width='+w+',';
settings +='height='+h+',';
settings +='top='+wint+',';
settings +='left='+winl+',';
settings +='scrollbars=yes,';
settings +='resizable=no';

win=window.open(theURL,winName,settings);
if(parseInt(navigator.appVersion) >= 4){win.window.focus();};
}



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function setPointer(theRow, thePointerColor, theNormalBgColor)
{
    var theCells = null;

    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    var currentColor = null;
    var newColor     = null;
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined' && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        newColor     = (currentColor.toLowerCase() == thePointerColor.toLowerCase())
                     ? theNormalBgColor
                     : thePointerColor;
        for (var c = 0; c < rowCellsCnt; c++) {
            theCells[c].setAttribute('bgcolor', newColor, 0);
        } // end for
    }
    else {
        currentColor = theCells[0].style.backgroundColor;
        newColor     = (currentColor.toLowerCase() == thePointerColor.toLowerCase())
                     ? theNormalBgColor
                     : thePointerColor;
        for (var c = 0; c < rowCellsCnt; c++) {
            theCells[c].style.backgroundColor = newColor;
        }
    }

    return true;
} 



function numberOnly(value){return !isNaN(value) && value ;} 
function noSpaces(value){return value.indexOf(" ") == -1 ;} 
function sevenDigits(value){return  /\b\d{7}\b/.test(value) ;} 


function sprawdz(form) {

with(form){

msg=""

//sprawdzenie maila
if (email.value.length==0){ 
		msg+= "Wypełnij pole e-mail!\n"
		} else {
			 Wzor = /^[0-9a-zA-Z.-_]+\@[0-9a-zA-Z-.-_]+\.[0-9a-zA-Z.]{2,4}$/;
	 if (Wzor.test(email.value)==false) { 
	 msg+= "Niewłaściwy format adresu e-mail!\n"
		} 
	}

if(msg){ 
 alert(msg); 
 return false;
}

return true;
}
}



function usun_biale_znaki(ciag){
	ciag = ciag.replace(/\r/g, " ");
  	ciag = ciag.replace(/[^ A-Za-z0-9`~!@#\$%\^&\*\(\)-_=\+\\\|\]\[\}\{'";:\?\/\.>,<]/g, "");
	ciag = ciag.replace(/'/g, "");
	ciag = ciag.replace(/ +/g, " ");  
	ciag = ciag.replace(/^\s/g, "");
	ciag = ciag.replace(/\s$/g, "");	
	return ciag;
}

function formatuj_liczbe(n, dokladnosc){
	return n.toFixed(dokladnosc);
}


function wylicz_wartosc(pole_baza, pole_zmiana, rabat, pole_vat, opcja){
	if(opcja == 'brutto'){
		document.getElementById(pole_zmiana).value = formatuj_liczbe(document.getElementById(pole_baza).value * (1 + usun_biale_znaki(document.getElementById(pole_vat).value) / 100), 2);
	}else if(opcja == 'netto'){
		document.getElementById(pole_zmiana).value = formatuj_liczbe(document.getElementById(pole_baza).value / (1 + usun_biale_znaki(document.getElementById(pole_vat).value) / 100), 2);
	}
}


function makearray(n){ this.length = n; for(var i = 1; i <= n; i++) this[i] = 0; return this; }
var hexa = new makearray(16); for(var i = 0; i < 10; i++) hexa[i] = i; hexa[10]="a"; hexa[11]="b"; hexa[12]="c"; hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
function hex(i){ if (i < 0) return "00"; else if (i >255) return "ff"; else return "" + hexa[Math.floor(i/16)] + hexa[i%16]; }
function setbgColor(r, g, b, obj){ var hr = hex(r); var hg = hex(g); var hb = hex(b); document.getElementById(obj).style.background = "#"+hr+hg+hb; }
function fade(od_r, od_g, od_b, do_r, do_g, do_b, step, i, obj){ var r,g,b,i; r=Math.floor(od_r * ((step-i)/step) + do_r * (i/step)); g=Math.floor(od_g * ((step-i)/step) + do_g * (i/step)); b=Math.floor(od_b * ((step-i)/step) + do_b * (i/step)); if (i <= step) { setbgColor(r,g,b,obj); i++; setTimeout("fade("+od_r+","+od_g+","+od_b+","+do_r+","+do_g+","+do_b+","+step+","+i+",'"+obj+"')",10); } }
function fadein(od_r, od_g, od_b, do_r, do_g, do_b, step, obj) { fade(od_r, od_g, od_b, do_r, do_g, do_b, step, 0, obj); }
function fadeout(od_r, od_g, od_b, do_r, do_g, do_b, step, obj) { fade(od_r, od_g, od_b, do_r, do_g, do_b, step, 0, obj); }	




function hidestartuplayer(){
 Effect.Fade('startuplayer', { duration: 0.4, from: 1, to: 0 });
}
function showstartuplayer(){
document.getElementById('startuplayer').style.opacity=0;
document.getElementById('startuplayer').style.filter = "alpha(opacity=0)";
document.getElementById('startuplayer').style.display='block';
Effect.Fade('startuplayer', { duration: 1.0, from: 0, to: 1 });
if(navigator.appName == "Microsoft Internet Explorer"){
  p_y = document.documentElement.scrollTop;
 }else{
  p_y = window.pageYOffset;
 }
  pos_top=parseInt((document.body.clientHeight-1024)/2)+p_y-50;
  pos_center=parseInt((document.body.clientWidth-document.getElementById('startuplayer').offsetWidth)/2);
  document.getElementById('startuplayer').style.top='20px';
  document.getElementById('startuplayer').style.left=pos_center+'px';
  document.getElementById('startuplayerbut').style.width=document.getElementById('startuplayer').offsetWidth;
	document.getElementById('startuplayer').style.zIndex=200;
	
	

}






















































/*
 * jQuery Nivo Slider v2.4
 * http://nivo.dev7studios.com
 *
 * Copyright 2011, Gilbert Pellegrom
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */

(function(a){var A=function(s,v){var f=a.extend({},a.fn.nivoSlider.defaults,v),g={currentSlide:0,currentImage:"",totalSlides:0,randAnim:"",running:false,paused:false,stop:false},e=a(s);e.data("nivo:vars",g);e.css("position","relative");e.addClass("nivoSlider");var j=e.children();j.each(function(){var b=a(this),h="";if(!b.is("img")){if(b.is("a")){b.addClass("nivo-imageLink");h=b}b=b.find("img:first")}var c=b.width();if(c==0)c=b.attr("width");var o=b.height();if(o==0)o=b.attr("height");c>e.width()&&
e.width(c);o>e.height()&&e.height(o);h!=""&&h.css("display","none");b.css("display","none");g.totalSlides++});if(f.startSlide>0){if(f.startSlide>=g.totalSlides)f.startSlide=g.totalSlides-1;g.currentSlide=f.startSlide}g.currentImage=a(j[g.currentSlide]).is("img")?a(j[g.currentSlide]):a(j[g.currentSlide]).find("img:first");a(j[g.currentSlide]).is("a")&&a(j[g.currentSlide]).css("display","block");e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');for(var k=0;k<f.slices;k++){var p=
Math.round(e.width()/f.slices);k==f.slices-1?e.append(a('<div class="nivo-slice"></div>').css({left:p*k+"px",width:e.width()-p*k+"px"})):e.append(a('<div class="nivo-slice"></div>').css({left:p*k+"px",width:p+"px"}))}e.append(a('<div class="nivo-caption"><p></p></div>').css({display:"none",opacity:f.captionOpacity}));if(g.currentImage.attr("title")!=""){k=g.currentImage.attr("title");if(k.substr(0,1)=="#")k=a(k).html();a(".nivo-caption p",e).html(k);a(".nivo-caption",e).fadeIn(f.animSpeed)}var l=
0;if(!f.manualAdvance&&j.length>1)l=setInterval(function(){r(e,j,f,false)},f.pauseTime);if(f.directionNav){e.append('<div class="nivo-directionNav"><a class="nivo-prevNav">Prev</a><a class="nivo-nextNav">Next</a></div>');if(f.directionNavHide){a(".nivo-directionNav",e).hide();e.hover(function(){a(".nivo-directionNav",e).show()},function(){a(".nivo-directionNav",e).hide()})}a("a.nivo-prevNav",e).live("click",function(){if(g.running)return false;clearInterval(l);l="";g.currentSlide-=2;r(e,j,f,"prev")});
a("a.nivo-nextNav",e).live("click",function(){if(g.running)return false;clearInterval(l);l="";r(e,j,f,"next")})}if(f.controlNav){p=a('<div class="nivo-controlNav"></div>');e.append(p);for(k=0;k<j.length;k++)if(f.controlNavThumbs){var t=j.eq(k);t.is("img")||(t=t.find("img:first"));f.controlNavThumbsFromRel?p.append('<a class="nivo-control" rel="'+k+'"><img src="'+t.attr("rel")+'" alt="" /></a>'):p.append('<a class="nivo-control" rel="'+k+'"><img src="'+t.attr("src").replace(f.controlNavThumbsSearch,
f.controlNavThumbsReplace)+'" alt="" /></a>')}else p.append('<a class="nivo-control" rel="'+k+'">'+(k+1)+"</a>");a(".nivo-controlNav a:eq("+g.currentSlide+")",e).addClass("active");a(".nivo-controlNav a",e).live("click",function(){if(g.running)return false;if(a(this).hasClass("active"))return false;clearInterval(l);l="";e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');g.currentSlide=a(this).attr("rel")-1;r(e,j,f,"control")})}f.keyboardNav&&a(window).keypress(function(b){if(b.keyCode==
"37"){if(g.running)return false;clearInterval(l);l="";g.currentSlide-=2;r(e,j,f,"prev")}if(b.keyCode=="39"){if(g.running)return false;clearInterval(l);l="";r(e,j,f,"next")}});f.pauseOnHover&&e.hover(function(){g.paused=true;clearInterval(l);l=""},function(){g.paused=false;if(l==""&&!f.manualAdvance)l=setInterval(function(){r(e,j,f,false)},f.pauseTime)});e.bind("nivo:animFinished",function(){g.running=false;a(j).each(function(){a(this).is("a")&&a(this).css("display","none")});a(j[g.currentSlide]).is("a")&&
a(j[g.currentSlide]).css("display","block");if(l==""&&!g.paused&&!f.manualAdvance)l=setInterval(function(){r(e,j,f,false)},f.pauseTime);f.afterChange.call(this)});var w=function(b,h){var c=0;a(".nivo-slice",b).each(function(){var o=a(this),d=Math.round(b.width()/h.slices);c==h.slices-1?o.css("width",b.width()-d*c+"px"):o.css("width",d+"px");c++})},r=function(b,h,c,o){var d=b.data("nivo:vars");d&&d.currentSlide==d.totalSlides-1&&c.lastSlide.call(this);if((!d||d.stop)&&!o)return false;c.beforeChange.call(this);
if(o){o=="prev"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');o=="next"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat')}else b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');d.currentSlide++;if(d.currentSlide==d.totalSlides){d.currentSlide=0;c.slideshowEnd.call(this)}if(d.currentSlide<0)d.currentSlide=d.totalSlides-1;d.currentImage=a(h[d.currentSlide]).is("img")?a(h[d.currentSlide]):a(h[d.currentSlide]).find("img:first");if(c.controlNav){a(".nivo-controlNav a",
b).removeClass("active");a(".nivo-controlNav a:eq("+d.currentSlide+")",b).addClass("active")}if(d.currentImage.attr("title")!=""){var u=d.currentImage.attr("title");if(u.substr(0,1)=="#")u=a(u).html();a(".nivo-caption",b).css("display")=="block"?a(".nivo-caption p",b).fadeOut(c.animSpeed,function(){a(this).html(u);a(this).fadeIn(c.animSpeed)}):a(".nivo-caption p",b).html(u);a(".nivo-caption",b).fadeIn(c.animSpeed)}else a(".nivo-caption",b).fadeOut(c.animSpeed);var m=0;a(".nivo-slice",b).each(function(){var i=
Math.round(b.width()/c.slices);a(this).css({height:"0px",opacity:"0",background:'url("'+d.currentImage.attr("src")+'") no-repeat -'+(i+m*i-i)+"px 0%"});m++});if(c.effect=="random"){h=["sliceDownRight","sliceDownLeft","sliceUpRight","sliceUpLeft","sliceUpDown","sliceUpDownLeft","fold","fade","slideInRight","slideInLeft"];d.randAnim=h[Math.floor(Math.random()*(h.length+1))];if(d.randAnim==undefined)d.randAnim="fade"}if(c.effect.indexOf(",")!=-1){h=c.effect.split(",");d.randAnim=h[Math.floor(Math.random()*
h.length)];if(d.randAnim==undefined)d.randAnim="fade"}d.running=true;if(c.effect=="sliceDown"||c.effect=="sliceDownRight"||d.randAnim=="sliceDownRight"||c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft"){var n=0;m=0;w(b,c);h=a(".nivo-slice",b);if(c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft")h=a(".nivo-slice",b)._reverse();h.each(function(){var i=a(this);i.css({top:"0px"});m==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",function(){b.trigger("nivo:animFinished")})},
100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="sliceUp"||c.effect=="sliceUpRight"||d.randAnim=="sliceUpRight"||c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft"){m=n=0;w(b,c);h=a(".nivo-slice",b);if(c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft")h=a(".nivo-slice",b)._reverse();h.each(function(){var i=a(this);i.css({bottom:"0px"});m==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",
function(){b.trigger("nivo:animFinished")})},100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="sliceUpDown"||c.effect=="sliceUpDownRight"||d.randAnim=="sliceUpDown"||c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft"){var x=m=n=0;w(b,c);h=a(".nivo-slice",b);if(c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft")h=a(".nivo-slice",b)._reverse();h.each(function(){var i=a(this);if(m==0){i.css("top","0px");m++}else{i.css("bottom",
"0px");m=0}x==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",function(){b.trigger("nivo:animFinished")})},100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;x++})}else if(c.effect=="fold"||d.randAnim=="fold"){m=n=0;w(b,c);a(".nivo-slice",b).each(function(){var i=a(this),y=i.width();i.css({top:"0px",height:"100%",width:"0px"});m==c.slices-1?setTimeout(function(){i.animate({width:y,opacity:"1.0"},c.animSpeed,"",function(){b.trigger("nivo:animFinished")})},
100+n):setTimeout(function(){i.animate({width:y,opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="fade"||d.randAnim=="fade"){var q=a(".nivo-slice:first",b);q.css({height:"100%",width:b.width()+"px"});q.animate({opacity:"1.0"},c.animSpeed*2,"",function(){b.trigger("nivo:animFinished")})}else if(c.effect=="slideInRight"||d.randAnim=="slideInRight"){q=a(".nivo-slice:first",b);q.css({height:"100%",width:"0px",opacity:"1"});q.animate({width:b.width()+"px"},c.animSpeed*2,"",function(){b.trigger("nivo:animFinished")})}else if(c.effect==
"slideInLeft"||d.randAnim=="slideInLeft"){q=a(".nivo-slice:first",b);q.css({height:"100%",width:"0px",opacity:"1",left:"",right:"0px"});q.animate({width:b.width()+"px"},c.animSpeed*2,"",function(){q.css({left:"0px",right:""});b.trigger("nivo:animFinished")})}},z=function(b){this.console&&typeof console.log!="undefined"&&console.log(b)};this.stop=function(){if(!a(s).data("nivo:vars").stop){a(s).data("nivo:vars").stop=true;z("Stop Slider")}};this.start=function(){if(a(s).data("nivo:vars").stop){a(s).data("nivo:vars").stop=
false;z("Start Slider")}};f.afterLoad.call(this)};a.fn.nivoSlider=function(s){return this.each(function(){var v=a(this);if(!v.data("nivoslider")){var f=new A(this,s);v.data("nivoslider",f)}})};a.fn.nivoSlider.defaults={effect:"random",slices:15,animSpeed:500,pauseTime:3E3,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,controlNavThumbs:false,controlNavThumbsFromRel:false,controlNavThumbsSearch:".jpg",controlNavThumbsReplace:"_thumb.jpg",keyboardNav:true,pauseOnHover:true,manualAdvance:false,
captionOpacity:0.8,beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};a.fn._reverse=[].reverse})(jQuery);


































/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;




































//transmenu
/* =================================================================================================
 * TransMenu 
 * March, 2003
 * Customizable multi-level animated DHTML menus with transparency.
 * =================================================================================================
 * "Can I use this?"
 * 
 * Use of this library is governed by the Creative Commons Attribution 2.0 License. You can check it 
 * out at: http://creativecommons.org/licenses/by/2.0/
 *
 * Basically: You may copy, distribute, and eat this code as you wish. But you must give me credit 
 * for writing it. You may not misrepresent yourself as the author of this code.
 * =================================================================================================
 * "It's kinda hard to read, though"
 *
 * The uncompressed, commented version of this script can be found at: 
 * http://youngpup.net/projects/transMenus
 * ============================================================================================== */
TransMenu.spacerGif="http://www.cottonworld.pl/inc/img/x.gif";
TransMenu.dingbatOn="http://www.cottonworld.pl/inc/img/submenu-on.gif";
TransMenu.dingbatOff="http://www.cottonworld.pl/inc/img/submenu-off.gif";
TransMenu.dingbatSize=14;
TransMenu.menuPadding=0;
TransMenu.itemPadding=7;
TransMenu.shadowSize=2;
TransMenu.shadowOffset=3;
TransMenu.shadowColor="#006699";
//TransMenu.shadowPng="inc/img/grey-40.png";
TransMenu.backgroundColor="#079ED7";
//TransMenu.backgroundPng="http://www.cottonworld.pl/inc/img/white-90.png";
TransMenu.hideDelay=100;
TransMenu.slideTime=300;
TransMenu.reference={topLeft:1,topRight:2,bottomLeft:3,bottomRight:4};
TransMenu.direction={down:1,right:2};
TransMenu.registry=[];
TransMenu._maxZ=100;
TransMenu.isSupported=function(){var ua=navigator.userAgent.toLowerCase();var pf=navigator.platform.toLowerCase();var an=navigator.appName;var r=false;if(ua.indexOf("gecko")>-1&&navigator.productSub>=20020605)r=true;else if(an=="Microsoft Internet Explorer"){if(document.getElementById){if(pf.indexOf("mac")==0){r=/msie (\d(.\d*)?)/.test(ua)&&Number(RegExp.$1)>=5.1;}
else r=true;}}
return r;}
TransMenu.initialize=function(){for(var i=0,menu=null;menu=this.registry[i];i++){menu.initialize();}}
TransMenu.renderAll=function(){var aMenuHtml=[];for(var i=0,menu=null;menu=this.registry[i];i++){aMenuHtml[i]=menu.toString();}
document.write(aMenuHtml.join(""));}
function TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,parentMenuSet){this.addItem=addItem;this.addMenu=addMenu;this.toString=toString;this.initialize=initialize;this.isOpen=false;this.show=show;this.hide=hide;this.items=[];this.onactivate=new Function();this.ondeactivate=new Function();this.onmouseover=new Function();this.onqueue=new Function();this.ondequeue=new Function();this.index=TransMenu.registry.length;TransMenu.registry[this.index]=this;var id="TransMenu"+this.index;var contentHeight=null;var contentWidth=null;var childMenuSet=null;var animating=false;var childMenus=[];var slideAccel=-1;var elmCache=null;var ready=false;var _this=this;var a=null;var pos=iDirection==TransMenu.direction.down?"top":"left";var dim=null;function addItem(sText,sUrl){var item=new TransMenuItem(sText,sUrl,this);item._index=this.items.length;this.items[item._index]=item;}
function addMenu(oMenuItem){if(!oMenuItem.parentMenu==this)throw new Error("Cannot add a menu here");if(childMenuSet==null)childMenuSet=new TransMenuSet(TransMenu.direction.right,-5,2,TransMenu.reference.topRight);var m=childMenuSet.addMenu(oMenuItem);childMenus[oMenuItem._index]=m;m.onmouseover=child_mouseover;m.ondeactivate=child_deactivate;m.onqueue=child_queue;m.ondequeue=child_dequeue;return m;}
function initialize(){initCache();initEvents();initSize();ready=true;}
function show(){if(ready){_this.isOpen=true;animating=true;setContainerPos();elmCache["clip"].style.visibility="visible";elmCache["clip"].style.zIndex=TransMenu._maxZ++;slideStart();_this.onactivate();}}
function hide(){if(ready){_this.isOpen=false;animating=true;for(var i=0,item=null;item=elmCache.item[i];i++)dehighlight(item);if(childMenuSet)childMenuSet.hide();slideStart();_this.ondeactivate();}}
function setContainerPos(){var sub=oActuator.constructor==TransMenuItem;var act=sub?oActuator.parentMenu.elmCache["item"][oActuator._index]:oActuator;var el=act;

var an=navigator.appName;
if(an=="Microsoft Internet Explorer" || an=="Opera"){
var x=-1;var y=0;
} else {
var x=-1;var y=0;
}



var minX=0;var maxX=(window.innerWidth?window.innerWidth:document.body.clientWidth)-parseInt(elmCache["clip"].style.width);var minY=0;var maxY=(window.innerHeight?window.innerHeight:document.body.clientHeight)-parseInt(elmCache["clip"].style.height);while(sub?el.parentNode.className.indexOf("transMenu")==-1:el.offsetParent){x+=el.offsetLeft;y+=el.offsetTop;if(el.scrollLeft)x-=el.scrollLeft;if(el.scrollTop)y-=el.scrollTop;el=el.offsetParent;}
if(oActuator.constructor==TransMenuItem){x+=parseInt(el.parentNode.style.left);y+=parseInt(el.parentNode.style.top);}
switch(iReferencePoint){case TransMenu.reference.topLeft:break;case TransMenu.reference.topRight:x+=act.offsetWidth;break;case TransMenu.reference.bottomLeft:y+=act.offsetHeight;break;case TransMenu.reference.bottomRight:x+=act.offsetWidth;y+=act.offsetHeight;break;}
x+=iLeft;y+=iTop;x=Math.max(Math.min(x,maxX),minX);y=Math.max(Math.min(y,maxY),minY);elmCache["clip"].style.left=x+"px";elmCache["clip"].style.top=y+"px";}
function slideStart(){var x0=parseInt(elmCache["content"].style[pos]);var x1=_this.isOpen?0:-dim;if(a!=null)a.stop();a=new Accelimation(x0,x1,TransMenu.slideTime,slideAccel);a.onframe=slideFrame;a.onend=slideEnd;a.start();}
function slideFrame(x){elmCache["content"].style[pos]=x+"px";}
function slideEnd(){if(!_this.isOpen)elmCache["clip"].style.visibility="hidden";animating=false;}
function initSize(){
	var ow=elmCache["items"].offsetWidth;
	var oh=elmCache["items"].offsetHeight;
	var ua=navigator.userAgent.toLowerCase();
	elmCache["clip"].style.width=ow+TransMenu.shadowSize+2+"px";
	elmCache["clip"].style.height=oh+TransMenu.shadowSize+2+"px";
	elmCache["content"].style.width=ow+TransMenu.shadowSize+"px";
	elmCache["content"].style.height=oh+TransMenu.shadowSize+"px";
	contentHeight=oh+TransMenu.shadowSize;contentWidth=ow+TransMenu.shadowSize;
	dim=iDirection==TransMenu.direction.down?contentHeight:contentWidth;
	elmCache["content"].style[pos]=-dim-TransMenu.shadowSize+"px";
	elmCache["clip"].style.visibility="hidden";
	if(ua.indexOf("mac")==-1||ua.indexOf("gecko")>-1)
	{
		elmCache["background"].style.width=ow+"px";
		elmCache["background"].style.height=oh+"px";
		elmCache["background"].style.backgroundColor=TransMenu.backgroundColor;
		elmCache["shadowRight"].style.left=ow+"px";
		elmCache["shadowRight"].style.height=oh-(TransMenu.shadowOffset-TransMenu.shadowSize)+"px";
		elmCache["shadowRight"].style.backgroundColor=TransMenu.shadowColor;
		elmCache["shadowBottom"].style.top=oh+"px";
		elmCache["shadowBottom"].style.width=ow-TransMenu.shadowOffset+"px";
		elmCache["shadowBottom"].style.backgroundColor=TransMenu.shadowColor;
	}
	else{elmCache["background"].firstChild.src=TransMenu.backgroundPng;elmCache["background"].firstChild.width=ow;elmCache["background"].firstChild.height=oh;elmCache["shadowRight"].firstChild.src=TransMenu.shadowPng;elmCache["shadowRight"].style.left=ow+"px";elmCache["shadowRight"].firstChild.width=TransMenu.shadowSize;elmCache["shadowRight"].firstChild.height=oh-(TransMenu.shadowOffset-TransMenu.shadowSize);elmCache["shadowBottom"].firstChild.src=TransMenu.shadowPng;elmCache["shadowBottom"].style.top=oh+"px";elmCache["shadowBottom"].firstChild.height=TransMenu.shadowSize;elmCache["shadowBottom"].firstChild.width=ow-TransMenu.shadowOffset;}}
function initCache(){var menu=document.getElementById(id);var all=menu.all?menu.all:menu.getElementsByTagName("*");elmCache={};elmCache["clip"]=menu;elmCache["item"]=[];for(var i=0,elm=null;elm=all[i];i++){switch(elm.className){case"items":case"content":case"background":case"shadowRight":case"shadowBottom":elmCache[elm.className]=elm;break;case"item":elm._index=elmCache["item"].length;elmCache["item"][elm._index]=elm;break;}}
_this.elmCache=elmCache;}
function initEvents(){for(var i=0,item=null;item=elmCache.item[i];i++){item.onmouseover=item_mouseover;item.onmouseout=item_mouseout;item.onclick=item_click;}
if(typeof oActuator.tagName!="undefined"){oActuator.onmouseover=actuator_mouseover;oActuator.onmouseout=actuator_mouseout;}
elmCache["content"].onmouseover=content_mouseover;elmCache["content"].onmouseout=content_mouseout;}
function highlight(oRow){oRow.className="item hover";if(childMenus[oRow._index])oRow.lastChild.firstChild.src=TransMenu.dingbatOn;}
function dehighlight(oRow){oRow.className="item";if(childMenus[oRow._index])oRow.lastChild.firstChild.src=TransMenu.dingbatOff;}
function item_mouseover(){if(!animating){highlight(this);if(childMenus[this._index])childMenuSet.showMenu(childMenus[this._index]);else if(childMenuSet)childMenuSet.hide();}}
function item_mouseout(){if(!animating){if(childMenus[this._index])childMenuSet.hideMenu(childMenus[this._index]);else dehighlight(this);}}
function item_click(){if(!animating){if(_this.items[this._index].url)location.href=_this.items[this._index].url;}}
function actuator_mouseover(){parentMenuSet.showMenu(_this);}
function actuator_mouseout(){parentMenuSet.hideMenu(_this);}
function content_mouseover(){if(!animating){parentMenuSet.showMenu(_this);_this.onmouseover();}}
function content_mouseout(){if(!animating){parentMenuSet.hideMenu(_this);}}
function child_mouseover(){if(!animating){parentMenuSet.showMenu(_this);}}
function child_deactivate(){for(var i=0;i<childMenus.length;i++){if(childMenus[i]==this){dehighlight(elmCache["item"][i]);break;}}}
function child_queue(){parentMenuSet.hideMenu(_this);}
function child_dequeue(){parentMenuSet.showMenu(_this);}
function toString(){var aHtml=[];var sClassName="transMenu"+(oActuator.constructor!=TransMenuItem?" top":"");for(var i=0,item=null;item=this.items[i];i++){aHtml[i]=item.toString(childMenus[i]);}
return'<div id="'+id+'" class="'+sClassName+'">'+'<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0">'+'<tr><td colspan="2"><img src="'+TransMenu.spacerGif+'" width="1" height="'+TransMenu.menuPadding+'"></td></tr>'+aHtml.join('')+'<tr><td colspan="2"><img src="'+TransMenu.spacerGif+'" width="1" height="'+TransMenu.menuPadding+'"></td></tr></table>'+'<div class="shadowBottom"><img src="'+TransMenu.spacerGif+'" width="1" height="1"></div>'+'<div class="shadowRight"><img src="'+TransMenu.spacerGif+'" width="1" height="1"></div>'+'<div class="background"><img src="'+TransMenu.spacerGif+'" width="1" height="1"></div>'+'</div></div>';}}
TransMenuSet.registry=[];function TransMenuSet(iDirection,iLeft,iTop,iReferencePoint){this.addMenu=addMenu;this.showMenu=showMenu;this.hideMenu=hideMenu;this.hide=hide;this.hideCurrent=hideCurrent;var menus=[];var _this=this;var current=null;this.index=TransMenuSet.registry.length;TransMenuSet.registry[this.index]=this;function addMenu(oActuator){var m=new TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,this);menus[menus.length]=m;return m;}
function showMenu(oMenu){if(oMenu!=current){if(current!=null)hide(current);current=oMenu;oMenu.show();}
else{cancelHide(oMenu);}}
function hideMenu(oMenu){if(current==oMenu&&oMenu.isOpen){if(!oMenu.hideTimer)scheduleHide(oMenu);}}
function scheduleHide(oMenu){oMenu.onqueue();oMenu.hideTimer=window.setTimeout("TransMenuSet.registry["+_this.index+"].hide(TransMenu.registry["+oMenu.index+"])",TransMenu.hideDelay);}
function cancelHide(oMenu){if(oMenu.hideTimer){oMenu.ondequeue();window.clearTimeout(oMenu.hideTimer);oMenu.hideTimer=null;}}
function hide(oMenu){if(!oMenu&&current)oMenu=current;if(oMenu&&current==oMenu&&oMenu.isOpen){hideCurrent();}}
function hideCurrent(){if (null != current){cancelHide(current);current.hideTimer=null;current.hide();current=null;}}}
function TransMenuItem(sText,sUrl,oParent){this.toString=toString;this.text=sText;this.url=sUrl;this.parentMenu=oParent;function toString(bDingbat){var sDingbat=bDingbat?TransMenu.dingbatOff:TransMenu.spacerGif;var iEdgePadding=TransMenu.itemPadding+TransMenu.menuPadding;var sPaddingLeft="padding:"+TransMenu.itemPadding+"px; padding-left:"+iEdgePadding+"px;"
var sPaddingRight="padding:"+TransMenu.itemPadding+"px; padding-right:"+iEdgePadding+"px;"
return'<tr class="item"><td nowrap style="'+sPaddingLeft+'">'+sText+'</td><td width="14" style="'+sPaddingRight+'">'+'<img src="'+sDingbat+'" width="14" height="14"></td></tr>';}}
function Accelimation(from,to,time,zip){if(typeof zip=="undefined")zip=0;if(typeof unit=="undefined")unit="px";this.x0=from;this.x1=to;this.dt=time;this.zip=-zip;this.unit=unit;this.timer=null;this.onend=new Function();this.onframe=new Function();}
Accelimation.prototype.start=function(){this.t0=new Date().getTime();this.t1=this.t0+this.dt;var dx=this.x1-this.x0;this.c1=this.x0+((1+this.zip)*dx/3);this.c2=this.x0+((2+this.zip)*dx/3);Accelimation._add(this);}
Accelimation.prototype.stop=function(){Accelimation._remove(this);}
Accelimation.prototype._paint=function(time){if(time<this.t1){var elapsed=time-this.t0;this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2));}
else this._end();}
Accelimation.prototype._end=function(){Accelimation._remove(this);this.onframe(this.x1);this.onend();}
Accelimation._add=function(o){var index=this.instances.length;this.instances[index]=o;if(this.instances.length==1){this.timerID=window.setInterval("Accelimation._paintAll()",this.targetRes);}}
Accelimation._remove=function(o){for(var i=0;i<this.instances.length;i++){if(o==this.instances[i]){this.instances=this.instances.slice(0,i).concat(this.instances.slice(i+1));break;}}
if(this.instances.length==0){window.clearInterval(this.timerID);this.timerID=null;}}
Accelimation._paintAll=function(){var now=new Date().getTime();for(var i=0;i<this.instances.length;i++){this.instances[i]._paint(now);}}
Accelimation._B1=function(t){return t*t*t}
Accelimation._B2=function(t){return 3*t*t*(1-t)}
Accelimation._B3=function(t){return 3*t*(1-t)*(1-t)}
Accelimation._B4=function(t){return(1-t)*(1-t)*(1-t)}
Accelimation._getBezier=function(percent,startPos,endPos,control1,control2){return endPos*this._B1(percent)+control2*this._B2(percent)+control1*this._B3(percent)+startPos*this._B4(percent);}
Accelimation.instances=[];Accelimation.targetRes=10;Accelimation.timerID=null;
if(window.attachEvent){var cearElementProps=['data','onmouseover','onmouseout','onmousedown','onmouseup','ondblclick','onclick','onselectstart','oncontextmenu'];window.attachEvent("onunload", function() {var el;for(var d=document.all.length;d--;){el=document.all[d];for(var c=cearElementProps.length;c--;){el[cearElementProps[c]] = null;}}});}




function init() {
	if (TransMenu.isSupported()) {
	TransMenu.initialize();
	document.getElementById("txt_0").onmouseover = function() { 
	ms.hideCurrent();
	this.className = "hover";
	};
	document.getElementById("txt_0").onmouseout = function() { this.className = ""; };document.getElementById("txt_1").onmouseover = function() { 
	ms.hideCurrent();
	this.className = "hover";
	};
	document.getElementById("txt_1").onmouseout = function() { this.className = ""; };menu2.onactivate = function() { document.getElementById("txt_2").className = "hover"; };
	menu2.ondeactivate = function() { document.getElementById("txt_2").className = ""; };document.getElementById("txt_3").onmouseover = function() { 
	ms.hideCurrent();
	this.className = "hover";
	};
	document.getElementById("txt_3").onmouseout = function() { this.className = ""; };document.getElementById("txt_4").onmouseover = function() { 
	ms.hideCurrent();
	this.className = "hover";
	};
	document.getElementById("txt_4").onmouseout = function() { this.className = ""; };document.getElementById("txt_5").onmouseover = function() { 
	ms.hideCurrent();
	this.className = "hover";
	};
	document.getElementById("txt_5").onmouseout = function() { this.className = ""; };	
	}
}




































//cufon
/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());






// #### Generated By: http://www.cufonfonts.com ####
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright (c) 2010 by Henrich Fichna (haef). All rights reserved.
 * 
 * Trademark:
 * Capsuula is a trademark of Henrich Fichna (haef).
 * 
 * Description:
 * Copyright (c) 2010 by Henrich Fichna (haef). All rights reserved.
 * 
 * Manufacturer:
 * Henrich Fichna (haef)
 * 
 * Designer:
 * Henrich Fichna (haef)
 */
Cufon.registerFont({"w":540,"face":{"font-family":"CapsuulaRegular","font-weight":400,"font-variant":"small-caps","font-stretch":"normal","units-per-em":"1000","panose-1":"2 0 5 6 0 0 0 2 0 4","ascent":"800","descent":"-200","x-height":"5","bbox":"-95 -915 775 270","underline-thickness":"50","underline-position":"-50","unicode-range":"U+0020-U+20AC"},"glyphs":{" ":{"w":200},"\u00a0":{"w":200},"\u00c2":{"d":"256,-700r-60,0r-171,700r40,0r64,-260r194,0r64,260r40,0xm226,-657r87,357r-174,0xm273,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00c4":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm161,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm291,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00c0":{"d":"214,-750r-49,-96r44,0r37,96r-32,0xm256,-700r-60,0r-171,700r40,0r64,-260r194,0r64,260r40,0xm226,-657r87,357r-174,0","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u0100":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm316,-820r0,40r-180,0r0,-40r180,0","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u0104":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm372,90v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00c5":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm226,-885v-30,0,-55,25,-55,55v0,30,25,55,55,55v30,0,55,-25,55,-55v0,-30,-25,-55,-55,-55xm226,-745v-45,0,-85,-40,-85,-85v0,-45,40,-85,85,-85v45,0,85,40,85,85v0,45,-40,85,-85,85","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00c3":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm166,-804v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"B":{"d":"440,-530v0,75,-39,116,-112,138v121,24,185,142,136,266v-28,71,-93,126,-189,126r-205,0r0,-700r205,0v100,7,165,66,165,170xm275,-40v100,-7,165,-66,165,-170v0,-94,-68,-160,-165,-160r-125,0r0,-40r125,0v73,-3,125,-50,125,-120v0,-80,-49,-130,-125,-130r-165,0r0,620r165,0","w":520,"k":{"\u0177":30,"\u0176":40,"\u0175":20,"\u0174":20,"\u00ff":30,"\u00fd":30,"y":30,"w":20,"v":30,"\\":30,"\u0178":40,"\u00dd":40,"Y":40,"W":20,"V":30}},"C":{"d":"105,-205v4,104,65,165,165,170v61,3,109,-34,133,-68r34,21v-36,62,-152,115,-247,71v-72,-32,-125,-93,-125,-194r0,-290v-1,-152,137,-246,285,-194v41,15,67,44,87,71r-34,21v-24,-33,-72,-71,-133,-68v-100,5,-165,66,-165,170r0,290","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"\u0106":{"d":"270,-665v-100,5,-165,66,-165,170r0,290v4,104,65,165,165,170v61,3,109,-34,133,-68r34,21v-36,62,-152,115,-247,71v-72,-32,-125,-93,-125,-194r0,-290v-1,-152,137,-246,285,-194v41,15,67,44,87,71r-34,21v-24,-33,-72,-71,-133,-68xm238,-750r37,-96r44,0r-49,96r-32,0","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"\u010c":{"d":"270,-665v-100,5,-165,66,-165,170r0,290v4,104,65,165,165,170v61,3,109,-34,133,-68r34,21v-36,62,-152,115,-247,71v-72,-32,-125,-93,-125,-194r0,-290v-1,-152,137,-246,285,-194v41,15,67,44,87,71r-34,21v-24,-33,-72,-71,-133,-68xm368,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"\u00c7":{"d":"272,91v0,-17,-14,-30,-30,-30r0,-30v31,-1,60,28,60,60v0,49,-67,82,-102,42r21,-21v18,20,51,4,51,-21xm270,-665v-100,5,-165,66,-165,170r0,290v4,104,65,165,165,170v61,3,109,-34,133,-68r34,21v-36,62,-152,115,-247,71v-72,-32,-125,-93,-125,-194r0,-290v-1,-152,137,-246,285,-194v41,15,67,44,87,71r-34,21v-24,-33,-72,-71,-133,-68","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"\u0108":{"d":"270,-35v-100,-5,-165,-66,-165,-170r0,-290v4,-104,65,-165,165,-170v61,-3,109,34,133,68r34,-21v-36,-62,-152,-115,-247,-71v-72,32,-125,93,-125,194r0,290v-1,152,137,246,285,194v41,-15,67,-44,87,-71r-34,-21v-24,33,-72,71,-133,68xm310,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"\u010a":{"d":"270,-665v-100,5,-165,66,-165,170r0,290v4,104,65,165,165,170v61,3,109,-34,133,-68r34,21v-36,62,-152,115,-247,71v-72,-32,-125,-93,-125,-194r0,-290v-1,-152,137,-246,285,-194v41,15,67,44,87,71r-34,21v-24,-33,-72,-71,-133,-68xm270,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":477,"k":{"y":30,"w":20,"o":10,"e":10,"d":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"\u0174":20,"\u0175":20,"Y":40,"\u00dd":40,"\u0178":40,"\u0176":40}},"D":{"d":"70,-700v98,5,210,-16,284,16v72,31,126,93,126,194r0,280v-5,128,-80,210,-205,210r-205,0r0,-700xm275,-40v100,-7,165,-66,165,-170r0,-280v-4,-104,-65,-170,-165,-170r-165,0r0,620r165,0","w":545,"k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u010e":{"d":"70,-700v98,5,210,-16,284,16v72,31,126,93,126,194r0,280v-5,128,-80,210,-205,210r-205,0r0,-700xm275,-40v100,-7,165,-66,165,-170r0,-280v-4,-104,-65,-170,-165,-170r-165,0r0,620r165,0xm339,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":545,"k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0110":{"d":"20,-410r50,0r0,-290v98,5,210,-16,284,16v72,31,126,93,126,194r0,280v-5,128,-80,210,-205,210r-205,0r0,-370r-50,0r0,-40xm275,-40v100,-7,165,-66,165,-170r0,-280v-4,-104,-65,-170,-165,-170r-165,0r0,250r110,0r0,40r-110,0r0,330r165,0","w":545,"k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"E":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00c9":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm205,-750r37,-96r44,0r-49,96r-32,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u0114":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm325,-830v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u011a":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm337,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00ca":{"d":"70,0r340,0r0,-40r-300,0r0,-330r200,0r0,-40r-200,0r0,-250r300,0r0,-40r-340,0r0,700xm272,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00cb":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm155,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm285,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u0116":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm240,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00c8":{"d":"70,0r340,0r0,-40r-300,0r0,-330r200,0r0,-40r-200,0r0,-250r300,0r0,-40r-340,0r0,700xm233,-750r-49,-96r44,0r37,96r-32,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u0112":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm330,-820r0,40r-180,0r0,-40r180,0","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u0118":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-700xm213,91v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":450,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00d0":{"d":"20,-410r50,0r0,-290v98,5,210,-16,284,16v72,31,126,93,126,194r0,280v-5,128,-80,210,-205,210r-205,0r0,-370r-50,0r0,-40xm275,-40v100,-7,165,-66,165,-170r0,-280v-4,-104,-65,-170,-165,-170r-165,0r0,250r110,0r0,40r-110,0r0,330r165,0","w":545,"k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u20ac":{"d":"270,-670v-122,6,-178,93,-165,236r170,0r0,40r-170,0r0,50r170,0r0,40r-170,0r0,104v4,104,65,165,165,170v60,3,110,-34,133,-68r34,22v-36,62,-153,114,-247,70v-72,-32,-125,-93,-125,-194r0,-300v-1,-152,137,-246,285,-194v41,15,66,43,86,70r-33,22v-24,-33,-72,-71,-133,-68","w":477},"F":{"d":"70,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,370r-40,0r0,-700","w":430,"k":{"\u00c1":80,"A":80,"\u017f":20,"\u0177":40,"\u0176":50,"\u0175":30,"\u0174":30,"\u0173":50,"\u0169":50,"\u014f":70,"\u017c":30,"\u017e":30,"\u017a":30,"z":30,"\u00ff":40,"\u00fd":40,"y":40,"\u016f":50,"\u016b":50,"\u0171":50,"\u00f9":50,"\u00fc":50,"\u00fb":50,"\u016d":50,"\u00fa":50,"u":50,"\u0163":30,"\u0165":30,"t":30,"\u0102":80,"\/":80,"\u0219":60,"\u015d":60,"\u015f":60,"\u0161":60,"\u015b":60,"s":60,"\u00f5":70,"\u00f8":70,"\u014d":70,"\u0151":70,"\u00f2":70,"\u0153":70,"\u00f6":70,"\u00f4":70,"\u00f3":70,"o":70,"\u0192":20,"f":20,"\u00f0":70,"\u0119":70,"\u0113":70,"\u00e8":70,"\u0117":70,"\u00eb":70,"\u00ea":70,"\u011b":70,"\u0115":70,"\u00e9":70,"e":70,"\u0111":70,"\u010f":70,"d":70,"\u00a2":70,"\u010b":70,"\u0109":70,"\u00e7":70,"\u010d":70,"\u0107":70,"c":70,"\\":40,"b":50,"\u00e3":90,"\u00e5":90,"\u0105":90,"\u0101":90,"\u00e0":90,"\u00e6":90,"\u00e4":90,"\u00e2":90,"\u0103":90,"\u00e1":90,"a":90,"\u0178":50,"\u00dd":50,"Y":50,"W":30,"V":40,"\u00c3":80,"\u00c5":80,"\u0104":80,"\u0100":80,"\u00c0":80,"\u00c4":80,"\u00c2":80,"x":40,"w":40,"v":50,"r":50,"q":60,"p":40,"n":40,"m":40,"h":30,"T":100,"O":50,"J":20,"G":50}},"G":{"d":"270,-35v101,0,165,-67,165,-170r0,-165r-170,0r0,-40r210,0r0,205v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-290v-2,-157,154,-256,299,-187v29,14,52,37,73,64r-34,21v-39,-41,-70,-68,-133,-68v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170","k":{"y":10,"Y":30,"\u00dd":30,"\u0178":30,"\u0176":30,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u0100":20,"\u0104":20,"\u00c5":20,"\u00c3":20,"\/":20,"\u0102":20,"A":20,"\u00c1":20}},"\u011e":{"d":"270,-35v101,0,165,-67,165,-170r0,-165r-170,0r0,-40r210,0r0,205v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-290v-2,-157,154,-256,299,-187v29,14,52,37,73,64r-34,21v-39,-41,-70,-68,-133,-68v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm355,-830v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","k":{"y":10,"Y":30,"\u00dd":30,"\u0178":30,"\u0176":30,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u0100":20,"\u0104":20,"\u00c5":20,"\u00c3":20,"\/":20,"\u0102":20,"A":20,"\u00c1":20}},"\u011c":{"d":"270,5v125,0,205,-83,205,-210r0,-205r-210,0r0,40r170,0r0,165v-4,103,-64,170,-165,170v-101,0,-165,-67,-165,-170r0,-290v4,-103,64,-170,165,-170v63,0,95,27,133,68r34,-21v-37,-47,-90,-87,-167,-87v-125,0,-205,83,-205,210r0,290v6,126,80,210,205,210xm317,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","k":{"y":10,"Y":30,"\u00dd":30,"\u0178":30,"\u0176":30,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u0100":20,"\u0104":20,"\u00c5":20,"\u00c3":20,"\/":20,"\u0102":20,"A":20,"\u00c1":20}},"\u0122":{"d":"270,-35v101,0,165,-67,165,-170r0,-165r-170,0r0,-40r210,0r0,205v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-290v-2,-157,154,-256,299,-187v29,14,52,37,73,64r-34,21v-39,-41,-70,-68,-133,-68v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm294,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","k":{"y":10,"Y":30,"\u00dd":30,"\u0178":30,"\u0176":30,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u0100":20,"\u0104":20,"\u00c5":20,"\u00c3":20,"\/":20,"\u0102":20,"A":20,"\u00c1":20}},"\u0120":{"d":"270,-35v101,0,165,-67,165,-170r0,-165r-170,0r0,-40r210,0r0,205v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-290v-2,-157,154,-256,299,-187v29,14,52,37,73,64r-34,21v-39,-41,-70,-68,-133,-68v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm270,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","k":{"y":10,"Y":30,"\u00dd":30,"\u0178":30,"\u0176":30,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u0100":20,"\u0104":20,"\u00c5":20,"\u00c3":20,"\/":20,"\u0102":20,"A":20,"\u00c1":20}},"H":{"d":"70,-700r40,0r0,290r330,0r0,-290r40,0r0,700r-40,0r0,-370r-330,0r0,370r-40,0r0,-700","w":550,"k":{"T":20}},"\u0126":{"d":"10,-560r60,0r0,-140r40,0r0,140r100,0r0,40r-100,0r0,110r330,0r0,-290r40,0r0,700r-40,0r0,-370r-330,0r0,370r-40,0r0,-520r-60,0r0,-40","w":550,"k":{"T":20}},"\u0124":{"d":"70,0r40,0r0,-370r330,0r0,370r40,0r0,-700r-40,0r0,290r-330,0r0,-290r-40,0r0,700xm322,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":550,"k":{"T":20}},"I":{"d":"70,-700r40,0r0,700r-40,0r0,-700","w":180,"k":{"T":20}},"\u0132":{"d":"65,110v101,-5,165,-67,165,-170r0,-640r40,0r0,640v-6,127,-80,203,-205,210r0,-40xm70,-700r40,0r0,700r-40,0r0,-700","w":340,"k":{"T":20}},"\u00cd":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm78,-750r37,-96r44,0r-49,96r-32,0","w":180,"k":{"T":20}},"\u00ce":{"d":"70,0r40,0r0,-700r-40,0r0,700xm137,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":180,"k":{"T":20}},"\u00cf":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm25,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm155,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":180,"k":{"T":20}},"\u00cc":{"d":"70,0r40,0r0,-700r-40,0r0,700xm76,-750r-49,-96r44,0r37,96r-32,0","w":180,"k":{"T":20}},"\u012a":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm180,-820r0,40r-180,0r0,-40r180,0","w":180,"k":{"T":20}},"\u012e":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm68,90v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":180,"k":{"T":20}},"\u0128":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm30,-804v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":180,"k":{"T":20}},"J":{"d":"-95,110v101,-5,165,-67,165,-170r0,-640r40,0r0,640v-6,127,-80,203,-205,210r0,-40","w":180,"k":{"\u00e3":15,"\u00e5":15,"\u0105":15,"\u0101":15,"\u00e0":15,"\u00e6":15,"\u00e4":15,"\u00e2":15,"\u0103":15,"\u00e1":15,"a":15,"T":20}},"\u0134":{"d":"-95,150v124,-7,205,-83,205,-210r0,-640r-40,0r0,640v-4,103,-64,165,-165,170r0,40xm137,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":180,"k":{"T":20}},"K":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm150,-410r232,-290r53,0r-249,312r280,388r-49,0r-267,-370r0,-40","w":486,"k":{"y":45,"u":20,"o":20,"e":15,"O":50,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"\u0136":{"d":"70,-700r40,0r0,700r-40,0r0,-700xm150,-410r232,-290r53,0r-249,312r280,388r-49,0r-267,-370r0,-40xm268,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":486,"k":{"y":45,"u":20,"o":20,"e":15,"O":50,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"L":{"d":"70,-700r40,0r0,660r300,0r0,40r-340,0r0,-700","w":430,"k":{"w":50,"v":60,"u":30,"o":30,"T":100,"O":30,"V":60,"\\":60,"y":60,"\u00fd":60,"\u00ff":60,"\u0177":60,"W":50,"\u0174":50,"\u0175":50,"Y":100,"\u00dd":100,"\u0178":100,"\u0176":100,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"\u0139":{"d":"70,-700r40,0r0,660r300,0r0,40r-340,0r0,-700xm80,-750r37,-96r44,0r-49,96r-32,0","w":430,"k":{"w":50,"v":60,"u":30,"o":30,"T":100,"O":30,"V":60,"\\":60,"y":60,"\u00fd":60,"\u00ff":60,"\u0177":60,"W":50,"\u0174":50,"\u0175":50,"Y":100,"\u00dd":100,"\u0178":100,"\u0176":100,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"\u013d":{"d":"70,-700r40,0r0,660r300,0r0,40r-340,0r0,-700xm226,-700r-21,120r-25,0r0,-120r46,0","w":430,"k":{"w":50,"v":60,"u":30,"o":30,"T":100,"O":30,"V":60,"\\":60,"y":60,"\u00fd":60,"\u00ff":60,"\u0177":60,"W":50,"\u0174":50,"\u0175":50,"Y":100,"\u00dd":100,"\u0178":100,"\u0176":100,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"\u013b":{"d":"70,-700r40,0r0,660r300,0r0,40r-340,0r0,-700xm240,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":430,"k":{"w":50,"v":60,"u":30,"o":30,"T":100,"O":30,"V":60,"\\":60,"y":60,"\u00fd":60,"\u00ff":60,"\u0177":60,"W":50,"\u0174":50,"\u0175":50,"Y":100,"\u00dd":100,"\u0178":100,"\u0176":100,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"\u0141":{"d":"70,-284r-60,43r-24,-32r84,-61r0,-366r40,0r0,337r77,-56r24,32r-101,74r0,273r300,0r0,40r-340,0r0,-284","w":430},"M":{"d":"530,-637r-193,327r-34,0r-193,-327r0,637r-40,0r0,-700r49,0r201,341r201,-341r49,0r0,700r-40,0r0,-637","w":640,"k":{"T":20}},"N":{"d":"110,-633r0,633r-40,0r0,-700r56,0r284,633r0,-633r40,0r0,700r-54,0","w":520,"k":{"T":20}},"\u0143":{"d":"110,-633r0,633r-40,0r0,-700r56,0r284,633r0,-633r40,0r0,700r-54,0xm240,-750r37,-96r44,0r-49,96r-32,0","w":520,"k":{"T":20}},"\u0147":{"d":"110,-633r0,633r-40,0r0,-700r56,0r284,633r0,-633r40,0r0,700r-54,0xm378,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":520,"k":{"T":20}},"\u0145":{"d":"110,-633r0,633r-40,0r0,-700r56,0r284,633r0,-633r40,0r0,700r-54,0xm285,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":520,"k":{"T":20}},"\u00d1":{"d":"110,-633r0,633r-40,0r0,-700r56,0r284,633r0,-633r40,0r0,700r-54,0xm199,-804v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":520,"k":{"T":20}},"O":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170","k":{"\u00c1":40,"A":40,"\u0176":50,"\u0102":40,"\/":40,"\u0121":10,"\u0123":10,"\u011d":10,"\u011f":10,"g":10,"\u00e3":10,"\u00e5":10,"\u0105":10,"\u0101":10,"\u00e0":10,"\u00e6":10,"\u00e4":10,"\u00e2":10,"\u0103":10,"\u00e1":10,"a":10,"\u0178":50,"\u00dd":50,"Y":50,"\u00c3":40,"\u00c5":40,"\u0104":40,"\u0100":40,"\u00c0":40,"\u00c4":40,"\u00c2":40,"X":30,"T":60,"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30}},"\u0152":{"d":"315,0v-147,22,-250,-66,-250,-205r0,-290v5,-139,101,-205,250,-205r460,0r0,40r-377,0v63,47,86,134,77,250r200,0r0,40r-200,0r0,165v0,74,-34,131,-77,165r377,0r0,40r-460,0xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170","w":815},"\u00d3":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm250,-750r37,-96r44,0r-49,96r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d4":{"d":"270,-705v-125,0,-205,83,-205,210r0,290v6,126,80,210,205,210v125,0,205,-83,205,-210r0,-290v-6,-126,-80,-210,-205,-210xm270,-665v101,0,165,67,165,170r0,290v-4,103,-64,170,-165,170v-101,0,-165,-67,-165,-170r0,-290v4,-103,64,-170,165,-170xm317,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d6":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm205,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm335,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d2":{"d":"270,-705v-125,0,-205,83,-205,210r0,290v6,126,80,210,205,210v125,0,205,-83,205,-210r0,-290v-6,-126,-80,-210,-205,-210xm270,-665v101,0,165,67,165,170r0,290v-4,103,-64,170,-165,170v-101,0,-165,-67,-165,-170r0,-290v4,-103,64,-170,165,-170xm258,-750r-49,-96r44,0r37,96r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0150":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm174,-750r37,-86r44,0r-49,86r-32,0xm325,-750r37,-86r44,0r-49,86r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d8":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm216,-43v121,31,219,-43,219,-162r0,-290v0,-68,-33,-117,-76,-144xm323,-656v-120,-33,-217,43,-218,161r0,290v0,68,32,116,74,144","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d5":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm209,-804v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"P":{"d":"420,-530v0,-80,-49,-130,-125,-130r-185,0r0,660r-40,0r0,-700r225,0v100,7,165,66,165,170v0,94,-68,160,-165,160r-145,0r0,-40r145,0v73,-3,125,-50,125,-120","w":490,"k":{"\u00c1":70,"A":70,"\u0177":40,"\u0176":30,"\u0175":30,"\u0174":30,"\u014f":40,"\u00ff":40,"\u00fd":40,"\u0102":70,"\/":70,"\u0219":40,"\u015d":40,"\u015f":40,"\u0161":40,"\u015b":40,"s":40,"q":40,".":80,"\u00f5":40,"\u00f8":40,"\u014d":40,"\u0151":40,"\u00f2":40,"\u0153":40,"\u00f6":40,"\u00f4":40,"\u00f3":40,"o":40,"\u0121":20,"\u0123":20,"\u011d":20,"\u011f":20,"g":20,"\u00f0":40,"\u0119":40,"\u0113":40,"\u00e8":40,"\u0117":40,"\u00eb":40,"\u00ea":40,"\u011b":40,"\u0115":40,"\u00e9":40,"e":40,"\u0111":40,"\u010f":40,"d":40,",":80,"\u00a2":40,"\u010b":40,"\u0109":40,"\u00e7":40,"\u010d":40,"\u0107":40,"c":40,"\\":40,"\u00e3":50,"\u00e5":50,"\u0105":50,"\u0101":50,"\u00e0":50,"\u00e6":50,"\u00e4":50,"\u00e2":50,"\u0103":50,"\u00e1":50,"a":50,"\u0178":30,"\u00dd":30,"Y":30,"W":30,"V":40,"\u00c3":70,"\u00c5":70,"\u0104":70,"\u0100":70,"\u00c0":70,"\u00c4":70,"\u00c2":70,"y":15,"w":10,"v":20,"u":15,"r":10,"n":10,"T":50}},"Q":{"d":"270,-705v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210xm270,-665v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170xm207,94v41,-25,69,-24,108,0v51,32,101,33,152,0r-22,-34v-39,23,-75,22,-108,0v-51,-34,-101,-31,-152,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"R":{"d":"460,-530v0,94,-68,155,-165,160r-96,0r267,370r-49,0r-267,-370r0,-40r145,0v73,-3,125,-50,125,-120v0,-80,-49,-130,-125,-130r-185,0r0,660r-40,0r0,-700r225,0v100,7,165,66,165,170","w":496,"k":{"y":30,"u":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"w":20,"\u0174":20,"\u0175":20,"Y":20,"\u00dd":20,"\u0178":20,"\u0176":20,"c":20,"\u0107":20,"\u010d":20,"\u00e7":20,"\u0109":20,"\u010b":20,"\u00a2":20,"d":20,"\u010f":20,"\u0111":20,"e":20,"\u00e9":20,"\u0115":20,"\u011b":20,"\u00ea":20,"\u00eb":20,"\u0117":20,"\u00e8":20,"\u0113":20,"\u0119":20,"\u00f0":20,"o":20,"\u00f3":20,"\u00f4":20,"\u00f6":20,"\u0153":20,"\u00f2":20,"\u0151":20,"\u014d":20,"\u00f8":20,"\u00f5":20,"q":20,"\u014f":20,"s":30,"\u015b":30,"\u0161":30,"\u015f":30,"\u015d":30,"\u0219":30,"\u00c2":30,"\u00c4":30,"\u00c0":30,"\u0100":30,"\u0104":30,"\u00c5":30,"\u00c3":30,"\/":30,"\u0102":30,"A":30,"\u00c1":30,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"\u0154":{"d":"460,-530v0,94,-68,155,-165,160r-96,0r267,370r-49,0r-267,-370r0,-40r145,0v73,-3,125,-50,125,-120v0,-80,-49,-130,-125,-130r-185,0r0,660r-40,0r0,-700r225,0v100,7,165,66,165,170xm212,-750r37,-96r44,0r-49,96r-32,0","w":505,"k":{"y":30,"u":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"w":20,"\u0174":20,"\u0175":20,"Y":20,"\u00dd":20,"\u0178":20,"\u0176":20,"c":20,"\u0107":20,"\u010d":20,"\u00e7":20,"\u0109":20,"\u010b":20,"\u00a2":20,"d":20,"\u010f":20,"\u0111":20,"e":20,"\u00e9":20,"\u0115":20,"\u011b":20,"\u00ea":20,"\u00eb":20,"\u0117":20,"\u00e8":20,"\u0113":20,"\u0119":20,"\u00f0":20,"o":20,"\u00f3":20,"\u00f4":20,"\u00f6":20,"\u0153":20,"\u00f2":20,"\u0151":20,"\u014d":20,"\u00f8":20,"\u00f5":20,"q":20,"\u014f":20,"s":30,"\u015b":30,"\u0161":30,"\u015f":30,"\u015d":30,"\u0219":30,"\u00c2":30,"\u00c4":30,"\u00c0":30,"\u0100":30,"\u0104":30,"\u00c5":30,"\u00c3":30,"\/":30,"\u0102":30,"A":30,"\u00c1":30,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"\u0158":{"d":"460,-530v0,94,-68,155,-165,160r-96,0r267,370r-49,0r-267,-370r0,-40r145,0v73,-3,125,-50,125,-120v0,-80,-49,-130,-125,-130r-185,0r0,660r-40,0r0,-700r225,0v100,7,165,66,165,170xm340,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":505,"k":{"y":30,"u":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"w":20,"\u0174":20,"\u0175":20,"Y":20,"\u00dd":20,"\u0178":20,"\u0176":20,"c":20,"\u0107":20,"\u010d":20,"\u00e7":20,"\u0109":20,"\u010b":20,"\u00a2":20,"d":20,"\u010f":20,"\u0111":20,"e":20,"\u00e9":20,"\u0115":20,"\u011b":20,"\u00ea":20,"\u00eb":20,"\u0117":20,"\u00e8":20,"\u0113":20,"\u0119":20,"\u00f0":20,"o":20,"\u00f3":20,"\u00f4":20,"\u00f6":20,"\u0153":20,"\u00f2":20,"\u0151":20,"\u014d":20,"\u00f8":20,"\u00f5":20,"q":20,"\u014f":20,"s":30,"\u015b":30,"\u0161":30,"\u015f":30,"\u015d":30,"\u0219":30,"\u00c2":30,"\u00c4":30,"\u00c0":30,"\u0100":30,"\u0104":30,"\u00c5":30,"\u00c3":30,"\/":30,"\u0102":30,"A":30,"\u00c1":30,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"S":{"d":"245,-35v101,0,165,-67,165,-170v0,-98,-81,-135,-165,-155v-89,-21,-166,-63,-170,-165v-6,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-28,-37,-72,-68,-133,-68v-82,0,-130,56,-130,140v0,145,207,108,279,191v29,33,56,71,56,129v0,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v6,99,66,165,165,165","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"\u015a":{"d":"245,-35v101,0,165,-67,165,-170v0,-98,-81,-135,-165,-155v-89,-21,-166,-63,-170,-165v-6,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-28,-37,-72,-68,-133,-68v-82,0,-130,56,-130,140v0,145,207,108,279,191v29,33,56,71,56,129v0,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v6,99,66,165,165,165xm225,-750r37,-96r44,0r-49,96r-32,0","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"\u0160":{"d":"343,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0xm245,-35v101,0,165,-67,165,-170v0,-98,-81,-135,-165,-155v-89,-21,-166,-63,-170,-165v-6,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-28,-37,-72,-68,-133,-68v-82,0,-130,56,-130,140v0,145,207,108,279,191v29,33,56,71,56,129v0,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v6,99,66,165,165,165","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"\u015e":{"d":"245,-35v101,0,165,-67,165,-170v0,-98,-81,-135,-165,-155v-89,-21,-166,-63,-170,-165v-6,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-28,-37,-72,-68,-133,-68v-82,0,-130,56,-130,140v0,145,207,108,279,191v29,33,56,71,56,129v0,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v6,99,66,165,165,165xm266,90v0,-17,-14,-30,-30,-30r0,-30v31,-1,60,28,60,60v0,49,-67,82,-102,42r21,-21v18,20,51,4,51,-21","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"\u0218":{"d":"245,-35v101,0,165,-67,165,-170v0,-98,-81,-135,-165,-155v-89,-21,-166,-63,-170,-165v-6,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-28,-37,-72,-68,-133,-68v-82,0,-130,56,-130,140v0,145,207,108,279,191v29,33,56,71,56,129v0,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v6,99,66,165,165,165xm278,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"T":{"d":"20,-700r410,0r0,40r-185,0r0,660r-40,0r0,-660r-185,0r0,-40","w":450,"k":{"\u00c1":80,"A":80,"\u017f":30,"\u0173":30,"\u0169":30,"\u014f":60,"\u017c":30,"\u017e":30,"\u017a":30,"z":30,"\u016f":30,"\u016b":30,"\u0171":30,"\u00f9":30,"\u00fc":30,"\u00fb":30,"\u016d":30,"\u00fa":30,"\u0163":20,"\u0165":20,"t":20,"\u0102":80,"\/":80,";":60,"\u0219":55,"\u015d":55,"\u015f":55,"\u0161":55,"\u015b":55,"s":55,"q":60,".":60,"\u00f5":60,"\u00f8":60,"\u014d":60,"\u0151":60,"\u00f2":60,"\u0153":60,"\u00f6":60,"\u00f4":60,"\u00f3":60,"o":60,"\u0121":60,"\u0123":60,"\u011d":60,"\u011f":60,"g":60,"\u0192":30,"f":30,"\u00f0":60,"\u0119":60,"\u0113":60,"\u00e8":60,"\u0117":60,"\u00eb":60,"\u00ea":60,"\u011b":60,"\u0115":60,"\u00e9":60,"e":60,"\u0111":60,"\u010f":60,"d":60,",":60,":":60,"\u00a2":60,"\u010b":60,"\u0109":60,"\u00e7":60,"\u010d":60,"\u0107":60,"c":60,"b":30,"\u00e3":80,"\u00e5":80,"\u0105":80,"\u0101":80,"\u00e0":80,"\u00e6":80,"\u00e4":80,"\u00e2":80,"\u0103":80,"\u00e1":80,"a":80,"\u00c3":80,"\u00c5":80,"\u0104":80,"\u0100":80,"\u00c0":80,"\u00c4":80,"\u00c2":80,"x":30,"w":40,"v":50,"u":50,"r":50,"p":40,"n":30,"-":60,"h":20,"T":50,"O":60}},"\u0164":{"d":"20,-700r410,0r0,40r-185,0r0,660r-40,0r0,-660r-185,0r0,-40xm323,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0","w":450,"k":{"T":20}},"\u0162":{"d":"20,-700r410,0r0,40r-185,0r0,660r-40,0r0,-660r-185,0r0,-40xm240,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":450,"k":{"T":20}},"\u00de":{"d":"420,-440v0,-80,-49,-130,-125,-130r-185,0r0,570r-40,0r0,-700r40,0r0,90r185,0v100,7,165,66,165,170v0,94,-68,160,-165,160r-145,0r0,-40r145,0v73,-3,125,-50,125,-120","w":490},"U":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170","k":{"\u00c1":40,"A":40,"\u0102":40,"\/":40,"\u0219":5,"\u015d":5,"\u015f":5,"\u0161":5,"\u015b":5,"s":5,"\u0121":15,"\u0123":15,"\u011d":15,"\u011f":15,"g":15,"\u00c3":40,"\u00c5":40,"\u0104":40,"\u0100":40,"\u00c0":40,"\u00c4":40,"\u00c2":40,"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00da":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm240,-750r37,-96r44,0r-49,96r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00db":{"d":"270,5v125,0,205,-83,205,-210r0,-495r-40,0r0,495v-4,103,-64,170,-165,170v-101,0,-165,-67,-165,-170r0,-495r-40,0r0,495v6,126,80,210,205,210xm317,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00dc":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm205,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm335,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u00d9":{"d":"270,5v125,0,205,-83,205,-210r0,-495r-40,0r0,495v-4,103,-64,170,-165,170v-101,0,-165,-67,-165,-170r0,-495r-40,0r0,495v6,126,80,210,205,210xm268,-750r-49,-96r44,0r37,96r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0170":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm164,-750r37,-86r44,0r-49,86r-32,0xm315,-750r37,-86r44,0r-49,86r-32,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u016e":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm270,-885v-30,0,-55,25,-55,55v0,30,25,55,55,55v30,0,55,-25,55,-55v0,-30,-25,-55,-55,-55xm270,-745v-45,0,-85,-40,-85,-85v0,-45,40,-85,85,-85v45,0,85,40,85,85v0,45,-40,85,-85,85","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"V":{"d":"196,0r-171,-700r40,0r161,657r161,-657r40,0r-171,700r-60,0","w":452,"k":{"w":5,"v":10,"u":10,"r":10,"p":10,"o":20,"n":10,"m":10,"i":10,"-":20,"e":20,"O":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"\u00c2":80,"\u00c4":80,"\u00c0":80,"\u0100":80,"\u0104":80,"\u00c5":80,"\u00c3":80,"\/":80,"\u0102":80,"A":80,"\u00c1":80,"a":40,"\u00e1":40,"\u0103":40,"\u00e2":40,"\u00e4":40,"\u00e6":40,"\u00e0":40,"\u0101":40,"\u0105":40,"\u00e5":40,"\u00e3":40,",":40,".":40,":":40,";":40}},"W":{"d":"153,0r-128,-700r41,0r119,651r120,-651r65,0r119,650r120,-650r42,0r-130,700r-65,0r-118,-650r-120,650r-65,0","w":676,"k":{"y":10,"u":10,"r":10,"o":10,"-":20,"e":10,"O":10,"\u00c2":50,"\u00c4":50,"\u00c0":50,"\u0100":50,"\u0104":50,"\u00c5":50,"\u00c3":50,"\/":50,"\u0102":50,"A":50,"\u00c1":50,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,",":30,".":30,":":30,";":30}},"X":{"d":"341,0r-135,-310r-135,310r-46,0r158,-360r-158,-340r46,0r135,290r135,-290r44,0r-157,340r157,360r-44,0","w":410,"k":{"\u00e3":15,"\u00e5":15,"\u0105":15,"\u0101":15,"\u00e0":15,"\u00e6":15,"\u00e4":15,"\u00e2":15,"\u0103":15,"\u00e1":15,"a":15,"y":20,"e":10,"O":30}},"Y":{"d":"226,-344r0,344r-40,0r0,-344r-161,-356r46,0r135,300r135,-300r44,0","w":410,"k":{"v":40,"u":35,"r":30,"p":30,"o":50,"i":30,"-":40,"e":50,"C":30,"\u0106":30,"\u010c":30,"\u00c7":30,"\u0108":30,"\u010a":30,"G":30,"\u011e":30,"\u011c":30,"\u0122":30,"\u0120":30,"O":30,"\u0152":30,"\u00d3":30,"\u00d4":30,"\u00d6":30,"\u00d2":30,"\u0150":30,"\u00d8":30,"\u00d5":30,"Q":30,"U":30,"\u00da":30,"\u00db":30,"\u00dc":30,"\u00d9":30,"\u0170":30,"\u016e":30,"6":30,"0":30,"\u014c":30,"\u014e":30,"\u0168":30,"\u016a":30,"\u016c":30,"\u0172":30,"s":50,"\u015b":50,"\u0161":50,"\u015f":50,"\u015d":50,"\u0219":50,"\u00c2":90,"\u00c4":90,"\u00c0":90,"\u0100":90,"\u0104":90,"\u00c5":90,"\u00c3":90,"\/":90,"\u0102":90,"A":90,"\u00c1":90,"a":60,"\u00e1":60,"\u0103":60,"\u00e2":60,"\u00e4":60,"\u00e6":60,"\u00e0":60,"\u0101":60,"\u0105":60,"\u00e5":60,"\u00e3":60,",":50,".":50,":":50,";":50}},"\u00dd":{"d":"226,-344r0,344r-40,0r0,-344r-161,-356r46,0r135,300r135,-300r44,0xm175,-750r37,-96r44,0r-49,96r-32,0","w":410,"k":{"v":40,"u":35,"r":30,"p":30,"o":50,"i":30,"-":40,"e":50,"C":30,"\u0106":30,"\u010c":30,"\u00c7":30,"\u0108":30,"\u010a":30,"G":30,"\u011e":30,"\u011c":30,"\u0122":30,"\u0120":30,"O":30,"\u0152":30,"\u00d3":30,"\u00d4":30,"\u00d6":30,"\u00d2":30,"\u0150":30,"\u00d8":30,"\u00d5":30,"Q":30,"U":30,"\u00da":30,"\u00db":30,"\u00dc":30,"\u00d9":30,"\u0170":30,"\u016e":30,"6":30,"0":30,"\u014c":30,"\u014e":30,"\u0168":30,"\u016a":30,"\u016c":30,"\u0172":30,"s":50,"\u015b":50,"\u0161":50,"\u015f":50,"\u015d":50,"\u0219":50,"\u00c2":90,"\u00c4":90,"\u00c0":90,"\u0100":90,"\u0104":90,"\u00c5":90,"\u00c3":90,"\/":90,"\u0102":90,"A":90,"\u00c1":90,"a":60,"\u00e1":60,"\u0103":60,"\u00e2":60,"\u00e4":60,"\u00e6":60,"\u00e0":60,"\u0101":60,"\u0105":60,"\u00e5":60,"\u00e3":60,",":50,".":50,":":50,";":50}},"\u0178":{"d":"226,-344r0,344r-40,0r0,-344r-161,-356r46,0r135,300r135,-300r44,0xm140,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm270,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":410,"k":{"v":40,"u":35,"r":30,"p":30,"o":50,"i":30,"-":40,"e":50,"C":30,"\u0106":30,"\u010c":30,"\u00c7":30,"\u0108":30,"\u010a":30,"G":30,"\u011e":30,"\u011c":30,"\u0122":30,"\u0120":30,"O":30,"\u0152":30,"\u00d3":30,"\u00d4":30,"\u00d6":30,"\u00d2":30,"\u0150":30,"\u00d8":30,"\u00d5":30,"Q":30,"U":30,"\u00da":30,"\u00db":30,"\u00dc":30,"\u00d9":30,"\u0170":30,"\u016e":30,"6":30,"0":30,"\u014c":30,"\u014e":30,"\u0168":30,"\u016a":30,"\u016c":30,"\u0172":30,"s":50,"\u015b":50,"\u0161":50,"\u015f":50,"\u015d":50,"\u0219":50,"\u00c2":90,"\u00c4":90,"\u00c0":90,"\u0100":90,"\u0104":90,"\u00c5":90,"\u00c3":90,"\/":90,"\u0102":90,"A":90,"\u00c1":90,"a":60,"\u00e1":60,"\u0103":60,"\u00e2":60,"\u00e4":60,"\u00e6":60,"\u00e0":60,"\u0101":60,"\u0105":60,"\u00e5":60,"\u00e3":60,",":50,".":50,":":50,";":50}},"Z":{"d":"70,-700r330,0r-296,660r286,0r0,40r-350,0r298,-660r-268,0r0,-40","w":440,"k":{"y":5,"u":10,"o":15,"e":15,"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u0179":{"d":"70,-700r330,0r-296,660r286,0r0,40r-350,0r298,-660r-268,0r0,-40xm200,-750r37,-96r44,0r-49,96r-32,0","w":440,"k":{"y":5,"u":10,"o":15,"e":15,"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u017d":{"d":"328,-846r-75,96r-46,0r-75,-96r51,0r47,77r47,-77r51,0xm70,-700r330,0r-296,660r286,0r0,40r-350,0r298,-660r-268,0r0,-40","w":440,"k":{"y":5,"u":10,"o":15,"e":15,"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u017b":{"d":"70,-700r330,0r-296,660r286,0r0,40r-350,0r298,-660r-268,0r0,-40xm235,-790v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":440,"k":{"y":5,"u":10,"o":15,"e":15,"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"a":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155","w":402},"\u00e1":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm183,-590r39,-120r44,0r-51,120r-32,0","w":402},"\u0103":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm286,-656v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":402},"\u00e2":{"d":"82,-150v0,-89,114,-127,180,-79r0,-44v-100,-48,-222,15,-220,123v2,93,58,155,150,155v53,0,95,-26,119,-58v10,32,28,54,71,53r0,-40v-48,-2,-40,-60,-40,-110r0,-200v4,-120,-113,-188,-222,-138v-23,12,-40,28,-52,48r32,19v58,-80,202,-46,202,71r0,200v1,70,-41,115,-110,115v-65,0,-110,-46,-110,-115xm259,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":402},"\u00b4":{"d":"90,-590r39,-120r44,0r-51,120r-32,0","w":263},"\u00e4":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm147,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm277,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":402},"\u00e6":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v67,0,110,-42,110,-109r0,-206v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v62,0,107,31,130,74v24,-41,68,-74,130,-74v92,0,150,62,150,155v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,211v-8,111,144,145,201,65r32,21v-23,35,-69,63,-123,63v-62,0,-107,-30,-130,-73v-24,42,-68,73,-130,73v-92,0,-150,-62,-150,-155","w":644,"k":{"y":5,"w":10,"v":10}},"\u00e0":{"d":"82,-150v0,-89,114,-127,180,-79r0,-44v-100,-48,-222,15,-220,123v2,93,58,155,150,155v53,0,95,-26,119,-58v10,32,28,54,71,53r0,-40v-48,-2,-40,-60,-40,-110r0,-200v4,-120,-113,-188,-222,-138v-23,12,-40,28,-52,48r32,19v58,-80,202,-46,202,71r0,200v1,70,-41,115,-110,115v-65,0,-110,-46,-110,-115xm203,-590r-53,-120r46,0r39,120r-32,0","w":402},"\u0101":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm291,-670r0,40r-180,0r0,-40r180,0","w":402},"&":{"d":"235,-665v-55,0,-100,45,-100,100v0,55,45,100,100,100v55,0,100,-45,100,-100v0,-55,-45,-100,-100,-100xm235,-35v105,0,187,-107,133,-204r-68,-123r32,-27v73,148,163,278,274,389r-55,0v-47,-49,-91,-103,-132,-161v-15,97,-78,166,-184,166v-131,0,-217,-116,-174,-249v28,-85,111,-125,172,-181v-83,-5,-138,-56,-138,-140v0,-84,56,-136,140,-140v119,-6,180,142,107,230v-65,78,-151,123,-216,198v-21,24,-36,54,-36,97v0,87,58,145,145,145","w":616},"\u0105":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm327,91v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":402},"\u00e5":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm209,-700v-30,0,-55,25,-55,55v0,30,25,55,55,55v30,0,55,-25,55,-55v0,-30,-25,-55,-55,-55xm209,-560v-45,0,-85,-40,-85,-85v0,-45,40,-85,85,-85v45,0,85,40,85,85v0,45,-40,85,-85,85","w":402},"^":{"d":"264,-452r-96,-210r-95,210r-43,0r116,-258r44,0r116,258r-42,0","w":336},"~":{"d":"175,-325v-38,0,-66,19,-78,51r-37,-16v19,-48,57,-75,115,-75v76,0,99,69,171,69v32,0,53,-24,64,-50r37,16v-16,41,-50,74,-101,74v-76,1,-101,-69,-171,-69","w":507},"*":{"d":"158,-631r65,-34v16,-6,26,15,23,33v-1,5,-3,8,-8,9r-74,10r53,51v12,16,-10,29,-24,32v-5,1,-9,0,-12,-5r-32,-66r-32,65v-10,17,-35,-2,-39,-12v-3,-5,-2,-10,2,-14r53,-51r-72,-9v-18,-3,-10,-35,0,-42v4,-4,9,-5,14,-2r64,35r-13,-72v-3,-16,27,-20,40,-12v5,3,7,7,6,12","w":298},"@":{"d":"150,-299v6,-89,84,-154,180,-122r0,41v-68,-31,-140,12,-140,82r0,103v-2,54,38,95,90,95v52,0,90,-41,90,-95r0,-240v0,-84,-57,-115,-150,-115v-66,0,-110,45,-110,115r0,280v4,107,67,175,170,175v51,0,91,-22,119,-50r28,28v-46,52,-147,83,-229,44v-72,-34,-128,-98,-128,-197r0,-280v0,-108,72,-155,190,-155v90,0,150,61,150,155r0,240v-4,80,-50,135,-130,135v-80,0,-130,-55,-130,-135r0,-104","w":497},"\u00e3":{"d":"42,-150v0,-108,119,-171,220,-123r0,44v-65,-47,-180,-10,-180,79v0,69,45,115,110,115v69,0,111,-45,110,-115r0,-200v12,-116,-144,-152,-202,-71r-32,-19v20,-36,71,-65,124,-65v94,0,150,60,150,155r0,200v2,50,-8,108,40,110r0,40v-43,0,-61,-21,-71,-53v-24,32,-66,58,-119,58v-92,0,-150,-62,-150,-155xm141,-657v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":402},"b":{"d":"320,-345v10,-99,-108,-144,-180,-94r0,-44v107,-50,220,20,220,138r0,195v-4,94,-57,155,-150,155v-92,0,-150,-62,-150,-155r0,-550r40,0r0,550v-2,69,45,115,110,115v69,0,111,-45,110,-115r0,-195","w":405},"\\":{"d":"71,-700r167,700r-40,0r-168,-700r41,0","w":268,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"|":{"d":"70,-780r40,0r0,860r-40,0r0,-860","w":180,"k":{"T":20}},"{":{"d":"249,-704v-74,32,-99,104,-99,219v0,56,-10,107,-39,135v41,39,39,121,39,202v0,77,42,125,99,151r-17,37v-88,-39,-122,-120,-122,-255v0,-51,9,-112,-40,-115r0,-40v83,-18,13,-181,56,-262v25,-47,56,-85,106,-108","w":259},"}":{"d":"109,-485v0,-114,-24,-187,-99,-219r17,-36v88,39,122,120,122,255v0,51,-9,112,40,115r0,40v-83,18,-13,182,-56,262v-25,47,-55,85,-106,108r-17,-37v75,-32,99,-104,99,-218v0,-56,10,-107,39,-135v-29,-28,-39,-79,-39,-135","w":259},"[":{"d":"70,-740r110,0r0,40r-70,0r0,700r70,0r0,40r-110,0r0,-780","w":230},"]":{"d":"160,40r-110,0r0,-40r70,0r0,-700r-70,0r0,-40r110,0r0,780","w":230,"k":{"T":20}},"\u00a6":{"d":"70,-280r40,0r0,360r-40,0r0,-360xm70,-780r40,0r0,420r-40,0r0,-420","w":180},"c":{"d":"195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v39,-1,75,-16,90,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-16,-28,-49,-43,-91,-44","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u0107":{"d":"195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v39,-1,75,-16,90,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-16,-28,-49,-43,-91,-44xm175,-590r39,-120r44,0r-51,120r-32,0","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u010d":{"d":"195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v39,-1,75,-16,90,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-16,-28,-49,-43,-91,-44xm282,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u00e7":{"d":"195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v39,-1,75,-16,90,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-16,-28,-49,-43,-91,-44xm217,91v0,-17,-14,-30,-30,-30r0,-30v31,-1,60,28,60,60v0,49,-67,82,-102,42r21,-21v18,20,51,4,51,-21","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u0109":{"d":"195,-35v-69,0,-111,-45,-110,-115r0,-200v-1,-71,41,-115,110,-115v42,1,75,16,91,44r32,-19v-24,-38,-68,-65,-123,-65v-94,0,-150,60,-150,155r0,200v-3,118,111,189,219,138v22,-11,40,-27,53,-46r-32,-21v-15,28,-51,43,-90,44xm236,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u010b":{"d":"195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v39,-1,75,-16,90,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-16,-28,-49,-43,-91,-44xm185,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":360,"k":{"o":15,"h":10,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10,"b":10,"u":10,"\u00fa":10,"\u016d":10,"\u00fb":10,"\u00fc":10,"\u00f9":10,"\u0171":10,"\u016b":10,"\u016f":10,"\u0169":10,"\u0173":10}},"\u00b8":{"d":"162,90v0,-17,-14,-30,-30,-30r0,-30v31,-1,60,28,60,60v0,49,-67,82,-102,42r21,-21v18,20,51,4,51,-21","w":282},"\u00a2":{"d":"45,-350v-3,-119,110,-187,219,-138v22,10,40,27,54,48r-32,19v-13,-26,-48,-39,-81,-44r0,430v33,-3,65,-20,80,-44r32,21v-24,34,-68,63,-122,63v-93,0,-150,-61,-150,-155r0,-200xm165,-461v-50,10,-83,50,-80,111v6,122,-37,287,80,312r0,-423","w":360},":":{"d":"85,0v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35xm85,-310v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":170},",":{"d":"120,-35v-1,52,-25,87,-50,115r-20,0v16,-34,30,-62,8,-93v-16,-23,-1,-57,27,-57v18,0,36,17,35,35","w":170},"\u00a9":{"d":"250,-18v-159,-63,-278,-262,-192,-472v51,-125,162,-220,332,-220v169,0,277,98,332,220v38,86,38,194,0,280v-56,123,-162,220,-332,220v-50,0,-96,-11,-140,-28xm266,-645v-141,56,-242,230,-171,419v53,141,236,242,419,171v140,-54,242,-236,171,-419v-54,-140,-237,-243,-419,-171xm242,-452v-11,-151,199,-200,272,-88r-34,20v-19,-22,-48,-45,-90,-45v-65,0,-108,46,-108,113r0,205v3,66,43,112,108,112v42,0,72,-21,89,-45r36,18v-24,34,-65,70,-125,67v-90,-4,-148,-61,-148,-152r0,-205","w":780},"\u00a4":{"d":"270,-670v-122,6,-178,93,-165,236r170,0r0,40r-170,0r0,50r170,0r0,40r-170,0r0,104v4,104,65,165,165,170v60,3,110,-34,133,-68r34,22v-36,62,-153,114,-247,70v-72,-32,-125,-93,-125,-194r0,-300v-1,-152,137,-246,285,-194v41,15,66,43,86,70r-33,22v-24,-33,-72,-71,-133,-68","w":477},"d":{"d":"45,-345v-3,-118,111,-187,220,-138r0,44v-71,-50,-180,-6,-180,94r0,195v-1,70,41,115,110,115v63,0,110,-45,110,-110r0,-555r40,0r0,545v3,51,-9,112,40,115r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-195","w":425},"\u010f":{"d":"45,-345v-3,-118,111,-187,220,-138r0,44v-71,-50,-180,-6,-180,94r0,195v-1,70,41,115,110,115v63,0,110,-45,110,-110r0,-555r40,0r0,545v3,51,-9,112,40,115r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-195xm429,-700r-21,120r-25,0r0,-120r46,0","w":425},"\u0111":{"d":"195,-35v63,0,110,-45,110,-110r0,-415r-120,0r0,-40r120,0r0,-100r40,0r0,100r40,0r0,40r-40,0r0,405v3,51,-9,112,40,115r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-195v-3,-118,111,-187,220,-138r0,44v-71,-50,-180,-6,-180,94r0,195v-1,70,41,115,110,115","w":425},"\u00b0":{"d":"175,-500v-75,0,-125,-50,-125,-125v0,-75,50,-125,125,-125v75,0,125,50,125,125v0,75,-50,125,-125,125xm175,-710v-45,0,-85,40,-85,85v0,45,40,85,85,85v45,0,85,-40,85,-85v0,-45,-40,-85,-85,-85","w":350},"\u00a8":{"d":"115,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm245,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":360},"\u00f7":{"d":"250,-170v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35xm250,-400v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35xm410,-300r-320,0r0,-40r320,0r0,40","w":500},"$":{"d":"460,-205v3,151,-137,250,-284,194v-72,-27,-123,-93,-126,-189r40,0v4,95,60,149,145,164r0,-328v-78,-23,-147,-66,-150,-161v-5,-141,139,-222,265,-157v29,16,52,37,71,63r-33,22v-25,-34,-64,-60,-113,-67r0,265v100,24,182,78,185,194xm275,-36v87,-13,145,-72,145,-169v0,-91,-72,-126,-145,-150r0,319xm235,-663v-90,4,-150,142,-78,211v21,20,47,35,78,44r0,-255","w":510},"\u0131":{"d":"60,0r0,-500r40,0r0,500r-40,0","w":160,"k":{"T":20}},"e":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155","w":387,"k":{"y":5,"w":10,"v":10}},"\u00e9":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm176,-590r39,-120r44,0r-51,120r-32,0","w":387,"k":{"y":5,"w":10,"v":10}},"\u0115":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm279,-656v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":387,"k":{"y":5,"w":10,"v":10}},"\u011b":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm285,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0","w":387,"k":{"y":5,"w":10,"v":10}},"\u00ea":{"d":"305,-355v0,60,-49,105,-110,105r-70,0r0,40v127,10,220,-30,220,-140v0,-93,-58,-155,-150,-155v-93,0,-150,61,-150,155r0,200v-4,120,111,188,220,138v22,-10,40,-27,53,-46r-32,-21v-58,81,-201,45,-201,-71r0,-205v-1,-70,41,-110,110,-110v65,0,110,41,110,110xm240,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":387,"k":{"y":5,"w":10,"v":10}},"\u00eb":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm130,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm260,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":387,"k":{"y":5,"w":10,"v":10}},"\u0117":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm193,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":387,"k":{"y":5,"w":10,"v":10}},"\u00e8":{"d":"305,-355v0,60,-49,105,-110,105r-70,0r0,40v127,10,220,-30,220,-140v0,-93,-58,-155,-150,-155v-93,0,-150,61,-150,155r0,200v-4,120,111,188,220,138v22,-10,40,-27,53,-46r-32,-21v-58,81,-201,45,-201,-71r0,-205v-1,-70,41,-110,110,-110v65,0,110,41,110,110xm186,-590r-53,-120r46,0r39,120r-32,0","w":387,"k":{"y":5,"w":10,"v":10}},"8":{"d":"338,-382v64,28,122,92,122,177v0,127,-80,210,-205,210v-125,0,-205,-83,-205,-210v0,-85,57,-150,121,-177v-45,-27,-86,-76,-86,-143v0,-107,65,-180,170,-180v105,0,170,73,170,180v0,67,-41,116,-87,143xm420,-205v0,-95,-70,-155,-165,-155v-96,0,-165,61,-165,155v0,103,64,170,165,170v101,0,165,-67,165,-170xm125,-525v0,76,54,125,130,125v77,0,130,-50,130,-125v0,-84,-48,-140,-130,-140v-82,0,-130,56,-130,140","w":510},"\u0113":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm283,-670r0,40r-180,0r0,-40r180,0","w":387,"k":{"y":5,"w":10,"v":10}},"\u0119":{"d":"345,-350v0,110,-93,151,-220,140r0,-40r70,0v61,2,110,-45,110,-105v0,-69,-44,-110,-110,-110v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-94,0,-150,-60,-150,-155r0,-200v4,-94,57,-155,150,-155v92,0,150,62,150,155xm181,90v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":387,"k":{"y":5,"w":10,"v":10}},"=":{"d":"410,-240r-320,0r0,-40r320,0r0,40xm410,-360r-320,0r0,-40r320,0r0,40","w":500},"\u00f0":{"d":"195,-35v65,0,110,-46,110,-115r0,-92v-1,-149,-23,-278,-94,-357r-87,45r-14,-27r78,-40v-30,-23,-65,-41,-111,-46r6,-38v63,7,108,29,146,63r77,-40r14,27r-70,36v85,100,101,279,95,469v-3,93,-58,155,-150,155v-93,0,-150,-61,-150,-155v0,-113,-22,-251,43,-312v25,-24,61,-43,107,-43r0,40v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115","w":390},"!":{"d":"65,-700r40,0r-10,550r-20,0xm85,0v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":170},"\u00a1":{"d":"75,-550r20,0r10,550r-40,0xm85,-630v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":170,"k":{"T":20}},"f":{"d":"240,-664v-101,-8,-140,62,-130,164r90,0r0,40r-90,0r0,460r-40,0r0,-460r-40,0r0,-40r40,0v-10,-129,46,-206,170,-204r0,40","w":230,"k":{"u":10,"o":10,"e":10,"d":10,"g":40,"\u011f":40,"\u011d":40,"\u0123":40,"\u0121":40,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"5":{"d":"206,-35v121,0,174,-90,165,-229v-7,-102,-64,-170,-165,-170v-35,0,-63,11,-86,24r-40,0r0,-290r300,0r0,40r-260,0r0,205v146,-59,291,38,291,191v0,165,-61,269,-205,269v-74,0,-133,-38,-166,-84r33,-23v28,38,72,67,133,67","w":461},"\u0192":{"d":"18,203v27,-15,52,-50,52,-98r0,-565r-40,0r0,-40r40,0v-10,-129,45,-206,170,-204r0,40v-95,-9,-141,56,-130,164r90,0r0,40r-90,0r0,565v1,63,-33,110,-71,131","w":240,"k":{"u":10,"o":10,"e":10,"d":10,"g":40,"\u011f":40,"\u011d":40,"\u0123":40,"\u0121":40,"s":10,"\u015b":10,"\u0161":10,"\u015f":10,"\u015d":10,"\u0219":10,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"4":{"d":"209,-700r-118,440r169,0r0,-160r40,0r0,160r100,0r0,40r-100,0r0,220r-40,0r0,-220r-210,0r0,-40r117,-440r42,0","w":440},"g":{"d":"350,-235v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-115v3,-95,56,-155,150,-155v52,0,93,26,118,57v10,-34,28,-52,72,-52r0,40v-49,2,-40,60,-40,110r0,115xm200,-465v-69,0,-111,44,-110,115r0,115v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-115v2,-70,-44,-115,-110,-115xm350,105v11,138,-166,203,-256,111v-25,-25,-44,-60,-44,-106r40,0v-1,63,47,110,110,110v69,0,110,-45,110,-115v0,-61,-45,-107,-110,-105r0,-40v89,5,144,58,150,145","w":415,"k":{"o":10,"g":15,"\u011f":15,"\u011d":15,"\u0123":15,"\u0121":15,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20}},"\u011f":{"d":"350,-235v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-115v3,-95,56,-155,150,-155v52,0,93,26,118,57v10,-34,28,-52,72,-52r0,40v-49,2,-40,60,-40,110r0,115xm200,-465v-69,0,-111,44,-110,115r0,115v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-115v2,-70,-44,-115,-110,-115xm350,105v11,138,-166,203,-256,111v-25,-25,-44,-60,-44,-106r40,0v-1,63,47,110,110,110v69,0,110,-45,110,-115v0,-61,-45,-107,-110,-105r0,-40v89,5,144,58,150,145xm292,-656v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":415,"k":{"o":10,"g":15,"\u011f":15,"\u011d":15,"\u0123":15,"\u0121":15,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20}},"\u011d":{"d":"50,-235v4,94,57,155,150,155v92,0,150,-62,150,-155r0,-115v2,-50,-9,-108,40,-110r0,-40v-44,0,-62,18,-72,52v-25,-31,-66,-57,-118,-57v-94,0,-150,60,-150,155r0,115xm200,-120v-69,0,-111,-45,-110,-115r0,-115v-1,-71,41,-115,110,-115v66,0,110,45,110,115r0,115v2,69,-45,115,-110,115xm350,105v11,138,-166,203,-256,111v-25,-25,-44,-60,-44,-106r40,0v-1,63,47,110,110,110v69,0,110,-45,110,-115v0,-61,-45,-107,-110,-105r0,-40v89,5,144,58,150,145xm246,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":415,"k":{"o":10,"g":15,"\u011f":15,"\u011d":15,"\u0123":15,"\u0121":15,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20}},"\u0123":{"d":"350,-235v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-115v3,-95,56,-155,150,-155v52,0,93,26,118,57v10,-34,28,-52,72,-52r0,40v-49,2,-40,60,-40,110r0,115xm200,-465v-69,0,-111,44,-110,115r0,115v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-115v2,-70,-44,-115,-110,-115xm350,105v11,138,-166,203,-256,111v-25,-25,-44,-60,-44,-106r40,0v-1,63,47,110,110,110v69,0,110,-45,110,-115v0,-61,-45,-107,-110,-105r0,-40v89,5,144,58,150,145xm185,-590v-2,-63,5,-82,30,-130r20,0v-13,40,-20,83,-20,130r-30,0","w":415,"k":{"o":10,"g":15,"\u011f":15,"\u011d":15,"\u0123":15,"\u0121":15,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20}},"\u0121":{"d":"350,-235v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-115v3,-95,56,-155,150,-155v52,0,93,26,118,57v10,-34,28,-52,72,-52r0,40v-49,2,-40,60,-40,110r0,115xm200,-465v-69,0,-111,44,-110,115r0,115v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-115v2,-70,-44,-115,-110,-115xm350,105v11,138,-166,203,-256,111v-25,-25,-44,-60,-44,-106r40,0v-1,63,47,110,110,110v69,0,110,-45,110,-115v0,-61,-45,-107,-110,-105r0,-40v89,5,144,58,150,145xm199,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":415,"k":{"o":10,"g":15,"\u011f":15,"\u011d":15,"\u0123":15,"\u0121":15,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20}},"`":{"d":"143,-590r-53,-120r46,0r39,120r-32,0","w":265},">":{"d":"328,-297r-258,150r0,-46r219,-127r-219,-127r0,-46r258,150r0,46","w":398},"\u00ab":{"d":"328,-142r-258,-116r0,-44r258,-116r0,43r-210,95r210,96r0,42xm568,-142r-258,-116r0,-44r258,-116r0,43r-210,95r210,96r0,42","w":638},"\u00bb":{"d":"310,-184r210,-96r-210,-95r0,-43r258,116r0,44r-258,116r0,-42xm70,-184r210,-96r-210,-95r0,-43r258,116r0,44r-258,116r0,-42","w":638},"h":{"d":"210,-505v94,3,150,60,150,155r0,350r-40,0r0,-350v1,-71,-41,-115,-110,-115v-66,0,-110,45,-110,115r0,350r-40,0r0,-700r40,0r0,252v24,-26,63,-58,110,-57","w":415,"k":{"y":5}},"\u0127":{"d":"210,-465v-66,0,-110,45,-110,115r0,350r-40,0r0,-560r-60,0r0,-40r60,0r0,-100r40,0r0,100r100,0r0,40r-100,0r0,112v24,-26,63,-58,110,-57v94,3,150,60,150,155r0,350r-40,0r0,-350v1,-71,-41,-115,-110,-115","w":415,"k":{"y":5}},"\u0125":{"d":"210,-465v69,0,111,44,110,115r0,350r40,0r0,-350v-3,-95,-56,-152,-150,-155v-46,-1,-86,32,-110,57r0,-252r-40,0r0,700r40,0r0,-350v-2,-70,44,-115,110,-115xm205,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":415,"k":{"y":5}},"-":{"d":"320,-260r-250,0r0,-40r250,0r0,40","w":390},"i":{"d":"65,0r0,-500r40,0r0,500r-40,0xm85,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":170,"k":{"T":20}},"\u00ed":{"d":"60,0r0,-500r40,0r0,500r-40,0xm67,-590r39,-120r44,0r-51,120r-32,0","w":160,"k":{"T":20}},"\u00ee":{"d":"60,0r0,-500r40,0r0,500r-40,0xm127,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":160,"k":{"T":20}},"\u00ef":{"d":"60,0r0,-500r40,0r0,500r-40,0xm15,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm145,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":160,"k":{"T":20}},"\u00ec":{"d":"60,0r0,-500r40,0r0,500r-40,0xm64,-590r-53,-120r46,0r39,120r-32,0","w":160,"k":{"T":20}},"\u012b":{"d":"60,0r0,-500r40,0r0,500r-40,0xm170,-670r0,40r-180,0r0,-40r180,0","w":160,"k":{"T":20}},"\u012f":{"d":"60,0r0,-500r40,0r0,500r-40,0xm28,90v0,39,44,75,84,54r-12,-27v-20,9,-42,-6,-42,-27v0,-21,22,-37,42,-27r13,-28v-43,-18,-85,14,-85,55","w":160,"k":{"T":20}},"\u0129":{"d":"60,0r0,-500r40,0r0,500r-40,0xm20,-657v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":160,"k":{"T":20}},"j":{"d":"-50,230v65,0,110,-47,110,-115r0,-615r40,0r0,615v-4,95,-59,148,-150,155r0,-40xm80,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":165,"k":{"o":10,"T":20}},"\u0135":{"d":"-50,230v65,0,110,-47,110,-115r0,-615r40,0r0,615v-4,95,-59,148,-150,155r0,-40xm122,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":160,"k":{"T":20}},"k":{"d":"100,0r-40,0r0,-700r40,0r0,700xm350,-500r-174,218r203,282r-49,0r-190,-264r0,-40r157,-196r53,0","w":399,"k":{"o":15,"d":15,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"\u0137":{"d":"100,0r-40,0r0,-700r40,0r0,700xm350,-500r-174,218r203,282r-49,0r-190,-264r0,-40r157,-196r53,0xm219,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":389,"k":{"o":15,"d":15,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20}},"l":{"d":"140,5v-78,-1,-80,-71,-80,-150r0,-555r40,0r0,555v2,52,-9,107,40,110r0,40","w":180},"\u013a":{"d":"140,5v-78,-1,-80,-71,-80,-150r0,-555r40,0r0,555v2,52,-9,107,40,110r0,40xm70,-750r39,-120r44,0r-51,120r-32,0","w":180},"\u013e":{"d":"140,5v-78,-1,-80,-71,-80,-150r0,-555r40,0r0,555v2,52,-9,107,40,110r0,40xm177,-700r-21,120r-25,0r0,-120r46,0","w":180},"\u013c":{"d":"140,5v-78,-1,-80,-71,-80,-150r0,-555r40,0r0,555v2,52,-9,107,40,110r0,40xm120,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":180},"<":{"d":"70,-343r258,-150r0,46r-219,127r219,127r0,46r-258,-150r0,-46","w":398},"\u00ac":{"d":"30,-241r500,0r0,321r-40,0r0,-281r-460,0r0,-40","w":600},"\u0142":{"d":"140,5v-119,-4,-69,-176,-80,-289r-60,43r-24,-32r84,-61r0,-366r40,0r0,337r77,-56r24,32r-101,74r0,168v2,52,-9,107,40,110r0,40","w":180},"m":{"d":"200,-465v-66,0,-100,46,-100,111r0,354r-40,0r0,-500r40,0r0,53v25,-25,53,-58,100,-58v63,0,95,35,120,76v25,-41,58,-76,120,-76v92,0,140,62,140,155r0,350r-40,0r0,-350v0,-70,-30,-115,-100,-115v-66,0,-101,47,-100,115r0,350r-40,0r0,-350v0,-70,-30,-115,-100,-115","w":635,"k":{"y":5}},"\u00af":{"d":"250,-670r0,40r-180,0r0,-40r180,0","w":320},"\u00b5":{"d":"329,-54v-42,66,-175,83,-229,12r0,182r-40,0r0,-640r40,0r0,350v-1,70,41,115,110,115v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54","w":420},"\u00d7":{"d":"118,-447r99,99r99,-99r28,28r-99,99r99,99r-28,28r-99,-99r-99,99r-28,-28r99,-99r-99,-99","w":434},"n":{"d":"210,-465v-65,0,-110,46,-110,115r0,350r-40,0r0,-500r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,350r-40,0r0,-350v1,-70,-41,-115,-110,-115","w":415,"k":{"y":5}},"\u0144":{"d":"210,-465v-65,0,-110,46,-110,115r0,350r-40,0r0,-500r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,350r-40,0r0,-350v1,-70,-41,-115,-110,-115xm199,-590r39,-120r44,0r-51,120r-32,0","w":415,"k":{"y":5}},"\u0148":{"d":"210,-465v-65,0,-110,46,-110,115r0,350r-40,0r0,-500r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,350r-40,0r0,-350v1,-70,-41,-115,-110,-115xm308,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0","w":415,"k":{"y":5}},"\u0146":{"d":"210,-465v-65,0,-110,46,-110,115r0,350r-40,0r0,-500r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,350r-40,0r0,-350v1,-70,-41,-115,-110,-115xm232,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":415,"k":{"y":5}},"9":{"d":"255,-705v136,0,209,95,205,247v-6,249,-55,457,-300,463r0,-40v172,-3,229,-128,251,-283v-36,39,-86,72,-156,72v-137,0,-213,-96,-205,-249v6,-126,80,-210,205,-210xm90,-495v-7,128,51,209,165,209v114,0,172,-79,165,-209v-6,-102,-64,-170,-165,-170v-101,0,-160,68,-165,170","w":510},"\u00f1":{"d":"210,-465v-65,0,-110,46,-110,115r0,350r-40,0r0,-500r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,350r-40,0r0,-350v1,-70,-41,-115,-110,-115xm147,-657v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":415,"k":{"y":5}},"#":{"d":"420,-390r-86,0r-19,80r105,0r0,40r-115,0r-26,110r-41,0r26,-110r-80,0r-26,110r-41,0r26,-110r-73,0r0,-40r83,0r19,-80r-102,0r0,-40r111,0r27,-110r41,0r-27,110r80,0r27,-110r41,0r-27,110r77,0r0,40xm194,-310r80,0r19,-80r-80,0","w":490},"o":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115","w":390,"k":{"v":10}},"\u00f3":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm180,-590r39,-120r44,0r-51,120r-32,0","w":390},"\u00f4":{"d":"45,-150v4,94,57,155,150,155v92,0,150,-62,150,-155r0,-200v-4,-94,-57,-155,-150,-155v-94,0,-150,60,-150,155r0,200xm195,-35v-69,0,-111,-45,-110,-115r0,-200v-1,-71,41,-115,110,-115v66,0,110,45,110,115r0,200v2,69,-45,115,-110,115xm242,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":390},"\u00f6":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm130,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm260,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":390},"\u0153":{"d":"324,-69v-23,42,-68,74,-129,74v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v61,0,106,33,130,75v23,-43,68,-75,130,-75v92,0,150,62,150,155v0,110,-93,151,-220,140r0,-40r70,0v61,1,110,-40,110,-100v0,-69,-45,-115,-110,-115v-69,0,-111,40,-110,110r0,205v-12,116,142,152,201,71r32,21v-23,35,-69,63,-123,63v-62,0,-107,-31,-131,-74xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-205v-1,-67,-45,-110,-110,-110","w":647,"k":{"y":5,"w":10,"v":10}},"\u00f2":{"d":"45,-150v4,94,57,155,150,155v92,0,150,-62,150,-155r0,-200v-4,-94,-57,-155,-150,-155v-94,0,-150,60,-150,155r0,200xm195,-35v-69,0,-111,-45,-110,-115r0,-200v-1,-71,41,-115,110,-115v66,0,110,45,110,115r0,200v2,69,-45,115,-110,115xm186,-590r-53,-120r46,0r39,120r-32,0","w":390},"\u0151":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm100,-590r39,-120r44,0r-51,120r-32,0xm251,-590r39,-120r44,0r-51,120r-32,0","w":390},"\u014d":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm285,-670r0,40r-180,0r0,-40r180,0","w":390},"1":{"d":"170,0r-40,0r0,-660r-60,0r0,-40r100,0r0,700","w":240,"k":{"T":20}},"\u00bd":{"d":"134,-429r-40,0r0,-231r-34,0r0,-40r74,0r0,271xm84,0r168,-700r41,0r-168,700r-41,0xm293,-273v47,-2,75,31,75,73v0,79,-88,92,-105,160r105,0r0,40r-148,0v-2,-92,53,-126,96,-172v22,-23,11,-63,-23,-61v-19,1,-32,14,-43,28r-36,-20v18,-24,43,-47,79,-48","w":398},"\u00bc":{"d":"134,-429r-40,0r0,-231r-34,0r0,-40r74,0r0,271xm84,0r168,-700r41,0r-168,700r-41,0xm219,-107r45,-168r41,0r-42,158r29,0r0,-56r40,0r0,56r35,0r0,40r-35,0r0,77r-40,0r0,-77r-73,0r0,-30","w":407},"\u00b9":{"d":"124,-429r-40,0r0,-231r-34,0r0,-40r74,0r0,271","w":174},"\u00aa":{"d":"116,-565v0,-37,14,-96,-25,-97v-10,0,-17,3,-21,10r-34,-20v27,-52,120,-31,120,37r0,76v0,13,4,20,11,20r0,40v-14,0,-25,-4,-34,-11v-42,32,-108,3,-108,-55v0,-35,29,-63,66,-62r0,40v-14,0,-26,8,-26,22v0,16,11,28,26,28v17,0,25,-9,25,-28","w":192},"\u00ba":{"d":"211,-511v2,46,-37,84,-80,84v-47,0,-81,-36,-81,-84r0,-108v-1,-49,34,-83,81,-83v44,0,80,36,80,83r0,108xm90,-619v4,59,-20,152,41,152v59,0,36,-93,40,-152v1,-25,-18,-43,-40,-43v-23,0,-43,18,-41,43","w":261},"\u00f8":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm163,-39v79,19,147,-32,142,-111v-7,-106,28,-248,-45,-296xm224,-461v-80,-18,-144,30,-139,111v7,105,-27,247,41,294","w":390},"\u00f5":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm135,-657v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":390},"p":{"d":"360,-155v3,118,-111,187,-220,138r0,-44v71,50,180,6,180,-94r0,-195v1,-70,-41,-115,-110,-115v-65,0,-110,46,-110,115r0,610r-40,0r0,-760r40,0r0,53v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,195","w":405,"k":{"y":10}},"\u00b6":{"d":"30,-530v0,-104,65,-170,165,-170r185,0r0,700r-40,0r0,-660r-40,0r0,660r-40,0r0,-370v-138,12,-230,-44,-230,-160xm70,-530v0,92,79,132,190,120r0,-250v-114,-9,-190,27,-190,130","w":450,"k":{"T":20}},"(":{"d":"231,-710v-161,136,-161,584,0,720r-26,30v-182,-145,-175,-639,0,-780","w":261},")":{"d":"56,-740v181,146,176,639,0,780r-26,-30v162,-136,161,-584,0,-720","w":261},"%":{"d":"135,-665v-35,0,-65,30,-65,65v0,35,30,65,65,65v35,0,65,-30,65,-65v0,-35,-30,-65,-65,-65xm135,-495v-63,0,-105,-42,-105,-105v0,-64,42,-105,105,-105v63,0,105,42,105,105v0,63,-41,105,-105,105xm338,-165v-35,0,-65,30,-65,65v0,35,30,65,65,65v35,0,65,-30,65,-65v0,-35,-30,-65,-65,-65xm338,5v-63,0,-105,-42,-105,-105v0,-64,42,-105,105,-105v63,0,105,42,105,105v0,63,-41,105,-105,105xm132,0r168,-700r41,0r-168,700r-41,0","w":473},".":{"d":"85,0v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":170},"\u00b7":{"d":"85,-335v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":170},"+":{"d":"270,-480r0,140r140,0r0,40r-140,0r0,140r-40,0r0,-140r-140,0r0,-40r140,0r0,-140r40,0","w":500},"\u00b1":{"d":"270,-560r0,140r140,0r0,40r-140,0r0,140r-40,0r0,-140r-140,0r0,-40r140,0r0,-140r40,0xm410,-160r-320,0r0,-40r320,0r0,40","w":500},"q":{"d":"85,-155v-10,99,108,144,180,94r0,44v-107,50,-220,-20,-220,-138r0,-195v4,-94,57,-155,150,-155v92,0,150,62,150,155r0,610r-40,0r0,-610v2,-69,-45,-115,-110,-115v-69,0,-111,45,-110,115r0,195","w":405,"k":{"\u00e3":20,"\u00e5":20,"\u0105":20,"\u0101":20,"\u00e0":20,"\u00e6":20,"\u00e4":20,"\u00e2":20,"\u0103":20,"\u00e1":20,"a":20,"y":5}},"?":{"d":"176,-705v161,-5,215,207,122,318r-56,81v-28,42,-55,87,-56,156r-20,0v-2,-139,70,-202,120,-289v13,-23,21,-50,20,-86v-2,-84,-48,-140,-130,-140v-61,0,-105,31,-133,68r-33,-22v33,-47,91,-84,166,-86xm176,0v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35","w":376},"\u00bf":{"d":"200,5v-161,5,-215,-207,-122,-318r56,-81v28,-42,55,-87,56,-156r20,0v2,138,-70,203,-120,289v-13,23,-21,50,-20,86v2,84,48,140,130,140v61,0,105,-31,133,-68r33,22v-33,47,-91,84,-166,86xm200,-700v18,0,35,17,35,35v0,18,-17,35,-35,35v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35","w":376},"\"":{"d":"50,-754r40,0r-10,124r-20,0xm132,-754r40,0r-10,124r-20,0","w":222},"'":{"d":"50,-754r40,0r-10,124r-20,0","w":140},"r":{"d":"280,-442v-71,-59,-180,-8,-180,89r0,353r-40,0r0,-500r40,0r0,51v43,-46,109,-75,180,-40r0,47","w":300,"k":{"v":10,"u":10,"r":10,"-":30,"c":10,"\u0107":10,"\u010d":10,"\u00e7":10,"\u0109":10,"\u010b":10,"\u00a2":10,"d":10,"\u010f":10,"\u0111":10,"e":10,"\u00e9":10,"\u0115":10,"\u011b":10,"\u00ea":10,"\u00eb":10,"\u0117":10,"\u00e8":10,"\u0113":10,"\u0119":10,"\u00f0":10,"o":10,"\u00f3":10,"\u00f4":10,"\u00f6":10,"\u0153":10,"\u00f2":10,"\u0151":10,"\u014d":10,"\u00f8":10,"\u00f5":10,"q":10,"\u014f":10,"g":10,"\u011f":10,"\u011d":10,"\u0123":10,"\u0121":10,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,"z":10,"\u017a":10,"\u017e":10,"\u017c":10,",":40,".":40,":":40,";":40}},"\u0155":{"d":"280,-442v-71,-59,-180,-8,-180,89r0,353r-40,0r0,-500r40,0r0,51v43,-46,109,-75,180,-40r0,47xm136,-590r39,-120r44,0r-51,120r-32,0","w":300,"k":{"v":10,"u":10,"r":10,"-":30,"c":10,"\u0107":10,"\u010d":10,"\u00e7":10,"\u0109":10,"\u010b":10,"\u00a2":10,"d":10,"\u010f":10,"\u0111":10,"e":10,"\u00e9":10,"\u0115":10,"\u011b":10,"\u00ea":10,"\u00eb":10,"\u0117":10,"\u00e8":10,"\u0113":10,"\u0119":10,"\u00f0":10,"o":10,"\u00f3":10,"\u00f4":10,"\u00f6":10,"\u0153":10,"\u00f2":10,"\u0151":10,"\u014d":10,"\u00f8":10,"\u00f5":10,"q":10,"\u014f":10,"g":10,"\u011f":10,"\u011d":10,"\u0123":10,"\u0121":10,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,"z":10,"\u017a":10,"\u017e":10,"\u017c":10,",":40,".":40,":":40,";":40}},"\u0159":{"d":"280,-442v-71,-59,-180,-8,-180,89r0,353r-40,0r0,-500r40,0r0,51v43,-46,109,-75,180,-40r0,47xm266,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0","w":300,"k":{"v":10,"u":10,"r":10,"-":30,"c":10,"\u0107":10,"\u010d":10,"\u00e7":10,"\u0109":10,"\u010b":10,"\u00a2":10,"d":10,"\u010f":10,"\u0111":10,"e":10,"\u00e9":10,"\u0115":10,"\u011b":10,"\u00ea":10,"\u00eb":10,"\u0117":10,"\u00e8":10,"\u0113":10,"\u0119":10,"\u00f0":10,"o":10,"\u00f3":10,"\u00f4":10,"\u00f6":10,"\u0153":10,"\u00f2":10,"\u0151":10,"\u014d":10,"\u00f8":10,"\u00f5":10,"q":10,"\u014f":10,"g":10,"\u011f":10,"\u011d":10,"\u0123":10,"\u0121":10,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,"z":10,"\u017a":10,"\u017e":10,"\u017c":10,",":40,".":40,":":40,";":40}},"\u00ae":{"d":"250,-18v-159,-63,-278,-262,-192,-472v51,-125,162,-220,332,-220v169,0,277,98,332,220v38,86,38,194,0,280v-56,123,-162,220,-332,220v-50,0,-96,-11,-140,-28xm266,-645v-141,56,-242,230,-171,419v53,141,236,242,419,171v140,-54,242,-236,171,-419v-54,-140,-237,-243,-419,-171xm563,-475v0,88,-72,130,-177,120r181,255r-49,0r-181,-255r0,-40r103,0v49,-3,80,-33,83,-80v3,-48,-36,-86,-83,-85r-125,0r0,460r-40,0r0,-500r165,0v76,3,123,48,123,125","w":780},"s":{"d":"185,-465v-75,0,-123,103,-61,149v46,34,131,30,170,73v21,24,39,51,41,93v7,138,-167,202,-257,110v-24,-25,-43,-59,-43,-105r40,0v-1,64,44,110,110,110v94,0,148,-124,79,-183v-43,-38,-130,-31,-170,-72v-19,-20,-38,-44,-39,-80v-4,-110,113,-167,206,-114v23,14,40,31,53,53r-32,21v-16,-32,-50,-55,-97,-55","w":370},"\u015b":{"d":"185,-465v-75,0,-123,103,-61,149v46,34,131,30,170,73v21,24,39,51,41,93v7,138,-167,202,-257,110v-24,-25,-43,-59,-43,-105r40,0v-1,64,44,110,110,110v94,0,148,-124,79,-183v-43,-38,-130,-31,-170,-72v-19,-20,-38,-44,-39,-80v-4,-110,113,-167,206,-114v23,14,40,31,53,53r-32,21v-16,-32,-50,-55,-97,-55xm166,-590r39,-120r44,0r-51,120r-32,0","w":370},"\u0161":{"d":"277,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0xm185,-465v-75,0,-123,103,-61,149v46,34,131,30,170,73v21,24,39,51,41,93v7,138,-167,202,-257,110v-24,-25,-43,-59,-43,-105r40,0v-1,64,44,110,110,110v94,0,148,-124,79,-183v-43,-38,-130,-31,-170,-72v-19,-20,-38,-44,-39,-80v-4,-110,113,-167,206,-114v23,14,40,31,53,53r-32,21v-16,-32,-50,-55,-97,-55","w":370},"\u015f":{"d":"185,-465v-75,0,-123,103,-61,149v46,34,131,30,170,73v21,24,39,51,41,93v7,138,-167,202,-257,110v-24,-25,-43,-59,-43,-105r40,0v-1,64,44,110,110,110v94,0,148,-124,79,-183v-43,-38,-130,-31,-170,-72v-19,-20,-38,-44,-39,-80v-4,-110,113,-167,206,-114v23,14,40,31,53,53r-32,21v-16,-32,-50,-55,-97,-55xm206,90v0,-17,-14,-30,-30,-30r0,-30v31,-1,60,28,60,60v0,49,-67,82,-102,42r21,-21v18,20,51,4,51,-21","w":370},"\u015d":{"d":"185,5v128,8,193,-159,109,-248v-53,-56,-189,-26,-199,-127v-5,-54,38,-95,90,-95v47,0,81,23,97,55r32,-21v-23,-40,-69,-74,-129,-74v-113,0,-169,141,-91,215v57,54,200,28,201,140v1,69,-45,115,-110,115v-66,0,-110,-46,-110,-110r-40,0v5,90,59,145,150,150xm232,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":370},"\u0219":{"d":"185,-465v-75,0,-123,103,-61,149v46,34,131,30,170,73v21,24,39,51,41,93v7,138,-167,202,-257,110v-24,-25,-43,-59,-43,-105r40,0v-1,64,44,110,110,110v94,0,148,-124,79,-183v-43,-38,-130,-31,-170,-72v-19,-20,-38,-44,-39,-80v-4,-110,113,-167,206,-114v23,14,40,31,53,53r-32,21v-16,-32,-50,-55,-97,-55xm202,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":370},"\u00a7":{"d":"322,-135v5,124,-157,183,-239,99v-23,-23,-41,-56,-41,-99r40,0v-1,55,45,100,100,100v76,0,124,-85,88,-157v-46,-92,-170,-108,-222,-191v-20,-32,-5,-75,15,-100v-13,-22,-21,-49,-21,-82v0,-124,157,-183,239,-99v23,23,41,56,41,99r-40,0v1,-55,-45,-100,-100,-100v-76,0,-124,85,-88,157v46,92,170,108,222,191v20,32,5,76,-15,101v13,21,20,49,21,81xm276,-302v-49,-61,-139,-85,-188,-146v-28,61,39,86,78,112v37,25,81,50,110,84v9,-18,12,-35,0,-50","w":364},";":{"d":"85,-310v-18,0,-35,-17,-35,-35v0,-18,17,-35,35,-35v18,0,35,17,35,35v0,18,-17,35,-35,35xm120,-35v-1,52,-25,87,-50,115r-20,0v16,-34,30,-62,8,-93v-16,-23,-1,-57,27,-57v18,0,36,17,35,35","w":170},"7":{"d":"398,-700v-11,308,-262,378,-258,700r-40,0v-7,-308,216,-394,254,-660r-304,0r0,-40r348,0","w":438},"6":{"d":"100,-403v36,-39,85,-71,155,-71v143,0,215,104,205,269v-8,126,-80,210,-205,210v-143,0,-205,-104,-205,-269v0,-243,69,-426,300,-441r0,40v-168,2,-227,115,-250,262xm420,-205v9,-138,-43,-229,-165,-229v-122,0,-174,89,-165,229v7,102,64,170,165,170v101,0,159,-68,165,-170","w":510},"\/":{"d":"30,0r168,-700r41,0r-168,700r-41,0","w":269},"\u0102":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357xm311,-830v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00a3":{"d":"270,-304r-170,0r0,264r300,0r0,40r-340,0r0,-550v4,-100,67,-157,170,-154r0,40v-78,-7,-130,36,-130,114r0,206r170,0r0,40","w":420},"t":{"d":"110,-150v2,76,50,120,130,114r0,40v-101,4,-170,-53,-170,-154r0,-310r-40,0r0,-40r40,0r0,-200r40,0r0,200r90,0r0,40r-90,0r0,310","w":260},"\u0165":{"d":"130,-150v2,76,50,120,130,114r0,40v-101,4,-170,-53,-170,-154r0,-310r-40,0r0,-40r40,0r0,-200r40,0r0,200r90,0r0,40r-90,0r0,310xm243,-700r-21,120r-25,0r0,-120r46,0","w":290},"\u0163":{"d":"130,-150v2,76,50,120,130,114r0,40v-101,4,-170,-53,-170,-154r0,-310r-40,0r0,-40r40,0r0,-200r40,0r0,200r90,0r0,40r-90,0r0,310xm160,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":290},"\u00fe":{"d":"360,-155v3,118,-111,187,-220,138r0,-44v71,50,180,6,180,-94r0,-195v1,-70,-41,-115,-110,-115v-65,0,-110,46,-110,115r0,610r-40,0r0,-960r40,0r0,253v24,-25,63,-59,110,-58v93,3,150,61,150,155r0,195","w":405},"3":{"d":"371,-205v0,-94,-69,-150,-165,-155r0,-40v78,-2,130,-50,130,-125v0,-84,-48,-140,-130,-140v-61,0,-105,31,-133,68r-33,-22v33,-47,91,-86,166,-86v105,0,170,73,170,180v0,78,-41,119,-112,143v90,25,145,81,147,177v4,158,-153,255,-299,187v-30,-14,-53,-36,-72,-61r33,-23v28,38,72,67,133,67v101,0,165,-67,165,-170","w":461},"\u00be":{"d":"131,0r168,-700r41,0r-168,700r-41,0xm266,-107r45,-168r41,0r-42,158r29,0r0,-56r40,0r0,56r35,0r0,40r-35,0r0,77r-40,0r0,-77r-73,0r0,-30xm173,-514v0,-25,-30,-42,-58,-41r2,-40v19,1,43,-14,43,-30v1,-21,-12,-37,-32,-37v-19,0,-31,15,-42,28r-36,-20v17,-24,44,-46,78,-48v61,-4,96,84,52,125v64,43,24,155,-52,150v-34,-2,-61,-24,-78,-48r36,-20v11,14,22,27,42,28v25,1,46,-21,45,-47","w":454},"\u00b3":{"d":"173,-514v0,-25,-30,-42,-58,-41r2,-40v19,1,43,-14,43,-30v1,-21,-12,-37,-32,-37v-19,0,-31,15,-42,28r-36,-20v17,-24,44,-46,78,-48v61,-4,96,84,52,125v64,43,24,155,-52,150v-34,-2,-61,-24,-78,-48r36,-20v11,14,22,27,42,28v25,1,46,-21,45,-47","w":262},"2":{"d":"220,-705v110,0,178,62,178,170v0,109,-78,165,-134,220v-75,74,-156,143,-172,275r305,0r0,40r-347,0v2,-233,169,-303,271,-436v20,-27,37,-58,37,-99v0,-83,-53,-130,-138,-130v-61,0,-105,31,-133,68r-33,-22v33,-47,91,-86,166,-86","w":448},"\u00b2":{"d":"129,-702v47,-2,75,31,75,73v0,79,-88,92,-105,160r105,0r0,40r-148,0v-2,-92,53,-126,96,-172v22,-23,11,-63,-23,-61v-19,1,-32,14,-43,28r-36,-20v18,-24,43,-47,79,-48","w":254},"u":{"d":"205,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115","w":415},"\u00fa":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm197,-590r39,-120r44,0r-51,120r-32,0","w":420},"\u016d":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm292,-656v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":420},"\u00fb":{"d":"400,-40v-46,-2,-40,-55,-40,-104r0,-356r-40,0r0,355v-1,65,-47,110,-110,110v-69,0,-111,-45,-110,-115r0,-350r-40,0r0,350v4,94,57,155,150,155v53,0,94,-27,119,-59v10,33,28,54,71,54r0,-40xm257,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":420},"\u00fc":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm143,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm273,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":420},"\u00f9":{"d":"400,-40v-46,-2,-40,-55,-40,-104r0,-356r-40,0r0,355v-1,65,-47,110,-110,110v-69,0,-111,-45,-110,-115r0,-350r-40,0r0,350v4,94,57,155,150,155v53,0,94,-27,119,-59v10,33,28,54,71,54r0,-40xm205,-590r-53,-120r46,0r39,120r-32,0","w":420},"\u0171":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm115,-590r39,-120r44,0r-51,120r-32,0xm266,-590r39,-120r44,0r-51,120r-32,0","w":420},"\u016b":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm300,-670r0,40r-180,0r0,-40r180,0","w":420},"_":{"d":"570,80r-500,0r0,-40r500,0r0,40","w":640},"\u00ad":{"w":833},"\u016f":{"d":"210,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm211,-700v-30,0,-55,25,-55,55v0,30,25,55,55,55v30,0,55,-25,55,-55v0,-30,-25,-55,-55,-55xm211,-560v-45,0,-85,-40,-85,-85v0,-45,40,-85,85,-85v45,0,85,40,85,85v0,45,-40,85,-85,85","w":420},"v":{"d":"62,-500r110,450r110,-450r42,0r-122,500r-60,0r-122,-500r42,0","w":344,"k":{";":40,".":40,",":40,":":40,"\u00e3":40,"\u00e5":40,"\u0105":40,"\u0101":40,"\u00e0":40,"\u00e6":40,"\u00e4":40,"\u00e2":40,"\u0103":40,"\u00e1":40,"a":40,"w":5,"v":10,"u":10,"r":10,"p":10,"o":20,"n":10,"m":10,"i":10,"-":20,"e":20,"O":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"\u00c2":80,"\u00c4":80,"\u00c0":80,"\u0100":80,"\u0104":80,"\u00c5":80,"\u00c3":80,"\/":80,"\u0102":80,"A":80,"\u00c1":80}},"w":{"d":"500,-500r-92,500r-65,0r-83,-452r-83,452r-65,0r-92,-500r42,0r83,452r83,-452r65,0r83,452r82,-452r42,0","w":520,"k":{"-":10,",":20,".":20,":":20,";":20}},"x":{"d":"155,-200r-90,200r-45,0r112,-250r-112,-250r45,0r90,200r90,-200r45,0r-113,250r113,250r-45,0","w":310,"k":{"o":10,"e":10}},"y":{"d":"151,33r-131,-533r42,0r110,449r111,-449r42,0r-162,651v-18,66,-67,108,-143,115r0,-40v50,-3,93,-39,104,-83","w":345,"k":{"-":20,",":30,".":30,":":30,";":30}},"\u00fd":{"d":"151,33r-131,-533r42,0r110,449r111,-449r42,0r-162,651v-18,66,-67,108,-143,115r0,-40v50,-3,93,-39,104,-83xm165,-590r39,-120r44,0r-51,120r-32,0","w":345,"k":{"-":20,",":30,".":30,":":30,";":30}},"\u00ff":{"d":"151,33r-131,-533r42,0r110,449r111,-449r42,0r-162,651v-18,66,-67,108,-143,115r0,-40v50,-3,93,-39,104,-83xm108,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25xm238,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":345,"k":{"-":20,",":30,".":30,":":30,";":30}},"\u00a5":{"d":"95,-254r91,0r0,-50r-91,0r0,-40r91,0r-161,-356r46,0r135,300r135,-300r44,0r-159,356r79,0r0,40r-79,0r0,50r79,0r0,40r-79,0r0,214r-40,0r0,-214r-91,0r0,-40","w":410},"z":{"d":"88,-40r217,0r0,40r-280,0r207,-460r-197,0r0,-40r260,0","w":330,"k":{"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u017a":{"d":"88,-40r217,0r0,40r-280,0r207,-460r-197,0r0,-40r260,0xm146,-590r39,-120r44,0r-51,120r-32,0","w":330,"k":{"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u017e":{"d":"257,-710r-70,120r-46,0r-70,-120r46,0r47,101r47,-101r46,0xm88,-40r217,0r0,40r-280,0r207,-460r-197,0r0,-40r260,0","w":330,"k":{"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"\u017c":{"d":"88,-40r217,0r0,40r-280,0r207,-460r-197,0r0,-40r260,0xm179,-590v-14,0,-25,-11,-25,-25v0,-14,11,-25,25,-25v14,0,25,11,25,25v0,14,-11,25,-25,25","w":330,"k":{"a":15,"\u00e1":15,"\u0103":15,"\u00e2":15,"\u00e4":15,"\u00e6":15,"\u00e0":15,"\u0101":15,"\u0105":15,"\u00e5":15,"\u00e3":15}},"0":{"d":"255,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm255,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170","w":510,"k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u014c":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm360,-820r0,40r-180,0r0,-40r180,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u014e":{"d":"270,5v-125,0,-205,-83,-205,-210r0,-290v6,-126,80,-210,205,-210v125,0,205,83,205,210r0,290v-6,126,-80,210,-205,210xm270,-35v101,0,165,-67,165,-170r0,-290v-4,-103,-64,-170,-165,-170v-101,0,-165,67,-165,170r0,290v4,103,64,170,165,170xm355,-830v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u014f":{"d":"345,-150v-4,93,-58,155,-150,155v-93,0,-150,-61,-150,-155r0,-200v3,-95,56,-155,150,-155v93,0,150,61,150,155r0,200xm195,-465v-69,0,-111,44,-110,115r0,200v-1,70,41,115,110,115v65,0,110,-46,110,-115r0,-200v2,-70,-44,-115,-110,-115xm280,-656v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","w":390},"\u0156":{"d":"460,-530v0,94,-68,155,-165,160r-96,0r267,370r-49,0r-267,-370r0,-40r145,0v73,-3,125,-50,125,-120v0,-80,-49,-130,-125,-130r-185,0r0,660r-40,0r0,-700r225,0v100,7,165,66,165,170xm273,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":496,"k":{"y":30,"u":10,"T":40,"V":30,"\\":30,"v":30,"\u00fd":30,"\u00ff":30,"\u0177":30,"W":20,"w":20,"\u0174":20,"\u0175":20,"Y":20,"\u00dd":20,"\u0178":20,"\u0176":20,"c":20,"\u0107":20,"\u010d":20,"\u00e7":20,"\u0109":20,"\u010b":20,"\u00a2":20,"d":20,"\u010f":20,"\u0111":20,"e":20,"\u00e9":20,"\u0115":20,"\u011b":20,"\u00ea":20,"\u00eb":20,"\u0117":20,"\u00e8":20,"\u0113":20,"\u0119":20,"\u00f0":20,"o":20,"\u00f3":20,"\u00f4":20,"\u00f6":20,"\u0153":20,"\u00f2":20,"\u0151":20,"\u014d":20,"\u00f8":20,"\u00f5":20,"q":20,"\u014f":20,"s":30,"\u015b":30,"\u0161":30,"\u015f":30,"\u015d":30,"\u0219":30,"\u00c2":30,"\u00c4":30,"\u00c0":30,"\u0100":30,"\u0104":30,"\u00c5":30,"\u00c3":30,"\/":30,"\u0102":30,"A":30,"\u00c1":30,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30}},"\u0157":{"d":"280,-442v-71,-59,-180,-8,-180,89r0,353r-40,0r0,-500r40,0r0,51v43,-46,109,-75,180,-40r0,47xm175,40v2,63,-5,82,-30,130r-20,0v13,-40,20,-83,20,-130r30,0","w":300,"k":{"v":10,"u":10,"r":10,"-":30,"c":10,"\u0107":10,"\u010d":10,"\u00e7":10,"\u0109":10,"\u010b":10,"\u00a2":10,"d":10,"\u010f":10,"\u0111":10,"e":10,"\u00e9":10,"\u0115":10,"\u011b":10,"\u00ea":10,"\u00eb":10,"\u0117":10,"\u00e8":10,"\u0113":10,"\u0119":10,"\u00f0":10,"o":10,"\u00f3":10,"\u00f4":10,"\u00f6":10,"\u0153":10,"\u00f2":10,"\u0151":10,"\u014d":10,"\u00f8":10,"\u00f5":10,"q":10,"\u014f":10,"g":10,"\u011f":10,"\u011d":10,"\u0123":10,"\u0121":10,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,"z":10,"\u017a":10,"\u017e":10,"\u017c":10,",":40,".":40,":":40,";":40}},"\u015c":{"d":"245,-705v-105,0,-170,73,-170,180v0,102,82,144,170,165v84,20,165,57,165,155v0,103,-64,170,-165,170v-99,0,-159,-66,-165,-165r-40,0v7,123,82,205,205,205v125,0,205,-83,205,-210v0,-120,-91,-174,-197,-196v-70,-15,-138,-46,-138,-124v0,-84,48,-140,130,-140v61,0,105,31,133,68r33,-22v-33,-47,-91,-86,-166,-86xm292,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":490,"k":{"w":30,"v":40,"T":60,"V":40,"\\":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"\u0174":30,"\u0175":30,"Y":45,"\u00dd":45,"\u0178":45,"\u0176":45,"S":40,"\u015a":40,"\u0160":40,"\u015e":40,"\u0218":40,"\u015c":40,"g":20,"\u011f":20,"\u011d":20,"\u0123":20,"\u0121":20,"\u00c2":10,"\u00c4":10,"\u00c0":10,"\u0100":10,"\u0104":10,"\u00c5":10,"\u00c3":10,"\/":10,"\u0102":10,"A":10,"\u00c1":10,"z":5,"\u017a":5,"\u017e":5,"\u017c":5}},"\u0166":{"d":"20,-700r410,0r0,40r-185,0r0,250r80,0r0,40r-80,0r0,370r-40,0r0,-370r-80,0r0,-40r80,0r0,-250r-185,0r0,-40","w":450},"\u0167":{"d":"110,-150v2,76,50,120,130,114r0,40v-101,4,-170,-53,-170,-154r0,-130r-40,0r0,-40r40,0r0,-140r-40,0r0,-40r40,0r0,-200r40,0r0,200r90,0r0,40r-90,0r0,140r90,0r0,40r-90,0r0,130","w":240},"\u0168":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm210,-804v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0169":{"d":"205,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm147,-657v-22,0,-37,16,-45,34r-36,-16v14,-33,41,-52,81,-53v54,-1,69,49,121,49v23,0,38,-17,45,-36r36,16v-15,34,-39,55,-81,55v-53,0,-69,-49,-121,-49","w":415},"\u016a":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm360,-820r0,40r-180,0r0,-40r180,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u016c":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm355,-830v4,71,-95,114,-145,60v-16,-17,-25,-37,-25,-60r30,0v-1,30,25,55,55,55v30,0,56,-25,55,-55r30,0","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0172":{"d":"270,-35v101,0,165,-67,165,-170r0,-495r40,0r0,495v-6,126,-80,210,-205,210v-125,0,-205,-83,-205,-210r0,-495r40,0r0,495v4,103,64,170,165,170xm258,90v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","k":{"J":10,"V":40,"\\":40,"v":40,"y":40,"\u00fd":40,"\u00ff":40,"\u0177":40,"W":30,"w":30,"\u0174":30,"\u0175":30,"Y":50,"\u00dd":50,"\u0178":50,"\u0176":50,"\u00c2":40,"\u00c4":40,"\u00c0":40,"\u0100":40,"\u0104":40,"\u00c5":40,"\u00c3":40,"\/":40,"\u0102":40,"A":40,"\u00c1":40,"a":10,"\u00e1":10,"\u0103":10,"\u00e2":10,"\u00e4":10,"\u00e6":10,"\u00e0":10,"\u0101":10,"\u0105":10,"\u00e5":10,"\u00e3":10}},"\u0173":{"d":"205,-35v63,0,110,-45,110,-110r0,-355r40,0r0,356v1,49,-6,102,40,104r0,40v-43,0,-61,-21,-71,-54v-25,32,-66,59,-119,59v-93,0,-150,-61,-150,-155r0,-350r40,0r0,350v-1,70,41,115,110,115xm330,90v0,20,22,37,42,27r12,27v-40,21,-84,-14,-84,-54v0,-41,43,-73,85,-55r-13,28v-20,-10,-42,6,-42,27","w":415},"\u0174":{"d":"218,0r120,-650r118,650r65,0r130,-700r-42,0r-120,650r-119,-650r-65,0r-120,651r-119,-651r-41,0r128,700r65,0xm385,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":676,"k":{"y":10,"u":10,"r":10,"o":10,"-":20,"e":10,"O":10,"\u00c2":50,"\u00c4":50,"\u00c0":50,"\u0100":50,"\u0104":50,"\u00c5":50,"\u00c3":50,"\/":50,"\u0102":50,"A":50,"\u00c1":50,"a":30,"\u00e1":30,"\u0103":30,"\u00e2":30,"\u00e4":30,"\u00e6":30,"\u00e0":30,"\u0101":30,"\u0105":30,"\u00e5":30,"\u00e3":30,",":30,".":30,":":30,";":30}},"\u0175":{"d":"458,-500r-82,452r-83,-452r-65,0r-83,452r-83,-452r-42,0r92,500r65,0r83,-452r83,452r65,0r92,-500r-42,0xm307,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":520,"k":{"-":10,",":20,".":20,":":20,";":20}},"\u0176":{"d":"385,-700r-44,0r-135,300r-135,-300r-46,0r161,356r0,344r40,0r0,-344xm252,-750r-47,-67r-47,67r-51,0r75,-86r46,0r75,86r-51,0","w":410,"k":{"v":40,"u":35,"r":30,"p":30,"o":50,"i":30,"-":40,"e":50,"C":30,"\u0106":30,"\u010c":30,"\u00c7":30,"\u0108":30,"\u010a":30,"G":30,"\u011e":30,"\u011c":30,"\u0122":30,"\u0120":30,"O":30,"\u0152":30,"\u00d3":30,"\u00d4":30,"\u00d6":30,"\u00d2":30,"\u0150":30,"\u00d8":30,"\u00d5":30,"Q":30,"U":30,"\u00da":30,"\u00db":30,"\u00dc":30,"\u00d9":30,"\u0170":30,"\u016e":30,"6":30,"0":30,"\u014c":30,"\u014e":30,"\u0168":30,"\u016a":30,"\u016c":30,"\u0172":30,"s":50,"\u015b":50,"\u0161":50,"\u015f":50,"\u015d":50,"\u0219":50,"\u00c2":90,"\u00c4":90,"\u00c0":90,"\u0100":90,"\u0104":90,"\u00c5":90,"\u00c3":90,"\/":90,"\u0102":90,"A":90,"\u00c1":90,"a":60,"\u00e1":60,"\u0103":60,"\u00e2":60,"\u00e4":60,"\u00e6":60,"\u00e0":60,"\u0101":60,"\u0105":60,"\u00e5":60,"\u00e3":60,",":50,".":50,":":50,";":50}},"\u0177":{"d":"151,33v-19,61,-18,135,-65,169v-20,15,-42,23,-66,24r0,40v76,-7,127,-49,143,-115r162,-651r-42,0r-111,449r-110,-449r-42,0xm219,-590r-47,-101r-47,101r-46,0r70,-120r46,0r70,120r-46,0","w":345,"k":{"-":20,",":30,".":30,":":30,";":30}},"\u017f":{"d":"110,-550r0,550r-40,0r0,-460r-40,0r0,-40r40,0v-10,-129,45,-206,170,-204r0,40v-78,-7,-130,36,-130,114","w":240,"k":{"T":20}},"\u20a3":{"d":"10,-254r60,0r0,-446r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,116r60,0r0,40r-60,0r0,214r-40,0r0,-214r-60,0r0,-40","w":430},"\u00df":{"d":"320,-310v0,-66,-47,-101,-115,-100r0,-40v70,0,115,-30,115,-100v0,-70,-41,-115,-110,-115v-65,0,-110,46,-110,115r0,550r-40,0r0,-550v4,-93,58,-155,150,-155v93,0,150,61,150,155v0,63,-35,95,-76,120v41,25,76,58,76,120v0,102,16,219,-44,272v-26,23,-60,43,-106,43r0,-40v65,0,110,-46,110,-115r0,-160","w":405},"A":{"d":"427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}},"\u00c6":{"d":"387,-260r-188,0r-134,260r-40,0r362,-700r340,0r0,40r-300,0r0,250r200,0r0,40r-200,0r0,330r300,0r0,40r-340,0r0,-260xm387,-300r0,-323r-167,323r167,0","w":767,"k":{"x":10,"w":10,"v":20,"c":15,"\u0107":15,"\u010d":15,"\u00e7":15,"\u0109":15,"\u010b":15,"\u00a2":15,"d":15,"\u010f":15,"\u0111":15,"e":15,"\u00e9":15,"\u0115":15,"\u011b":15,"\u00ea":15,"\u00eb":15,"\u0117":15,"\u00e8":15,"\u0113":15,"\u0119":15,"\u00f0":15,"o":15,"\u00f3":15,"\u00f4":15,"\u00f6":15,"\u0153":15,"\u00f2":15,"\u0151":15,"\u014d":15,"\u00f8":15,"\u00f5":15,"q":15,"\u014f":15,"g":30,"\u011f":30,"\u011d":30,"\u0123":30,"\u0121":30,"s":20,"\u015b":20,"\u0161":20,"\u015f":20,"\u015d":20,"\u0219":20,"a":20,"\u00e1":20,"\u0103":20,"\u00e2":20,"\u00e4":20,"\u00e6":20,"\u00e0":20,"\u0101":20,"\u0105":20,"\u00e5":20,"\u00e3":20,"f":10,"\u0192":10,"\u017f":10}},"\u00c1":{"d":"214,-750r37,-96r44,0r-49,96r-32,0xm427,0r-40,0r-64,-260r-194,0r-64,260r-40,0r171,-700r60,0xm139,-300r174,0r-87,-357","w":452,"k":{"y":45,"w":40,"v":50,"u":10,"T":80}}}});
















jQuery.noConflict();





//Lightbox


//prototype.js
/*  Prototype JavaScript framework, version 1.5.1
 *  (c) 2005-2007 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
/*--------------------------------------------------------------------------*/

var Prototype = {
  Version: '1.5.1',

  Browser: {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
  },

  BrowserFeatures: {
    XPath: !!document.evaluate,
    ElementExtensions: !!window.HTMLElement,
    SpecificElementExtensions:
      (document.createElement('div').__proto__ !==
       document.createElement('form').__proto__)
  },

  ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',
  JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,

  emptyFunction: function() { },
  K: function(x) { return x }
}

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

var Abstract = new Object();

Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}

Object.extend(Object, {
  inspect: function(object) {
    try {
      if (object === undefined) return 'undefined';
      if (object === null) return 'null';
      return object.inspect ? object.inspect() : object.toString();
    } catch (e) {
      if (e instanceof RangeError) return '...';
      throw e;
    }
  },

  toJSON: function(object) {
    var type = typeof object;
    switch(type) {
      case 'undefined':
      case 'function':
      case 'unknown': return;
      case 'boolean': return object.toString();
    }
    if (object === null) return 'null';
    if (object.toJSON) return object.toJSON();
    if (object.ownerDocument === document) return;
    var results = [];
    for (var property in object) {
      var value = Object.toJSON(object[property]);
      if (value !== undefined)
        results.push(property.toJSON() + ': ' + value);
    }
    return '{' + results.join(', ') + '}';
  },

  keys: function(object) {
    var keys = [];
    for (var property in object)
      keys.push(property);
    return keys;
  },

  values: function(object) {
    var values = [];
    for (var property in object)
      values.push(object[property]);
    return values;
  },

  clone: function(object) {
    return Object.extend({}, object);
  }
});

Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

Function.prototype.bindAsEventListener = function(object) {
  var __method = this, args = $A(arguments), object = args.shift();
  return function(event) {
    return __method.apply(object, [event || window.event].concat(args));
  }
}

Object.extend(Number.prototype, {
  toColorPart: function() {
    return this.toPaddedString(2, 16);
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  },

  toPaddedString: function(length, radix) {
    var string = this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  },

  toJSON: function() {
    return isFinite(this) ? this.toString() : 'null';
  }
});

Date.prototype.toJSON = function() {
  return '"' + this.getFullYear() + '-' +
    (this.getMonth() + 1).toPaddedString(2) + '-' +
    this.getDate().toPaddedString(2) + 'T' +
    this.getHours().toPaddedString(2) + ':' +
    this.getMinutes().toPaddedString(2) + ':' +
    this.getSeconds().toPaddedString(2) + '"';
};

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}

/*--------------------------------------------------------------------------*/

var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  stop: function() {
    if (!this.timer) return;
    clearInterval(this.timer);
    this.timer = null;
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.callback(this);
      } finally {
        this.currentlyExecuting = false;
      }
    }
  }
}
Object.extend(String, {
  interpret: function(value) {
    return value == null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, {
  gsub: function(pattern, replacement) {
    var result = '', source = this, match;
    replacement = arguments.callee.prepareReplacement(replacement);

    while (source.length > 0) {
      if (match = source.match(pattern)) {
        result += source.slice(0, match.index);
        result += String.interpret(replacement(match));
        source  = source.slice(match.index + match[0].length);
      } else {
        result += source, source = '';
      }
    }
    return result;
  },

  sub: function(pattern, replacement, count) {
    replacement = this.gsub.prepareReplacement(replacement);
    count = count === undefined ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  },

  scan: function(pattern, iterator) {
    this.gsub(pattern, iterator);
    return this;
  },

  truncate: function(length, truncation) {
    length = length || 30;
    truncation = truncation === undefined ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : this;
  },

  strip: function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  },

  extractScripts: function() {
    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(function(script) { return eval(script) });
  },

  escapeHTML: function() {
    var self = arguments.callee;
    self.text.data = this;
    return self.div.innerHTML;
  },

  unescapeHTML: function() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? (div.childNodes.length > 1 ?
      $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
      div.childNodes[0].nodeValue) : '';
  },

  toQueryParams: function(separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return {};

    return match[1].split(separator || '&').inject({}, function(hash, pair) {
      if ((pair = pair.split('='))[0]) {
        var key = decodeURIComponent(pair.shift());
        var value = pair.length > 1 ? pair.join('=') : pair[0];
        if (value != undefined) value = decodeURIComponent(value);

        if (key in hash) {
          if (hash[key].constructor != Array) hash[key] = [hash[key]];
          hash[key].push(value);
        }
        else hash[key] = value;
      }
      return hash;
    });
  },

  toArray: function() {
    return this.split('');
  },

  succ: function() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  },

  times: function(count) {
    var result = '';
    for (var i = 0; i < count; i++) result += this;
    return result;
  },

  camelize: function() {
    var parts = this.split('-'), len = parts.length;
    if (len == 1) return parts[0];

    var camelized = this.charAt(0) == '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i = 1; i < len; i++)
      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
  },

  underscore: function() {
    return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
  },

  dasherize: function() {
    return this.gsub(/_/,'-');
  },

  inspect: function(useDoubleQuotes) {
    var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character = String.specialChar[match[0]];
      return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  },

  toJSON: function() {
    return this.inspect(true);
  },

  unfilterJSON: function(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  },

  evalJSON: function(sanitize) {
    var json = this.unfilterJSON();
    try {
      if (!sanitize || (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(json)))
        return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) === 0;
  },

  endsWith: function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
  },

  empty: function() {
    return this == '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
  escapeHTML: function() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  },
  unescapeHTML: function() {
    return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
  }
});

String.prototype.gsub.prepareReplacement = function(replacement) {
  if (typeof replacement == 'function') return replacement;
  var template = new Template(replacement);
  return function(match) { return template.evaluate(match) };
}

String.prototype.parseQuery = String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

with (String.prototype.escapeHTML) div.appendChild(text);

var Template = Class.create();
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype = {
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern  = pattern || Template.Pattern;
  },

  evaluate: function(object) {
    return this.template.gsub(this.pattern, function(match) {
      var before = match[1];
      if (before == '\\') return match[2];
      return before + String.interpret(object[match[3]]);
    });
  }
}

var $break = {}, $continue = new Error('"throw $continue" is deprecated, use "return" instead');

var Enumerable = {
  each: function(iterator) {
    var index = 0;
    try {
      this._each(function(value) {
        iterator(value, index++);
      });
    } catch (e) {
      if (e != $break) throw e;
    }
    return this;
  },

  eachSlice: function(number, iterator) {
    var index = -number, slices = [], array = this.toArray();
    while ((index += number) < array.length)
      slices.push(array.slice(index, index+number));
    return slices.map(iterator);
  },

  all: function(iterator) {
    var result = true;
    this.each(function(value, index) {
      result = result && !!(iterator || Prototype.K)(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator) {
    var result = false;
    this.each(function(value, index) {
      if (result = !!(iterator || Prototype.K)(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      results.push((iterator || Prototype.K)(value, index));
    });
    return results;
  },

  detect: function(iterator) {
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result = value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(pattern, iterator) {
    var results = [];
    this.each(function(value, index) {
      var stringValue = value.toString();
      if (stringValue.match(pattern))
        results.push((iterator || Prototype.K)(value, index));
    })
    return results;
  },

  include: function(object) {
    var found = false;
    this.each(function(value) {
      if (value == object) {
        found = true;
        throw $break;
      }
    });
    return found;
  },

  inGroupsOf: function(number, fillWith) {
    fillWith = fillWith === undefined ? null : fillWith;
    return this.eachSlice(number, function(slice) {
      while(slice.length < number) slice.push(fillWith);
      return slice;
    });
  },

  inject: function(memo, iterator) {
    this.each(function(value, index) {
      memo = iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args = $A(arguments).slice(1);
    return this.map(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (result == undefined || value >= result)
        result = value;
    });
    return result;
  },

  min: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (result == undefined || value < result)
        result = value;
    });
    return result;
  },

  partition: function(iterator) {
    var trues = [], falses = [];
    this.each(function(value, index) {
      ((iterator || Prototype.K)(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results = [];
    this.each(function(value, index) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator) {
    return this.map(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a = left.criteria, b = right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.map();
  },

  zip: function() {
    var iterator = Prototype.K, args = $A(arguments);
    if (typeof args.last() == 'function')
      iterator = args.pop();

    var collections = [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  },

  size: function() {
    return this.toArray().length;
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
}

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray
});
var $A = Array.from = function(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results = [];
    for (var i = 0, length = iterable.length; i < length; i++)
      results.push(iterable[i]);
    return results;
  }
}

if (Prototype.Browser.WebKit) {
  $A = Array.from = function(iterable) {
    if (!iterable) return [];
    if (!(typeof iterable == 'function' && iterable == '[object NodeList]') &&
      iterable.toArray) {
      return iterable.toArray();
    } else {
      var results = [];
      for (var i = 0, length = iterable.length; i < length; i++)
        results.push(iterable[i]);
      return results;
    }
  }
}

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse)
  Array.prototype._reverse = Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i = 0, length = this.length; i < length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length = 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value != null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(value && value.constructor == Array ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values = $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  indexOf: function(object) {
    for (var i = 0, length = this.length; i < length; i++)
      if (this[i] == object) return i;
    return -1;
  },

  reverse: function(inline) {
    return (inline !== false ? this : this.toArray())._reverse();
  },

  reduce: function() {
    return this.length > 1 ? this : this[0];
  },

  uniq: function(sorted) {
    return this.inject([], function(array, value, index) {
      if (0 == index || (sorted ? array.last() != value : !array.include(value)))
        array.push(value);
      return array;
    });
  },

  clone: function() {
    return [].concat(this);
  },

  size: function() {
    return this.length;
  },

  inspect: function() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  },

  toJSON: function() {
    var results = [];
    this.each(function(object) {
      var value = Object.toJSON(object);
      if (value !== undefined) results.push(value);
    });
    return '[' + results.join(', ') + ']';
  }
});

Array.prototype.toArray = Array.prototype.clone;

function $w(string) {
  string = string.strip();
  return string ? string.split(/\s+/) : [];
}

if (Prototype.Browser.Opera){
  Array.prototype.concat = function() {
    var array = [];
    for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
    for (var i = 0, length = arguments.length; i < length; i++) {
      if (arguments[i].constructor == Array) {
        for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
          array.push(arguments[i][j]);
      } else {
        array.push(arguments[i]);
      }
    }
    return array;
  }
}
var Hash = function(object) {
  if (object instanceof Hash) this.merge(object);
  else Object.extend(this, object || {});
};

Object.extend(Hash, {
  toQueryString: function(obj) {
    var parts = [];
    parts.add = arguments.callee.addPair;

    this.prototype._each.call(obj, function(pair) {
      if (!pair.key) return;
      var value = pair.value;

      if (value && typeof value == 'object') {
        if (value.constructor == Array) value.each(function(value) {
          parts.add(pair.key, value);
        });
        return;
      }
      parts.add(pair.key, value);
    });

    return parts.join('&');
  },

  toJSON: function(object) {
    var results = [];
    this.prototype._each.call(object, function(pair) {
      var value = Object.toJSON(pair.value);
      if (value !== undefined) results.push(pair.key.toJSON() + ': ' + value);
    });
    return '{' + results.join(', ') + '}';
  }
});

Hash.toQueryString.addPair = function(key, value, prefix) {
  key = encodeURIComponent(key);
  if (value === undefined) this.push(key);
  else this.push(key + '=' + (value == null ? '' : encodeURIComponent(value)));
}

Object.extend(Hash.prototype, Enumerable);
Object.extend(Hash.prototype, {
  _each: function(iterator) {
    for (var key in this) {
      var value = this[key];
      if (value && value == Hash.prototype[key]) continue;

      var pair = [key, value];
      pair.key = key;
      pair.value = value;
      iterator(pair);
    }
  },

  keys: function() {
    return this.pluck('key');
  },

  values: function() {
    return this.pluck('value');
  },

  merge: function(hash) {
    return $H(hash).inject(this, function(mergedHash, pair) {
      mergedHash[pair.key] = pair.value;
      return mergedHash;
    });
  },

  remove: function() {
    var result;
    for(var i = 0, length = arguments.length; i < length; i++) {
      var value = this[arguments[i]];
      if (value !== undefined){
        if (result === undefined) result = value;
        else {
          if (result.constructor != Array) result = [result];
          result.push(value)
        }
      }
      delete this[arguments[i]];
    }
    return result;
  },

  toQueryString: function() {
    return Hash.toQueryString(this);
  },

  inspect: function() {
    return '#<Hash:{' + this.map(function(pair) {
      return pair.map(Object.inspect).join(': ');
    }).join(', ') + '}>';
  },

  toJSON: function() {
    return Hash.toJSON(this);
  }
});

function $H(object) {
  if (object instanceof Hash) return object;
  return new Hash(object);
};

// Safari iterates over shadowed properties
if (function() {
  var i = 0, Test = function(value) { this.key = value };
  Test.prototype.key = 'foo';
  for (var property in new Test('bar')) i++;
  return i > 1;
}()) Hash.prototype._each = function(iterator) {
  var cache = [];
  for (var key in this) {
    var value = this[key];
    if ((value && value == Hash.prototype[key]) || cache.include(key)) continue;
    cache.push(key);
    var pair = [key, value];
    pair.key = key;
    pair.value = value;
    iterator(pair);
  }
};
ObjectRange = Class.create();
Object.extend(ObjectRange.prototype, Enumerable);
Object.extend(ObjectRange.prototype, {
  initialize: function(start, end, exclusive) {
    this.start = start;
    this.end = end;
    this.exclusive = exclusive;
  },

  _each: function(iterator) {
    var value = this.start;
    while (this.include(value)) {
      iterator(value);
      value = value.succ();
    }
  },

  include: function(value) {
    if (value < this.start)
      return false;
    if (this.exclusive)
      return value < this.end;
    return value <= this.end;
  }
});

var $R = function(start, end, exclusive) {
  return new ObjectRange(start, end, exclusive);
}

var Ajax = {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
}

Ajax.Responders = {
  responders: [],

  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responder) {
    if (!this.include(responder))
      this.responders.push(responder);
  },

  unregister: function(responder) {
    this.responders = this.responders.without(responder);
  },

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (typeof responder[callback] == 'function') {
        try {
          responder[callback].apply(responder, [request, transport, json]);
        } catch (e) {}
      }
    });
  }
};

Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
  onCreate: function() {
    Ajax.activeRequestCount++;
  },
  onComplete: function() {
    Ajax.activeRequestCount--;
  }
});

Ajax.Base = function() {};
Ajax.Base.prototype = {
  setOptions: function(options) {
    this.options = {
      method:       'post',
      asynchronous: true,
      contentType:  'application/x-www-form-urlencoded',
      encoding:     'UTF-8',
      parameters:   ''
    }
    Object.extend(this.options, options || {});

    this.options.method = this.options.method.toLowerCase();
    if (typeof this.options.parameters == 'string')
      this.options.parameters = this.options.parameters.toQueryParams();
  }
}

Ajax.Request = Class.create();
Ajax.Request.Events =
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
  _complete: false,

  initialize: function(url, options) {
    this.transport = Ajax.getTransport();
    this.setOptions(options);
    this.request(url);
  },

  request: function(url) {
    this.url = url;
    this.method = this.options.method;
    var params = Object.clone(this.options.parameters);

    if (!['get', 'post'].include(this.method)) {
      // simulate other verbs over post
      params['_method'] = this.method;
      this.method = 'post';
    }

    this.parameters = params;

    if (params = Hash.toQueryString(params)) {
      // when GET, append parameters to URL
      if (this.method == 'get')
        this.url += (this.url.include('?') ? '&' : '?') + params;
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
        params += '&_=';
    }

    try {
      if (this.options.onCreate) this.options.onCreate(this.transport);
      Ajax.Responders.dispatch('onCreate', this, this.transport);

      this.transport.open(this.method.toUpperCase(), this.url,
        this.options.asynchronous);

      if (this.options.asynchronous)
        setTimeout(function() { this.respondToReadyState(1) }.bind(this), 10);

      this.transport.onreadystatechange = this.onStateChange.bind(this);
      this.setRequestHeaders();

      this.body = this.method == 'post' ? (this.options.postBody || params) : null;
      this.transport.send(this.body);

      /* Force Firefox to handle ready state 4 for synchronous requests */
      if (!this.options.asynchronous && this.transport.overrideMimeType)
        this.onStateChange();

    }
    catch (e) {
      this.dispatchException(e);
    }
  },

  onStateChange: function() {
    var readyState = this.transport.readyState;
    if (readyState > 1 && !((readyState == 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
  },

  setRequestHeaders: function() {
    var headers = {
      'X-Requested-With': 'XMLHttpRequest',
      'X-Prototype-Version': Prototype.Version,
      'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
    };

    if (this.method == 'post') {
      headers['Content-type'] = this.options.contentType +
        (this.options.encoding ? '; charset=' + this.options.encoding : '');

      /* Force "Connection: close" for older Mozilla browsers to work
       * around a bug where XMLHttpRequest sends an incorrect
       * Content-length header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType &&
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
            headers['Connection'] = 'close';
    }

    // user-defined headers
    if (typeof this.options.requestHeaders == 'object') {
      var extras = this.options.requestHeaders;

      if (typeof extras.push == 'function')
        for (var i = 0, length = extras.length; i < length; i += 2)
          headers[extras[i]] = extras[i+1];
      else
        $H(extras).each(function(pair) { headers[pair.key] = pair.value });
    }

    for (var name in headers)
      this.transport.setRequestHeader(name, headers[name]);
  },

  success: function() {
    return !this.transport.status
        || (this.transport.status >= 200 && this.transport.status < 300);
  },

  respondToReadyState: function(readyState) {
    var state = Ajax.Request.Events[readyState];
    var transport = this.transport, json = this.evalJSON();

    if (state == 'Complete') {
      try {
        this._complete = true;
        (this.options['on' + this.transport.status]
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]
         || Prototype.emptyFunction)(transport, json);
      } catch (e) {
        this.dispatchException(e);
      }

      var contentType = this.getHeader('Content-type');
      if (contentType && contentType.strip().
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
          this.evalResponse();
    }

    try {
      (this.options['on' + state] || Prototype.emptyFunction)(transport, json);
      Ajax.Responders.dispatch('on' + state, this, transport, json);
    } catch (e) {
      this.dispatchException(e);
    }

    if (state == 'Complete') {
      // avoid memory leak in MSIE: clean up
      this.transport.onreadystatechange = Prototype.emptyFunction;
    }
  },

  getHeader: function(name) {
    try {
      return this.transport.getResponseHeader(name);
    } catch (e) { return null }
  },

  evalJSON: function() {
    try {
      var json = this.getHeader('X-JSON');
      return json ? json.evalJSON() : null;
    } catch (e) { return null }
  },

  evalResponse: function() {
    try {
      return eval((this.transport.responseText || '').unfilterJSON());
    } catch (e) {
      this.dispatchException(e);
    }
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});

Ajax.Updater = Class.create();

Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
  initialize: function(container, url, options) {
    this.container = {
      success: (container.success || container),
      failure: (container.failure || (container.success ? null : container))
    }

    this.transport = Ajax.getTransport();
    this.setOptions(options);

    var onComplete = this.options.onComplete || Prototype.emptyFunction;
    this.options.onComplete = (function(transport, param) {
      this.updateContent();
      onComplete(transport, param);
    }).bind(this);

    this.request(url);
  },

  updateContent: function() {
    var receiver = this.container[this.success() ? 'success' : 'failure'];
    var response = this.transport.responseText;

    if (!this.options.evalScripts) response = response.stripScripts();

    if (receiver = $(receiver)) {
      if (this.options.insertion)
        new this.options.insertion(receiver, response);
      else
        receiver.update(response);
    }

    if (this.success()) {
      if (this.onComplete)
        setTimeout(this.onComplete.bind(this), 10);
    }
  }
});

Ajax.PeriodicalUpdater = Class.create();
Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
  initialize: function(container, url, options) {
    this.setOptions(options);
    this.onComplete = this.options.onComplete;

    this.frequency = (this.options.frequency || 2);
    this.decay = (this.options.decay || 1);

    this.updater = {};
    this.container = container;
    this.url = url;

    this.start();
  },

  start: function() {
    this.options.onComplete = this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.options.onComplete = undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(request) {
    if (this.options.decay) {
      this.decay = (request.responseText == this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText = request.responseText;
    }
    this.timer = setTimeout(this.onTimerEvent.bind(this),
      this.decay * this.frequency * 1000);
  },

  onTimerEvent: function() {
    this.updater = new Ajax.Updater(this.container, this.url, this.options);
  }
});
function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == 'string')
    element = document.getElementById(element);
  return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
  document._getElementsByXPath = function(expression, parentElement) {
    var results = [];
    var query = document.evaluate(expression, $(parentElement) || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, length = query.snapshotLength; i < length; i++)
      results.push(query.snapshotItem(i));
    return results;
  };

  document.getElementsByClassName = function(className, parentElement) {
    var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
    return document._getElementsByXPath(q, parentElement);
  }

} else document.getElementsByClassName = function(className, parentElement) {
  var children = ($(parentElement) || document.body).getElementsByTagName('*');
  var elements = [], child;
  for (var i = 0, length = children.length; i < length; i++) {
    child = children[i];
    if (Element.hasClassName(child, className))
      elements.push(Element.extend(child));
  }
  return elements;
};

/*--------------------------------------------------------------------------*/

if (!window.Element) var Element = {};

Element.extend = function(element) {
  var F = Prototype.BrowserFeatures;
  if (!element || !element.tagName || element.nodeType == 3 ||
   element._extended || F.SpecificElementExtensions || element == window)
    return element;

  var methods = {}, tagName = element.tagName, cache = Element.extend.cache,
   T = Element.Methods.ByTag;

  // extend methods for all tags (Safari doesn't need this)
  if (!F.ElementExtensions) {
    Object.extend(methods, Element.Methods),
    Object.extend(methods, Element.Methods.Simulated);
  }

  // extend methods for specific tags
  if (T[tagName]) Object.extend(methods, T[tagName]);

  for (var property in methods) {
    var value = methods[property];
    if (typeof value == 'function' && !(property in element))
      element[property] = cache.findOrStore(value);
  }

  element._extended = Prototype.emptyFunction;
  return element;
};

Element.extend.cache = {
  findOrStore: function(value) {
    return this[value] = this[value] || function() {
      return value.apply(null, [this].concat($A(arguments)));
    }
  }
};

Element.Methods = {
  visible: function(element) {
    return $(element).style.display != 'none';
  },

  toggle: function(element) {
    element = $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
  },

  hide: function(element) {
    $(element).style.display = 'none';
    return element;
  },

  show: function(element) {
    $(element).style.display = '';
    return element;
  },

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
    return element;
  },

  update: function(element, html) {
    html = typeof html == 'undefined' ? '' : html.toString();
    $(element).innerHTML = html.stripScripts();
    setTimeout(function() {html.evalScripts()}, 10);
    return element;
  },

  replace: function(element, html) {
    element = $(element);
    html = typeof html == 'undefined' ? '' : html.toString();
    if (element.outerHTML) {
      element.outerHTML = html.stripScripts();
    } else {
      var range = element.ownerDocument.createRange();
      range.selectNodeContents(element);
      element.parentNode.replaceChild(
        range.createContextualFragment(html.stripScripts()), element);
    }
    setTimeout(function() {html.evalScripts()}, 10);
    return element;
  },

  inspect: function(element) {
    element = $(element);
    var result = '<' + element.tagName.toLowerCase();
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
      var property = pair.first(), attribute = pair.last();
      var value = (element[property] || '').toString();
      if (value) result += ' ' + attribute + '=' + value.inspect(true);
    });
    return result + '>';
  },

  recursivelyCollect: function(element, property) {
    element = $(element);
    var elements = [];
    while (element = element[property])
      if (element.nodeType == 1)
        elements.push(Element.extend(element));
    return elements;
  },

  ancestors: function(element) {
    return $(element).recursivelyCollect('parentNode');
  },

  descendants: function(element) {
    return $A($(element).getElementsByTagName('*')).each(Element.extend);
  },

  firstDescendant: function(element) {
    element = $(element).firstChild;
    while (element && element.nodeType != 1) element = element.nextSibling;
    return $(element);
  },

  immediateDescendants: function(element) {
    if (!(element = $(element).firstChild)) return [];
    while (element && element.nodeType != 1) element = element.nextSibling;
    if (element) return [element].concat($(element).nextSiblings());
    return [];
  },

  previousSiblings: function(element) {
    return $(element).recursivelyCollect('previousSibling');
  },

  nextSiblings: function(element) {
    return $(element).recursivelyCollect('nextSibling');
  },

  siblings: function(element) {
    element = $(element);
    return element.previousSiblings().reverse().concat(element.nextSiblings());
  },

  match: function(element, selector) {
    if (typeof selector == 'string')
      selector = new Selector(selector);
    return selector.match($(element));
  },

  up: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(element.parentNode);
    var ancestors = element.ancestors();
    return expression ? Selector.findElement(ancestors, expression, index) :
      ancestors[index || 0];
  },

  down: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return element.firstDescendant();
    var descendants = element.descendants();
    return expression ? Selector.findElement(descendants, expression, index) :
      descendants[index || 0];
  },

  previous: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
    var previousSiblings = element.previousSiblings();
    return expression ? Selector.findElement(previousSiblings, expression, index) :
      previousSiblings[index || 0];
  },

  next: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
    var nextSiblings = element.nextSiblings();
    return expression ? Selector.findElement(nextSiblings, expression, index) :
      nextSiblings[index || 0];
  },

  getElementsBySelector: function() {
    var args = $A(arguments), element = $(args.shift());
    return Selector.findChildElements(element, args);
  },

  getElementsByClassName: function(element, className) {
    return document.getElementsByClassName(className, element);
  },

  readAttribute: function(element, name) {
    element = $(element);
    if (Prototype.Browser.IE) {
      if (!element.attributes) return null;
      var t = Element._attributeTranslations;
      if (t.values[name]) return t.values[name](element, name);
      if (t.names[name])  name = t.names[name];
      var attribute = element.attributes[name];
      return attribute ? attribute.nodeValue : null;
    }
    return element.getAttribute(name);
  },

  getHeight: function(element) {
    return $(element).getDimensions().height;
  },

  getWidth: function(element) {
    return $(element).getDimensions().width;
  },

  classNames: function(element) {
    return new Element.ClassNames(element);
  },

  hasClassName: function(element, className) {
    if (!(element = $(element))) return;
    var elementClassName = element.className;
    if (elementClassName.length == 0) return false;
    if (elementClassName == className ||
        elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
      return true;
    return false;
  },

  addClassName: function(element, className) {
    if (!(element = $(element))) return;
    Element.classNames(element).add(className);
    return element;
  },

  removeClassName: function(element, className) {
    if (!(element = $(element))) return;
    Element.classNames(element).remove(className);
    return element;
  },

  toggleClassName: function(element, className) {
    if (!(element = $(element))) return;
    Element.classNames(element)[element.hasClassName(className) ? 'remove' : 'add'](className);
    return element;
  },

  observe: function() {
    Event.observe.apply(Event, arguments);
    return $A(arguments).first();
  },

  stopObserving: function() {
    Event.stopObserving.apply(Event, arguments);
    return $A(arguments).first();
  },

  // removes whitespace-only text node children
  cleanWhitespace: function(element) {
    element = $(element);
    var node = element.firstChild;
    while (node) {
      var nextNode = node.nextSibling;
      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
        element.removeChild(node);
      node = nextNode;
    }
    return element;
  },

  empty: function(element) {
    return $(element).innerHTML.blank();
  },

  descendantOf: function(element, ancestor) {
    element = $(element), ancestor = $(ancestor);
    while (element = element.parentNode)
      if (element == ancestor) return true;
    return false;
  },

  scrollTo: function(element) {
    element = $(element);
    var pos = Position.cumulativeOffset(element);
    window.scrollTo(pos[0], pos[1]);
    return element;
  },

  getStyle: function(element, style) {
    element = $(element);
    style = style == 'float' ? 'cssFloat' : style.camelize();
    var value = element.style[style];
    if (!value) {
      var css = document.defaultView.getComputedStyle(element, null);
      value = css ? css[style] : null;
    }
    if (style == 'opacity') return value ? parseFloat(value) : 1.0;
    return value == 'auto' ? null : value;
  },

  getOpacity: function(element) {
    return $(element).getStyle('opacity');
  },

  setStyle: function(element, styles, camelized) {
    element = $(element);
    var elementStyle = element.style;

    for (var property in styles)
      if (property == 'opacity') element.setOpacity(styles[property])
      else
        elementStyle[(property == 'float' || property == 'cssFloat') ?
          (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') :
          (camelized ? property : property.camelize())] = styles[property];

    return element;
  },

  setOpacity: function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1 || value === '') ? '' :
      (value < 0.00001) ? 0 : value;
    return element;
  },

  getDimensions: function(element) {
    element = $(element);
    var display = $(element).getStyle('display');
    if (display != 'none' && display != null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    // All *Width and *Height properties give 0 on elements with display none,
    // so enable the element temporarily
    var els = element.style;
    var originalVisibility = els.visibility;
    var originalPosition = els.position;
    var originalDisplay = els.display;
    els.visibility = 'hidden';
    els.position = 'absolute';
    els.display = 'block';
    var originalWidth = element.clientWidth;
    var originalHeight = element.clientHeight;
    els.display = originalDisplay;
    els.position = originalPosition;
    els.visibility = originalVisibility;
    return {width: originalWidth, height: originalHeight};
  },

  makePositioned: function(element) {
    element = $(element);
    var pos = Element.getStyle(element, 'position');
    if (pos == 'static' || !pos) {
      element._madePositioned = true;
      element.style.position = 'relative';
      // Opera returns the offset relative to the positioning context, when an
      // element is position relative but top and left have not been defined
      if (window.opera) {
        element.style.top = 0;
        element.style.left = 0;
      }
    }
    return element;
  },

  undoPositioned: function(element) {
    element = $(element);
    if (element._madePositioned) {
      element._madePositioned = undefined;
      element.style.position =
        element.style.top =
        element.style.left =
        element.style.bottom =
        element.style.right = '';
    }
    return element;
  },

  makeClipping: function(element) {
    element = $(element);
    if (element._overflow) return element;
    element._overflow = element.style.overflow || 'auto';
    if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
      element.style.overflow = 'hidden';
    return element;
  },

  undoClipping: function(element) {
    element = $(element);
    if (!element._overflow) return element;
    element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
    element._overflow = null;
    return element;
  }
};

Object.extend(Element.Methods, {
  childOf: Element.Methods.descendantOf,
  childElements: Element.Methods.immediateDescendants
});

if (Prototype.Browser.Opera) {
  Element.Methods._getStyle = Element.Methods.getStyle;
  Element.Methods.getStyle = function(element, style) {
    switch(style) {
      case 'left':
      case 'top':
      case 'right':
      case 'bottom':
        if (Element._getStyle(element, 'position') == 'static') return null;
      default: return Element._getStyle(element, style);
    }
  };
}
else if (Prototype.Browser.IE) {
  Element.Methods.getStyle = function(element, style) {
    element = $(element);
    style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
    var value = element.style[style];
    if (!value && element.currentStyle) value = element.currentStyle[style];

    if (style == 'opacity') {
      if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
        if (value[1]) return parseFloat(value[1]) / 100;
      return 1.0;
    }

    if (value == 'auto') {
      if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
        return element['offset'+style.capitalize()] + 'px';
      return null;
    }
    return value;
  };

  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    var filter = element.getStyle('filter'), style = element.style;
    if (value == 1 || value === '') {
      style.filter = filter.replace(/alpha\([^\)]*\)/gi,'');
      return element;
    } else if (value < 0.00001) value = 0;
    style.filter = filter.replace(/alpha\([^\)]*\)/gi, '') +
      'alpha(opacity=' + (value * 100) + ')';
    return element;
  };

  // IE is missing .innerHTML support for TABLE-related elements
  Element.Methods.update = function(element, html) {
    element = $(element);
    html = typeof html == 'undefined' ? '' : html.toString();
    var tagName = element.tagName.toUpperCase();
    if (['THEAD','TBODY','TR','TD'].include(tagName)) {
      var div = document.createElement('div');
      switch (tagName) {
        case 'THEAD':
        case 'TBODY':
          div.innerHTML = '<table><tbody>' +  html.stripScripts() + '</tbody></table>';
          depth = 2;
          break;
        case 'TR':
          div.innerHTML = '<table><tbody><tr>' +  html.stripScripts() + '</tr></tbody></table>';
          depth = 3;
          break;
        case 'TD':
          div.innerHTML = '<table><tbody><tr><td>' +  html.stripScripts() + '</td></tr></tbody></table>';
          depth = 4;
      }
      $A(element.childNodes).each(function(node) { element.removeChild(node) });
      depth.times(function() { div = div.firstChild });
      $A(div.childNodes).each(function(node) { element.appendChild(node) });
    } else {
      element.innerHTML = html.stripScripts();
    }
    setTimeout(function() { html.evalScripts() }, 10);
    return element;
  }
}
else if (Prototype.Browser.Gecko) {
  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1) ? 0.999999 :
      (value === '') ? '' : (value < 0.00001) ? 0 : value;
    return element;
  };
}

Element._attributeTranslations = {
  names: {
    colspan:   "colSpan",
    rowspan:   "rowSpan",
    valign:    "vAlign",
    datetime:  "dateTime",
    accesskey: "accessKey",
    tabindex:  "tabIndex",
    enctype:   "encType",
    maxlength: "maxLength",
    readonly:  "readOnly",
    longdesc:  "longDesc"
  },
  values: {
    _getAttr: function(element, attribute) {
      return element.getAttribute(attribute, 2);
    },
    _flag: function(element, attribute) {
      return $(element).hasAttribute(attribute) ? attribute : null;
    },
    style: function(element) {
      return element.style.cssText.toLowerCase();
    },
    title: function(element) {
      var node = element.getAttributeNode('title');
      return node.specified ? node.nodeValue : null;
    }
  }
};

(function() {
  Object.extend(this, {
    href: this._getAttr,
    src:  this._getAttr,
    type: this._getAttr,
    disabled: this._flag,
    checked:  this._flag,
    readonly: this._flag,
    multiple: this._flag
  });
}).call(Element._attributeTranslations.values);

Element.Methods.Simulated = {
  hasAttribute: function(element, attribute) {
    var t = Element._attributeTranslations, node;
    attribute = t.names[attribute] || attribute;
    node = $(element).getAttributeNode(attribute);
    return node && node.specified;
  }
};

Element.Methods.ByTag = {};

Object.extend(Element, Element.Methods);

if (!Prototype.BrowserFeatures.ElementExtensions &&
 document.createElement('div').__proto__) {
  window.HTMLElement = {};
  window.HTMLElement.prototype = document.createElement('div').__proto__;
  Prototype.BrowserFeatures.ElementExtensions = true;
}

Element.hasAttribute = function(element, attribute) {
  if (element.hasAttribute) return element.hasAttribute(attribute);
  return Element.Methods.Simulated.hasAttribute(element, attribute);
};

Element.addMethods = function(methods) {
  var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;

  if (!methods) {
    Object.extend(Form, Form.Methods);
    Object.extend(Form.Element, Form.Element.Methods);
    Object.extend(Element.Methods.ByTag, {
      "FORM":     Object.clone(Form.Methods),
      "INPUT":    Object.clone(Form.Element.Methods),
      "SELECT":   Object.clone(Form.Element.Methods),
      "TEXTAREA": Object.clone(Form.Element.Methods)
    });
  }

  if (arguments.length == 2) {
    var tagName = methods;
    methods = arguments[1];
  }

  if (!tagName) Object.extend(Element.Methods, methods || {});
  else {
    if (tagName.constructor == Array) tagName.each(extend);
    else extend(tagName);
  }

  function extend(tagName) {
    tagName = tagName.toUpperCase();
    if (!Element.Methods.ByTag[tagName])
      Element.Methods.ByTag[tagName] = {};
    Object.extend(Element.Methods.ByTag[tagName], methods);
  }

  function copy(methods, destination, onlyIfAbsent) {
    onlyIfAbsent = onlyIfAbsent || false;
    var cache = Element.extend.cache;
    for (var property in methods) {
      var value = methods[property];
      if (!onlyIfAbsent || !(property in destination))
        destination[property] = cache.findOrStore(value);
    }
  }

  function findDOMClass(tagName) {
    var klass;
    var trans = {
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
      "FrameSet", "IFRAME": "IFrame"
    };
    if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
    if (window[klass]) return window[klass];
    klass = 'HTML' + tagName + 'Element';
    if (window[klass]) return window[klass];
    klass = 'HTML' + tagName.capitalize() + 'Element';
    if (window[klass]) return window[klass];

    window[klass] = {};
    window[klass].prototype = document.createElement(tagName).__proto__;
    return window[klass];
  }

  if (F.ElementExtensions) {
    copy(Element.Methods, HTMLElement.prototype);
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);
  }

  if (F.SpecificElementExtensions) {
    for (var tag in Element.Methods.ByTag) {
      var klass = findDOMClass(tag);
      if (typeof klass == "undefined") continue;
      copy(T[tag], klass.prototype);
    }
  }

  Object.extend(Element, Element.Methods);
  delete Element.ByTag;
};

var Toggle = { display: Element.toggle };

/*--------------------------------------------------------------------------*/

Abstract.Insertion = function(adjacency) {
  this.adjacency = adjacency;
}

Abstract.Insertion.prototype = {
  initialize: function(element, content) {
    this.element = $(element);
    this.content = content.stripScripts();

    if (this.adjacency && this.element.insertAdjacentHTML) {
      try {
        this.element.insertAdjacentHTML(this.adjacency, this.content);
      } catch (e) {
        var tagName = this.element.tagName.toUpperCase();
        if (['TBODY', 'TR'].include(tagName)) {
          this.insertContent(this.contentFromAnonymousTable());
        } else {
          throw e;
        }
      }
    } else {
      this.range = this.element.ownerDocument.createRange();
      if (this.initializeRange) this.initializeRange();
      this.insertContent([this.range.createContextualFragment(this.content)]);
    }

    setTimeout(function() {content.evalScripts()}, 10);
  },

  contentFromAnonymousTable: function() {
    var div = document.createElement('div');
    div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
    return $A(div.childNodes[0].childNodes[0].childNodes);
  }
}

var Insertion = new Object();

Insertion.Before = Class.create();
Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
  initializeRange: function() {
    this.range.setStartBefore(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.parentNode.insertBefore(fragment, this.element);
    }).bind(this));
  }
});

Insertion.Top = Class.create();
Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
  initializeRange: function() {
    this.range.selectNodeContents(this.element);
    this.range.collapse(true);
  },

  insertContent: function(fragments) {
    fragments.reverse(false).each((function(fragment) {
      this.element.insertBefore(fragment, this.element.firstChild);
    }).bind(this));
  }
});

Insertion.Bottom = Class.create();
Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
  initializeRange: function() {
    this.range.selectNodeContents(this.element);
    this.range.collapse(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.appendChild(fragment);
    }).bind(this));
  }
});

Insertion.After = Class.create();
Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
  initializeRange: function() {
    this.range.setStartAfter(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.parentNode.insertBefore(fragment,
        this.element.nextSibling);
    }).bind(this));
  }
});

/*--------------------------------------------------------------------------*/

Element.ClassNames = Class.create();
Element.ClassNames.prototype = {
  initialize: function(element) {
    this.element = $(element);
  },

  _each: function(iterator) {
    this.element.className.split(/\s+/).select(function(name) {
      return name.length > 0;
    })._each(iterator);
  },

  set: function(className) {
    this.element.className = className;
  },

  add: function(classNameToAdd) {
    if (this.include(classNameToAdd)) return;
    this.set($A(this).concat(classNameToAdd).join(' '));
  },

  remove: function(classNameToRemove) {
    if (!this.include(classNameToRemove)) return;
    this.set($A(this).without(classNameToRemove).join(' '));
  },

  toString: function() {
    return $A(this).join(' ');
  }
};

Object.extend(Element.ClassNames.prototype, Enumerable);
/* Portions of the Selector class are derived from Jack Slocum’s DomQuery,
 * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
 * license.  Please see http://www.yui-ext.com/ for more information. */

var Selector = Class.create();

Selector.prototype = {
  initialize: function(expression) {
    this.expression = expression.strip();
    this.compileMatcher();
  },

  compileMatcher: function() {
    // Selectors with namespaced attributes can't use the XPath version
    if (Prototype.BrowserFeatures.XPath && !(/\[[\w-]*?:/).test(this.expression))
      return this.compileXPathMatcher();

    var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
        c = Selector.criteria, le, p, m;

    if (Selector._cache[e]) {
      this.matcher = Selector._cache[e]; return;
    }
    this.matcher = ["this.matcher = function(root) {",
                    "var r = root, h = Selector.handlers, c = false, n;"];

    while (e && le != e && (/\S/).test(e)) {
      le = e;
      for (var i in ps) {
        p = ps[i];
        if (m = e.match(p)) {
          this.matcher.push(typeof c[i] == 'function' ? c[i](m) :
    	      new Template(c[i]).evaluate(m));
          e = e.replace(m[0], '');
          break;
        }
      }
    }

    this.matcher.push("return h.unique(n);\n}");
    eval(this.matcher.join('\n'));
    Selector._cache[this.expression] = this.matcher;
  },

  compileXPathMatcher: function() {
    var e = this.expression, ps = Selector.patterns,
        x = Selector.xpath, le,  m;

    if (Selector._cache[e]) {
      this.xpath = Selector._cache[e]; return;
    }

    this.matcher = ['.//*'];
    while (e && le != e && (/\S/).test(e)) {
      le = e;
      for (var i in ps) {
        if (m = e.match(ps[i])) {
          this.matcher.push(typeof x[i] == 'function' ? x[i](m) :
            new Template(x[i]).evaluate(m));
          e = e.replace(m[0], '');
          break;
        }
      }
    }

    this.xpath = this.matcher.join('');
    Selector._cache[this.expression] = this.xpath;
  },

  findElements: function(root) {
    root = root || document;
    if (this.xpath) return document._getElementsByXPath(this.xpath, root);
    return this.matcher(root);
  },

  match: function(element) {
    return this.findElements(document).include(element);
  },

  toString: function() {
    return this.expression;
  },

  inspect: function() {
    return "#<Selector:" + this.expression.inspect() + ">";
  }
};

Object.extend(Selector, {
  _cache: {},

  xpath: {
    descendant:   "//*",
    child:        "/*",
    adjacent:     "/following-sibling::*[1]",
    laterSibling: '/following-sibling::*',
    tagName:      function(m) {
      if (m[1] == '*') return '';
      return "[local-name()='" + m[1].toLowerCase() +
             "' or local-name()='" + m[1].toUpperCase() + "']";
    },
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",
    id:           "[@id='#{1}']",
    attrPresence: "[@#{1}]",
    attr: function(m) {
      m[3] = m[5] || m[6];
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
    },
    pseudo: function(m) {
      var h = Selector.xpath.pseudos[m[1]];
      if (!h) return '';
      if (typeof h === 'function') return h(m);
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
    },
    operators: {
      '=':  "[@#{1}='#{3}']",
      '!=': "[@#{1}!='#{3}']",
      '^=': "[starts-with(@#{1}, '#{3}')]",
      '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
      '*=': "[contains(@#{1}, '#{3}')]",
      '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
      '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
    },
    pseudos: {
      'first-child': '[not(preceding-sibling::*)]',
      'last-child':  '[not(following-sibling::*)]',
      'only-child':  '[not(preceding-sibling::* or following-sibling::*)]',
      'empty':       "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",
      'checked':     "[@checked]",
      'disabled':    "[@disabled]",
      'enabled':     "[not(@disabled)]",
      'not': function(m) {
        var e = m[6], p = Selector.patterns,
            x = Selector.xpath, le, m, v;

        var exclusion = [];
        while (e && le != e && (/\S/).test(e)) {
          le = e;
          for (var i in p) {
            if (m = e.match(p[i])) {
              v = typeof x[i] == 'function' ? x[i](m) : new Template(x[i]).evaluate(m);
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");
              e = e.replace(m[0], '');
              break;
            }
          }
        }
        return "[not(" + exclusion.join(" and ") + ")]";
      },
      'nth-child':      function(m) {
        return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
      },
      'nth-last-child': function(m) {
        return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
      },
      'nth-of-type':    function(m) {
        return Selector.xpath.pseudos.nth("position() ", m);
      },
      'nth-last-of-type': function(m) {
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
      },
      'first-of-type':  function(m) {
        m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m);
      },
      'last-of-type':   function(m) {
        m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m);
      },
      'only-of-type':   function(m) {
        var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m);
      },
      nth: function(fragment, m) {
        var mm, formula = m[6], predicate;
        if (formula == 'even') formula = '2n+0';
        if (formula == 'odd')  formula = '2n+1';
        if (mm = formula.match(/^(\d+)$/)) // digit only
          return '[' + fragment + "= " + mm[1] + ']';
        if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
          if (mm[1] == "-") mm[1] = -1;
          var a = mm[1] ? Number(mm[1]) : 1;
          var b = mm[2] ? Number(mm[2]) : 0;
          predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
          "((#{fragment} - #{b}) div #{a} >= 0)]";
          return new Template(predicate).evaluate({
            fragment: fragment, a: a, b: b });
        }
      }
    }
  },

  criteria: {
    tagName:      'n = h.tagName(n, r, "#{1}", c);   c = false;',
    className:    'n = h.className(n, r, "#{1}", c); c = false;',
    id:           'n = h.id(n, r, "#{1}", c);        c = false;',
    attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;',
    attr: function(m) {
      m[3] = (m[5] || m[6]);
      return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);
    },
    pseudo:       function(m) {
      if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
      return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
    },
    descendant:   'c = "descendant";',
    child:        'c = "child";',
    adjacent:     'c = "adjacent";',
    laterSibling: 'c = "laterSibling";'
  },

  patterns: {
    // combinators must be listed first
    // (and descendant needs to be last combinator)
    laterSibling: /^\s*~\s*/,
    child:        /^\s*>\s*/,
    adjacent:     /^\s*\+\s*/,
    descendant:   /^\s/,

    // selectors follow
    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,
    id:           /^#([\w\-\*]+)(\b|$)/,
    className:    /^\.([\w\-\*]+)(\b|$)/,
    pseudo:       /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|\s|(?=:))/,
    attrPresence: /^\[([\w]+)\]/,
    attr:         /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\]]*?)\4|([^'"][^\]]*?)))?\]/
  },

  handlers: {
    // UTILITY FUNCTIONS
    // joins two collections
    concat: function(a, b) {
      for (var i = 0, node; node = b[i]; i++)
        a.push(node);
      return a;
    },

    // marks an array of nodes for counting
    mark: function(nodes) {
      for (var i = 0, node; node = nodes[i]; i++)
        node._counted = true;
      return nodes;
    },

    unmark: function(nodes) {
      for (var i = 0, node; node = nodes[i]; i++)
        node._counted = undefined;
      return nodes;
    },

    // mark each child node with its position (for nth calls)
    // "ofType" flag indicates whether we're indexing for nth-of-type
    // rather than nth-child
    index: function(parentNode, reverse, ofType) {
      parentNode._counted = true;
      if (reverse) {
        for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
          node = nodes[i];
          if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
        }
      } else {
        for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
          if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
      }
    },

    // filters out duplicates and extends all nodes
    unique: function(nodes) {
      if (nodes.length == 0) return nodes;
      var results = [], n;
      for (var i = 0, l = nodes.length; i < l; i++)
        if (!(n = nodes[i])._counted) {
          n._counted = true;
          results.push(Element.extend(n));
        }
      return Selector.handlers.unmark(results);
    },

    // COMBINATOR FUNCTIONS
    descendant: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        h.concat(results, node.getElementsByTagName('*'));
      return results;
    },

    child: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        for (var j = 0, children = [], child; child = node.childNodes[j]; j++)
          if (child.nodeType == 1 && child.tagName != '!') results.push(child);
      }
      return results;
    },

    adjacent: function(nodes) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        var next = this.nextElementSibling(node);
        if (next) results.push(next);
      }
      return results;
    },

    laterSibling: function(nodes) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        h.concat(results, Element.nextSiblings(node));
      return results;
    },

    nextElementSibling: function(node) {
      while (node = node.nextSibling)
	      if (node.nodeType == 1) return node;
      return null;
    },

    previousElementSibling: function(node) {
      while (node = node.previousSibling)
        if (node.nodeType == 1) return node;
      return null;
    },

    // TOKEN FUNCTIONS
    tagName: function(nodes, root, tagName, combinator) {
      tagName = tagName.toUpperCase();
      var results = [], h = Selector.handlers;
      if (nodes) {
        if (combinator) {
          // fastlane for ordinary descendant combinators
          if (combinator == "descendant") {
            for (var i = 0, node; node = nodes[i]; i++)
              h.concat(results, node.getElementsByTagName(tagName));
            return results;
          } else nodes = this[combinator](nodes);
          if (tagName == "*") return nodes;
        }
        for (var i = 0, node; node = nodes[i]; i++)
          if (node.tagName.toUpperCase() == tagName) results.push(node);
        return results;
      } else return root.getElementsByTagName(tagName);
    },

    id: function(nodes, root, id, combinator) {
      var targetNode = $(id), h = Selector.handlers;
      if (!nodes && root == document) return targetNode ? [targetNode] : [];
      if (nodes) {
        if (combinator) {
          if (combinator == 'child') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (targetNode.parentNode == node) return [targetNode];
          } else if (combinator == 'descendant') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (Element.descendantOf(targetNode, node)) return [targetNode];
          } else if (combinator == 'adjacent') {
            for (var i = 0, node; node = nodes[i]; i++)
              if (Selector.handlers.previousElementSibling(targetNode) == node)
                return [targetNode];
          } else nodes = h[combinator](nodes);
        }
        for (var i = 0, node; node = nodes[i]; i++)
          if (node == targetNode) return [targetNode];
        return [];
      }
      return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
    },

    className: function(nodes, root, className, combinator) {
      if (nodes && combinator) nodes = this[combinator](nodes);
      return Selector.handlers.byClassName(nodes, root, className);
    },

    byClassName: function(nodes, root, className) {
      if (!nodes) nodes = Selector.handlers.descendant([root]);
      var needle = ' ' + className + ' ';
      for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
        nodeClassName = node.className;
        if (nodeClassName.length == 0) continue;
        if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
          results.push(node);
      }
      return results;
    },

    attrPresence: function(nodes, root, attr) {
      var results = [];
      for (var i = 0, node; node = nodes[i]; i++)
        if (Element.hasAttribute(node, attr)) results.push(node);
      return results;
    },

    attr: function(nodes, root, attr, value, operator) {
      if (!nodes) nodes = root.getElementsByTagName("*");
      var handler = Selector.operators[operator], results = [];
      for (var i = 0, node; node = nodes[i]; i++) {
        var nodeValue = Element.readAttribute(node, attr);
        if (nodeValue === null) continue;
        if (handler(nodeValue, value)) results.push(node);
      }
      return results;
    },

    pseudo: function(nodes, name, value, root, combinator) {
      if (nodes && combinator) nodes = this[combinator](nodes);
      if (!nodes) nodes = root.getElementsByTagName("*");
      return Selector.pseudos[name](nodes, value, root);
    }
  },

  pseudos: {
    'first-child': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        if (Selector.handlers.previousElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'last-child': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        if (Selector.handlers.nextElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'only-child': function(nodes, value, root) {
      var h = Selector.handlers;
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
          results.push(node);
      return results;
    },
    'nth-child':        function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root);
    },
    'nth-last-child':   function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true);
    },
    'nth-of-type':      function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, false, true);
    },
    'nth-last-of-type': function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true, true);
    },
    'first-of-type':    function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, false, true);
    },
    'last-of-type':     function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, true, true);
    },
    'only-of-type':     function(nodes, formula, root) {
      var p = Selector.pseudos;
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
    },

    // handles the an+b logic
    getIndices: function(a, b, total) {
      if (a == 0) return b > 0 ? [b] : [];
      return $R(1, total).inject([], function(memo, i) {
        if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
        return memo;
      });
    },

    // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type
    nth: function(nodes, formula, root, reverse, ofType) {
      if (nodes.length == 0) return [];
      if (formula == 'even') formula = '2n+0';
      if (formula == 'odd')  formula = '2n+1';
      var h = Selector.handlers, results = [], indexed = [], m;
      h.mark(nodes);
      for (var i = 0, node; node = nodes[i]; i++) {
        if (!node.parentNode._counted) {
          h.index(node.parentNode, reverse, ofType);
          indexed.push(node.parentNode);
        }
      }
      if (formula.match(/^\d+$/)) { // just a number
        formula = Number(formula);
        for (var i = 0, node; node = nodes[i]; i++)
          if (node.nodeIndex == formula) results.push(node);
      } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
        if (m[1] == "-") m[1] = -1;
        var a = m[1] ? Number(m[1]) : 1;
        var b = m[2] ? Number(m[2]) : 0;
        var indices = Selector.pseudos.getIndices(a, b, nodes.length);
        for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
          for (var j = 0; j < l; j++)
            if (node.nodeIndex == indices[j]) results.push(node);
        }
      }
      h.unmark(nodes);
      h.unmark(indexed);
      return results;
    },

    'empty': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++) {
        // IE treats comments as element nodes
        if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue;
        results.push(node);
      }
      return results;
    },

    'not': function(nodes, selector, root) {
      var h = Selector.handlers, selectorType, m;
      var exclusions = new Selector(selector).findElements(root);
      h.mark(exclusions);
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!node._counted) results.push(node);
      h.unmark(exclusions);
      return results;
    },

    'enabled': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (!node.disabled) results.push(node);
      return results;
    },

    'disabled': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (node.disabled) results.push(node);
      return results;
    },

    'checked': function(nodes, value, root) {
      for (var i = 0, results = [], node; node = nodes[i]; i++)
        if (node.checked) results.push(node);
      return results;
    }
  },

  operators: {
    '=':  function(nv, v) { return nv == v; },
    '!=': function(nv, v) { return nv != v; },
    '^=': function(nv, v) { return nv.startsWith(v); },
    '$=': function(nv, v) { return nv.endsWith(v); },
    '*=': function(nv, v) { return nv.include(v); },
    '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); },
    '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); }
  },

  matchElements: function(elements, expression) {
    var matches = new Selector(expression).findElements(), h = Selector.handlers;
    h.mark(matches);
    for (var i = 0, results = [], element; element = elements[i]; i++)
      if (element._counted) results.push(element);
    h.unmark(matches);
    return results;
  },

  findElement: function(elements, expression, index) {
    if (typeof expression == 'number') {
      index = expression; expression = false;
    }
    return Selector.matchElements(elements, expression || '*')[index || 0];
  },

  findChildElements: function(element, expressions) {
    var exprs = expressions.join(','), expressions = [];
    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
      expressions.push(m[1].strip());
    });
    var results = [], h = Selector.handlers;
    for (var i = 0, l = expressions.length, selector; i < l; i++) {
      selector = new Selector(expressions[i].strip());
      h.concat(results, selector.findElements(element));
    }
    return (l > 1) ? h.unique(results) : results;
  }
});

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}
var Form = {
  reset: function(form) {
    $(form).reset();
    return form;
  },

  serializeElements: function(elements, getHash) {
    var data = elements.inject({}, function(result, element) {
      if (!element.disabled && element.name) {
        var key = element.name, value = $(element).getValue();
        if (value != null) {
         	if (key in result) {
            if (result[key].constructor != Array) result[key] = [result[key]];
            result[key].push(value);
          }
          else result[key] = value;
        }
      }
      return result;
    });

    return getHash ? data : Hash.toQueryString(data);
  }
};

Form.Methods = {
  serialize: function(form, getHash) {
    return Form.serializeElements(Form.getElements(form), getHash);
  },

  getElements: function(form) {
    return $A($(form).getElementsByTagName('*')).inject([],
      function(elements, child) {
        if (Form.Element.Serializers[child.tagName.toLowerCase()])
          elements.push(Element.extend(child));
        return elements;
      }
    );
  },

  getInputs: function(form, typeName, name) {
    form = $(form);
    var inputs = form.getElementsByTagName('input');

    if (!typeName && !name) return $A(inputs).map(Element.extend);

    for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
      var input = inputs[i];
      if ((typeName && input.type != typeName) || (name && input.name != name))
        continue;
      matchingInputs.push(Element.extend(input));
    }

    return matchingInputs;
  },

  disable: function(form) {
    form = $(form);
    Form.getElements(form).invoke('disable');
    return form;
  },

  enable: function(form) {
    form = $(form);
    Form.getElements(form).invoke('enable');
    return form;
  },

  findFirstElement: function(form) {
    return $(form).getElements().find(function(element) {
      return element.type != 'hidden' && !element.disabled &&
        ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
    });
  },

  focusFirstElement: function(form) {
    form = $(form);
    form.findFirstElement().activate();
    return form;
  },

  request: function(form, options) {
    form = $(form), options = Object.clone(options || {});

    var params = options.parameters;
    options.parameters = form.serialize(true);

    if (params) {
      if (typeof params == 'string') params = params.toQueryParams();
      Object.extend(options.parameters, params);
    }

    if (form.hasAttribute('method') && !options.method)
      options.method = form.method;

    return new Ajax.Request(form.readAttribute('action'), options);
  }
}

/*--------------------------------------------------------------------------*/

Form.Element = {
  focus: function(element) {
    $(element).focus();
    return element;
  },

  select: function(element) {
    $(element).select();
    return element;
  }
}

Form.Element.Methods = {
  serialize: function(element) {
    element = $(element);
    if (!element.disabled && element.name) {
      var value = element.getValue();
      if (value != undefined) {
        var pair = {};
        pair[element.name] = value;
        return Hash.toQueryString(pair);
      }
    }
    return '';
  },

  getValue: function(element) {
    element = $(element);
    var method = element.tagName.toLowerCase();
    return Form.Element.Serializers[method](element);
  },

  clear: function(element) {
    $(element).value = '';
    return element;
  },

  present: function(element) {
    return $(element).value != '';
  },

  activate: function(element) {
    element = $(element);
    try {
      element.focus();
      if (element.select && (element.tagName.toLowerCase() != 'input' ||
        !['button', 'reset', 'submit'].include(element.type)))
        element.select();
    } catch (e) {}
    return element;
  },

  disable: function(element) {
    element = $(element);
    element.blur();
    element.disabled = true;
    return element;
  },

  enable: function(element) {
    element = $(element);
    element.disabled = false;
    return element;
  }
}

/*--------------------------------------------------------------------------*/

var Field = Form.Element;
var $F = Form.Element.Methods.getValue;

/*--------------------------------------------------------------------------*/

Form.Element.Serializers = {
  input: function(element) {
    switch (element.type.toLowerCase()) {
      case 'checkbox':
      case 'radio':
        return Form.Element.Serializers.inputSelector(element);
      default:
        return Form.Element.Serializers.textarea(element);
    }
  },

  inputSelector: function(element) {
    return element.checked ? element.value : null;
  },

  textarea: function(element) {
    return element.value;
  },

  select: function(element) {
    return this[element.type == 'select-one' ?
      'selectOne' : 'selectMany'](element);
  },

  selectOne: function(element) {
    var index = element.selectedIndex;
    return index >= 0 ? this.optionValue(element.options[index]) : null;
  },

  selectMany: function(element) {
    var values, length = element.length;
    if (!length) return null;

    for (var i = 0, values = []; i < length; i++) {
      var opt = element.options[i];
      if (opt.selected) values.push(this.optionValue(opt));
    }
    return values;
  },

  optionValue: function(opt) {
    // extend element because hasAttribute may not be native
    return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
  }
}

/*--------------------------------------------------------------------------*/

Abstract.TimedObserver = function() {}
Abstract.TimedObserver.prototype = {
  initialize: function(element, frequency, callback) {
    this.frequency = frequency;
    this.element   = $(element);
    this.callback  = callback;

    this.lastValue = this.getValue();
    this.registerCallback();
  },

  registerCallback: function() {
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  onTimerEvent: function() {
    var value = this.getValue();
    var changed = ('string' == typeof this.lastValue && 'string' == typeof value
      ? this.lastValue != value : String(this.lastValue) != String(value));
    if (changed) {
      this.callback(this.element, value);
      this.lastValue = value;
    }
  }
}

Form.Element.Observer = Class.create();
Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.Observer = Class.create();
Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
  getValue: function() {
    return Form.serialize(this.element);
  }
});

/*--------------------------------------------------------------------------*/

Abstract.EventObserver = function() {}
Abstract.EventObserver.prototype = {
  initialize: function(element, callback) {
    this.element  = $(element);
    this.callback = callback;

    this.lastValue = this.getValue();
    if (this.element.tagName.toLowerCase() == 'form')
      this.registerFormCallbacks();
    else
      this.registerCallback(this.element);
  },

  onElementEvent: function() {
    var value = this.getValue();
    if (this.lastValue != value) {
      this.callback(this.element, value);
      this.lastValue = value;
    }
  },

  registerFormCallbacks: function() {
    Form.getElements(this.element).each(this.registerCallback.bind(this));
  },

  registerCallback: function(element) {
    if (element.type) {
      switch (element.type.toLowerCase()) {
        case 'checkbox':
        case 'radio':
          Event.observe(element, 'click', this.onElementEvent.bind(this));
          break;
        default:
          Event.observe(element, 'change', this.onElementEvent.bind(this));
          break;
      }
    }
  }
}

Form.Element.EventObserver = Class.create();
Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.EventObserver = Class.create();
Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
  getValue: function() {
    return Form.serialize(this.element);
  }
});
if (!window.Event) {
  var Event = new Object();
}

Object.extend(Event, {
  KEY_BACKSPACE: 8,
  KEY_TAB:       9,
  KEY_RETURN:   13,
  KEY_ESC:      27,
  KEY_LEFT:     37,
  KEY_UP:       38,
  KEY_RIGHT:    39,
  KEY_DOWN:     40,
  KEY_DELETE:   46,
  KEY_HOME:     36,
  KEY_END:      35,
  KEY_PAGEUP:   33,
  KEY_PAGEDOWN: 34,

  element: function(event) {
    return $(event.target || event.srcElement);
  },

  isLeftClick: function(event) {
    return (((event.which) && (event.which == 1)) ||
            ((event.button) && (event.button == 1)));
  },

  pointerX: function(event) {
    return event.pageX || (event.clientX +
      (document.documentElement.scrollLeft || document.body.scrollLeft));
  },

  pointerY: function(event) {
    return event.pageY || (event.clientY +
      (document.documentElement.scrollTop || document.body.scrollTop));
  },

  stop: function(event) {
    if (event.preventDefault) {
      event.preventDefault();
      event.stopPropagation();
    } else {
      event.returnValue = false;
      event.cancelBubble = true;
    }
  },

  // find the first node with the given tagName, starting from the
  // node the event was triggered on; traverses the DOM upwards
  findElement: function(event, tagName) {
    var element = Event.element(event);
    while (element.parentNode && (!element.tagName ||
        (element.tagName.toUpperCase() != tagName.toUpperCase())))
      element = element.parentNode;
    return element;
  },

  observers: false,

  _observeAndCache: function(element, name, observer, useCapture) {
    if (!this.observers) this.observers = [];
    if (element.addEventListener) {
      this.observers.push([element, name, observer, useCapture]);
      element.addEventListener(name, observer, useCapture);
    } else if (element.attachEvent) {
      this.observers.push([element, name, observer, useCapture]);
      element.attachEvent('on' + name, observer);
    }
  },

  unloadCache: function() {
    if (!Event.observers) return;
    for (var i = 0, length = Event.observers.length; i < length; i++) {
      Event.stopObserving.apply(this, Event.observers[i]);
      Event.observers[i][0] = null;
    }
    Event.observers = false;
  },

  observe: function(element, name, observer, useCapture) {
    element = $(element);
    useCapture = useCapture || false;

    if (name == 'keypress' &&
      (Prototype.Browser.WebKit || element.attachEvent))
      name = 'keydown';

    Event._observeAndCache(element, name, observer, useCapture);
  },

  stopObserving: function(element, name, observer, useCapture) {
    element = $(element);
    useCapture = useCapture || false;

    if (name == 'keypress' &&
        (Prototype.Browser.WebKit || element.attachEvent))
      name = 'keydown';

    if (element.removeEventListener) {
      element.removeEventListener(name, observer, useCapture);
    } else if (element.detachEvent) {
      try {
        element.detachEvent('on' + name, observer);
      } catch (e) {}
    }
  }
});

/* prevent memory leaks in IE */
if (Prototype.Browser.IE)
  Event.observe(window, 'unload', Event.unloadCache, false);
var Position = {
  // set to true if needed, warning: firefox performance problems
  // NOT neeeded for page scrolling, only if draggable contained in
  // scrollable elements
  includeScrollOffsets: false,

  // must be called before calling withinIncludingScrolloffset, every time the
  // page is scrolled
  prepare: function() {
    this.deltaX =  window.pageXOffset
                || document.documentElement.scrollLeft
                || document.body.scrollLeft
                || 0;
    this.deltaY =  window.pageYOffset
                || document.documentElement.scrollTop
                || document.body.scrollTop
                || 0;
  },

  realOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.scrollTop  || 0;
      valueL += element.scrollLeft || 0;
      element = element.parentNode;
    } while (element);
    return [valueL, valueT];
  },

  cumulativeOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
    } while (element);
    return [valueL, valueT];
  },

  positionedOffset: function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
      if (element) {
        if(element.tagName=='BODY') break;
        var p = Element.getStyle(element, 'position');
        if (p == 'relative' || p == 'absolute') break;
      }
    } while (element);
    return [valueL, valueT];
  },

  offsetParent: function(element) {
    if (element.offsetParent) return element.offsetParent;
    if (element == document.body) return element;

    while ((element = element.parentNode) && element != document.body)
      if (Element.getStyle(element, 'position') != 'static')
        return element;

    return document.body;
  },

  // caches x/y coordinate pair to use with overlap
  within: function(element, x, y) {
    if (this.includeScrollOffsets)
      return this.withinIncludingScrolloffsets(element, x, y);
    this.xcomp = x;
    this.ycomp = y;
    this.offset = this.cumulativeOffset(element);

    return (y >= this.offset[1] &&
            y <  this.offset[1] + element.offsetHeight &&
            x >= this.offset[0] &&
            x <  this.offset[0] + element.offsetWidth);
  },

  withinIncludingScrolloffsets: function(element, x, y) {
    var offsetcache = this.realOffset(element);

    this.xcomp = x + offsetcache[0] - this.deltaX;
    this.ycomp = y + offsetcache[1] - this.deltaY;
    this.offset = this.cumulativeOffset(element);

    return (this.ycomp >= this.offset[1] &&
            this.ycomp <  this.offset[1] + element.offsetHeight &&
            this.xcomp >= this.offset[0] &&
            this.xcomp <  this.offset[0] + element.offsetWidth);
  },

  // within must be called directly before
  overlap: function(mode, element) {
    if (!mode) return 0;
    if (mode == 'vertical')
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
        element.offsetHeight;
    if (mode == 'horizontal')
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
        element.offsetWidth;
  },

  page: function(forElement) {
    var valueT = 0, valueL = 0;

    var element = forElement;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;

      // Safari fix
      if (element.offsetParent == document.body)
        if (Element.getStyle(element,'position')=='absolute') break;

    } while (element = element.offsetParent);

    element = forElement;
    do {
      if (!window.opera || element.tagName=='BODY') {
        valueT -= element.scrollTop  || 0;
        valueL -= element.scrollLeft || 0;
      }
    } while (element = element.parentNode);

    return [valueL, valueT];
  },

  clone: function(source, target) {
    var options = Object.extend({
      setLeft:    true,
      setTop:     true,
      setWidth:   true,
      setHeight:  true,
      offsetTop:  0,
      offsetLeft: 0
    }, arguments[2] || {})

    // find page position of source
    source = $(source);
    var p = Position.page(source);

    // find coordinate system to use
    target = $(target);
    var delta = [0, 0];
    var parent = null;
    // delta [0,0] will do fine with position: fixed elements,
    // position:absolute needs offsetParent deltas
    if (Element.getStyle(target,'position') == 'absolute') {
      parent = Position.offsetParent(target);
      delta = Position.page(parent);
    }

    // correct by body offsets (fixes Safari)
    if (parent == document.body) {
      delta[0] -= document.body.offsetLeft;
      delta[1] -= document.body.offsetTop;
    }

    // set position
    if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
    if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
    if(options.setWidth)  target.style.width = source.offsetWidth + 'px';
    if(options.setHeight) target.style.height = source.offsetHeight + 'px';
  },

  absolutize: function(element) {
    element = $(element);
    if (element.style.position == 'absolute') return;
    Position.prepare();

    var offsets = Position.positionedOffset(element);
    var top     = offsets[1];
    var left    = offsets[0];
    var width   = element.clientWidth;
    var height  = element.clientHeight;

    element._originalLeft   = left - parseFloat(element.style.left  || 0);
    element._originalTop    = top  - parseFloat(element.style.top || 0);
    element._originalWidth  = element.style.width;
    element._originalHeight = element.style.height;

    element.style.position = 'absolute';
    element.style.top    = top + 'px';
    element.style.left   = left + 'px';
    element.style.width  = width + 'px';
    element.style.height = height + 'px';
  },

  relativize: function(element) {
    element = $(element);
    if (element.style.position == 'relative') return;
    Position.prepare();

    element.style.position = 'relative';
    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);

    element.style.top    = top + 'px';
    element.style.left   = left + 'px';
    element.style.height = element._originalHeight;
    element.style.width  = element._originalWidth;
  }
}

// Safari returns margins on body which is incorrect if the child is absolutely
// positioned.  For performance reasons, redefine Position.cumulativeOffset for
// KHTML/WebKit only.
if (Prototype.Browser.WebKit) {
  Position.cumulativeOffset = function(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      if (element.offsetParent == document.body)
        if (Element.getStyle(element, 'position') == 'absolute') break;

      element = element.offsetParent;
    } while (element);

    return [valueL, valueT];
  }
}

Element.addMethods();



















//effects.js
// script.aculo.us effects.js v1.7.1_beta3, Fri May 25 17:19:41 +0200 2007

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// Contributors:
//  Justin Palmer (http://encytemedia.com/)
//  Mark Pilgrim (http://diveintomark.org/)
//  Martin Bialasinki
// 
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/ 

// converts rgb() and #xxx to #xxxxxx format,  
// returns self (or first argument) if not convertable  
String.prototype.parseColor = function() {  
  var color = '#';
  if(this.slice(0,4) == 'rgb(') {  
    var cols = this.slice(4,this.length-1).split(',');  
    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);  
  } else {  
    if(this.slice(0,1) == '#') {  
      if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();  
      if(this.length==7) color = this.toLowerCase();  
    }  
  }  
  return(color.length==7 ? color : (arguments[0] || this));  
}

/*--------------------------------------------------------------------------*/

Element.collectTextNodes = function(element) {  
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue : 
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
  }).flatten().join('');
}

Element.collectTextNodesIgnoreClass = function(element, className) {  
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue : 
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? 
        Element.collectTextNodesIgnoreClass(node, className) : ''));
  }).flatten().join('');
}

Element.setContentZoom = function(element, percent) {
  element = $(element);  
  element.setStyle({fontSize: (percent/100) + 'em'});   
  if(Prototype.Browser.WebKit) window.scrollBy(0,0);
  return element;
}

Element.getInlineOpacity = function(element){
  return $(element).style.opacity || '';
}

Element.forceRerendering = function(element) {
  try {
    element = $(element);
    var n = document.createTextNode(' ');
    element.appendChild(n);
    element.removeChild(n);
  } catch(e) { }
};

/*--------------------------------------------------------------------------*/

Array.prototype.call = function() {
  var args = arguments;
  this.each(function(f){ f.apply(this, args) });
}

/*--------------------------------------------------------------------------*/

var Effect = {
  _elementDoesNotExistError: {
    name: 'ElementDoesNotExistError',
    message: 'The specified DOM element does not exist, but is required for this effect to operate'
  },
  tagifyText: function(element) {
    if(typeof Builder == 'undefined')
      throw("Effect.tagifyText requires including script.aculo.us' builder.js library");
      
    var tagifyStyle = 'position:relative';
    if(Prototype.Browser.IE) tagifyStyle += ';zoom:1';
    
    element = $(element);
    $A(element.childNodes).each( function(child) {
      if(child.nodeType==3) {
        child.nodeValue.toArray().each( function(character) {
          element.insertBefore(
            Builder.node('span',{style: tagifyStyle},
              character == ' ' ? String.fromCharCode(160) : character), 
              child);
        });
        Element.remove(child);
      }
    });
  },
  multiple: function(element, effect) {
    var elements;
    if(((typeof element == 'object') || 
        (typeof element == 'function')) && 
       (element.length))
      elements = element;
    else
      elements = $(element).childNodes;
      
    var options = Object.extend({
      speed: 0.1,
      delay: 0.0
    }, arguments[2] || {});
    var masterDelay = options.delay;

    $A(elements).each( function(element, index) {
      new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
    });
  },
  PAIRS: {
    'slide':  ['SlideDown','SlideUp'],
    'blind':  ['BlindDown','BlindUp'],
    'appear': ['Appear','Fade']
  },
  toggle: function(element, effect) {
    element = $(element);
    effect = (effect || 'appear').toLowerCase();
    var options = Object.extend({
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
    }, arguments[2] || {});
    Effect[element.visible() ? 
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
  }
};

var Effect2 = Effect; // deprecated

/* ------------- transitions ------------- */

Effect.Transitions = {
  linear: Prototype.K,
  sinoidal: function(pos) {
    return (-Math.cos(pos*Math.PI)/2) + 0.5;
  },
  reverse: function(pos) {
    return 1-pos;
  },
  flicker: function(pos) {
    var pos = ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;
    return (pos > 1 ? 1 : pos);
  },
  wobble: function(pos) {
    return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
  },
  pulse: function(pos, pulses) { 
    pulses = pulses || 5; 
    return (
      Math.round((pos % (1/pulses)) * pulses) == 0 ? 
            ((pos * pulses * 2) - Math.floor(pos * pulses * 2)) : 
        1 - ((pos * pulses * 2) - Math.floor(pos * pulses * 2))
      );
  },
  none: function(pos) {
    return 0;
  },
  full: function(pos) {
    return 1;
  }
};

/* ------------- core effects ------------- */

Effect.ScopedQueue = Class.create();
Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
  initialize: function() {
    this.effects  = [];
    this.interval = null;    
  },
  _each: function(iterator) {
    this.effects._each(iterator);
  },
  add: function(effect) {
    var timestamp = new Date().getTime();
    
    var position = (typeof effect.options.queue == 'string') ? 
      effect.options.queue : effect.options.queue.position;
    
    switch(position) {
      case 'front':
        // move unstarted effects after this effect  
        this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
            e.startOn  += effect.finishOn;
            e.finishOn += effect.finishOn;
          });
        break;
      case 'with-last':
        timestamp = this.effects.pluck('startOn').max() || timestamp;
        break;
      case 'end':
        // start effect after last queued effect has finished
        timestamp = this.effects.pluck('finishOn').max() || timestamp;
        break;
    }
    
    effect.startOn  += timestamp;
    effect.finishOn += timestamp;

    if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
      this.effects.push(effect);
    
    if(!this.interval)
      this.interval = setInterval(this.loop.bind(this), 15);
  },
  remove: function(effect) {
    this.effects = this.effects.reject(function(e) { return e==effect });
    if(this.effects.length == 0) {
      clearInterval(this.interval);
      this.interval = null;
    }
  },
  loop: function() {
    var timePos = new Date().getTime();
    for(var i=0, len=this.effects.length;i<len;i++) 
      this.effects[i] && this.effects[i].loop(timePos);
  }
});

Effect.Queues = {
  instances: $H(),
  get: function(queueName) {
    if(typeof queueName != 'string') return queueName;
    
    if(!this.instances[queueName])
      this.instances[queueName] = new Effect.ScopedQueue();
      
    return this.instances[queueName];
  }
}
Effect.Queue = Effect.Queues.get('global');

Effect.DefaultOptions = {
  transition: Effect.Transitions.sinoidal,
  duration:   1.0,   // seconds
  fps:        100,   // 100= assume 66fps max.
  sync:       false, // true for combining
  from:       0.0,
  to:         1.0,
  delay:      0.0,
  queue:      'parallel'
}

Effect.Base = function() {};
Effect.Base.prototype = {
  position: null,
  start: function(options) {
    function codeForEvent(options,eventName){
      return (
        (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
      );
    }
    if(options.transition === false) options.transition = Effect.Transitions.linear;
    this.options      = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
    this.currentFrame = 0;
    this.state        = 'idle';
    this.startOn      = this.options.delay*1000;
    this.finishOn     = this.startOn+(this.options.duration*1000);
    this.fromToDelta  = this.options.to-this.options.from;
    this.totalTime    = this.finishOn-this.startOn;
    this.totalFrames  = this.options.fps*this.options.duration;
    
    eval('this.render = function(pos){ '+
      'if(this.state=="idle"){this.state="running";'+
      codeForEvent(options,'beforeSetup')+
      (this.setup ? 'this.setup();':'')+ 
      codeForEvent(options,'afterSetup')+
      '};if(this.state=="running"){'+
      'pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';'+
      'this.position=pos;'+
      codeForEvent(options,'beforeUpdate')+
      (this.update ? 'this.update(pos);':'')+
      codeForEvent(options,'afterUpdate')+
      '}}');
    
    this.event('beforeStart');
    if(!this.options.sync)
      Effect.Queues.get(typeof this.options.queue == 'string' ? 
        'global' : this.options.queue.scope).add(this);
  },
  loop: function(timePos) {
    if(timePos >= this.startOn) {
      if(timePos >= this.finishOn) {
        this.render(1.0);
        this.cancel();
        this.event('beforeFinish');
        if(this.finish) this.finish(); 
        this.event('afterFinish');
        return;  
      }
      var pos   = (timePos - this.startOn) / this.totalTime,
          frame = Math.round(pos * this.totalFrames);
      if(frame > this.currentFrame) {
        this.render(pos);
        this.currentFrame = frame;
      }
    }
  },
  cancel: function() {
    if(!this.options.sync)
      Effect.Queues.get(typeof this.options.queue == 'string' ? 
        'global' : this.options.queue.scope).remove(this);
    this.state = 'finished';
  },
  event: function(eventName) {
    if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
    if(this.options[eventName]) this.options[eventName](this);
  },
  inspect: function() {
    var data = $H();
    for(property in this)
      if(typeof this[property] != 'function') data[property] = this[property];
    return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
  }
}

Effect.Parallel = Class.create();
Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
  initialize: function(effects) {
    this.effects = effects || [];
    this.start(arguments[1]);
  },
  update: function(position) {
    this.effects.invoke('render', position);
  },
  finish: function(position) {
    this.effects.each( function(effect) {
      effect.render(1.0);
      effect.cancel();
      effect.event('beforeFinish');
      if(effect.finish) effect.finish(position);
      effect.event('afterFinish');
    });
  }
});

Effect.Event = Class.create();
Object.extend(Object.extend(Effect.Event.prototype, Effect.Base.prototype), {
  initialize: function() {
    var options = Object.extend({
      duration: 0
    }, arguments[0] || {});
    this.start(options);
  },
  update: Prototype.emptyFunction
});

Effect.Opacity = Class.create();
Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    // make this work on IE on elements without 'layout'
    if(Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
      this.element.setStyle({zoom: 1});
    var options = Object.extend({
      from: this.element.getOpacity() || 0.0,
      to:   1.0
    }, arguments[1] || {});
    this.start(options);
  },
  update: function(position) {
    this.element.setOpacity(position);
  }
});

Effect.Move = Class.create();
Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      x:    0,
      y:    0,
      mode: 'relative'
    }, arguments[1] || {});
    this.start(options);
  },
  setup: function() {
    // Bug in Opera: Opera returns the "real" position of a static element or
    // relative element that does not have top/left explicitly set.
    // ==> Always set top and left for position relative elements in your stylesheets 
    // (to 0 if you do not need them) 
    this.element.makePositioned();
    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
    if(this.options.mode == 'absolute') {
      // absolute movement, so we need to calc deltaX and deltaY
      this.options.x = this.options.x - this.originalLeft;
      this.options.y = this.options.y - this.originalTop;
    }
  },
  update: function(position) {
    this.element.setStyle({
      left: Math.round(this.options.x  * position + this.originalLeft) + 'px',
      top:  Math.round(this.options.y  * position + this.originalTop)  + 'px'
    });
  }
});

// for backwards compatibility
Effect.MoveBy = function(element, toTop, toLeft) {
  return new Effect.Move(element, 
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
};

Effect.Scale = Class.create();
Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
  initialize: function(element, percent) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      scaleX: true,
      scaleY: true,
      scaleContent: true,
      scaleFromCenter: false,
      scaleMode: 'box',        // 'box' or 'contents' or {} with provided values
      scaleFrom: 100.0,
      scaleTo:   percent
    }, arguments[2] || {});
    this.start(options);
  },
  setup: function() {
    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
    this.elementPositioning = this.element.getStyle('position');
    
    this.originalStyle = {};
    ['top','left','width','height','fontSize'].each( function(k) {
      this.originalStyle[k] = this.element.style[k];
    }.bind(this));
      
    this.originalTop  = this.element.offsetTop;
    this.originalLeft = this.element.offsetLeft;
    
    var fontSize = this.element.getStyle('font-size') || '100%';
    ['em','px','%','pt'].each( function(fontSizeType) {
      if(fontSize.indexOf(fontSizeType)>0) {
        this.fontSize     = parseFloat(fontSize);
        this.fontSizeType = fontSizeType;
      }
    }.bind(this));
    
    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
    
    this.dims = null;
    if(this.options.scaleMode=='box')
      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
    if(/^content/.test(this.options.scaleMode))
      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
    if(!this.dims)
      this.dims = [this.options.scaleMode.originalHeight,
                   this.options.scaleMode.originalWidth];
  },
  update: function(position) {
    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
    if(this.options.scaleContent && this.fontSize)
      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
  },
  finish: function(position) {
    if(this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
  },
  setDimensions: function(height, width) {
    var d = {};
    if(this.options.scaleX) d.width = Math.round(width) + 'px';
    if(this.options.scaleY) d.height = Math.round(height) + 'px';
    if(this.options.scaleFromCenter) {
      var topd  = (height - this.dims[0])/2;
      var leftd = (width  - this.dims[1])/2;
      if(this.elementPositioning == 'absolute') {
        if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
        if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
      } else {
        if(this.options.scaleY) d.top = -topd + 'px';
        if(this.options.scaleX) d.left = -leftd + 'px';
      }
    }
    this.element.setStyle(d);
  }
});

Effect.Highlight = Class.create();
Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
    this.start(options);
  },
  setup: function() {
    // Prevent executing on elements not in the layout flow
    if(this.element.getStyle('display')=='none') { this.cancel(); return; }
    // Disable background image during the effect
    this.oldStyle = {};
    if (!this.options.keepBackgroundImage) {
      this.oldStyle.backgroundImage = this.element.getStyle('background-image');
      this.element.setStyle({backgroundImage: 'none'});
    }
    if(!this.options.endcolor)
      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
    if(!this.options.restorecolor)
      this.options.restorecolor = this.element.getStyle('background-color');
    // init color calculations
    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
  },
  update: function(position) {
    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
      return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
  },
  finish: function() {
    this.element.setStyle(Object.extend(this.oldStyle, {
      backgroundColor: this.options.restorecolor
    }));
  }
});

Effect.ScrollTo = Class.create();
Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    this.start(arguments[1] || {});
  },
  setup: function() {
    Position.prepare();
    var offsets = Position.cumulativeOffset(this.element);
    if(this.options.offset) offsets[1] += this.options.offset;
    var max = window.innerHeight ? 
      window.height - window.innerHeight :
      document.body.scrollHeight - 
        (document.documentElement.clientHeight ? 
          document.documentElement.clientHeight : document.body.clientHeight);
    this.scrollStart = Position.deltaY;
    this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
  },
  update: function(position) {
    Position.prepare();
    window.scrollTo(Position.deltaX, 
      this.scrollStart + (position*this.delta));
  }
});

/* ------------- combination effects ------------- */

Effect.Fade = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  var options = Object.extend({
  from: element.getOpacity() || 1.0,
  to:   0.0,
  afterFinishInternal: function(effect) { 
    if(effect.options.to!=0) return;
    effect.element.hide().setStyle({opacity: oldOpacity}); 
  }}, arguments[1] || {});
  return new Effect.Opacity(element,options);
}

Effect.Appear = function(element) {
  element = $(element);
  var options = Object.extend({
  from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
  to:   1.0,
  // force Safari to render floated elements properly
  afterFinishInternal: function(effect) {
    effect.element.forceRerendering();
  },
  beforeSetup: function(effect) {
    effect.element.setOpacity(effect.options.from).show(); 
  }}, arguments[1] || {});
  return new Effect.Opacity(element,options);
}

Effect.Puff = function(element) {
  element = $(element);
  var oldStyle = { 
    opacity: element.getInlineOpacity(), 
    position: element.getStyle('position'),
    top:  element.style.top,
    left: element.style.left,
    width: element.style.width,
    height: element.style.height
  };
  return new Effect.Parallel(
   [ new Effect.Scale(element, 200, 
      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), 
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], 
     Object.extend({ duration: 1.0, 
      beforeSetupInternal: function(effect) {
        Position.absolutize(effect.effects[0].element)
      },
      afterFinishInternal: function(effect) {
         effect.effects[0].element.hide().setStyle(oldStyle); }
     }, arguments[1] || {})
   );
}

Effect.BlindUp = function(element) {
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0,
    Object.extend({ scaleContent: false, 
      scaleX: false, 
      restoreAfterFinish: true,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping();
      } 
    }, arguments[1] || {})
  );
}

Effect.BlindDown = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({ 
    scaleContent: false, 
    scaleX: false,
    scaleFrom: 0,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
    },  
    afterFinishInternal: function(effect) {
      effect.element.undoClipping();
    }
  }, arguments[1] || {}));
}

Effect.SwitchOff = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  return new Effect.Appear(element, Object.extend({
    duration: 0.4,
    from: 0,
    transition: Effect.Transitions.flicker,
    afterFinishInternal: function(effect) {
      new Effect.Scale(effect.element, 1, { 
        duration: 0.3, scaleFromCenter: true,
        scaleX: false, scaleContent: false, restoreAfterFinish: true,
        beforeSetup: function(effect) { 
          effect.element.makePositioned().makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
        }
      })
    }
  }, arguments[1] || {}));
}

Effect.DropOut = function(element) {
  element = $(element);
  var oldStyle = {
    top: element.getStyle('top'),
    left: element.getStyle('left'),
    opacity: element.getInlineOpacity() };
  return new Effect.Parallel(
    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), 
      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
    Object.extend(
      { duration: 0.5,
        beforeSetup: function(effect) {
          effect.effects[0].element.makePositioned(); 
        },
        afterFinishInternal: function(effect) {
          effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
        } 
      }, arguments[1] || {}));
}

Effect.Shake = function(element) {
  element = $(element);
  var oldStyle = {
    top: element.getStyle('top'),
    left: element.getStyle('left') };
    return new Effect.Move(element, 
      { x:  20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x:  40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
    new Effect.Move(effect.element,
      { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
        effect.element.undoPositioned().setStyle(oldStyle);
  }}) }}) }}) }}) }}) }});
}

Effect.SlideDown = function(element) {
  element = $(element).cleanWhitespace();
  // SlideDown need to have the content of the element wrapped in a container element with fixed height!
  var oldInnerBottom = element.down().getStyle('bottom');
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({ 
    scaleContent: false, 
    scaleX: false, 
    scaleFrom: window.opera ? 0 : 1,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if(window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
    },
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' }); 
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping().undoPositioned();
      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
    }, arguments[1] || {})
  );
}

Effect.SlideUp = function(element) {
  element = $(element).cleanWhitespace();
  var oldInnerBottom = element.down().getStyle('bottom');
  return new Effect.Scale(element, window.opera ? 0 : 1,
   Object.extend({ scaleContent: false, 
    scaleX: false, 
    scaleMode: 'box',
    scaleFrom: 100,
    restoreAfterFinish: true,
    beforeStartInternal: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if(window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().show();
    },  
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' });
    },
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping().undoPositioned().setStyle({bottom: oldInnerBottom});
      effect.element.down().undoPositioned();
    }
   }, arguments[1] || {})
  );
}

// Bug in opera makes the TD containing this element expand for a instance after finish 
Effect.Squish = function(element) {
  return new Effect.Scale(element, window.opera ? 1 : 0, { 
    restoreAfterFinish: true,
    beforeSetup: function(effect) {
      effect.element.makeClipping(); 
    },  
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping(); 
    }
  });
}

Effect.Grow = function(element) {
  element = $(element);
  var options = Object.extend({
    direction: 'center',
    moveTransition: Effect.Transitions.sinoidal,
    scaleTransition: Effect.Transitions.sinoidal,
    opacityTransition: Effect.Transitions.full
  }, arguments[1] || {});
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    height: element.style.height,
    width: element.style.width,
    opacity: element.getInlineOpacity() };

  var dims = element.getDimensions();    
  var initialMoveX, initialMoveY;
  var moveX, moveY;
  
  switch (options.direction) {
    case 'top-left':
      initialMoveX = initialMoveY = moveX = moveY = 0; 
      break;
    case 'top-right':
      initialMoveX = dims.width;
      initialMoveY = moveY = 0;
      moveX = -dims.width;
      break;
    case 'bottom-left':
      initialMoveX = moveX = 0;
      initialMoveY = dims.height;
      moveY = -dims.height;
      break;
    case 'bottom-right':
      initialMoveX = dims.width;
      initialMoveY = dims.height;
      moveX = -dims.width;
      moveY = -dims.height;
      break;
    case 'center':
      initialMoveX = dims.width / 2;
      initialMoveY = dims.height / 2;
      moveX = -dims.width / 2;
      moveY = -dims.height / 2;
      break;
  }
  
  return new Effect.Move(element, {
    x: initialMoveX,
    y: initialMoveY,
    duration: 0.01, 
    beforeSetup: function(effect) {
      effect.element.hide().makeClipping().makePositioned();
    },
    afterFinishInternal: function(effect) {
      new Effect.Parallel(
        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
          new Effect.Scale(effect.element, 100, {
            scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, 
            sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
        ], Object.extend({
             beforeSetup: function(effect) {
               effect.effects[0].element.setStyle({height: '0px'}).show(); 
             },
             afterFinishInternal: function(effect) {
               effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); 
             }
           }, options)
      )
    }
  });
}

Effect.Shrink = function(element) {
  element = $(element);
  var options = Object.extend({
    direction: 'center',
    moveTransition: Effect.Transitions.sinoidal,
    scaleTransition: Effect.Transitions.sinoidal,
    opacityTransition: Effect.Transitions.none
  }, arguments[1] || {});
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    height: element.style.height,
    width: element.style.width,
    opacity: element.getInlineOpacity() };

  var dims = element.getDimensions();
  var moveX, moveY;
  
  switch (options.direction) {
    case 'top-left':
      moveX = moveY = 0;
      break;
    case 'top-right':
      moveX = dims.width;
      moveY = 0;
      break;
    case 'bottom-left':
      moveX = 0;
      moveY = dims.height;
      break;
    case 'bottom-right':
      moveX = dims.width;
      moveY = dims.height;
      break;
    case 'center':  
      moveX = dims.width / 2;
      moveY = dims.height / 2;
      break;
  }
  
  return new Effect.Parallel(
    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
      new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
    ], Object.extend({            
         beforeStartInternal: function(effect) {
           effect.effects[0].element.makePositioned().makeClipping(); 
         },
         afterFinishInternal: function(effect) {
           effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
       }, options)
  );
}

Effect.Pulsate = function(element) {
  element = $(element);
  var options    = arguments[1] || {};
  var oldOpacity = element.getInlineOpacity();
  var transition = options.transition || Effect.Transitions.sinoidal;
  var reverser   = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) };
  reverser.bind(transition);
  return new Effect.Opacity(element, 
    Object.extend(Object.extend({  duration: 2.0, from: 0,
      afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
    }, options), {transition: reverser}));
}

Effect.Fold = function(element) {
  element = $(element);
  var oldStyle = {
    top: element.style.top,
    left: element.style.left,
    width: element.style.width,
    height: element.style.height };
  element.makeClipping();
  return new Effect.Scale(element, 5, Object.extend({   
    scaleContent: false,
    scaleX: false,
    afterFinishInternal: function(effect) {
    new Effect.Scale(element, 1, { 
      scaleContent: false, 
      scaleY: false,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping().setStyle(oldStyle);
      } });
  }}, arguments[1] || {}));
};

Effect.Morph = Class.create();
Object.extend(Object.extend(Effect.Morph.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      style: {}
    }, arguments[1] || {});
    if (typeof options.style == 'string') {
      if(options.style.indexOf(':') == -1) {
        var cssText = '', selector = '.' + options.style;
        $A(document.styleSheets).reverse().each(function(styleSheet) {
          if (styleSheet.cssRules) cssRules = styleSheet.cssRules;
          else if (styleSheet.rules) cssRules = styleSheet.rules;
          $A(cssRules).reverse().each(function(rule) {
            if (selector == rule.selectorText) {
              cssText = rule.style.cssText;
              throw $break;
            }
          });
          if (cssText) throw $break;
        });
        this.style = cssText.parseStyle();
        options.afterFinishInternal = function(effect){
          effect.element.addClassName(effect.options.style);
          effect.transforms.each(function(transform) {
            if(transform.style != 'opacity')
              effect.element.style[transform.style] = '';
          });
        }
      } else this.style = options.style.parseStyle();
    } else this.style = $H(options.style)
    this.start(options);
  },
  setup: function(){
    function parseColor(color){
      if(!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
      color = color.parseColor();
      return $R(0,2).map(function(i){
        return parseInt( color.slice(i*2+1,i*2+3), 16 ) 
      });
    }
    this.transforms = this.style.map(function(pair){
      var property = pair[0], value = pair[1], unit = null;

      if(value.parseColor('#zzzzzz') != '#zzzzzz') {
        value = value.parseColor();
        unit  = 'color';
      } else if(property == 'opacity') {
        value = parseFloat(value);
        if(Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
          this.element.setStyle({zoom: 1});
      } else if(Element.CSS_LENGTH.test(value)) {
          var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
          value = parseFloat(components[1]);
          unit = (components.length == 3) ? components[2] : null;
      }

      var originalValue = this.element.getStyle(property);
      return { 
        style: property.camelize(), 
        originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), 
        targetValue: unit=='color' ? parseColor(value) : value,
        unit: unit
      };
    }.bind(this)).reject(function(transform){
      return (
        (transform.originalValue == transform.targetValue) ||
        (
          transform.unit != 'color' &&
          (isNaN(transform.originalValue) || isNaN(transform.targetValue))
        )
      )
    });
  },
  update: function(position) {
    var style = {}, transform, i = this.transforms.length;
    while(i--)
      style[(transform = this.transforms[i]).style] = 
        transform.unit=='color' ? '#'+
          (Math.round(transform.originalValue[0]+
            (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
          (Math.round(transform.originalValue[1]+
            (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
          (Math.round(transform.originalValue[2]+
            (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
        transform.originalValue + Math.round(
          ((transform.targetValue - transform.originalValue) * position) * 1000)/1000 + transform.unit;
    this.element.setStyle(style, true);
  }
});

Effect.Transform = Class.create();
Object.extend(Effect.Transform.prototype, {
  initialize: function(tracks){
    this.tracks  = [];
    this.options = arguments[1] || {};
    this.addTracks(tracks);
  },
  addTracks: function(tracks){
    tracks.each(function(track){
      var data = $H(track).values().first();
      this.tracks.push($H({
        ids:     $H(track).keys().first(),
        effect:  Effect.Morph,
        options: { style: data }
      }));
    }.bind(this));
    return this;
  },
  play: function(){
    return new Effect.Parallel(
      this.tracks.map(function(track){
        var elements = [$(track.ids) || $$(track.ids)].flatten();
        return elements.map(function(e){ return new track.effect(e, Object.extend({ sync:true }, track.options)) });
      }).flatten(),
      this.options
    );
  }
});

Element.CSS_PROPERTIES = $w(
  'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + 
  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
  'fontSize fontWeight height left letterSpacing lineHeight ' +
  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
  'right textIndent top width wordSpacing zIndex');
  
Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;

String.prototype.parseStyle = function(){
  var element = document.createElement('div');
  element.innerHTML = '<div style="' + this + '"></div>';
  var style = element.childNodes[0].style, styleRules = $H();
  
  Element.CSS_PROPERTIES.each(function(property){
    if(style[property]) styleRules[property] = style[property]; 
  });
  if(Prototype.Browser.IE && this.indexOf('opacity') > -1) {
    styleRules.opacity = this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];
  }
  return styleRules;
};

Element.morph = function(element, style) {
  new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || {}));
  return element;
};

['getInlineOpacity','forceRerendering','setContentZoom',
 'collectTextNodes','collectTextNodesIgnoreClass','morph'].each( 
  function(f) { Element.Methods[f] = Element[f]; }
);

Element.Methods.visualEffect = function(element, effect, options) {
  s = effect.dasherize().camelize();
  effect_class = s.charAt(0).toUpperCase() + s.substring(1);
  new Effect[effect_class](element, options);
  return $(element);
};

Element.addMethods();




















//builder.js
// script.aculo.us builder.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

var Builder = {
  NODEMAP: {
    AREA: 'map',
    CAPTION: 'table',
    COL: 'table',
    COLGROUP: 'table',
    LEGEND: 'fieldset',
    OPTGROUP: 'select',
    OPTION: 'select',
    PARAM: 'object',
    TBODY: 'table',
    TD: 'table',
    TFOOT: 'table',
    TH: 'table',
    THEAD: 'table',
    TR: 'table'
  },
  // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
  //       due to a Firefox bug
  node: function(elementName) {
    elementName = elementName.toUpperCase();
    
    // try innerHTML approach
    var parentTag = this.NODEMAP[elementName] || 'div';
    var parentElement = document.createElement(parentTag);
    try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
      parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
    } catch(e) {}
    var element = parentElement.firstChild || null;
      
    // see if browser added wrapping tags
    if(element && (element.tagName.toUpperCase() != elementName))
      element = element.getElementsByTagName(elementName)[0];
    
    // fallback to createElement approach
    if(!element) element = document.createElement(elementName);
    
    // abort if nothing could be created
    if(!element) return;

    // attributes (or text)
    if(arguments[1])
      if(this._isStringOrNumber(arguments[1]) ||
        (arguments[1] instanceof Array) ||
        arguments[1].tagName) {
          this._children(element, arguments[1]);
        } else {
          var attrs = this._attributes(arguments[1]);
          if(attrs.length) {
            try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
              parentElement.innerHTML = "<" +elementName + " " +
                attrs + "></" + elementName + ">";
            } catch(e) {}
            element = parentElement.firstChild || null;
            // workaround firefox 1.0.X bug
            if(!element) {
              element = document.createElement(elementName);
              for(attr in arguments[1]) 
                element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
            }
            if(element.tagName.toUpperCase() != elementName)
              element = parentElement.getElementsByTagName(elementName)[0];
          }
        } 

    // text, or array of children
    if(arguments[2])
      this._children(element, arguments[2]);

     return element;
  },
  _text: function(text) {
     return document.createTextNode(text);
  },

  ATTR_MAP: {
    'className': 'class',
    'htmlFor': 'for'
  },

  _attributes: function(attributes) {
    var attrs = [];
    for(attribute in attributes)
      attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) +
          '="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;') + '"');
    return attrs.join(" ");
  },
  _children: function(element, children) {
    if(children.tagName) {
      element.appendChild(children);
      return;
    }
    if(typeof children=='object') { // array can hold nodes and text
      children.flatten().each( function(e) {
        if(typeof e=='object')
          element.appendChild(e)
        else
          if(Builder._isStringOrNumber(e))
            element.appendChild(Builder._text(e));
      });
    } else
      if(Builder._isStringOrNumber(children))
        element.appendChild(Builder._text(children));
  },
  _isStringOrNumber: function(param) {
    return(typeof param=='string' || typeof param=='number');
  },
  build: function(html) {
    var element = this.node('div');
    $(element).update(html.strip());
    return element.down();
  },
  dump: function(scope) { 
    if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope 
  
    var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " +
      "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " +
      "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+
      "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+
      "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+
      "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);
  
    tags.each( function(tag){ 
      scope[tag] = function() { 
        return Builder.node.apply(Builder, [tag].concat($A(arguments)));  
      } 
    });
  }
}

















//scriptaculous.js
// script.aculo.us scriptaculous.js v1.7.1_beta3, Fri May 25 17:19:41 +0200 2007

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// 
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// 
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// For details, see the script.aculo.us web site: http://script.aculo.us/

var Scriptaculous = {
  Version: '1.7.1_beta3',
  require: function(libraryName) {
    // inserting via DOM fails in Safari 2.0, so brute force approach
    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
  },
  REQUIRED_PROTOTYPE: '1.5.1',
  load: function() {
    function convertVersionString(versionString){
      var r = versionString.split('.');
      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]);
    }
 
    if((typeof Prototype=='undefined') || 
       (typeof Element == 'undefined') || 
       (typeof Element.Methods=='undefined') ||
       (convertVersionString(Prototype.Version) < 
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
       throw("script.aculo.us requires the Prototype JavaScript framework >= " +
        Scriptaculous.REQUIRED_PROTOTYPE);
    
    $A(document.getElementsByTagName("script")).findAll( function(s) {
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
    }).each( function(s) {
      var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
      var includes = s.src.match(/\?.*load=([a-z,]*)/);
      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
       function(include) { Scriptaculous.require(path+include+'.js') });
    });
  }
}

Scriptaculous.load();
























//lightbox.js

// -----------------------------------------------------------------------------------
//
//	Lightbox Slideshow v1.1
//	by Justin Barkhuff - http://www.justinbarkhuff.com/lab/lightbox_slideshow/
//  Updated: 2009-04-08
//  Modification by VisualLightBox.com at 30/04/2009
//	* create table structure
//
//  Modification by VisualLightBox.com
//   + Add round corner for image container
//   + Integration of automatic resize from Michael R. Bagnall - elusivemind.net & Sebastien Grosjean - ZenCocoon.com
//   + synchronous changes in the size of Lightbox
// 
//	Largely based on Lightbox v2.02
//	by Lokesh Dhakar - http://huddletogether.com/projects/lightbox2/
//	3/31/06
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//
//	The code inserts html at the bottom of the page that looks similar to this:
//
//	<div id="overlay"></div>
//	<div id="lightbox">
//		<table id="outerImageContainer">
//			<tr><td class="tl"></td><td class="tc"></td><td class="tr"></td></tr>
//			<tr><td class="ml"></td>
//			<td id="lightboxFrameBody">
//				<div id="imageContainer">
//					<img id="lightboxImage" />
//					<div id="hoverNav">
//						<a href="javascript:void(0);" id="prevLinkImg">&laquo; prev</a>
//						<a href="javascript:void(0);" id="nextLinkImg">next &raquo;</a>
//					</div>
//					<div id="loading">
//						<a href="javascript:void(0);" id="loadingLink">loading</a>
//					</div>
//				</div>
//			
//				<div id="imageDataContainer">
//					<div id="imageData">
//						<div id="imageDetails">
//							<span id="caption"></span>
//							<span id="numberDisplay"></span>
//							<span id="detailsNav">
//								<a id="prevLinkDetails" href="javascript:void(0);"></a>
//								<a id="slideShowControl" href="javascript:void(0);"></a>
//								<a id="nextLinkDetails" href="javascript:void(0);"></a>
//							</span>
//						</div>
//						<div id="close">
//							<a id="closeLink" href="javascript:void(0);">close</a>
//						</div>
//					</div>
//				</div>
//			</td>
//			<td class="mr"></td></tr>
//			<tr><td class="bl"></td><td class="bc"></td><td class="br"></td></tr>
//		</table>
//	</div>
//
// -----------------------------------------------------------------------------------

//
//	Lightbox Object
//

var Lightbox = {	
	activeImage : null,
	badObjects : ['select','object','embed'],
	container : null,
	enableSlideshow : null,
	groupName : null,
	imageArray : [],
	options : null,
	overlayDuration : null,
	overlayOpacity : null,
	playSlides : null,
	refTags : ['a','area'],
	relAttribute : null,
	resizeDuration : null,
	slideShowTimer : null,
	startImage : null,
	
	//
	// initialize()
	// Constructor sets class properties and configuration options and
	// inserts html at the bottom of the page which is used to display the shadow 
	// overlay and the image container.
	//
	initialize: function(options) {
		if (!document.getElementsByTagName){ return; }
		
		this.options = $H({
			animate : true, // resizing animations
			autoPlay : false, // should slideshow start automatically
			borderSize : 21, // if you adjust the padding in the CSS, you will need to update this variable
			containerID : document, // lightbox container object
			enableSlideshow : true, // enable slideshow feature
			googleAnalytics : false, // track individual image views using Google Analytics
			imageDataLocation : 'south', // location of image caption information
			initImage : '', // ID of image link to automatically launch when upon script initialization
			loop : true, // whether to continuously loop slideshow images
			overlayDuration : .2, // time to fade in shadow overlay
			overlayOpacity : .4, // transparency of shadow overlay
			prefix : '', // ID prefix for all dynamically created html elements
			relAttribute : 'lightbox', // specifies the rel attribute value that triggers lightbox
			resizeSpeed : 7, // controls the speed of the image resizing (1=slowest and 10=fastest)
			showGroupName : false, // show group name of images in image details
			slideTime : 4, // time to display images during slideshow
			strings : { // allows for localization
				closeLink : '',
				loadingMsg : 'loading',
				nextLink : '',
				prevLink : '',
				startSlideshow : '',
				stopSlideshow : '',
				numDisplayPrefix : '',
				numDisplaySeparator : '/'
			},
		    featBrowser: true,     // set it to true or false to choose to auto-adjust the maximum size to the browser
			breathingSize: 50     // control the minimum space around the image box
        }).merge(options);
		
		if(this.options.animate){
			this.overlayDuration = Math.max(this.options.overlayDuration,0);
			this.options.resizeSpeed = Math.max(Math.min(this.options.resizeSpeed,10),1);
			this.resizeDuration = (11 - this.options.resizeSpeed) * 0.15;
		}else{
			this.overlayDuration = 0;
			this.resizeDuration = 0;
		}
		
		this.enableSlideshow = this.options.enableSlideshow;
		this.overlayOpacity = Math.max(Math.min(this.options.overlayOpacity,1),0);
		this.playSlides = this.options.autoPlay;
		this.container = $(this.options.containerID);
		this.relAttribute = this.options.relAttribute;
		this.updateImageList();
		
		var objBody = this.container != document ? this.container : document.getElementsByTagName('body').item(0);
		
		var objOverlay = document.createElement('div');
		objOverlay.setAttribute('id',this.getID('overlay'));
		objOverlay.style.display = 'none';
		objBody.appendChild(objOverlay);
		Event.observe(objOverlay,'click',this.end.bindAsEventListener(this));
		
		var objLightbox = document.createElement('div');
		objLightbox.setAttribute('id',this.getID('lightbox'));
		objLightbox.style.display = 'none';
		objBody.appendChild(objLightbox);
		
		var objImageDataContainer = document.createElement('div');
		objImageDataContainer.setAttribute('id',this.getID('imageDataContainer'));
		objImageDataContainer.className = this.getID('clearfix');

		var objImageData = document.createElement('div');
		objImageData.setAttribute('id',this.getID('imageData'));
		objImageDataContainer.appendChild(objImageData);
	
		var objImageDetails = document.createElement('div');
		objImageDetails.setAttribute('id',this.getID('imageDetails'));
		objImageData.appendChild(objImageDetails);
	
		var objCaption = document.createElement('span');
		objCaption.setAttribute('id',this.getID('caption'));
		objImageDetails.appendChild(objCaption);
	
		var objNumberDisplay = document.createElement('span');
		objNumberDisplay.setAttribute('id',this.getID('numberDisplay'));
		objImageDetails.appendChild(objNumberDisplay);

		var objDetailsNav = document.createElement('span');
		objDetailsNav.setAttribute('id',this.getID('detailsNav'));
		objImageDetails.appendChild(objDetailsNav);

		var objPrevLink = document.createElement('a');
		objPrevLink.setAttribute('id',this.getID('prevLinkDetails'));
		objPrevLink.setAttribute('href','javascript:void(0);');
		objPrevLink.innerHTML = this.options.strings.prevLink;
		objDetailsNav.appendChild(objPrevLink);
		Event.observe(objPrevLink,'click',this.showPrev.bindAsEventListener(this));
		

		var objSlideShowControl = document.createElement('a');
		objSlideShowControl.setAttribute('id',this.getID('slideShowControl'));
		objSlideShowControl.setAttribute('href','javascript:void(0);');
		objDetailsNav.appendChild(objSlideShowControl);
		Event.observe(objSlideShowControl,'click',this.toggleSlideShow.bindAsEventListener(this));
		
		
		var objNextLink = document.createElement('a');
		objNextLink.setAttribute('id',this.getID('nextLinkDetails'));
		objNextLink.setAttribute('href','javascript:void(0);');
		objNextLink.innerHTML = this.options.strings.nextLink;
		objDetailsNav.appendChild(objNextLink);
		Event.observe(objNextLink,'click',this.showNext.bindAsEventListener(this));

		var objClose = document.createElement('div');
		objClose.setAttribute('id',this.getID('close'));
		objImageData.appendChild(objClose);
	
		var objCloseLink = document.createElement('a');
		objCloseLink.setAttribute('id',this.getID('closeLink'));
		objCloseLink.setAttribute('href','javascript:void(0);');
		objCloseLink.innerHTML = this.options.strings.closeLink;
		objClose.appendChild(objCloseLink);	
		Event.observe(objCloseLink,'click',this.end.bindAsEventListener(this));
	
		var objOuterImageContainer = document.createElement('table');
		objOuterImageContainer.setAttribute('id',this.getID('outerImageContainer'));
		objOuterImageContainer.cellSpacing = 0;
		objLightbox.appendChild(objOuterImageContainer);
		
		// create content cells
		var objOICTop = objOuterImageContainer.insertRow(-1);
		var objOICTL =  objOICTop.insertCell(-1);
		objOICTL.className = 'tl';
		var objOICTC =  objOICTop.insertCell(-1);
		objOICTC.className = 'tc';
		var objOICTR =  objOICTop.insertCell(-1);
		objOICTR.className = 'tr';
		var objOICMiddle = objOuterImageContainer.insertRow(-1);
		var objOICML =  objOICMiddle.insertCell(-1);
		objOICML.className = 'ml';
		
		// middle center 
		var objLightboxFrameBody =  objOICMiddle.insertCell(-1);
		objLightboxFrameBody.setAttribute('id',this.getID('lightboxFrameBody'));
		objLightboxFrameBody.innerHTML='&nbsp;';
		
		var objOICMR =  objOICMiddle.insertCell(-1);
		objOICMR.className = 'mr';
		var objOICBottom = objOuterImageContainer.insertRow(-1);
		var objOICBL =  objOICBottom.insertCell(-1);
		objOICBL.className = 'bl';
		var objOICBC =  objOICBottom.insertCell(-1);
		objOICBC.className = 'bc';
		var objOICBR =  objOICBottom.insertCell(-1);
		objOICBR.className = 'br';
		

		if(this.options.imageDataLocation == 'north'){
			objLightboxFrameBody.appendChild(objImageDataContainer);
		}

		var objImageContainer = document.createElement('div');
		objImageContainer.setAttribute('id',this.getID('imageContainer'));
		objLightboxFrameBody.appendChild(objImageContainer);
	
		var objLightboxImage = document.createElement('img');
		objLightboxImage.setAttribute('id',this.getID('lightboxImage'));
		objImageContainer.appendChild(objLightboxImage);
	
		var objHoverNav = document.createElement('div');
		objHoverNav.setAttribute('id',this.getID('hoverNav'));
		objImageContainer.appendChild(objHoverNav);
	
		var objPrevLinkImg = document.createElement('a');
		objPrevLinkImg.setAttribute('id',this.getID('prevLinkImg'));
		objPrevLinkImg.setAttribute('href','javascript:void(0);');
		objHoverNav.appendChild(objPrevLinkImg);
		Event.observe(objPrevLinkImg,'click',this.showPrev.bindAsEventListener(this));
		
		var objNextLinkImg = document.createElement('a');
		objNextLinkImg.setAttribute('id',this.getID('nextLinkImg'));
		objNextLinkImg.setAttribute('href','javascript:void(0);');
		objHoverNav.appendChild(objNextLinkImg);
		Event.observe(objNextLinkImg,'click',this.showNext.bindAsEventListener(this));
	
		var objLoading = document.createElement('div');
		objLoading.setAttribute('id',this.getID('loading'));
		objImageContainer.appendChild(objLoading);
	
		var objLoadingLink = document.createElement('a');
		objLoadingLink.setAttribute('id',this.getID('loadingLink'));
		objLoadingLink.setAttribute('href','javascript:void(0);');
		objLoadingLink.innerHTML = this.options.strings.loadingMsg;
		objLoading.appendChild(objLoadingLink);
		Event.observe(objLoadingLink,'click',this.end.bindAsEventListener(this));
		
		if(this.options.imageDataLocation != 'north'){
			objLightboxFrameBody.appendChild(objImageDataContainer);
		}
		


		if(this.options.initImage != ''){
			this.start($(this.options.initImage));
		}
	},
	
	//
	//	updateImageList()
	//	Loops through specific tags within 'container' looking for 
	// 'lightbox' references and applies onclick events to them.
	//
	updateImageList: function(){
		var el, els, rel;
		for(var i=0; i < this.refTags.length; i++){
			els = this.container.getElementsByTagName(this.refTags[i]);
			for(var j=0; j < els.length; j++){
				el = els[j];
				rel = String(el.getAttribute('rel'));
				if (el.getAttribute('href') && (rel.toLowerCase().match(this.relAttribute))){
					el.onclick = function(){Lightbox.start(this); return false;}
				}
			}
		}
	},
		
	//
	//	start()
	//	Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
	//
	start: function(imageLink) {	

		this.hideBadObjects();

		// stretch overlay to fill page and fade in
		var pageSize = this.getPageSize();
		$(this.getID('overlay')).setStyle({height:pageSize.pageHeight+'px'});
		new Effect.Appear(this.getID('overlay'), { duration: this.overlayDuration, from: 0, to: this.overlayOpacity });

		this.imageArray = [];
		this.groupName = null;
		
		var rel = imageLink.getAttribute('rel');
		var imageTitle = '';
		
		// if image is NOT part of a group..
		if(rel == this.relAttribute){
			// add single image to imageArray
			imageTitle = imageLink.getAttribute('title') ? imageLink.getAttribute('title') : '';
			this.imageArray.push({'link':imageLink.getAttribute('href'), 'title':imageTitle});			
			this.startImage = 0;
		} else {
			// if image is part of a group..
			var els = this.container.getElementsByTagName(imageLink.tagName);
			// loop through anchors, find other images in group, and add them to imageArray
			for (var i=0; i<els.length; i++){
				var el = els[i];
				if (el.getAttribute('href') && (el.getAttribute('rel') == rel)){
					imageTitle = el.getAttribute('title') ? el.getAttribute('title') : '';
					this.imageArray.push({'link':el.getAttribute('href'),'title':imageTitle});
					if(el == imageLink){
						this.startImage = this.imageArray.length-1;
					}
				}
			}
			// get group name
			this.groupName = rel.substring(this.relAttribute.length+1,rel.length-1);
		}

		// calculate top offset for the lightbox and display 
		var pageScroll = this.getPageScroll();
		var lightboxTop = pageScroll.y + (pageSize.winHeight / 15);

		$(this.getID('lightbox')).setStyle({top:lightboxTop+'px'}).show();
        if (Lightbox.options.featBrowser) 
			Event.observe(window, 'resize', (function(e) {this.adjustImageSize(true); }).bind(this));
		this.changeImage(this.startImage);
	},

	//
	//	changeImage()
	//	Hide most elements and preload image in preparation for resizing image container.
	//
	changeImage: function(imageNum){	
		this.activeImage = imageNum;

		this.disableKeyboardNav();
		this.pauseSlideShow();

		// hide elements during transition
		$(this.getID('loading')).show();
		$(this.getID('lightboxImage')).hide();
		$(this.getID('hoverNav')).hide();
		$(this.getID('imageDataContainer')).hide();
		$(this.getID('numberDisplay')).hide();
		$(this.getID('detailsNav')).hide();
		
		var imgPreloader = new Image();
		
		// once image is preloaded, resize image container
		imgPreloader.onload=function(){
			$(Lightbox.getID('lightboxImage')).src = imgPreloader.src;
			
            Lightbox.imageArray[Lightbox.activeImage].width = imgPreloader.width;
            Lightbox.imageArray[Lightbox.activeImage].height = imgPreloader.height;
            Lightbox.adjustImageSize(false);
		}
		imgPreloader.src = this.imageArray[this.activeImage].link;
		
		if(this.options.googleAnalytics){
			urchinTracker(this.imageArray[this.activeImage].link);
		}
	},

	//
    //  adjustImageSize()
    //  adjust image size if option featBrowser is set to true
    //
    adjustImageSize: function( recall ) {
        // get image size
        imgWidth = this.imageArray[this.activeImage].width;
        imgHeight = this.imageArray[this.activeImage].height;
        var arrayPageSize = this.getPageSize(); // {pageWidth:pageX,pageHeight:pageY,winWidth:windowX,winHeight:windowY};
        // adjust image size if featBrowser option is set to true
        if (Lightbox.options.featBrowser == true) {
          // calculate proportions 
          var imageProportion = imgWidth / imgHeight;
          var winProportion = arrayPageSize.winWidth / arrayPageSize.winHeight;

          if (imageProportion > winProportion) {
            // calculate max width base on page width
            var maxWidth = arrayPageSize.winWidth - (Lightbox.options.borderSize * 2) - (Lightbox.options.breathingSize * 2);
            var maxHeight = Math.round(maxWidth / imageProportion);
          } else {
            // calculate maw height base on page height
            var maxHeight = arrayPageSize.winHeight - (Lightbox.options.borderSize * 2) - (arrayPageSize.winHeight / 15) - Lightbox.options.breathingSize;
            var maxWidth = Math.round(maxHeight * imageProportion);
          }
          if (imgWidth > maxWidth || imgHeight > maxHeight) {
            imgWidth = maxWidth;
            imgHeight = maxHeight;
          }
        }
		
		$(this.getID('overlay')).setStyle({height: arrayPageSize.pageHeight + 'px' });
        $(this.getID('lightboxImage')).setStyle({ height: imgHeight + 'px', width: imgWidth + 'px'});

        if (recall == true) {
          $(this.getID('outerImageContainer')).setStyle({height: (imgHeight + (Lightbox.options.borderSize * 2)) + 'px', width: (imgWidth + (Lightbox.options.borderSize * 2)) + 'px'});
//          $(this.getID('imageDataContainer')).setStyle({ width: (imgWidth + (Lightbox.options.borderSize * 2)) + 'px' });
        } else {
          this.resizeImageContainer(imgWidth, imgHeight);
        }
    },

    //
	//	resizeImageContainer()
	//
	resizeImageContainer: function(imgWidth,imgHeight) {
		// get current height and width
		var cDims = $(this.getID('outerImageContainer')).getDimensions();

		// scalars based on change from old to new
		var xScale = ((imgWidth  + (this.options.borderSize * 2)) / cDims.width) * 100;
		var yScale = ((imgHeight  + (this.options.borderSize * 2)) / cDims.height) * 100;

		// calculate size difference between new and old image, and resize if necessary
		var wDiff = (cDims.width - this.options.borderSize * 2) - imgWidth;
		var hDiff = (cDims.height - this.options.borderSize * 2) - imgHeight;

	
		var effectScale = [];
		if (!( hDiff == 0)) effectScale[effectScale.length] = new Effect.Scale(this.getID('outerImageContainer'), yScale, {scaleX: false, sync: true });
		if (!( wDiff == 0)) effectScale[effectScale.length] = new Effect.Scale(this.getID('outerImageContainer'), xScale, {scaleY: false, sync: true });
		if (effectScale.length)	new Effect.Parallel(effectScale,{delay: this.resizeDuration, duration: this.resizeDuration});
		

		// if new and old image are same size and no scaling transition is necessary, 
		// do a quick pause to prevent image flicker.
		if((hDiff == 0) && (wDiff == 0)){
			if(navigator.appVersion.indexOf('MSIE')!=-1){ this.pause(250); } else { this.pause(100);} 
		}

		$(this.getID('prevLinkImg')).setStyle({height:imgHeight+'px'});
		$(this.getID('nextLinkImg')).setStyle({height:imgHeight+'px'});
		$(this.getID('imageDataContainer')).setStyle({width:(imgWidth/*+(this.options.borderSize * 2)*/)+'px'});

		this.showImage();
	},
	
	//
	//	showImage()
	//	Display image and begin preloading neighbors.
	//
	showImage: function(){
		$(this.getID('loading')).hide();
		new Effect.Appear(this.getID('lightboxImage'), { duration: 0.5, queue: 'end', afterFinish: function(){	Lightbox.updateDetails(); } });
		this.preloadNeighborImages();
	},

	//
	//	updateDetails()
	//	Display caption, image number, and bottom nav.
	//
	updateDetails: function() {
		$(this.getID('caption')).show();
		$(this.getID('caption')).update(this.imageArray[this.activeImage].title);
		
		// if image is part of set display 'Image x of y' 
		if(this.imageArray.length > 1){
			var num_display = this.options.strings.numDisplayPrefix + ' ' + eval(this.activeImage + 1) + ' ' + this.options.strings.numDisplaySeparator + ' ' + this.imageArray.length;
			if(this.options.showGroupName && this.groupName != ''){
				num_display += ' '+this.options.strings.numDisplaySeparator+' '+this.groupName;
			}
			$(this.getID('numberDisplay')).update(num_display).show();
			if(!this.enableSlideshow){
				$(this.getID('slideShowControl')).hide();
			}
			$(this.getID('detailsNav')).show();
		}
		
		new Effect.Parallel(
			[ new Effect.SlideDown( this.getID('imageDataContainer'), { sync: true }), 
			  new Effect.Appear(this.getID('imageDataContainer'), { sync: true }) ], 
			{ duration:.65, afterFinish: function() { Lightbox.updateNav();} }
		);
	},
	
	//
	//	updateNav()
	//	Display appropriate previous and next hover navigation.
	//
	updateNav: function() {
		// restore imageDataContainer size for avtomaticaly change with its contaner
		$(this.getID('imageDataContainer')).setStyle({width:'100%'});
		
		if(this.imageArray.length > 1){
			$(this.getID('hoverNav')).show();
			if(this.enableSlideshow){
				if(this.playSlides){
					this.startSlideShow();
				} else {
					this.stopSlideShow();
				}
			}
		}
		this.enableKeyboardNav();
	},
	//
	//	startSlideShow()
	//	Starts the slide show
	//
	startSlideShow: function(){
		this.playSlides = true;
		this.slideShowTimer = new PeriodicalExecuter(function(pe){ Lightbox.showNext(); pe.stop(); },this.options.slideTime);
		$(this.getID('slideShowControl')).update(this.options.strings.stopSlideshow);
		$(this.getID('slideShowControl')).addClassName('started');
	},
	
	//
	//	stopSlideShow()
	//	Stops the slide show
	//
	stopSlideShow: function(){
		this.playSlides = false;
		if(this.slideShowTimer){
			this.slideShowTimer.stop();
		}
		$(this.getID('slideShowControl')).update(this.options.strings.startSlideshow);
		$(this.getID('slideShowControl')).removeClassName('started');
	},

	//
	//	stopSlideShow()
	//	Stops the slide show
	//
	toggleSlideShow: function(){
		if(this.playSlides){
			this.stopSlideShow();
		}else{
			this.startSlideShow();
		}
	},

	//
	//	pauseSlideShow()
	//	Pauses the slide show (doesn't change the value of this.playSlides)
	//
	pauseSlideShow: function(){
		if(this.slideShowTimer){
			this.slideShowTimer.stop();
		}
	},
	
	//
	//	showNext()
	//	Display the next image in a group
	//
	showNext : function(){
		if(this.imageArray.length > 1){
			if(!this.options.loop && ((this.activeImage == this.imageArray.length - 1 && this.startImage == 0) || (this.activeImage+1 == this.startImage))){
				return this.end();
			}
			if(this.activeImage == this.imageArray.length - 1){
				this.changeImage(0);
			}else{
				this.changeImage(this.activeImage+1);
			}
		}
	},

	//
	//	showPrev()
	//	Display the next image in a group
	//
	showPrev : function(){
		if(this.imageArray.length > 1){
			if(this.activeImage == 0){
				this.changeImage(this.imageArray.length - 1);
			}else{
				this.changeImage(this.activeImage-1);
			}
		}
	},
	
	//
	//	showFirst()
	//	Display the first image in a group
	//
	showFirst : function(){
		if(this.imageArray.length > 1){
			this.changeImage(0);
		}
	},

	//
	//	showFirst()
	//	Display the first image in a group
	//
	showLast : function(){
		if(this.imageArray.length > 1){
			this.changeImage(this.imageArray.length - 1);
		}
	},

	//
	//	enableKeyboardNav()
	//
	enableKeyboardNav: function() {
		document.onkeydown = this.keyboardAction; 
	},

	//
	//	disableKeyboardNav()
	//
	disableKeyboardNav: function() {
		document.onkeydown = '';
	},

	//
	//	keyboardAction()
	//
	keyboardAction: function(e) {
		if (e == null) { // ie
			keycode = event.keyCode;
		} else { // mozilla
			keycode = e.which;
		}

		key = String.fromCharCode(keycode).toLowerCase();
		
		if(key == 'x' || key == 'o' || key == 'c'){ // close lightbox
			Lightbox.end();
		} else if(key == 'p' || key == '%'){ // display previous image
			Lightbox.showPrev();
		} else if(key == 'n' || key =='\''){ // display next image
			Lightbox.showNext();
		} else if(key == 'f'){ // display first image
			Lightbox.showFirst();
		} else if(key == 'l'){ // display last image
			Lightbox.showLast();
		} else if(key == 's'){ // toggle slideshow
			if(Lightbox.imageArray.length > 0 && Lightbox.options.enableSlideshow){
				Lightbox.toggleSlideShow();
			}
		}
	},

	//
	//	preloadNeighborImages()
	//	Preload previous and next images.
	//
	preloadNeighborImages: function(){
		var nextImageID = this.imageArray.length - 1 == this.activeImage ? 0 : this.activeImage + 1;
		nextImage = new Image();
		nextImage.src = this.imageArray[nextImageID].link

		var prevImageID = this.activeImage == 0 ? this.imageArray.length - 1 : this.activeImage - 1;
		prevImage = new Image();
		prevImage.src = this.imageArray[prevImageID].link;
	},

	//
	//	end()
	//
	end: function() {
		this.disableKeyboardNav();
		this.pauseSlideShow();
		$(this.getID('lightbox')).hide();
		new Effect.Fade(this.getID('overlay'), { duration:this.overlayDuration });
		this.showBadObjects();
	},
	
	//
	//	showBadObjects()
	//
	showBadObjects: function (){
		var els;
		var tags = Lightbox.badObjects;
		for(var i=0; i<tags.length; i++){
			els = document.getElementsByTagName(tags[i]);
			for(var j=0; j<els.length; j++){
				$(els[j]).setStyle({visibility:'visible'});
			}
		}
	},
	
	//
	//	hideBadObjects()
	//
	hideBadObjects: function (){
		var els;
		var tags = Lightbox.badObjects;
		for(var i=0; i<tags.length; i++){
			els = document.getElementsByTagName(tags[i]);
			for(var j=0; j<els.length; j++){
				$(els[j]).setStyle({visibility:'hidden'});
			}
		}
	},
		
	//
	// pause(numberMillis)
	// Pauses code execution for specified time. Uses busy code, not good.
	// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
	//
	pause: function(numberMillis) {
		var now = new Date();
		var exitTime = now.getTime() + numberMillis;
		while(true){
			now = new Date();
			if (now.getTime() > exitTime)
				return;
		}
	},

	//
	// getPageScroll()
	// Returns array with x,y page scroll values.
	// Core code from - quirksmode.org
	//
	getPageScroll: function(){
		var x,y;
		if (self.pageYOffset) {
			x = self.pageXOffset;
			y = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
			x = document.documentElement.scrollLeft;
			y = document.documentElement.scrollTop;
		} else if (document.body) {// all other Explorers
			x = document.body.scrollLeft;
			y = document.body.scrollTop;
		}
		return {x:x,y:y};
	},

	//
	// getPageSize()
	// Returns array with page width, height and window width, height
	// Core code from - quirksmode.org
	// Edit for Firefox by pHaez
	//
	getPageSize: function(){
		var scrollX,scrollY,windowX,windowY,pageX,pageY;
		if (window.innerHeight && window.scrollMaxY) {	
			scrollX = document.body.scrollWidth;
			scrollY = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			scrollX = document.body.scrollWidth;
			scrollY = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			scrollX = document.body.offsetWidth;
			scrollY = document.body.offsetHeight;
		}
		
		if (self.innerHeight) {	// all except Explorer
			windowX = self.innerWidth;
			windowY = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowX = document.documentElement.clientWidth;
			windowY = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowX = document.body.clientWidth;
			windowY = document.body.clientHeight;
		}	
		
		pageY = (scrollY < windowY) ? windowY : scrollY; // for small pages with total height less then height of the viewport
		pageX = (scrollX < windowX) ? windowX : scrollX; // for small pages with total width less then width of the viewport
	
		return {pageWidth:pageX,pageHeight:pageY,winWidth:windowX,winHeight:windowY};
	},

	//
	// getID()
	// Returns formatted Lightbox element ID
	//
	getID: function(id){
		return this.options.prefix+id;
	}
}

// -----------------------------------------------------------------------------------

//Event.observe(window,'load',function(){ Lightbox.initialize(window['LightBoxOpt']); });

function initLightbox() {
Lightbox.initialize(window['LightBoxOpt']);
}














