if(typeof global==="undefined")if(typeof window!=="undefined")global=window;else if(typeof self!=="undefined")global=self;(function(j){"use strict";var a={__assemblies:{}};a.initAssembly=function(b,d,c){c=c||{};b.name=d;b.toString=function(){return this.name};b.__types={};b.getResourceNames=function(){return Object.keys(c)};b.getResourceDataBase64=function(a){return c[a]||null};b.getResourceData=function(d){var b=c[d];return b?a.dec64(b):null};a.__assemblies[d]=b};a.initAssembly(a,"mscorlib");a.load=function(b){return a.__assemblies[b]||require(b)};var J="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E;a.enc64=function(b,g){for(var f="",a=0;a>2]+J[(c&3)<<4|d>>4]+(a>6]:"=")+(a>4;if(d>=0)c[e+1]=(f&15)<<4|d>>2;if(g>=0)c[e+2]=(d&3)<<6|g}return c};a.getAssemblies=function(){return Object.keys(a.__assemblies).map(function(b){return a.__assemblies[b]})};a.isNullOrUndefined=function(a){return a===null||a===undefined};a.isValue=function(a){return a!==null&&a!==undefined};a.referenceEquals=function(b,c){return a.isValue(b)?b===c:!a.isValue(c)};a.mkdict=function(){for(var b=arguments.length!=1?arguments:arguments[0],c={},a=0;a=0};a.isArrayOrTypedArray=function(b){return a.isArray(b)||a.isTypedArrayType(a.getInstanceType(b))};a.getHashCode=function(b){if(!a.isValue(b))throw new p("Cannot get hash code of null");else if(typeof b.getHashCode==="function")return b.getHashCode();else if(typeof b==="boolean")return b?1:0;else if(typeof b==="number"){var c=b.toExponential();c=c.substr(0,c.indexOf("e"));return parseInt(c.replace(".",""),10)&4294967295}else if(typeof b==="string"){for(var d=0,e=0;ec?1:0:a.isDate(b)?a.compare(b.valueOf(),c.valueOf()):b.compareTo(c)};a.equalsT=function(b,c){if(!a.isValue(b))throw new p("Object is null");else return typeof b==="number"||typeof b==="string"||typeof b==="boolean"?b===c:a.isDate(b)?b.valueOf()===c.valueOf():b.equalsT(c)};a.staticEquals=function(c,b){return!a.isValue(c)?!a.isValue(b):a.isValue(b)?a.equals(c,b):false};a.shallowCopy=function(b,e){for(var c=Object.keys(b),a=0,f=c.length;a=0?d:b.length);return c>0?b.substr(c+1):b};a.getTypeNamespace=function(e){var b=a.getTypeFullName(e),d=b.indexOf("["),c=b.lastIndexOf(".",d>=0?d:b.length);return c>0?b.substr(0,c):""};a.getTypeAssembly=function(b){return a.contains([Date,Number,Boolean,String,Function,Array],b)?a:b.__assembly||null};a._getAssemblyType=function(b,d){var f=[];if(b.__types)return b.__types[d]||null;else{for(var e=d.split("."),c=0;c0?c.substring(d.index+1,b.lastIndex-1):c.substring(d.index+1)).trim()]))return null}break;case",":b.exec(c);if(!(h=a.__assemblies[(b.lastIndex>0?c.substring(d.index+1,b.lastIndex-1):c.substring(d.index+1)).trim()]))return null}}else g=c.substring(i);if(k&&b.lastIndex)return null;var e=a._getAssemblyType(h,g.trim());return f.length?a.makeGenericType(e,f):e};a.getType=function(b,c){return b?a._getType(b,c||j):null};a.getDefaultValue=function(a){return typeof a.getDefaultValue==="function"?a.getDefaultValue():a===Boolean?false:a===Date?new Date(0):a===Number?0:null};a.createInstance=function(a){return typeof a.createInstance==="function"?a.createInstance():a===Boolean?false:a===Date?new Date(0):a===Number?0:a===String?"":new a};a.applyConstructor=function(a,c){var b=function(){a.apply(this,c)};b.prototype=a.prototype;return new b};a.getAttributes=function(e,h,j){var c=[];if(j){var i=a.getBaseType(e);if(i)for(var d=a.getAttributes(i,h,true),b=0;b=0;g--)a.isInstanceOfType(c[g],f)&&c.splice(g,1);c.push(d)}}return c};a.getMembers=function(b,k,c,h,f){var e=[];if((c&72)==72||(c&6)==4){var m=a.getBaseType(b);if(m)e=a.getMembers(m,k&~1,c&(c&64?255:247)&(c&2?251:255),h,f)}var n=function(a){if(k&a.type&&(c&4&&!a.isStatic||c&8&&a.isStatic)&&(!h||a.name===h)){if(f){if((a.params||[]).length!==f.length)return;for(var b=0;b1)throw new L("Ambiguous match");else if(g.length===1)return g[0];b=a.getBaseType(b)}return null}return e};a.midel=function(b,f,d){if(b.isStatic&&!!f)throw new e("Cannot specify target for static method");else if(!b.isStatic&&!f)throw new e("Must specify target for instance method");var c;if(b.fget)c=function(){return(b.isStatic?b.typeDef:this)[b.fget]};else if(b.fset)c=function(a){(b.isStatic?b.typeDef:this)[b.fset]=a};else{c=b.def||(b.isStatic||b.sm?b.typeDef[b.sname]:f[b.sname]);if(b.tpcount){if(!d||d.length!==b.tpcount)throw new e("Wrong number of type arguments");c=c.apply(null,d)}else if(d&&d.length)throw new e("Cannot specify type arguments for non-generic method");if(b.exp){var g=c;c=function(){return g.apply(this,Array.prototype.slice.call(arguments,0,arguments.length-1).concat(arguments[arguments.length-1]))}}if(b.sm){var h=c;c=function(){return h.apply(null,[this].concat(Array.prototype.slice.call(arguments)))}}}return a.mkdel(f,c)};a.invokeCI=function(b,c){if(b.exp)c=c.slice(0,c.length-1).concat(c[c.length-1]);return b.def?b.def.apply(null,c):b.sm?b.typeDef[b.sname].apply(null,c):a.applyConstructor(b.sname?b.typeDef[b.sname]:b.typeDef,c)};a.fieldAccess=function(b,a){if(b.isStatic&&!!a)throw new e("Cannot specify target for static field");else if(!b.isStatic&&!a)throw new e("Must specify target for instance field");a=b.isStatic?b.typeDef:a;if(arguments.length===3)a[b.sname]=arguments[2];else return a[b.sname]};var A=function(){};A.__typeName="ss.IFormattable";a.IFormattable=A;a.initInterface(A,a,{format:null});a.format=function(b,c){return typeof b==="number"?a.formatNumber(b,c):a.isDate(b)?a.formatDate(b,c):b.format(c)};var r=function(){};r.__typeName="ss.IComparable";a.IComparable=r;a.initInterface(r,a,{compareTo:null});var t=function(){};t.__typeName="ss.IEquatable";a.IEquatable=t;a.initInterface(t,a,{equalsT:null});a.formatNumber=function(c,b){return a.isNullOrUndefined(b)||b.length==0||b=="i"?c.toString():a.netFormatNumber(c,b,h.invariantCulture.numberFormat)};a.localeFormatNumber=function(c,b){return a.isNullOrUndefined(b)||b.length==0||b=="i"?c.toLocaleString():a.netFormatNumber(c,b,h.currentCulture.numberFormat)};a._commaFormatNumber=function(b,k,o,p){var d=null,i=b.indexOf(o);if(i>0){d=b.substr(i);b=b.substr(0,i)}var j=a.startsWithString(b,"-");if(j)b=b.substr(1);var g=0,h=k[g];if(b.length1)d=parseInt(i.substr(1),10);var g=i.charAt(0);switch(g){case"d":case"D":b=parseInt(Math.abs(e)).toString();if(d!=-1)b=a.padLeftString(b,d,48);if(e<0)b="-"+b;break;case"x":case"X":b=parseInt(Math.abs(e)).toString(16);if(g=="X")b=b.toUpperCase();if(d!=-1)b=a.padLeftString(b,d,48);break;case"e":case"E":if(d==-1)b=e.toExponential();else b=e.toExponential(d);if(g=="E")b=b.toUpperCase();break;case"f":case"F":case"n":case"N":if(d==-1)d=c.numberDecimalDigits;b=e.toFixed(d).toString();if(d&&c.numberDecimalSeparator!="."){var f=b.indexOf(".");b=b.substr(0,f)+c.numberDecimalSeparator+b.substr(f+1)}if(g=="n"||g=="N")b=a._commaFormatNumber(b,c.numberGroupSizes,c.numberDecimalSeparator,c.numberGroupSeparator);break;case"c":case"C":if(d==-1)d=c.currencyDecimalDigits;b=Math.abs(e).toFixed(d).toString();if(d&&c.currencyDecimalSeparator!="."){var f=b.indexOf(".");b=b.substr(0,f)+c.currencyDecimalSeparator+b.substr(f+1)}b=a._commaFormatNumber(b,c.currencyGroupSizes,c.currencyDecimalSeparator,c.currencyGroupSeparator);if(e<0)b=a.formatString(c.currencyNegativePattern,b);else b=a.formatString(c.currencyPositivePattern,b);break;case"p":case"P":if(d==-1)d=c.percentDecimalDigits;b=(Math.abs(e)*100).toFixed(d).toString();if(d&&c.percentDecimalSeparator!="."){var f=b.indexOf(".");b=b.substr(0,f)+c.percentDecimalSeparator+b.substr(f+1)}b=a._commaFormatNumber(b,c.percentGroupSizes,c.percentDecimalSeparator,c.percentGroupSeparator);if(e<0)b=a.formatString(c.percentNegativePattern,b);else b=a.formatString(c.percentPositivePattern,b)}return b};a.netSplit=function(d,h,i,f){for(var g=new RegExp(h.map(a.regexpEscape).join("|"),"g"),b=[],e,c=0;true;c=g.lastIndex)if(e=g.exec(d)){if(f!==1||e.index>c)if(b.length===i-1){b.push(d.substr(c));return b}else b.push(d.substring(c,e.index))}else{(f!==1||c!==d.length)&&b.push(d.substr(c));return b}};a.compareStrings=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:ab.length?false:b.substr(b.length-a.length)==a};a._formatString=function(c,d,b){if(!a._formatRE)a._formatRE=/\{\{|\}\}|\{[^\}\{]+\}/g;return c.replace(a._formatRE,function(c){if(c==="{{"||c==="}}")return c.charAt(0);var h=parseInt(c.substr(1),10),e=d[h+1];if(a.isNullOrUndefined(e))return"";if(a.isInstanceOfType(e,A)){var g=null,f=c.indexOf(":");if(f>0)g=c.substring(f+1,c.length-1);return a.format(e,g)}else return b?e.toLocaleString():e.toString()})};a.formatString=function(b){return a._formatString(b,arguments,false)};a.stringFromChar=function(a,d){for(var c=a,b=1;b";default:return"&"+a+";"}})};a.htmlEncode=function(a){return a.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")};a.jsEncode=function(a,b){a=a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/"/g,'\\"');return b?'"'+a+'"':a};a.indexOfAnyString=function(g,e,a,f){var b=g.length;if(!b)return-1;e=String.fromCharCode.apply(null,e);a=a||0;f=f||b;var d=a+f-1;if(d>=b)d=b-1;for(var c=a;c<=d;c++)if(e.indexOf(g.charAt(c))>=0)return c;return-1};a.insertString=function(a,b,c){if(!c)return a;if(!b)return c+a;var d=a.substr(0,b),e=a.substr(b);return d+c+e};a.isNullOrEmptyString=function(a){return!a||!a.length};a.lastIndexOfAnyString=function(g,e,a,f){var d=g.length;if(!d)return-1;e=String.fromCharCode.apply(null,e);a=a||d-1;f=f||d;var c=a-f+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(e.indexOf(g.charAt(b))>=0)return b;return-1};a.localeFormatString=function(b){return a._formatString(b,arguments,true)};a.padLeftString=function(b,d,c){if(b.lengththis.length?c.substr(0,a):c.substr(0,a)+c.substr(a+b)};a.replaceAllString=function(c,b,a){a=a||"";return c.split(b).join(a)};a.startsWithString=function(b,a){return!a.length?true:a.length>b.length?false:b.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return a.trimStartString(a.trimEndString(this))};a.trimEndString=function(b,a){return b.replace(a?new RegExp("["+String.fromCharCode.apply(null,a)+"]+$"):/\s*$/,"")};a.trimStartString=function(b,a){return b.replace(a?new RegExp("^["+String.fromCharCode.apply(null,a)+"]+"):/^\s*/,"")};a.trimString=function(c,b){return a.trimStartString(a.trimEndString(c,b),b)};a.lastIndexOfString=function(e,c,a,d){var b=e.lastIndexOf(c,a);return b0|-(a<0);if(a%1===.5*b){var d=Math.floor(a);return(d+(e?b>0:d%2*b))/c}return Math.round(a)/c};var z=function(){};z.__typeName="ss.IFormatProvider";a.IFormatProvider=z;a.initInterface(z,a,{getFormat:null});var o=function(){};o.__typeName="ss.NumberFormatInfo";a.NumberFormatInfo=o;a.initClass(o,a,{getFormat:function(a){return a===o?this:null}},null,[z]);o.invariantInfo=new o;a.shallowCopy({naNSymbol:"NaN",negativeSign:"-",positiveSign:"+",negativeInfinitySymbol:"-Infinity",positiveInfinitySymbol:"Infinity",percentSymbol:"%",percentGroupSizes:[3],percentDecimalDigits:2,percentDecimalSeparator:".",percentGroupSeparator:",",percentPositivePattern:0,percentNegativePattern:0,currencySymbol:"$",currencyGroupSizes:[3],currencyDecimalDigits:2,currencyDecimalSeparator:".",currencyGroupSeparator:",",currencyNegativePattern:0,currencyPositivePattern:0,numberGroupSizes:[3],numberDecimalDigits:2,numberDecimalSeparator:".",numberGroupSeparator:","},o.invariantInfo);var n=function(){};n.__typeName="ss.DateTimeFormatInfo";a.DateTimeFormatInfo=n;a.initClass(n,a,{getFormat:function(a){return a===n?this:null}},null,[z]);n.invariantInfo=new n;a.shallowCopy({amDesignator:"AM",pmDesignator:"PM",dateSeparator:"/",timeSeparator:":",gmtDateTimePattern:"ddd, dd MMM yyyy HH:mm:ss 'GMT'",universalDateTimePattern:"yyyy-MM-dd HH:mm:ssZ",sortableDateTimePattern:"yyyy-MM-ddTHH:mm:ss",dateTimePattern:"dddd, MMMM dd, yyyy h:mm:ss tt",longDatePattern:"dddd, MMMM dd, yyyy",shortDatePattern:"M/d/yyyy",longTimePattern:"h:mm:ss tt",shortTimePattern:"h:mm tt",firstDayOfWeek:0,dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],minimizedDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December",""],shortMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},n.invariantInfo);var f=function(){this._stopTime=0;this._startTime=0;this.isRunning=false};f.startNew=function(){var a=new f;a.start();return a};if(typeof window!=="undefined"&&window.performance&&window.performance.now){f.frequency=1e6;f.isHighResolution=true;f.getTimestamp=function(){return Math.round(window.performance.now()*1e3)}}else if(typeof process!=="undefined"&&process.hrtime){f.frequency=1e9;f.isHighResolution=true;f.getTimestamp=function(){var a=process.hrtime();return a[0]*1e9+a[1]}}else{f.frequency=1e3;f.isHighResolution=false;f.getTimestamp=function(){return(new Date).valueOf()}}f.__typeName="ss.Stopwatch";a.Stopwatch=f;a.initClass(f,a,{reset:function(){this._stopTime=this._startTime=f.getTimestamp();this.isRunning=false},ticks:function(){return(this.isRunning?f.getTimestamp():this._stopTime)-this._startTime},milliseconds:function(){return Math.round(this.ticks()/f.frequency*1e3)},timeSpan:function(){return new u(this.milliseconds()*1e4)},start:function(){if(this.isRunning)return;this._startTime=f.getTimestamp();this.isRunning=true},stop:function(){if(!this.isRunning)return;this._stopTime=f.getTimestamp();this.isRunning=false},restart:function(){this.isRunning=false;this.start()}});a._flatIndex=function(a,c){if(c.length!=(a._sizes?a._sizes.length:1))throw new e("Invalid number of indices");if(c[0]<0||c[0]>=(a._sizes?a._sizes[0]:a.length))throw new e("Index 0 out of range");var d=c[0];if(a._sizes)for(var b=1;b=a._sizes[b])throw new e("Index "+b+" out of range");d=d*a._sizes[b]+c[b]}return d};a.arrayGet2=function(b,d){var e=a._flatIndex(b,d),c=b[e];return typeof c!=="undefined"?c:b._defvalue};a.arrayGet=function(b){return a.arrayGet2(b,Array.prototype.slice.call(arguments,1))};a.arraySet2=function(b,d,c){var e=a._flatIndex(b,c);b[e]=d};a.arraySet=function(){return a.arraySet2(arguments[0],arguments[arguments.length-1],Array.prototype.slice.call(arguments,1,arguments.length-1))};a.arrayRank=function(a){return a._sizes?a._sizes.length:1};a.arrayLength=function(a,b){if(b>=(a._sizes?a._sizes.length:1))throw new e("Invalid dimension");return a._sizes?a._sizes[b]:a.length};a.arrayExtract=function(d,b,c){return!a.isValue(c)?d.slice(b):d.slice(b,b+c)};a.arrayAddRange=function(d,c){if(c instanceof Array)d.push.apply(d,c);else{var b=a.getEnumerator(c);try{while(b.moveNext())a.add(d,b.current())}finally{a.isInstanceOfType(b,i)&&a.cast(b,i).dispose()}}};a.arrayClone=function(a){return a.length===1?[a[0]]:Array.apply(null,a)};a.arrayPeekFront=function(a){if(a.length)return a[0];throw new g("Array is empty");};a.arrayPeekBack=function(a){if(a.length)return a[a.length-1];throw new g("Array is empty");};a.indexOfArray=function(d,e,c){c=c||0;for(var b=c;b=0?"-":"+")+Math.floor(Math.abs(b));break;case"zz":case"zzz":b=c.getTimezoneOffset()/60;b=(b>=0?"-":"+")+Math.floor(a.padLeftString(Math.abs(b)).toString(),2,48);if(f=="zzz")b+=d.timeSeparator+Math.abs(a.padLeftString(c.getTimezoneOffset()%60).toString(),2,48);break;default:if(b.charAt(0)=="'")b=b.substr(1,b.length-2).replace(/\\'/g,"'")}j.append(b)}return j.toString()};a._parseExactDate=function(c,j,p,u){p=p&&p.getFormat(n)||h.currentCulture.dateTimeFormat;var q=p.amDesignator,r=p.pmDesignator,t=function(b){for(var c="1234567890",a=0;a=c;b--){var a=f.substring(d,d+b);if(a.length30)e=1900+(e-0);else e=2e3+(e-0)}else if(a=="MM"||a=="M"){f=i(c,b,a.length,2);if(f==null||f<1||f>12)return null;b+=f.length}else if(a=="dd"||a=="d"){g=i(c,b,a.length,2);if(g==null||g<1||g>31)return null;b+=g.length}else if(a=="hh"||a=="h"){d=i(c,b,a.length,2);if(d==null||d<1||d>12)return null;b+=d.length}else if(a=="HH"||a=="H"){d=i(c,b,a.length,2);if(d==null||d<0||d>23)return null;b+=d.length}else if(a=="mm"||a=="m"){l=i(c,b,a.length,2);if(l==null||l<0||l>59)return null;b+=l.length}else if(a=="ss"||a=="s"){k=i(c,b,a.length,2);if(k==null||k<0||k>59)return null;b+=k.length}else if(a=="t"){if(c.substring(b,b+1).toLowerCase()==q.charAt(0).toLowerCase())m=q;else if(c.substring(b,b+1).toLowerCase()==r.charAt(0).toLowerCase())m=r;else return null;b+=1}else if(a=="tt"){if(c.substring(b,b+2).toLowerCase()==q.toLowerCase())m=q;else if(c.substring(b,b+2).toLowerCase()==r.toLowerCase())m=r;else return null;b+=2}else if(c.substring(b,b+a.length)!=a)return null;else b+=a.length}if(b!=c.length)return null;if(f==2)if(e%4==0&&e%100!=0||e%400==0){if(g>29)return null}else if(g>28)return null;if(f==4||f==6||f==9||f==11)if(g>30)return null;if(d<12&&m==r)d=d-0+12;else if(d>11&&m==q)d-=12;return u?new Date(Date.UTC(e,f-1,g,d,l,k)):new Date(e,f-1,g,d,l,k)};a.parseExactDate=function(d,c,b){return a._parseExactDate(d,c,b,false)};a.parseExactDateUTC=function(d,c,b){return a._parseExactDate(d,c,b,true)};a._delegateContains=function(b,d,c){for(var a=0;a=0;d--){var l=i[d].trim(),h=false;for(var c in b)if(c===l){j|=b[c];h=true;break}if(!h){g=false;break}}if(g)return j}throw new e("Invalid Enumeration Value");};D.toString=function(g,f){var b=g.prototype;if(!a.isFlags(g)||f===0){for(var c in b)if(b[c]===f)return c;throw new e("Invalid Enumeration Value");}else{var d=[];for(var c in b)b[c]&f&&a.add(d,c);if(!d.length)throw new e("Invalid Enumeration Value");return d.join(" | ")}};D.getValues=function(d){var b=[],a=d.prototype;for(var c in a)a.hasOwnProperty(c)&&b.push(a[c]);return b};var h=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};h.__typeName="ss.CultureInfo";a.CultureInfo=h;a.initClass(h,a,{getFormat:function(a){switch(a){case o:return this.numberFormat;case n:return this.dateTimeFormat;default:return null}}},null,[z]);h.invariantCulture=new h("en-US",o.invariantInfo,n.invariantInfo);h.currentCulture=h.invariantCulture;var C=function(){};C.__typeName="ss.IEnumerator";a.IEnumerator=C;a.initInterface(C,a,{current:null,moveNext:null,reset:null},[i]);var s=function(){};s.__typeName="ss.IEnumerable";a.IEnumerable=s;a.initInterface(s,a,{getEnumerator:null});a.getEnumerator=function(a){return a.getEnumerator?a.getEnumerator():new T(a)};var B=function(){};B.__typeName="ss.ICollection";a.ICollection=B;a.initInterface(B,a,{get_count:null,add:null,clear:null,contains:null,remove:null});a.count=function(a){return a.get_count?a.get_count():a.length};a.add=function(b,c){if(b.add)b.add(c);else if(a.isArray(b))b.push(c);else throw new q;};a.clear=function(b){if(b.clear)b.clear();else if(a.isArray(b))b.length=0;else throw new q;};a.remove=function(b,d){if(b.remove)return b.remove(d);else if(a.isArray(b)){var c=a.indexOf(b,d);if(c>=0){b.splice(c,1);return true}return false}else throw new q;};a.contains=function(b,c){return b.contains?b.contains(c):a.indexOf(b,c)>=0};var u=function(a){this.ticks=a||0};u.getDefaultValue=u.createInstance=function(){return new u(0)};u.__typeName="ss.TimeSpan";a.TimeSpan=u;a.initClass(u,a,{compareTo:function(a){return this.ticksa.ticks?1:0},equals:function(b){return a.isInstanceOfType(b,u)&&b.ticks===this.ticks},equalsT:function(a){return a.ticks===this.ticks},toString:function(){var d=function(c,b){return a.padLeftString(c+"",b||2,48)},b=this.ticks,c="";if(Math.abs(b)>=8.64e11){c+=d(b/8.64e11|0)+".";b%=8.64e11}c+=d(b/3.6e10|0)+":";b%=3.6e10;c+=d(b/6e8|0)+":";b%=6e8;c+=d(b/1e7|0);b%=1e7;if(b>0)c+="."+d(b,7);return c}},null,[r,t]);u.__class=false;var R=function(){};R.__typeName="ss.IEqualityComparer";a.IEqualityComparer=R;a.initInterface(R,a,{areEqual:null,getObjectHashCode:null});var X=function(){};X.__typeName="ss.IComparer";a.IComparer=X;a.initInterface(X,a,{compare:null});a.unbox=function(b){if(!a.isValue(b))throw new g("Nullable object must have a value.");return b};var c=function(d){var b=function(){};b.isInstanceOfType=function(b){return a.isInstanceOfType(b,d)};a.registerGenericClassInstance(b,c,[d],{},function(){return null},function(){return[]});return b};c.__typeName="ss.Nullable$1";a.Nullable$1=c;a.initGenericClass(c,a,1);c.eq=function(b,c){return!a.isValue(b)?!a.isValue(c):b===c};c.ne=function(b,c){return!a.isValue(b)?a.isValue(c):b!==c};c.le=function(b,c){return a.isValue(b)&&a.isValue(c)&&b<=c};c.ge=function(b,c){return a.isValue(b)&&a.isValue(c)&&b>=c};c.lt=function(b,c){return a.isValue(b)&&a.isValue(c)&&bc};c.sub=function(b,c){return a.isValue(b)&&a.isValue(c)?b-c:null};c.add=function(b,c){return a.isValue(b)&&a.isValue(c)?b+c:null};c.mod=function(b,c){return a.isValue(b)&&a.isValue(c)?b%c:null};c.div=function(b,c){return a.isValue(b)&&a.isValue(c)?b/c:null};c.mul=function(b,c){return a.isValue(b)&&a.isValue(c)?b*c:null};c.band=function(b,c){return a.isValue(b)&&a.isValue(c)?b&c:null};c.bor=function(b,c){return a.isValue(b)&&a.isValue(c)?b|c:null};c.xor=function(b,c){return a.isValue(b)&&a.isValue(c)?b^c:null};c.shl=function(b,c){return a.isValue(b)&&a.isValue(c)?b<>c:null};c.sru=function(b,c){return a.isValue(b)&&a.isValue(c)?b>>>c:null};c.and=function(a,b){return a===true&&b===true?true:a===false||b===false?false:null};c.or=function(a,b){return a===true||b===true?true:a===false&&b===false?false:null};c.not=function(b){return a.isValue(b)?!b:null};c.neg=function(b){return a.isValue(b)?-b:null};c.pos=function(b){return a.isValue(b)?+b:null};c.cpl=function(b){return a.isValue(b)?~b:null};c.lift=function(){for(var b=0;b0?Math.floor(b):Math.ceil(b):null};m.tryParse=function(c,b,e,d){b.$=0;if(!/^[+-]?[0-9]+$/.test(c))return 0;var a=parseInt(c,10);if(ad)return false;b.$=a;return true};var I=function(){};I.__typeName="ss.JsDate";a.JsDate=I;a.initClass(I,a,{},Object,[t,r]);I.createInstance=function(){return new Date};I.isInstanceOfType=function(a){return a instanceof Date};var T=function(a){this._array=a;this._index=-1};T.__typeName="ss.ArrayEnumerator";a.ArrayEnumerator=T;a.initClass(T,a,{moveNext:function(){this._index++;return this._index=this._array.length)throw"Invalid operation";return this._array[this._index]},dispose:function(){}},null,[C,i]);var cb=function(a){this._keys=Object.keys(a);this._index=-1;this._object=a};cb.__typeName="ss.ObjectEnumerator";a.ObjectEnumerator=cb;a.initClass(cb,a,{moveNext:function(){this._index++;return this._index=this._keys.length)throw new g("Invalid operation");var a=this._keys[this._index];return{key:a,value:this._object[a]}},dispose:function(){}},null,[C,i]);var x=function(){};x.__typeName="ss.EqualityComparer";a.EqualityComparer=x;a.initClass(x,a,{areEqual:function(b,c){return a.staticEquals(b,c)},getObjectHashCode:function(b){return a.isValue(b)?a.getHashCode(b):0}},null,[R]);x.def=new x;var H=function(a){this.f=a};H.__typeName="ss.Comparer";a.Comparer=H;a.initClass(H,a,{compare:function(a,b){return this.f(a,b)}},null,[X]);H.def=new H(function(c,b){return!a.isValue(c)?!a.isValue(b)?0:-1:!a.isValue(b)?1:a.compare(c,b)});var F=function(b,a){this._dict=b;this._isKeys=a},W=function(d,b){var c=function(b,g){this.countField=0;this.buckets={};this.comparer=g||x.def;if(a.isInstanceOfType(b,G)){var c=a.getEnumerator(b);try{while(c.moveNext()){var f=c.current();this.add(f.key,f.value)}}finally{a.isInstanceOfType(c,i)&&a.cast(c,i).dispose()}}else if(b)for(var e=Object.keys(b),d=0;d=this.buckets[c[a]].length-1){b=-1;a++}if(a>=c.length)return false;b++;return true},function(){return d(this.buckets[c[a]][b])},null,this)},get_keys:function(){return new F(this,true)},get_values:function(){return new F(this,false)},getEnumerator:function(){return this._getEnumerator(function(a){return a})}},function(){return null},function(){return[G,s]});return c};W.__typeName="ss.Dictionary$2";a.Dictionary$2=W;a.initGenericClass(W,a,2);F.__typeName="ss.$DictionaryCollection";a.$DictionaryCollection=F;a.initClass(F,a,{get_count:function(){return this._dict.get_count()},contains:function(d){if(this._isKeys)return this._dict.containsKey(d);else{for(var c in this._dict.buckets)if(this._dict.buckets.hasOwnProperty(c))for(var b=this._dict.buckets[c],a=0;a=56)this.inext=1;if(++this.inextp>=56)this.inextp=1;var a=this.seedArray[this.inext]-this.seedArray[this.inextp];if(a<0)a+=2147483648;this.seedArray[this.inext]=a;return a*(1/2147483648)}});var w=function(){};w.__typeName="ss.EventArgs";a.EventArgs=w;a.initClass(w,a,{});w.Empty=new w;var b=function(b,a){this._message=b||"An error occurred.";this._innerException=a||null;this._error=new Error};b.__typeName="ss.Exception";a.Exception=b;a.initClass(b,a,{get_message:function(){return this._message},get_innerException:function(){return this._innerException},get_stack:function(){return this._error.stack}});b.wrap=function(c){return a.isInstanceOfType(c,b)?c:c instanceof TypeError?new p(c.message,new y(c)):c instanceof RangeError?new K(null,c.message,new y(c)):c instanceof Error?new y(c):new b(c.toString())};var bb=function(c,a){b.call(this,c||"The method or operation is not implemented.",a)};bb.__typeName="ss.NotImplementedException";a.NotImplementedException=bb;a.initClass(bb,a,{},b);var q=function(c,a){b.call(this,c||"Specified method is not supported.",a)};q.__typeName="ss.NotSupportedException";a.NotSupportedException=q;a.initClass(q,a,{},b);var v=function(d,c){this.innerExceptions=a.isValue(c)?a.arrayFromEnumerable(c):[];b.call(this,d||"One or more errors occurred.",this.innerExceptions.length?this.innerExceptions[0]:null)};v.__typeName="ss.AggregateException";a.AggregateException=v;a.initClass(v,a,{flatten:function(){for(var b=[],d=0;d0)c.setException(d);else if(f)c.setCanceled();else c.setResult(h)})})(e);return c.task};k.whenAny=function(b){if(!b.length)throw new e("Must wait for at least one task","tasks");for(var a=new l,c=0;c=0?a:arguments.length+a]}}(a);else if(typeof a!=="function")a=function(){return Array.prototype.slice.call(arguments,0)};c.then(function(){b.setResult(typeof a==="function"?a.apply(null,arguments):null)},function(){b.setException(new S(Array.prototype.slice.call(arguments,0)))});return b.task};k.fromNode=function(f,c,e){var d=new l,a;if(typeof c==="function")a=Array.prototype.slice.call(arguments,3);else{a=Array.prototype.slice.call(arguments,2);e=c;c=function(){return arguments[0]}}var g=function(a){if(a)d.setException(b.wrap(a));else d.setResult(c.apply(null,Array.prototype.slice.call(arguments,1)))};a.push(g);f[e].apply(f,a);return d.task};k.__typeName="ss.Task";a.Task=k;a.initClass(k,a,{continueWith:function(d){var a=new l,e=this,c=function(){try{a.setResult(d(e))}catch(c){a.setException(b.wrap(c))}};if(this.isCompleted())setTimeout(c,0);else this._thens.push(c);return a.task},start:function(){if(this.status!==0)throw new g("Task was already started.");var a=this;this.status=3;setTimeout(function(){try{var c=a._action(a._state);delete a._action;delete a._state;a._complete(c)}catch(d){a._fail(new v(null,[b.wrap(d)]))}},0)},_runCallbacks:function(){for(var a=0;a=5},isFaulted:function(){return this.status===7},_getResult:function(a){switch(this.status){case 5:return this._result;case 6:throw new g("Task was cancelled.");case 7:throw a?this.exception.innerExceptions[0]:this.exception;default:throw new g("Task is not yet completed.");}},getResult:function(){return this._getResult(false)},getAwaitedResult:function(){return this._getResult(true)},dispose:function(){}},null,[i]);var eb=function(){};eb.__typeName="ss.TaskStatus";a.TaskStatus=eb;a.initEnum(eb,a,{created:0,running:3,ranToCompletion:5,canceled:6,faulted:7});var l=function(){this.task=new k;this.task.status=3};l.__typeName="ss.TaskCompletionSource";a.TaskCompletionSource=l;a.initClass(l,a,{setCanceled:function(){if(!this.task._cancel())throw new g("Task was already completed.");},setResult:function(a){if(!this.task._complete(a))throw new g("Task was already completed.");},setException:function(a){if(!this.trySetException(a))throw new g("Task was already completed.");},trySetCanceled:function(){return this.task._cancel()},trySetResult:function(a){return this.task._complete(a)},trySetException:function(c){if(a.isInstanceOfType(c,b))c=[c];return this.task._fail(new v(null,c))}});var db=function(){w.call(this);this.cancel=false};db.__typeName="ss.CancelEventArgs";a.CancelEventArgs=db;a.initClass(db,a,{},w);var d=function(){};d.$valid=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ig;d.$split=/^(.{8})(.{4})(.{4})(.{4})(.{12})$/;d.empty="00000000-0000-0000-0000-000000000000";d.$rng=new Y;d.__typeName="ss.Guid";a.Guid=d;a.initClass(d,a,{},Object,[t,r]);d.__class=false;d.isInstanceOfType=function(a){return typeof a==="string"&&a.match(d.$valid)};d.getDefaultValue=d.createInstance=function(){return d.empty};d.parse=function(c,b){var a={};if(d.tryParse(c,b,a))return a.$;throw new U("Unable to parse UUID");};d.tryParse=function(b,c,f){f.$=d.empty;if(!a.isValue(b))throw new N("uuid");if(!c){var e=/^[{(]?([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})[)}]?$/ig.exec(b);if(e){f.$=e.slice(1).join("-").toLowerCase();return true}}else{if(c==="N"){var e=d.$split.exec(b);if(!e)return false;b=e.slice(1).join("-")}else if(c==="B"||c==="P"){var g=c==="B";if(b[0]!==(g?"{":"(")||b[b.length-1]!==(g?"}":")"))return false;b=b.substr(1,b.length-2)}if(b.match(d.$valid)){f.$=b.toLowerCase();return true}}return false};d.format=function(a,b){switch(b){case"N":return a.replace(/-/g,"");case"B":return"{"+a+"}";case"P":return"("+a+")";default:return a}};d.fromBytes=function(b){if(!b||b.length!==16)throw new e("b","Must be 16 bytes");var c=b.map(function(b){return a.formatNumber(b&255,"x2")}).join("");return d.$split.exec(c).slice(1).join("-")};d.newGuid=function(){var a=Array(16);d.$rng.nextBytes(a);a[6]=a[6]&15|64;a[8]=a[8]&191|128;return d.fromBytes(a)};d.getBytes=function(c){for(var b=Array(16),d=c.replace(/-/g,""),a=0;a<16;a++)b[a]=parseInt(d.substr(a*2,2),16);return b};if(j.ss){for(var gb in a)if(a.hasOwnProperty(gb))j.ss[gb]=a[gb]}else j.ss=a})(global)