var base2={name:"base2",version:"0.9 (alpha)",exports:"Base, Namespace, Abstract, Module, Enumerable, Hash, Collection, RegGrp, "+"Array2, Date2, String2, "+"assert, assertArity, assertType, "+"assignID, copy, detect, extend, forEach, format, instanceOf, match, rescape, slice, trim, "+"I, K, Undefined, Null, True, False, bind, delegate, flip, not, partial, returns, unbind",global:this,namespace:"var global=base2.global;function base(o,a){return o.base.apply(o,a)};",detect:new function(_){var global=_;var jscript/*@cc_on=@_jscript_version@*/;var java=_.java;if(_.navigator){var element=document.createElement("span");var platform=navigator.platform+" "+navigator.userAgent;if(!jscript)platform=platform.replace(/MSIE\s[\d.]+/,"");platform=platform.replace(/([a-z])[\s\/](\d)/gi,"$1$2");java=navigator.javaEnabled()&&java}return function(a){var r=false;var b=a.charAt(0)=="!";if(b)a=a.slice(1);a=a.replace(/^([^\(].*)$/,"/($1)/i.test(platform)");try{eval("r=!!"+a)}catch(error){}return!!(b^r)}}(this)};new function(_){var detect=base2.detect;var slice=Array.slice||function(a){return _0.apply(a,_0.call(arguments,1))};var Undefined=K(),Null=K(null),True=K(true),False=K(false);var _1=1;var _2=/^[_$]/;var _3=/%([1-9])/g;var _4=/^\s\s*/;var _5=/\s\s*$/;var _6=/([\/()[\]{}|*+-.,^$?\\])/g;var _7=/eval/.test(detect)?/\bbase\b/:/./;var _8=["constructor","toString","valueOf"];var _9=String(new RegExp);var _0=Array.prototype.slice;var _10=_11();eval(base2.namespace);var _12=function(a,b){base2.__prototyping=true;var c=new this;extend(c,a);delete base2.__prototyping;var d=c.constructor;function klass(){if(!base2.__prototyping){if(this.constructor==arguments.callee||this.__constructing){this.__constructing=true;d.apply(this,arguments);delete this.__constructing}else{return extend(arguments[0],c)}}};c.constructor=klass;for(var i in Base)klass[i]=this[i];klass.ancestor=this;klass.base=Undefined;klass.init=Undefined;klass.prototype=c;extend(klass,b);klass.init();return klass};var Base=_12.call(Object,{constructor:function(){if(arguments.length>0){this.extend(arguments[0])}},base:function(){},extend:delegate(extend)},Base={ancestorOf:delegate(_13),extend:_12,forEach:delegate(_10),implement:function(a){if(instanceOf(a,Function)){if(Base.ancestorOf(a)){a(this.prototype)}}else{extend(this.prototype,a)}return this}});var Namespace=Base.extend({constructor:function(c,d){this.extend(d);if(typeof this.init=="function")this.init();if(this.name!="base2"){base2.addName(this.name,this);this.namespace=format("var %1=base2.%1;",this.name)}var e=/[^\s,]+/g;c.imports=Array2.reduce(this.imports.match(e),function(a,b){assert(base2[b],format("Namespace not found: '%1'.",b));return a+=base2[b].namespace},base2.namespace);c.exports=Array2.reduce(this.exports.match(e),function(a,b){this.namespace+=format("var %2=%1.%2;",this.name,b);return a+=format("if(!%1.%2)%1.%2=%2;",this.name,b)},"",this)},exports:"",imports:"",namespace:"",name:"",addName:function(a,b){this[a]=b;this.exports+=", "+a;this.namespace+=format("var %1=%2.%1;",a,this.name)}});var Abstract=Base.extend({constructor:function(){throw new TypeError("Class cannot be instantiated.");}});var Module=Abstract.extend(null,{extend:function(c,d){var e=this.base();forEach(this,function(a,b){if(!Module[b]&&instanceOf(a,Function)&&!_2.test(b)){extend(e,b,a)}});e.implement(c);extend(e,d);e.init();return e},implement:function(c){var d=this;if(typeof c=="function"){d.base(c);if(Module.ancestorOf(c)){forEach(c,function(a,b){if(!Module[b]&&instanceOf(a,Function)&&!_2.test(b)){extend(d,b,a)}})}}else{_10(Object,c,function(a,b){if(b.charAt(0)=="@"){if(detect(b.slice(1))){forEach(a,arguments.callee)}}else if(!Module[b]&&instanceOf(a,Function)){function _14(){return d[b].apply(d,[this].concat(slice(arguments)))};_14._14=d;_14._15=_7.test(a);extend(d.prototype,b,_14)}});extend(d,c)}return d}});var Enumerable=Module.extend({every:function(c,d,e){var f=true;try{this.forEach(c,function(a,b){f=d.call(e,a,b,c);if(!f)throw StopIteration;})}catch(error){if(error!=StopIteration)throw error;}return!!f},filter:function(d,e,f){var i=0;return this.reduce(d,function(a,b,c){if(e.call(f,b,c,d)){a[i++]=b}return a},[])},invoke:function(b,c){var d=slice(arguments,2);return this.map(b,(typeof c=="function")?function(a){if(a!=null)return c.apply(a,d)}:function(a){if(a!=null)return a[c].apply(a,d)})},map:function(c,d,e){var f=[],i=0;this.forEach(c,function(a,b){f[i++]=d.call(e,a,b,c)});return f},pluck:function(b,c){return this.map(b,function(a){if(a!=null)return a[c]})},reduce:function(c,d,e,f){var g=arguments.length>2;this.forEach(c,function(a,b){if(g){e=d.call(f,e,a,b,c)}else{e=a;g=true}});return e},some:function(a,b,c){return!this.every(a,not(b),c)}},{forEach:forEach});var _16="#";var Hash=Base.extend({constructor:function(a){this.merge(a)},copy:delegate(copy),exists:function(a){/*@cc_on@*//*@if(@_jscript_version<5.5)return $Legacy.exists(this,_16+a);@else@*/return _16+a in this;/*@end@*/},fetch:function(a){return this[_16+a]},forEach:function(a,b){for(var c in this)if(c.charAt(0)==_16){a.call(b,this[c],c.slice(1),this)}},merge:function(b){var c=flip(this.store);forEach(arguments,function(a){forEach(a,c,this)},this);return this},remove:function(a){var b=this[_16+a];delete this[_16+a];return b},store:function(a,b){if(arguments.length==1)b=a;return this[_16+a]=b},union:function(a){return this.merge.apply(this.copy(),arguments)}});Hash.implement(Enumerable);var _17="~";var Collection=Hash.extend({constructor:function(a){this[_17]=new Array2;this.base(a)},add:function(a,b){assert(!this.exists(a),"Duplicate key '"+a+"'.");return this.store.apply(this,arguments)},copy:function(){var a=this.base();a[_17]=this[_17].copy();return a},count:function(){return this[_17].length},fetchAt:function(a){if(a<0)a+=this[_17].length;var b=this[_17][a];if(b!==undefined)return this[_16+b]},forEach:function(a,b){var c=this[_17];var d=c.length;for(var i=0;i<d;i++){a.call(b,this[_16+c[i]],c[i],this)}},indexOf:function(a){return this[_17].indexOf(String(a))},insertAt:function(a,b,c){assert(Math.abs(a)<this[_17].length,"Index out of bounds.");assert(!this.exists(b),"Duplicate key '"+b+"'.");this[_17].insertAt(a,String(b));return this.store.apply(this,arguments)},item:Undefined,keys:function(a,b){switch(arguments.length){case 0:return this[_17].copy();case 1:return this[_17].item(a);default:return this[_17].slice(a,b)}},remove:function(a){var b=arguments[1];if(b||this.exists(a)){if(!b){this[_17].remove(String(a))}return this.base(a)}},removeAt:function(a){var b=this[_17].removeAt(a);if(b!==undefined)return this.remove(b,true)},reverse:function(){this[_17].reverse();return this},sort:function(c){if(c){var d=this;this[_17].sort(function(a,b){return c(d[_16+a],d[_16+b],a,b)})}else this[_17].sort();return this},store:function(a,b){if(arguments.length==1)b=a;if(!this.exists(a)){this[_17].push(String(a))}var c=this.constructor;if(c.Item&&!instanceOf(b,c.Item)){b=c.create.apply(c,arguments)}return this[_16+a]=b},storeAt:function(a,b){assert(Math.abs(a)<this[_17].length,"Index out of bounds.");arguments[0]=this[_17].item(a);return this.store.apply(this,arguments)},toString:function(){return String(this[_17])}},{Item:null,init:function(){this.prototype.item=this.prototype.fetchAt},create:function(a,b){if(this.Item)return new this.Item(a,b)},extend:function(a,b){var c=this.base(a);c.create=this.create;extend(c,b);if(!c.Item){c.Item=this.Item}else if(typeof c.Item!="function"){c.Item=(this.Item||Base).extend(c.Item)}c.init();return c}});var _18=/\\(\d+)/g;var _19=/\\./g;var _20=/\(\?[:=!]|\[[^\]]+\]/g;var _21=/\(/g;var RegGrp=Collection.extend({constructor:function(a,b){this.base(a);if(typeof b=="string"){this.global=/g/.test(b);this.ignoreCase=/i/.test(b)}},global:true,ignoreCase:false,exec:function(h,j){h+='';if(arguments.length==1){var k=this;var l=this[_17];j=function(a){if(!a)return"";var b,c=1,i=0;while(b=k[_16+l[i++]]){var d=c+b.length+1;if(arguments[c]){var e=b.replacement;switch(typeof e){case"function":var f=slice(arguments,c,d);var g=arguments[arguments.length-2];return e.apply(k,f.concat(g,h));case"number":return arguments[c+e];default:return e}}c=d}}}return h.replace(this.valueOf(),j)},test:function(a){return this.exec(a)!=a},toString:function(){var e=0;return"("+this.map(function(c){var d=String(c).replace(_18,function(a,b){return"\\"+(1+Number(b)+e)});e+=c.length+1;return d}).join(")|(")+")"},valueOf:function(a){if(a=="object")return this;var b=(this.global?"g":"")+(this.ignoreCase?"i":"");return new RegExp(this,b)}},{IGNORE:"$0",init:function(){forEach("add,exists,fetch,remove,store".split(","),function(b){extend(this,b,function(a){if(instanceOf(a,RegExp)){a=a.source}return base(this,arguments)})},this.prototype)},Item:{constructor:function(a,b){a=instanceOf(a,RegExp)?a.source:String(a);if(typeof b=="number")b=String(b);else if(b==null)b="";if(typeof b=="string"&&/\$(\d+)/.test(b)){if(/^\$\d+$/.test(b)){b=parseInt(b.slice(1))}else{var Q=/'/.test(b.replace(/\\./g,""))?'"':"'";b=b.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\$(\d+)/g,Q+"+(arguments[$1]||"+Q+Q+")+"+Q);b=new Function("return "+Q+b.replace(/(['"])\1\+(.*)\+\1\1$/,"$1")+Q)}}this.length=RegGrp.count(a);this.replacement=b;this.toString=returns(a)},length:0,replacement:""},count:function(a){a=String(a).replace(_19,"").replace(_20,"");return match(a,_21).length}});Function.prototype.prototype={};if("".replace(/^/,String)){var _22=/(g|gi)$/;extend(String.prototype,"replace",function(a,b){if(typeof b=="function"){if(instanceOf(a,RegExp)){var c=a;var d=c.global;if(d==null)d=_22.test(c);if(d)c=new RegExp(c.source)}else{c=new RegExp(rescape(a))}var e,f=this,g="";while(f&&(e=c.exec(f))){g+=f.slice(0,e.index)+b.apply(this,e);f=f.slice(e.index+e[0].length);if(!d)break}return g+f}return this.base(a,b)})}var Array2=_23(Array,"concat,join,pop,push,reverse,shift,slice,sort,splice,unshift",[Enumerable,{combine:function(d,e){if(!e)e=d;return this.reduce(d,function(a,b,c){a[b]=e[c];return a},{})},contains:function(a,b){return this.indexOf(a,b)!=-1},copy:function(a){var b=this.slice(a);if(!b.swap)this(b);return b},flatten:function(c){var i=0;return this.reduce(c,function(a,b){if(this.like(b)){this.reduce(b,arguments.callee,a,this)}else{a[i++]=b}return a},[],this)},forEach:_24,indexOf:function(a,b,c){var d=a.length;if(c==null){c=0}else if(c<0){c=Math.max(0,d+c)}for(var i=c;i<d;i++){if(a[i]===b)return i}return-1},insertAt:function(a,b,c){this.splice(a,c,0,b);return b},item:function(a,b){if(b<0)b+=a.length;return a[b]},lastIndexOf:function(a,b,c){var d=a.length;if(c==null){c=d-1}else if(from<0){c=Math.max(0,d+c)}for(var i=c;i>=0;i--){if(a[i]===b)return i}return-1},map:function(c,d,e){var f=[];this.forEach(c,function(a,b){f[b]=d.call(e,a,b,c)});return f},remove:function(a,b){var c=this.indexOf(a,b);if(c!=-1)this.removeAt(a,c);return b},removeAt:function(a,b){return this.splice(a,b,1)},swap:function(a,b,c){var d=a[b];a[b]=a[c];a[c]=d;return a}}]);Array2.reduce=Enumerable.reduce;Array2.prototype.forEach=delegate(_24);Array2.like=function(a){return!!(a&&typeof a=="object"&&typeof a.length=="number")};var _25=/^((-\d+|\d{4,})(-(\d{2})(-(\d{2}))?)?)?T((\d{2})(:(\d{2})(:(\d{2})(\.(\d{1,3})(\d)?\d*)?)?)?)?(([+-])(\d{2})(:(\d{2}))?|Z)?$/;var _26={FullYear:2,Month:4,Date:6,Hours:8,Minutes:10,Seconds:12,Milliseconds:14};var _27={Hectomicroseconds:15,UTC:16,Sign:17,Hours:18,Minutes:20};var _28=/(((00)?:0+)?:0+)?\.0+$/;var _29=/(T[0-9:.]+)$/;var Date2=_23(Date,"",[{toISOString:function(c){var d="####-##-##T##:##:##.###";for(var e in _26){d=d.replace(/#+/,function(a){var b=c["getUTC"+e]();if(e=="Month")b++;return("000"+b).slice(-a.length)})}return d.replace(_28,"").replace(_29,"$1Z")}}]);Date2.now=function(){return(new Date).valueOf()};Date2.parse=function(a,b){if(arguments.length>1){assertType(b,"number","defaultDate should be of type 'number'.")}var c=String(a).match(_25);if(c){if(c[_26.Month])c[_26.Month]--;if(c[_27.Hectomicroseconds]>=5)c[_26.Milliseconds]++;var d=new Date(b||0);var e=c[_27.UTC]||c[_27.Hours]?"UTC":"";for(var f in _26){var value=c[_26[f]];if(!value)continue;d["set"+e+f](value);if(d["get"+e+f]()!=c[_26[f]]){return new Date(NaN)}}if(c[_27.Hours]){var g=Number(c[_27.Sign]+c[_27.Hours]);var h=Number(c[_27.Sign]+(c[_27.Minutes]||0));d.setUTCMinutes(d.getUTCMinutes()+(g*60)+h)}return d.valueOf()}else{return Date.parse(a)}};var String2=_23(String,"charAt,charCodeAt,concat,indexOf,lastIndexOf,match,replace,search,slice,split,substr,substring,toLowerCase,toUpperCase",[{trim:trim}]);function _23(c,d,e){var f=Module.extend();forEach(d.split(","),function(a){f[a]=unbind(c.prototype[a])});forEach(e,f.implement,f);var g=function(){if(arguments[0]==c.prototype){extend(c,g)}return f(this.constructor==f?c.apply(c,arguments):arguments[0])};g.prototype=f.prototype;forEach(f,function(a,b){if(c[b]){f[b]=c[b];delete f.prototype[b]}g[b]=f[b]});g.ancestor=Object;delete g.extend;return g};function extend(c,d){var e=arguments.callee;if(c!=null){if(arguments.length>2){var f=String(d);var g=arguments[2];if(f.charAt(0)=="@"){return detect(f.slice(1))?e(c,g):c}if(c.extend==e&&/^(base|extend)$/.test(f)){return c}var h=c[f];if(h&&instanceOf(g,Function)){if(g!=h&&!_13(g,h)){if(g._15||_7.test(g)){var i=g;function _15(){var a=this.base;this.base=h;var b=i.apply(this,arguments);this.base=a;return b};g=_15;g.method=i;g.ancestor=h}c[f]=g}}else{c[f]=g}}else if(d){var j=instanceOf(d,Function)?Function:Object;if(base2.__prototyping){forEach(_8,function(a){if(d[a]!=j.prototype[a]){e(c,a,d[a])}})}else{if(typeof c.extend=="function"&&typeof c!="function"&&c.extend!=e){e=unbind(c.extend)}}_10(j,d,function(a,b){e(c,b,a)})}}return c};function _13(a,b){while(b&&b.ancestor!=a)b=b.ancestor;return!!b};if(typeof StopIteration=="undefined"){StopIteration=new Error("StopIteration")}function forEach(a,b,c,d){if(a==null)return;if(!d){if(instanceOf(a,Function)){d=Function}else if(typeof a.forEach=="function"&&a.forEach!=arguments.callee){a.forEach(b,c);return}else if(typeof a.length=="number"){_24(a,b,c);return}}_10(d||Object,a,b,c)};function _24(a,b,c){if(a==null)return;var d=a.length,i;if(typeof a=="string"){for(i=0;i<d;i++){b.call(c,a.charAt(i),i,a)}}else{for(i=0;i<d;i++){if(a[i]!==undefined){b.call(c,a[i],i,a)}}}};function _11(){var g=function(){this.i=1};g.prototype={i:1};var h=0;for(var i in new g)h++;return(h>1)?function(a,b,c,d){var e={};for(var f in b){if(!e[f]&&a.prototype[f]===undefined){e[f]=true;c.call(d,b[f],f,b)}}}:function(a,b,c,d){for(var e in b){if(a.prototype[e]===undefined){c.call(d,b[e],e,b)}}}};function instanceOf(a,b){assertType(b,"function","Invalid 'instanceOf' operand.");/*@cc_on@*//*@if(@_jscript_version<5.1)if($Legacy.instanceOf(a,b))return true;@else@*/if(a instanceof b)return true;/*@end@*/if(a==null)return false;if(_30(b))return false;if(_30(a.constructor))return b==Object;switch(b){case Array:return!!(typeof a=="object"&&a.join&&a.splice);case Function:return!!(typeof a=="function"&&a.call);case RegExp:return a.constructor.prototype.toString()==_9;case Date:return!!a.getTimezoneOffset;case String:case Number:case Boolean:return typeof a==typeof b.prototype.valueOf();case Object:return typeof a=="object"&&typeof a.constructor=="function"}return false};function _30(a){return a==Base||_13(Base,a)};function assert(a,b,c){if(!a){throw new(c||Error)(b||"Assertion failed.");}};function assertArity(a,b,c){if(b==null)b=a.callee.length;if(a.length<b){throw new SyntaxError(c||"Not enough arguments.");}};function assertType(a,b,c){if(b&&(typeof b=="function"?!instanceOf(a,b):typeof a!=b)){throw new TypeError(c||"Invalid type.");}};function assignID(a){if(!a.base2ID)a.base2ID="b2_"+_1++;return a.base2ID};function copy(a){var b=function(){};b.prototype=a;return new b};function format(c){var d=arguments;var e=new RegExp("%([1-"+arguments.length+"])","g");return String(c).replace(e,function(a,b){return b<d.length?d[b]:a})};function match(a,b){return String(a).match(b)||[]};function rescape(a){return String(a).replace(_6,"\\$1")};function trim(a){return String(a).replace(_4,"").replace(_5,"")};function I(i){return i};function K(k){return function(){return k}};var returns=K;function bind(a,b){var c=slice(arguments,2);var d=function(){return a.apply(b,c.concat(slice(arguments)))};d._31=assignID(a);return d};function delegate(a,b){return function(){return a.apply(b,[this].concat(slice(arguments)))}};function flip(a){return function(){return a.apply(this,Array2.swap(arguments,0,1))}};function not(a){return function(){return!a.apply(this,arguments)}};function partial(a){var b=slice.call(arguments,1);return function(){return a.apply(this,b.concat(slice(arguments)))}};function unbind(b){return function(a){return b.apply(a,slice(arguments,1))}};base2=new Namespace(this,base2);eval(this.exports);base2.extend=extend;forEach(Enumerable,function(a,b){if(!Module[b])base2.addName(b,bind(a,Enumerable))});var utils=new base2.Namespace(this,{name:"utils"})};new function(_){var DOM=new base2.Namespace(this,{name:"DOM",version:"0.9 (alpha)",exports:"Interface, Binding, AbstractView, Event, EventTarget, NodeSelector, DocumentEvent, DocumentSelector, ElementSelector, "+"StaticNodeList, ViewCSS, Node, Document, Element, HTMLDocument, HTMLElement, Selector, Traversal, XPathParser",bind:function(a){if(a&&a.nodeType){var b=assignID(a);if(!arguments.callee[b]){switch(a.nodeType){case 1:if(typeof a.className=="string"){(HTMLElement.bindings[a.tagName]||HTMLElement).bind(a)}else{Element.bind(a)}break;case 9:if(a.links){HTMLDocument.bind(a)}else{Document.bind(a)}break;default:Node.bind(a)}arguments.callee[b]=true}}return a}});eval(this.imports);if(detect("MSIE[56].+win")&&!detect("SV1")){var closures={};extend(base2,"bind",function(b,c){if(!c||c.nodeType!=1){return this.base(b,c)}var d=c.uniqueID;var e=assignID(b);closures[e]=b;b=null;c=null;if(!closures[d])closures[d]={};var f=closures[d][e];if(f)return f;var g=function(){var a=document.all[d];if(a)return closures[e].apply(a,arguments)};g._31=e;closures[d][e]=g;return g});attachEvent("onunload",function(){closures=null})}var Interface=Module.extend(null,{implement:function(c){if(typeof c=="object"){forEach(c,function(a,b){if(b.charAt(0)=="@"){forEach(a,arguments.callee,this)}else if(!this[b]&&typeof a=="function"){this.createDelegate(b,a.length)}},this)}return this.base(c)},createDelegate:function(a,b){if(!this[a]){var c="var fn=function _%1(%2){%3.base=%3.%1.ancestor;var m=%3.base?'base':'%1';return %3[m](%4)}";var d="abcdefghij".split("").slice(-b);eval(format(c,a,d,d[0],d.slice(1)));fn._32=a;this[a]=fn}}});var Binding=Interface.extend(null,{bind:function(a){return this(a)}});var Traversal=Module.extend({getDefaultView:function(a){return this.getDocument(a).defaultView},getNextElementSibling:function(a){while(a&&(a=a.nextSibling)&&!this.isElement(a))continue;return a},getNodeIndex:function(a){var b=0;while(a&&(a=a.previousSibling))b++;return b},getOwnerDocument:function(a){return a.ownerDocument},getPreviousElementSibling:function(a){while(a&&(a=a.previousSibling)&&!this.isElement(a))continue;return a},getTextContent:function(a){return a[Traversal.$TEXT]},isEmpty:function(a){a=a.firstChild;while(a){if(a.nodeType==3||this.isElement(a))return false;a=a.nextSibling}return true},setTextContent:function(a,b){return a[Traversal.$TEXT]=b},"@MSIE":{getDefaultView:function(a){return this.getDocument(a).parentWindow},"@MSIE5":{getOwnerDocument:function(a){return a.ownerDocument||a.document}}}},{$TEXT:"textContent",contains:function(a,b){while(b&&(b=b.parentNode)&&a!=b)continue;return!!b},getDocument:function(a){return this.isDocument(a)?a:this.getOwnerDocument(a)},isDocument:function(a){return!!(a&&a.documentElement)},isElement:function(a){return!!(a&&a.nodeType==1)},"@(element.contains)":{contains:function(a,b){return a!=b&&this.isDocument(a)?a==this.getOwnerDocument(b):a.contains(b)}},"@MSIE":{$TEXT:"innerText"},"@MSIE5":{isElement:function(a){return!!(a&&a.nodeType==1&&a.tagName!="!")}}});var AbstractView=Binding.extend();var Event=Binding.extend({"@!(document.createEvent)":{initEvent:function(a,b,c,d){a.timeStamp=new Date().valueOf();a.type=b;a.bubbles=c;a.cancelable=d},"@MSIE":{initEvent:function(a,b,c,d){this.base(a,b,c,d);a.cancelBubble=!a.bubbles},preventDefault:function(a){if(a.cancelable!==false){a.returnValue=false}},stopPropagation:function(a){a.cancelBubble=true}}}},{BUBBLES:"abort,error,select,change,resize,scroll",CANCELABLE:"click,mousedown,mouseup,mouseover,mousemove,mouseout,keydown,keyup,submit,reset",init:function(){this.BUBBLES=Array2.combine((this.BUBBLES+","+this.CANCELABLE).split(","));this.CANCELABLE=Array2.combine(this.CANCELABLE.split(","))},"@MSIE":{"@Mac":{bind:function(a){return this.base(extend({preventDefault:function(){if(this.cancelable!==false){this.returnValue=false}}},a))}},"@Windows":{bind:function(a){this.base(a);if(!a.timeStamp){a.bubbles=!!this.BUBBLES[a.type];a.cancelable=!!this.CANCELABLE[a.type];a.timeStamp=new Date().valueOf()}if(!a.target){a.target=a.srcElement}a.relatedTarget=a.fromElement||null;return a}}}});var EventTarget=Interface.extend({"@!(element.addEventListener)":{addEventListener:function(a,b,c,d){var e=assignID(a);var f=c._31||assignID(c);var g=EventTarget.$all[e];if(!g)g=EventTarget.$all[e]={};var h=g[b];var i=a["on"+b];if(!h){h=g[b]={};if(i)h[0]=i}h[f]=c;if(i!==undefined){a["on"+b]=delegate(EventTarget.$handleEvent)}},dispatchEvent:function(a,b){return EventTarget.$handleEvent(a,b)},removeEventListener:function(a,b,c,d){var e=EventTarget.$all[a.base2ID];if(e&&e[b]){delete e[b][c.base2ID]}},"@MSIE.+win":{addEventListener:function(a,b,c,d){if(typeof c=="function"){c=bind(c,a)}this.base(a,b,c,d)},dispatchEvent:function(a,b){b.target=a;try{return a.fireEvent(b.type,b)}catch(error){return this.base(a,b)}}}}},{dispatchEvent:function(a,b){if(typeof b=="string"){var c=b;b=DocumentEvent.createEvent(a,"Events");Event.initEvent(b,c,false,false)}this.base(a,b)},"@!(element.addEventListener)":{$all:{},$handleEvent:function(a,b){var c=true;var d=EventTarget.$all[a.base2ID];if(d){b=Event.bind(b);var e=d[b.type];for(var i in e){var listener=e[i];if(listener.handleEvent){c=listener.handleEvent(b)}else{c=listener.call(a,b)}if(b.returnValue===false)c=false;if(c===false)break}}return c},"@MSIE":{$handleEvent:function(a,b){if(a.Infinity){a=a.document.parentWindow;if(!b)b=a.event}return this.base(a,b||Traversal.getDefaultView(a).event)}}}});var DocumentEvent=Interface.extend({"@!(document.createEvent)":{createEvent:function(a,b){return Event.bind({})},"@(document.createEventObject)":{createEvent:function(a,b){return Event.bind(a.createEventObject())}}},"@(document.createEvent)":{"@!(document.createEvent('Events'))":{createEvent:function(a,b){return this.base(a,b=="Events"?"UIEvents":b)}}}});var DOMContentLoaded=Module.extend(null,{fired:false,fire:function(){if(!DOMContentLoaded.fired){DOMContentLoaded.fired=true;setTimeout("base2.DOM.EventTarget.dispatchEvent(document,'DOMContentLoaded')",0)}},init:function(){EventTarget.addEventListener(document,"DOMContentLoaded",function(){DOMContentLoaded.fired=true},false);EventTarget.addEventListener(window,"load",this.fire,false)},"@(addEventListener)":{init:function(){this.base();addEventListener("load",this.fire,false)}},"@(attachEvent)":{init:function(){this.base();attachEvent("onload",this.fire)}},"@MSIE.+win":{init:function(){this.base();document.write("<script id=__ready defer src=//:><\/script>");document.all.__ready.onreadystatechange=function(){if(this.readyState=="complete"){this.removeNode();DOMContentLoaded.fire()}}}},"@KHTML":{init:function(){this.base();var a=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(a);DOMContentLoaded.fire()}},100)}}});var ViewCSS=Interface.extend({"@!(document.defaultView.getComputedStyle)":{"@MSIE":{getComputedStyle:function(a,b,c){var d=/(width|height|top|bottom|left|right|fontSize)$/;var e=/^(color|backgroundColor)$/;var f={};var g=b.currentStyle;for(var i in g){if(d.test(i)){f[i]=this.$getPixelValue(b,f[i])+"px"}else if(e.test(i)){f[i]=this.$getColorValue(b,i=="color"?"ForeColor":"BackColor")}else{f[i]=g[i]}}return f}}}},{toCamelCase:function(c){return String(c).replace(/\-([a-z])/g,function(a,b){return b.toUpperCase()})},"@MSIE":{$getPixelValue:function(a,b){var c=/^\d+(px)?$/i;if(c.test(b))return parseInt(b);var d=a.style.left;var e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b||0;b=a.style.pixelLeft;a.style.left=d;a.runtimeStyle.left=e;return b},$getColorValue:function(a,b){var c=a.document.body.createTextRange();c.moveToElementText(a);var d=c.queryCommandValue(b);return format("rgb(%1,%2,%3)",d&0xff,(d&0xff00)>>8,(d&0xff0000)>>16)}}});var NodeSelector=Interface.extend({"@!(element.getElementsByClassName)":{getElementsByClassName:function(a,b){if(instanceOf(b,Array)){b=b.join(".")}return this.matchAll(a,"."+b)}},"@!(element.matchSingle)":{matchAll:function(a,b){return new Selector(b).exec(a)},matchSingle:function(a,b){return new Selector(b).exec(a,1)}}});extend(NodeSelector.prototype,{matchAll:function(b){return extend(this.base(b),"item",function(a){return DOM.bind(this.base(a))})},matchSingle:function(a){return DOM.bind(this.base(a))}});var DocumentSelector=NodeSelector.extend();var ElementSelector=NodeSelector.extend({"@!(element.matchesSelector)":{matchesSelector:function(a,b){return new Selector(b).test(a)}}});var StaticNodeList=Base.extend({constructor:function(b){b=b||[];this.length=b.length;this.item=function(a){return b[a]}},length:0,forEach:function(a,b){var c=this.length;for(var i=0;i<c;i++){a.call(b,this.item(i),i,this)}},item:Undefined,"@(XPathResult)":{constructor:function(b){if(b&&b.snapshotItem){this.length=b.snapshotLength;this.item=function(a){return b.snapshotItem(a)}}else this.base(b)}}});StaticNodeList.implement(Enumerable);var Selector=Base.extend({constructor:function(a){this.toString=returns(trim(a))},exec:function(a,b){try{var c=this.$evaluate(a||document,b)}catch(error){throw new SyntaxError(format("'%1' is not a valid CSS selector.",this));}return b?c:new StaticNodeList(c)},test:function(a){a.setAttribute("b2_test",true);var b=new Selector(this+"[b2_test]");var c=b.exec(Traversal.getOwnerDocument(a),true);a.removeAttribute("b2_test");return c==a},$evaluate:function(a,b){return Selector.parse(this)(a,b)}});var Parser=RegGrp.extend({constructor:function(a){this.base(a);this.cache={};this.sorter=new RegGrp;this.sorter.add(/:not\([^)]*\)/,RegGrp.IGNORE);this.sorter.add(/([ >](\*|[\w-]+))([^: >+~]*)(:\w+-child(\([^)]+\))?)([^: >+~]*)/,"$1$3$6$4")},cache:null,ignoreCase:true,escape:function(b){var c=/'/g;var d=this._33=[];return this.optimise(this.format(String(b).replace(Parser.ESCAPE,function(a){d.push(a.slice(1,-1).replace(c,"\\'"));return"\x01"+d.length})))},format:function(a){return a.replace(Parser.WHITESPACE,"$1").replace(Parser.IMPLIED_SPACE,"$1 $2").replace(Parser.IMPLIED_ASTERISK,"$1*$2")},optimise:function(a){return this.sorter.exec(a.replace(Parser.WILD_CARD,">* "))},parse:function(a){return this.cache[a]||(this.cache[a]=this.unescape(this.exec(this.escape(a))))},unescape:function(c){var d=this._33;return c.replace(/\x01(\d+)/g,function(a,b){return d[b-1]})}},{ESCAPE:/(["'])[^\1]*\1/g,IMPLIED_ASTERISK:/([\s>+~,]|[^(]\+|^)([#.:@])/g,IMPLIED_SPACE:/(^|,)([^\s>+~])/g,WHITESPACE:/\s*([\s>+~(),]|^|$)\s*/g,WILD_CARD:/\s\*\s/g,_34:function(c,d,e,f,g,h,i,j){f=/last/i.test(c)?f+"+1-":"";if(!isNaN(d))d="0n+"+d;else if(d=="even")d="2n";else if(d=="odd")d="2n+1";d=d.split(/n\+?/);var a=d[0]?(d[0]=="-")?-1:parseInt(d[0]):1;var b=parseInt(d[1])||0;var g=a<0;if(g){a=-a;if(a==1)b++}var l=format(a==0?"%3%7"+(f+b):"(%4%3-%2)%6%1%70%5%4%3>=%2",a,b,e,f,h,i,j);if(g)l=g+"("+l+")";return l}});Selector.operators={"=":"%1=='%2'","!=":"%1!='%2'","~=":/(^| )%1( |$)/,"|=":/^%1(-|$)/,"^=":/^%1/,"$=":/%1$/,"*=":/%1/};Selector.operators[""]="%1!=null";Selector.pseudoClasses={"checked":"e%1.checked","contains":"e%1[Traversal.$TEXT].indexOf('%2')!=-1","disabled":"e%1.disabled","empty":"Traversal.isEmpty(e%1)","enabled":"e%1.disabled===false","first-child":"!Traversal.getPreviousElementSibling(e%1)","last-child":"!Traversal.getNextElementSibling(e%1)","only-child":"!Traversal.getPreviousElementSibling(e%1)&&!Traversal.getNextElementSibling(e%1)","root":"e%1==Traversal.getDocument(e%1).documentElement"};new function(_){var _35=detect("MSIE");var _36=detect("MSIE5");var _37=detect("(element.sourceIndex)");var _38="var p%2=0,i%2,e%2,n%2=e%1.";var _1=_37?"e%1.sourceIndex":"assignID(e%1)";var _39="var g="+_1+";if(!p[g]){p[g]=1;";var _40="r[r.length]=e%1;if(s)return e%1;";var _41="fn=function(e0,s){indexed++;var r=[],p={},reg=[%1],"+"d=Traversal.getDocument(e0),c=d.body?'toUpperCase':'toString';";var byId=_35?function(a,b){var c=a.all[b]||null;if(!c||c.id==b)return c;for(var i=0;i<c.length;i++){if(c[i].id==b)return c[i]}return null}:function(a,b){return a.getElementById(b)};var indexed=1;function register(a){if(a.b2_indexed!=indexed){var b=0;var c=a.firstChild;while(c){if(c.nodeType==1&&c.tagName!="!"){c.b2_index=++b}c=c.nextSibling}a.b2_length=b;a.b2_indexed=indexed}return a};var fn;var reg;var _42;var _43;var _44;var _45;var _46={};var parser=new Parser({"^ \\*:root":function(a){_43=false;var b="e%2=d.documentElement;if(Traversal.contains(e%1,e%2)){";return format(b,_42++,_42)}," (\\*|[\\w-]+)#([\\w-]+)":function(a,b,c){_43=false;var d="var e%2=byId(d,'%4');if(e%2&&";if(b!="*")d+="e%2.nodeName=='%3'[c]()&&";d+="Traversal.contains(e%1,e%2)){";if(_44)d+=format("i%1=n%1.length;",_44);return format(d,_42++,_42,b,c)}," (\\*|[\\w-]+)":function(a,b){_45++;_43=b=="*";var c=_38;c+=(_43&&_36)?"all":"getElementsByTagName('%3')";c+=";for(i%2=0;(e%2=n%2[i%2]);i%2++){";return format(c,_42++,_44=_42,b)},">(\\*|[\\w-]+)":function(a,b){var c=_35&&_44;_43=b=="*";var d=_38;d+=c?"children":"childNodes";if(!_43&&c)d+=".tags('%3')";d+=";for(i%2=0;(e%2=n%2[i%2]);i%2++){";if(_43){d+="if(e%2.nodeType==1){";_43=_36}else{if(!c)d+="if(e%2.nodeName=='%3'[c]()){"}return format(d,_42++,_44=_42,b)},"\\+(\\*|[\\w-]+)":function(a,b){var c="";if(_43&&_35)c+="if(e%1.tagName!='!'){";_43=false;c+="e%1=Traversal.getNextElementSibling(e%1);if(e%1";if(b!="*")c+="&&e%1.nodeName=='%2'[c]()";c+="){";return format(c,_42,b)},"~(\\*|[\\w-]+)":function(a,b){var c="";if(_43&&_35)c+="if(e%1.tagName!='!'){";_43=false;_45=2;c+="while(e%1=e%1.nextSibling){if(e%1.b2_adjacent==indexed)break;e%1.b2_adjacent=indexed;if(";if(b=="*"){c+="e%1.nodeType==1";if(_36)c+="&&e%1.tagName!='!'"}else c+="e%1.nodeName=='%2'[c]()";c+="){";return format(c,_42,b)},"#([\\w-]+)":function(a,b){_43=false;var c="if(e%1.id=='%2'){";if(_44)c+=format("i%1=n%1.length;",_44);return format(c,_42,b)},"\\.([\\w-]+)":function(a,b){_43=false;reg.push(new RegExp("(^|\\s)"+rescape(b)+"(\\s|$)"));return format("if(reg[%2].test(e%1.className)){",_42,reg.length-1)},":not\\((\\*|[\\w-]+)?([^)]*)\\)":function(a,b,c){var d=(b&&b!="*")?format("if(e%1.nodeName=='%2'[c]()){",_42,b):"";d+=parser.exec(c);return"if(!"+d.slice(2,-1).replace(/\)\{if\(/g,"&&")+"){"},":nth(-last)?-child\\(([^)]+)\\)":function(a,b,c){_43=false;b=format("e%1.parentNode.b2_length",_42);var d="if(p%1!==e%1.parentNode)";d+="p%1=register(e%1.parentNode);var i=e%1.b2_index;if(";return format(d,_42)+Parser._34(a,c,"i",b,"!","&&","%","==")+"){"},":([\\w-]+)(\\(([^)]+)\\))?":function(a,b,c,d){return"if("+format(Selector.pseudoClasses[b],_42,d||"")+"){"},"\\[([\\w-]+)\\s*([^=]?=)?\\s*([^\\]]*)\\]":function(a,b,c,d){var e=Element.$attributes[b]||b;if(b=="class")e="className";else if(b=="for")e="htmlFor";if(c){b=format("(e%1.%3||e%1.getAttribute('%2'))",_42,b,e)}else{b=format("Element.getAttribute(e%1,'%2')",_42,b)}var f=Selector.operators[c||""];if(instanceOf(f,RegExp)){reg.push(new RegExp(format(f.source,rescape(parser.unescape(d)))));f="reg[%2].test(%1)";d=reg.length-1}return"if("+format(f,b,d)+"){"}});Selector.parse=function(a){if(!_46[a]){reg=[];fn="";var b=parser.escape(a).split(",");for(var i=0;i<b.length;i++){_43=_42=_44=0;_45=b.length>1?2:0;var c=parser.exec(b[i])||"throw;";if(_43&&_35){c+=format("if(e%1.tagName!='!'){",_42)}var d=(_45>1)?_39:"";c+=format(d+_40,_42);c+=Array(match(c,/\{/g).length+1).join("}");fn+=c}eval(format(_41,reg)+parser.unescape(fn)+"return s?null:r}");_46[a]=fn}return _46[a]}};var XPathParser=Parser.extend({constructor:function(){this.base(XPathParser.rules);this.sorter.storeAt(1,"$1$4$3$6")},escape:function(a){return this.base(a).replace(/,/g,"\x02")},unescape:function(a){return this.base(a.replace(/\[self::\*\]/g,"").replace(/(^|\x02)\//g,"$1./").replace(/\x02/g," | "))},"@opera":{unescape:function(a){return this.base(a.replace(/last\(\)/g,"count(preceding-sibling::*)+count(following-sibling::*)+1"))}}},{init:function(){this.values.attributes[""]="[@$1]";forEach(this.types,function(a,b){forEach(this.values[b],a,this.rules)},this)},optimised:{pseudoClasses:{"first-child":"[1]","last-child":"[last()]","only-child":"[last()=1]"}},rules:extend({},{"@!KHTML":{"(^|\\x02) (\\*|[\\w-]+)#([\\w-]+)":"$1id('$3')[self::$2]","([ >])(\\*|[\\w-]+):([\\w-]+-child(\\(([^)]+)\\))?)":function(a,b,c,d,e,f){var g=(b==" ")?"//*":"/*";if(/^nth/i.test(d)){g+=_34(d,f,"position()")}else{g+=XPathParser.optimised.pseudoClasses[d]}return g+"[self::"+c+"]"}}}),types:{identifiers:function(a,b){this[rescape(b)+"([\\w-]+)"]=a},combinators:function(a,b){this[rescape(b)+"(\\*|[\\w-]+)"]=a},attributes:function(a,b){this["\\[([\\w-]+)\\s*"+rescape(b)+"\\s*([^\\]]*)\\]"]=a},pseudoClasses:function(a,b){this[":"+b.replace(/\(\)$/,"\\(([^)]+)\\)")]=a}},values:{identifiers:{"#":"[@id='$1'][1]",".":"[contains(concat(' ',@class,' '),' $1 ')]"},combinators:{" ":"/descendant::$1",">":"/child::$1","+":"/following-sibling::*[1][self::$1]","~":"/following-sibling::$1"},attributes:{"*=":"[contains(@$1,'$2')]","^=":"[starts-with(@$1,'$2')]","$=":"[substring(@$1,string-length(@$1)-string-length('$2')+1)='$2']","~=":"[contains(concat(' ',@$1,' '),' $2 ')]","|=":"[contains(concat('-',@$1,'-'),'-$2-')]","!=":"[not(@$1='$2')]","=":"[@$1='$2']"},pseudoClasses:{"empty":"[not(child::*) and not(text())]","first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","not()":_47,"nth-child()":_34,"nth-last-child()":_34,"only-child":"[not(preceding-sibling::*) and not(following-sibling::*)]","root":"[not(parent::*)]"}},"@opera":{init:function(){this.optimised.pseudoClasses["last-child"]=this.values.pseudoClasses["last-child"];this.optimised.pseudoClasses["only-child"]=this.values.pseudoClasses["only-child"];this.base()}}});var _48=new XPathParser;function _47(a,b){return"[not("+_48.exec(trim(b)).replace(/\[1\]/g,"").replace(/^(\*|[\w-]+)/,"[self::$1]").replace(/\]\[/g," and ").slice(1,-1)+")]"};function _34(a,b,c){return"["+Parser._34(a,b,c||"count(preceding-sibling::*)+1","last()","not"," and "," mod ","=")+"]"};Selector.implement({toXPath:function(){return Selector.toXPath(this)},"@(XPathResult)":{$evaluate:function(a,b){if(Selector.$NOT_XPATH.test(this)){return this.base(a,b)}var c=Traversal.getDocument(a);var d=b?9:7;var e=c.evaluate(this.toXPath(),a,null,d,null);return b?e.singleNodeValue:e}},"@MSIE":{$evaluate:function(a,b){if(typeof a.selectNodes!="undefined"&&!Selector.$NOT_XPATH.test(this)){var c=b?"selectSingleNode":"selectNodes";return a[c](this.toXPath())}return this.base(a,b)}}});extend(Selector,{xpathParser:null,toXPath:function(a){if(!this.xpathParser)this.xpathParser=new XPathParser;return this.xpathParser.parse(a)},$NOT_XPATH:/:(checked|disabled|enabled|contains)|^(#[\w-]+\s*)?\w+$/,"@KHTML":{$NOT_XPATH:/:(checked|disabled|enabled|contains)|^(#[\w-]+\s*)?\w+$|nth\-|,/,"@!WebKit5":{$NOT_XPATH:/./}}});var Node=Binding.extend({"@!(element.compareDocumentPosition)":{compareDocumentPosition:function(a,b){if(Traversal.contains(a,b)){return 4|16}else if(Traversal.contains(b,a)){return 2|8}var c=Node.$getSourceIndex(a);var d=Node.$getSourceIndex(b);if(c<d){return 4}else if(c>d){return 2}return 0}}},{$getSourceIndex:function(a){var b=0;while(a){b=Traversal.getNodeIndex(a)+"."+b;a=a.parentNode}return b},"@(element.sourceIndex)":{$getSourceIndex:function(a){return a.sourceIndex}}});var Document=Node.extend(null,{bind:function(b){this.base(b);extend(b,"createElement",function(a){return DOM.bind(this.base(a))});AbstractView.bind(b.defaultView);return b},"@!(document.defaultView)":{bind:function(a){a.defaultView=Traversal.getDefaultView(a);return this.base(a)}}});Document.createDelegate("createElement",2);var Element=Node.extend({"@MSIE[67]":{getAttribute:function(a,b,c){if(a.className===undefined||b=="href"||b=="src"){return this.base(a,b,2)}var d=a.getAttributeNode(b);return d&&d.specified?d.nodeValue:null}},"@MSIE5.+win":{getAttribute:function(a,b,c){if(a.className===undefined||b=="href"||b=="src"){return this.base(a,b,2)}var d=a.attributes[this.$attributes[b.toLowerCase()]||b];return d?d.specified?d.nodeValue:null:this.base(a,b)}}},{$attributes:{},"@MSIE5.+win":{init:function(){var a="colSpan,rowSpan,vAlign,dateTime,accessKey,tabIndex,encType,maxLength,readOnly,longDesc";var b=a.toLowerCase().split(",");var c=a.split(",");this.$attributes=Array2.combine(b,c)}}});Element.createDelegate("setAttribute",3);extend(Element.prototype,"cloneNode",function(a){var b=this.base(a||false);b.base2ID=undefined;return b});AbstractView.implement(ViewCSS);Document.implement(DocumentSelector);Document.implement(DocumentEvent);Document.implement(EventTarget);Element.implement(ElementSelector);Element.implement(EventTarget);var HTMLDocument=Document.extend(null,{"@(document.activeElement===undefined)":{bind:function(b){this.base(b);b.activeElement=null;b.addEventListener("focus",function(a){b.activeElement=a.target},false);return b}}});var HTMLElement=Element.extend({addClass:function(a,b){if(!this.hasClass(a,b)){a.className+=(a.className?" ":"")+b}},hasClass:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)");return c.test(a.className)},removeClass:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)","g");a.className=a.className.replace(c,"$2")},toggleClass:function(a,b){if(this.hasClass(a,b)){this.removeClass(a,b)}else{this.addClass(a,b)}}},{bindings:{},tags:"*",extend:function(){var b=base(this,arguments);var c=(b.tags||"").toUpperCase().split(",");forEach(c,function(a){HTMLElement.bindings[a]=b});return b},"@!(element.ownerDocument)":{bind:function(a){this.base(a);a.ownerDocument=Traversal.getOwnerDocument(a);return a}}});DOM.$=function(a,b){return new Selector(a).exec(b,1)};DOM.$$=function(a,b){return new Selector(a).exec(b)};eval(this.exports)};