Skip to content

Instantly share code, notes, and snippets.

@leecrossley
Created December 8, 2014 13:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leecrossley/954eac1fdf21004e9870 to your computer and use it in GitHub Desktop.
Save leecrossley/954eac1fdf21004e9870 to your computer and use it in GitHub Desktop.
requirebin sketch
var request = require("request"),
fs = require("fs");
var getPostData = function (tag) {
return {
"url": "http://admin-ci-pz.herokuapp.com/bundles/upload",
"formData": {
"tag": tag,
"bundle_file": fs.createReadStream(__dirname + "/../dist.zip")
}
};
};
request.post(getPostData(tag), function (err, res, body) {
if (err) {
console.error("Upload failed :", err);
} else {
console.log("Upload successful: ", body);
}
done();
});
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({fs:[function(require,module,exports){},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){},{}],2:[function(require,module,exports){var util=require("util/");var pSlice=Array.prototype.slice;var hasOwn=Object.prototype.hasOwnProperty;var assert=module.exports=ok;assert.AssertionError=function AssertionError(options){this.name="AssertionError";this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;if(options.message){this.message=options.message;this.generatedMessage=false}else{this.message=getMessage(this);this.generatedMessage=true}var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction)}else{var err=new Error;if(err.stack){var out=err.stack;var fn_name=stackStartFunction.name;var idx=out.indexOf("\n"+fn_name);if(idx>=0){var next_line=out.indexOf("\n",idx+1);out=out.substring(next_line+1)}this.stack=out}}};util.inherits(assert.AssertionError,Error);function replacer(key,value){if(util.isUndefined(value)){return""+value}if(util.isNumber(value)&&(isNaN(value)||!isFinite(value))){return value.toString()}if(util.isFunction(value)||util.isRegExp(value)){return value.toString()}return value}function truncate(s,n){if(util.isString(s)){return s.length<n?s:s.slice(0,n)}else{return s}}function getMessage(self){return truncate(JSON.stringify(self.actual,replacer),128)+" "+self.operator+" "+truncate(JSON.stringify(self.expected,replacer),128)}function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction})}assert.fail=fail;function ok(value,message){if(!value)fail(value,true,message,"==",assert.ok)}assert.ok=ok;assert.equal=function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,"==",assert.equal)};assert.notEqual=function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,"!=",assert.notEqual)}};assert.deepEqual=function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected)){fail(actual,expected,message,"deepEqual",assert.deepEqual)}};function _deepEqual(actual,expected){if(actual===expected){return true}else if(util.isBuffer(actual)&&util.isBuffer(expected)){if(actual.length!=expected.length)return false;for(var i=0;i<actual.length;i++){if(actual[i]!==expected[i])return false}return true}else if(util.isDate(actual)&&util.isDate(expected)){return actual.getTime()===expected.getTime()}else if(util.isRegExp(actual)&&util.isRegExp(expected)){return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase}else if(!util.isObject(actual)&&!util.isObject(expected)){return actual==expected}else{return objEquiv(actual,expected)}}function isArguments(object){return Object.prototype.toString.call(object)=="[object Arguments]"}function objEquiv(a,b){if(util.isNullOrUndefined(a)||util.isNullOrUndefined(b))return false;if(a.prototype!==b.prototype)return false;if(isArguments(a)){if(!isArguments(b)){return false}a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b)}try{var ka=objectKeys(a),kb=objectKeys(b),key,i}catch(e){return false}if(ka.length!=kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!=kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key]))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(Object.prototype.toString.call(expected)=="[object RegExp]"){return expected.test(actual)}else if(actual instanceof expected){return true}else if(expected.call({},actual)===true){return true}return false}function _throws(shouldThrow,block,expected,message){var actual;if(util.isString(expected)){message=expected;expected=null}try{block()}catch(e){actual=e}message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail(actual,expected,"Missing expected exception"+message)}if(!shouldThrow&&expectedException(actual,expected)){fail(actual,expected,"Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws.apply(this,[true].concat(pSlice.call(arguments)))};assert.doesNotThrow=function(block,message){_throws.apply(this,[false].concat(pSlice.call(arguments)))};assert.ifError=function(err){if(err){throw err}};var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key)}return keys}},{"util/":4}],3:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],4:[function(require,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(inspect(arguments[i]))}return objects.join(" ")}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,function(x){if(x==="%%")return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i<len;x=args[++i]){if(isNull(x)||!isObject(x)){str+=" "+x}else{str+=" "+inspect(x)}}return str};exports.deprecate=function(fn,msg){if(isUndefined(global.process)){return function(){return exports.deprecate(fn,msg).apply(this,arguments)}}if(process.noDeprecation===true){return fn}var warned=false;function deprecated(){if(!warned){if(process.throwDeprecation){throw new Error(msg)}else if(process.traceDeprecation){console.trace(msg)}else{console.error(msg)}warned=true}return fn.apply(this,arguments)}return deprecated};var debugs={};var debugEnviron;exports.debuglog=function(set){if(isUndefined(debugEnviron))debugEnviron=process.env.NODE_DEBUG||"";set=set.toUpperCase();if(!debugs[set]){if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else{debugs[set]=function(){}}}return debugs[set]};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};if(arguments.length>=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true))}else{output.push("")}}keys.forEach(function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true))}});return output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize("[Getter/Setter]","special")}else{str=ctx.stylize("[Getter]","special")}}else{if(desc.set){str=ctx.stylize("[Setter]","special")}}if(!hasOwnProperty(visibleKeys,key)){name="["+key+"]"}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null)}else{str=formatValue(ctx,desc.value,recurseTimes-1)}if(str.indexOf("\n")>-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":3,_process:43,inherits:40}],5:[function(require,module,exports){"use strict";var TYPED_OK=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source){continue}if(typeof source!=="object"){throw new TypeError(source+"must be non-object")}for(var p in source){if(source.hasOwnProperty(p)){obj[p]=source[p]}}}return obj};exports.shrinkBuf=function(buf,size){if(buf.length===size){return buf}if(buf.subarray){return buf.subarray(0,size)}buf.length=size;return buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i<len;i++){dest[dest_offs+i]=src[src_offs+i]}},flattenChunks:function(chunks){var i,l,len,pos,chunk,result;len=0;for(i=0,l=chunks.length;i<l;i++){len+=chunks[i].length}result=new Uint8Array(len);pos=0;for(i=0,l=chunks.length;i<l;i++){chunk=chunks[i];result.set(chunk,pos);pos+=chunk.length}return result}};var fnUntyped={arraySet:function(dest,src,src_offs,len,dest_offs){for(var i=0;i<len;i++){dest[dest_offs+i]=src[src_offs+i]}},flattenChunks:function(chunks){return[].concat.apply([],chunks)}};exports.setTyped=function(on){if(on){exports.Buf8=Uint8Array;exports.Buf16=Uint16Array;exports.Buf32=Int32Array;exports.assign(exports,fnTyped)}else{exports.Buf8=Array;exports.Buf16=Array;exports.Buf32=Array;exports.assign(exports,fnUntyped)}};exports.setTyped(TYPED_OK)},{}],6:[function(require,module,exports){"use strict";function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2e3?2e3:len;len-=n;do{s1=s1+buf[pos++]|0;s2=s2+s1|0}while(--n);s1%=65521;s2%=65521}return s1|s2<<16|0}module.exports=adler32},{}],7:[function(require,module,exports){module.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],8:[function(require,module,exports){"use strict";function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i<end;i++){crc=crc>>>8^t[(crc^buf[i])&255]}return crc^-1}module.exports=crc32},{}],9:[function(require,module,exports){"use strict";var utils=require("../utils/common");var trees=require("./trees");var adler32=require("./adler32");var crc32=require("./crc32");var msg=require("./messages");var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_BLOCK=5;var Z_OK=0;var Z_STREAM_END=1;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_RLE=3;var Z_FIXED=4;var Z_DEFAULT_STRATEGY=0;var Z_UNKNOWN=2;var Z_DEFLATED=8;var MAX_MEM_LEVEL=9;var MAX_WBITS=15;var DEF_MEM_LEVEL=8;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1;var PRESET_DICT=32;var INIT_STATE=42;var EXTRA_STATE=69;var NAME_STATE=73;var COMMENT_STATE=91;var HCRC_STATE=103;var BUSY_STATE=113;var FINISH_STATE=666;var BS_NEED_MORE=1;var BS_BLOCK_DONE=2;var BS_FINISH_STARTED=3;var BS_FINISH_DONE=4;var OS_CODE=3;function err(strm,errorCode){strm.msg=msg[errorCode];return errorCode}function rank(f){return(f<<1)-(f>4?9:0)}function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}function flush_pending(strm){var s=strm.state;var len=s.pending;if(len>strm.avail_out){len=strm.avail_out}if(len===0){return}utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out);strm.next_out+=len;s.pending_out+=len;strm.total_out+=len;strm.avail_out-=len;s.pending-=len;if(s.pending===0){s.pending_out=0}}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last);s.block_start=s.strstart;flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255;s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size){len=size}if(len===0){return 0}strm.avail_in-=len;utils.arraySet(buf,strm.input,strm.next_in,len,start);if(strm.state.wrap===1){strm.adler=adler32(strm.adler,buf,len,start)}else if(strm.state.wrap===2){strm.adler=crc32(strm.adler,buf,len,start)}strm.next_in+=len;strm.total_in+=len;return len}function longest_match(s,cur_match){var chain_length=s.max_chain_length;var scan=s.strstart;var match;var len;var best_len=s.prev_length;var nice_match=s.nice_match;var limit=s.strstart>s.w_size-MIN_LOOKAHEAD?s.strstart-(s.w_size-MIN_LOOKAHEAD):0;var _win=s.window;var wmask=s.w_mask;var prev=s.prev;var strend=s.strstart+MAX_MATCH;var scan_end1=_win[scan+best_len-1];var scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match){chain_length>>=2}if(nice_match>s.lookahead){nice_match=s.lookahead}do{match=cur_match;if(_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1]){continue}scan+=2;match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);len=MAX_MATCH-(strend-scan);scan=strend-MAX_MATCH;if(len>best_len){s.match_start=cur_match;best_len=len;if(len>=nice_match){break}scan_end1=_win[scan+best_len-1];scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead){return best_len}return s.lookahead}function fill_window(s){var _w_size=s.w_size;var p,n,m,more,str;do{more=s.window_size-s.lookahead-s.strstart;if(s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0);s.match_start-=_w_size;s.strstart-=_w_size;s.block_start-=_w_size;n=s.hash_size;p=n;do{m=s.head[--p];s.head[p]=m>=_w_size?m-_w_size:0}while(--n);n=_w_size;p=n;do{m=s.prev[--p];s.prev[p]=m>=_w_size?m-_w_size:0}while(--n);more+=_w_size}if(s.strm.avail_in===0){break}n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more);s.lookahead+=n;if(s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert;s.ins_h=s.window[str];s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+1])&s.hash_mask;while(s.insert){s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask;s.prev[str&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=str;str++;s.insert--;if(s.lookahead+s.insert<MIN_MATCH){break}}}}while(s.lookahead<MIN_LOOKAHEAD&&s.strm.avail_in!==0)}function deflate_stored(s,flush){var max_block_size=65535;if(max_block_size>s.pending_buf_size-5){max_block_size=s.pending_buf_size-5}for(;;){if(s.lookahead<=1){fill_window(s);if(s.lookahead===0&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.strstart+=s.lookahead;s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){s.lookahead=s.strstart-max_start;s.strstart=max_start;flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.strstart>s.block_start){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head;var bflush;for(;;){if(s.lookahead<MIN_LOOKAHEAD){fill_window(s);if(s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}hash_head=0;if(s.lookahead>=MIN_MATCH){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}if(hash_head!==0&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){s.match_length=longest_match(s,hash_head)}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;if(s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do{s.strstart++;s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}while(--s.match_length!==0);s.strstart++}else{s.strstart+=s.match_length;s.match_length=0;s.ins_h=s.window[s.strstart];s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask}}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=s.strstart<MIN_MATCH-1?s.strstart:MIN_MATCH-1;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_slow(s,flush){var hash_head;var bflush;var max_insert;for(;;){if(s.lookahead<MIN_LOOKAHEAD){fill_window(s);if(s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}hash_head=0;if(s.lookahead>=MIN_MATCH){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}s.prev_length=s.match_length;s.prev_match=s.match_start;s.match_length=MIN_MATCH-1;if(hash_head!==0&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){s.match_length=longest_match(s,hash_head);if(s.match_length<=5&&(s.strategy===Z_FILTERED||s.match_length===MIN_MATCH&&s.strstart-s.match_start>4096)){s.match_length=MIN_MATCH-1}}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH;bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH);s.lookahead-=s.prev_length-1;s.prev_length-=2;do{if(++s.strstart<=max_insert){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}}while(--s.prev_length!==0);s.match_available=0;s.match_length=MIN_MATCH-1;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}else if(s.match_available){bflush=trees._tr_tally(s,0,s.window[s.strstart-1]);if(bflush){flush_block_only(s,false)}s.strstart++;s.lookahead--;if(s.strm.avail_out===0){return BS_NEED_MORE}}else{s.match_available=1;s.strstart++;s.lookahead--}}if(s.match_available){bflush=trees._tr_tally(s,0,s.window[s.strstart-1]);s.match_available=0}s.insert=s.strstart<MIN_MATCH-1?s.strstart:MIN_MATCH-1;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_rle(s,flush){var bflush;var prev;var scan,strend;var _win=s.window;for(;;){if(s.lookahead<=MAX_MATCH){fill_window(s);if(s.lookahead<=MAX_MATCH&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.match_length=0;if(s.lookahead>=MIN_MATCH&&s.strstart>0){scan=s.strstart-1;prev=_win[scan];if(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);s.match_length=MAX_MATCH-(strend-scan);if(s.match_length>s.lookahead){s.match_length=s.lookahead}}}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;s.strstart+=s.match_length;s.match_length=0}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){fill_window(s);if(s.lookahead===0){if(flush===Z_NO_FLUSH){return BS_NEED_MORE}break}}s.match_length=0;bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}var Config=function(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length;this.max_lazy=max_lazy;this.nice_length=nice_length;this.max_chain=max_chain;this.func=func};var configuration_table;configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size;zero(s.head);s.max_lazy_match=configuration_table[s.level].max_lazy;s.good_match=configuration_table[s.level].good_length;s.nice_match=configuration_table[s.level].nice_length;s.max_chain_length=configuration_table[s.level].max_chain;s.strstart=0;s.block_start=0;s.lookahead=0;s.insert=0;s.match_length=s.prev_length=MIN_MATCH-1;s.match_available=0;s.ins_h=0}function DeflateState(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=Z_DEFLATED;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2);this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2);this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new utils.Buf16(MAX_BITS+1);this.heap=new utils.Buf16(2*L_CODES+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new utils.Buf16(2*L_CODES+1);zero(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state){return err(strm,Z_STREAM_ERROR)}strm.total_in=strm.total_out=0;strm.data_type=Z_UNKNOWN;s=strm.state;s.pending=0;s.pending_out=0;if(s.wrap<0){s.wrap=-s.wrap}s.status=s.wrap?INIT_STATE:BUSY_STATE;strm.adler=s.wrap===2?0:1;s.last_flush=Z_NO_FLUSH;trees._tr_init(s);return Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK){lm_init(strm.state)}return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state){return Z_STREAM_ERROR}if(strm.state.wrap!==2){return Z_STREAM_ERROR}strm.state.gzhead=head;return Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm){return Z_STREAM_ERROR}var wrap=1;if(level===Z_DEFAULT_COMPRESSION){level=6}if(windowBits<0){wrap=0;windowBits=-windowBits}else if(windowBits>15){wrap=2;windowBits-=16
}if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED){return err(strm,Z_STREAM_ERROR)}if(windowBits===8){windowBits=9}var s=new DeflateState;strm.state=s;s.strm=strm;s.wrap=wrap;s.gzhead=null;s.w_bits=windowBits;s.w_size=1<<s.w_bits;s.w_mask=s.w_size-1;s.hash_bits=memLevel+7;s.hash_size=1<<s.hash_bits;s.hash_mask=s.hash_size-1;s.hash_shift=~~((s.hash_bits+MIN_MATCH-1)/MIN_MATCH);s.window=new utils.Buf8(s.w_size*2);s.head=new utils.Buf16(s.hash_size);s.prev=new utils.Buf16(s.w_size);s.lit_bufsize=1<<memLevel+6;s.pending_buf_size=s.lit_bufsize*4;s.pending_buf=new utils.Buf8(s.pending_buf_size);s.d_buf=s.lit_bufsize>>1;s.l_buf=(1+2)*s.lit_bufsize;s.level=level;s.strategy=strategy;s.method=method;return deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s;var beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0){return strm?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR}s=strm.state;if(!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH){return err(strm,strm.avail_out===0?Z_BUF_ERROR:Z_STREAM_ERROR)}s.strm=strm;old_flush=s.last_flush;s.last_flush=flush;if(s.status===INIT_STATE){if(s.wrap===2){strm.adler=0;put_byte(s,31);put_byte(s,139);put_byte(s,8);if(!s.gzhead){put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,OS_CODE);s.status=BUSY_STATE}else{put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(!s.gzhead.extra?0:4)+(!s.gzhead.name?0:8)+(!s.gzhead.comment?0:16));put_byte(s,s.gzhead.time&255);put_byte(s,s.gzhead.time>>8&255);put_byte(s,s.gzhead.time>>16&255);put_byte(s,s.gzhead.time>>24&255);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,s.gzhead.os&255);if(s.gzhead.extra&&s.gzhead.extra.length){put_byte(s,s.gzhead.extra.length&255);put_byte(s,s.gzhead.extra.length>>8&255)}if(s.gzhead.hcrc){strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0)}s.gzindex=0;s.status=EXTRA_STATE}}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8;var level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2){level_flags=0}else if(s.level<6){level_flags=1}else if(s.level===6){level_flags=2}else{level_flags=3}header|=level_flags<<6;if(s.strstart!==0){header|=PRESET_DICT}header+=31-header%31;s.status=BUSY_STATE;putShortMSB(s,header);if(s.strstart!==0){putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}strm.adler=1}}if(s.status===EXTRA_STATE){if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){break}}put_byte(s,s.gzhead.extra[s.gzindex]&255);s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(s.gzindex===s.gzhead.extra.length){s.gzindex=0;s.status=NAME_STATE}}else{s.status=NAME_STATE}}if(s.status===NAME_STATE){if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.name.length){val=s.gzhead.name.charCodeAt(s.gzindex++)&255}else{val=0}put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.gzindex=0;s.status=COMMENT_STATE}}else{s.status=COMMENT_STATE}}if(s.status===COMMENT_STATE){if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.comment.length){val=s.gzhead.comment.charCodeAt(s.gzindex++)&255}else{val=0}put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.status=HCRC_STATE}}else{s.status=HCRC_STATE}}if(s.status===HCRC_STATE){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size){flush_pending(strm)}if(s.pending+2<=s.pending_buf_size){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);strm.adler=0;s.status=BUSY_STATE}}else{s.status=BUSY_STATE}}if(s.pending!==0){flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH){return err(strm,Z_BUF_ERROR)}if(s.status===FINISH_STATE&&strm.avail_in!==0){return err(strm,Z_BUF_ERROR)}if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY?deflate_huff(s,flush):s.strategy===Z_RLE?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE){s.status=FINISH_STATE}if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0){s.last_flush=-1}return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH){trees._tr_align(s)}else if(flush!==Z_BLOCK){trees._tr_stored_block(s,0,0,false);if(flush===Z_FULL_FLUSH){zero(s.head);if(s.lookahead===0){s.strstart=0;s.block_start=0;s.insert=0}}}flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}}if(flush!==Z_FINISH){return Z_OK}if(s.wrap<=0){return Z_STREAM_END}if(s.wrap===2){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);put_byte(s,strm.adler>>16&255);put_byte(s,strm.adler>>24&255);put_byte(s,strm.total_in&255);put_byte(s,strm.total_in>>8&255);put_byte(s,strm.total_in>>16&255);put_byte(s,strm.total_in>>24&255)}else{putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}flush_pending(strm);if(s.wrap>0){s.wrap=-s.wrap}return s.pending!==0?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state){return Z_STREAM_ERROR}status=strm.state.status;if(status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE){return err(strm,Z_STREAM_ERROR)}strm.state=null;return status===BUSY_STATE?err(strm,Z_DATA_ERROR):Z_OK}exports.deflateInit=deflateInit;exports.deflateInit2=deflateInit2;exports.deflateReset=deflateReset;exports.deflateResetKeep=deflateResetKeep;exports.deflateSetHeader=deflateSetHeader;exports.deflate=deflate;exports.deflateEnd=deflateEnd;exports.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":5,"./adler32":6,"./crc32":8,"./messages":13,"./trees":14}],10:[function(require,module,exports){"use strict";var BAD=30;var TYPE=12;module.exports=function inflate_fast(strm,start){var state;var _in;var last;var _out;var beg;var end;var dmax;var wsize;var whave;var wnext;var window;var hold;var bits;var lcode;var dcode;var lmask;var dmask;var here;var op;var len;var dist;var from;var from_source;var input,output;state=strm.state;_in=strm.next_in;input=strm.input;last=_in+(strm.avail_in-5);_out=strm.next_out;output=strm.output;beg=_out-(start-strm.avail_out);end=_out+(strm.avail_out-257);dmax=state.dmax;wsize=state.wsize;whave=state.whave;wnext=state.wnext;window=state.window;hold=state.hold;bits=state.bits;lcode=state.lencode;dcode=state.distcode;lmask=(1<<state.lenbits)-1;dmask=(1<<state.distbits)-1;top:do{if(bits<15){hold+=input[_in++]<<bits;bits+=8;hold+=input[_in++]<<bits;bits+=8}here=lcode[hold&lmask];dolen:for(;;){op=here>>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op===0){output[_out++]=here&65535}else if(op&16){len=here&65535;op&=15;if(op){if(bits<op){hold+=input[_in++]<<bits;bits+=8}len+=hold&(1<<op)-1;hold>>>=op;bits-=op}if(bits<15){hold+=input[_in++]<<bits;bits+=8;hold+=input[_in++]<<bits;bits+=8}here=dcode[hold&dmask];dodist:for(;;){op=here>>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op&16){dist=here&65535;op&=15;if(bits<op){hold+=input[_in++]<<bits;bits+=8;if(bits<op){hold+=input[_in++]<<bits;bits+=8}}dist+=hold&(1<<op)-1;if(dist>dmax){strm.msg="invalid distance too far back";state.mode=BAD;break top}hold>>>=op;bits-=op;op=_out-beg;if(dist>op){op=dist-op;if(op>whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break top}}from=0;from_source=window;if(wnext===0){from+=wsize-op;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}else if(wnext<op){from+=wsize+wnext-op;op-=wnext;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=0;if(wnext<len){op=wnext;len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}}else{from+=wnext-op;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}while(len>2){output[_out++]=from_source[from++];output[_out++]=from_source[from++];output[_out++]=from_source[from++];len-=3}if(len){output[_out++]=from_source[from++];if(len>1){output[_out++]=from_source[from++]}}}else{from=_out-dist;do{output[_out++]=output[from++];output[_out++]=output[from++];output[_out++]=output[from++];len-=3}while(len>2);if(len){output[_out++]=output[from++];if(len>1){output[_out++]=output[from++]}}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<<op)-1)];continue dodist}else{strm.msg="invalid distance code";state.mode=BAD;break top}break}}else if((op&64)===0){here=lcode[(here&65535)+(hold&(1<<op)-1)];continue dolen}else if(op&32){state.mode=TYPE;break top}else{strm.msg="invalid literal/length code";state.mode=BAD;break top}break}}while(_in<last&&_out<end);len=bits>>3;_in-=len;bits-=len<<3;hold&=(1<<bits)-1;strm.next_in=_in;strm.next_out=_out;strm.avail_in=_in<last?5+(last-_in):5-(_in-last);strm.avail_out=_out<end?257+(end-_out):257-(_out-end);state.hold=hold;state.bits=bits;return}},{}],11:[function(require,module,exports){"use strict";var utils=require("../utils/common");var adler32=require("./adler32");var crc32=require("./crc32");var inflate_fast=require("./inffast");var inflate_table=require("./inftrees");var CODES=0;var LENS=1;var DISTS=2;var Z_FINISH=4;var Z_BLOCK=5;var Z_TREES=6;var Z_OK=0;var Z_STREAM_END=1;var Z_NEED_DICT=2;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_MEM_ERROR=-4;var Z_BUF_ERROR=-5;var Z_DEFLATED=8;var HEAD=1;var FLAGS=2;var TIME=3;var OS=4;var EXLEN=5;var EXTRA=6;var NAME=7;var COMMENT=8;var HCRC=9;var DICTID=10;var DICT=11;var TYPE=12;var TYPEDO=13;var STORED=14;var COPY_=15;var COPY=16;var TABLE=17;var LENLENS=18;var CODELENS=19;var LEN_=20;var LEN=21;var LENEXT=22;var DIST=23;var DISTEXT=24;var MATCH=25;var LIT=26;var CHECK=27;var LENGTH=28;var DONE=29;var BAD=30;var MEM=31;var SYNC=32;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var MAX_WBITS=15;var DEF_WBITS=MAX_WBITS;function ZSWAP32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new utils.Buf16(320);this.work=new utils.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;strm.total_in=strm.total_out=state.total=0;strm.msg="";if(state.wrap){strm.adler=state.wrap&1}state.mode=HEAD;state.last=0;state.havedict=0;state.dmax=32768;state.head=null;state.hold=0;state.bits=0;state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS);state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS);state.sane=1;state.back=-1;return Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;state.wsize=0;state.whave=0;state.wnext=0;return inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap;var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if(windowBits<0){wrap=0;windowBits=-windowBits}else{wrap=(windowBits>>4)+1;if(windowBits<48){windowBits&=15}}if(windowBits&&(windowBits<8||windowBits>15)){return Z_STREAM_ERROR}if(state.window!==null&&state.wbits!==windowBits){state.window=null}state.wrap=wrap;state.wbits=windowBits;return inflateReset(strm)}function inflateInit2(strm,windowBits){var ret;var state;if(!strm){return Z_STREAM_ERROR}state=new InflateState;strm.state=state;state.window=null;ret=inflateReset2(strm,windowBits);if(ret!==Z_OK){strm.state=null}return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=true;var lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512);distfix=new utils.Buf32(32);sym=0;while(sym<144){state.lens[sym++]=8}while(sym<256){state.lens[sym++]=9}while(sym<280){state.lens[sym++]=7}while(sym<288){state.lens[sym++]=8}inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9});sym=0;while(sym<32){state.lens[sym++]=5}inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5});virgin=false}state.lencode=lenfix;state.lenbits=9;state.distcode=distfix;state.distbits=5}function updatewindow(strm,src,end,copy){var dist;var state=strm.state;if(state.window===null){state.wsize=1<<state.wbits;state.wnext=0;state.whave=0;state.window=new utils.Buf8(state.wsize)}if(copy>=state.wsize){utils.arraySet(state.window,src,end-state.wsize,state.wsize,0);state.wnext=0;state.whave=state.wsize}else{dist=state.wsize-state.wnext;if(dist>copy){dist=copy}utils.arraySet(state.window,src,end-copy,dist,state.wnext);copy-=dist;if(copy){utils.arraySet(state.window,src,end-copy,copy,0);state.wnext=copy;state.whave=state.wsize}else{state.wnext+=dist;if(state.wnext===state.wsize){state.wnext=0}if(state.whave<state.wsize){state.whave+=dist}}}return 0}function inflate(strm,flush){var state;var input,output;var next;var put;var have,left;var hold;var bits;var _in,_out;var copy;var from;var from_source;var here=0;var here_bits,here_op,here_val;var last_bits,last_op,last_val;var len;var ret;var hbuf=new utils.Buf8(4);var opts;var n;var order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!strm||!strm.state||!strm.output||!strm.input&&strm.avail_in!==0){return Z_STREAM_ERROR}state=strm.state;if(state.mode===TYPE){state.mode=TYPEDO}put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;_in=have;_out=left;ret=Z_OK;inf_leave:for(;;){switch(state.mode){case HEAD:if(state.wrap===0){state.mode=TYPEDO;break}while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.wrap&2&&hold===35615){state.check=0;hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0);hold=0;bits=0;state.mode=FLAGS;break}state.flags=0;if(state.head){state.head.done=false}if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg="incorrect header check";state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}hold>>>=4;bits-=4;len=(hold&15)+8;if(state.wbits===0){state.wbits=len}else if(len>state.wbits){strm.msg="invalid window size";state.mode=BAD;break}state.dmax=1<<len;strm.adler=state.check=1;state.mode=hold&512?DICTID:TYPE;hold=0;bits=0;break;case FLAGS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.flags=hold;if((state.flags&255)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}if(state.flags&57344){strm.msg="unknown header flags set";state.mode=BAD;break}if(state.head){state.head.text=hold>>8&1}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=TIME;case TIME:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.head){state.head.time=hold}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;hbuf[2]=hold>>>16&255;hbuf[3]=hold>>>24&255;state.check=crc32(state.check,hbuf,4,0)}hold=0;bits=0;state.mode=OS;case OS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.head){state.head.xflags=hold&255;state.head.os=hold>>8}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.length=hold;if(state.head){state.head.extra_len=hold}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0}else if(state.head){state.head.extra=null}state.mode=EXTRA;case EXTRA:if(state.flags&1024){copy=state.length;if(copy>have){copy=have}if(copy){if(state.head){len=state.head.extra_len-state.length;if(!state.head.extra){state.head.extra=new Array(state.head.extra_len)}utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;state.length-=copy}if(state.length){break inf_leave}}state.length=0;state.mode=NAME;case NAME:if(state.flags&2048){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.name+=String.fromCharCode(len)}}while(len&&copy<have);if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;if(len){break inf_leave}}else if(state.head){state.head.name=null}state.length=0;state.mode=COMMENT;case COMMENT:if(state.flags&4096){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.comment+=String.fromCharCode(len)}}while(len&&copy<have);if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;if(len){break inf_leave}}else if(state.head){state.head.comment=null}state.mode=HCRC;case HCRC:if(state.flags&512){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(hold!==(state.check&65535)){strm.msg="header crc mismatch";state.mode=BAD;break}hold=0;bits=0}if(state.head){state.head.hcrc=state.flags>>9&1;state.head.done=true}strm.adler=state.check=0;state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}strm.adler=state.check=ZSWAP32(hold);hold=0;bits=0;state.mode=DICT;case DICT:if(state.havedict===0){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;return Z_NEED_DICT}strm.adler=state.check=1;state.mode=TYPE;case TYPE:if(flush===Z_BLOCK||flush===Z_TREES){break inf_leave}case TYPEDO:if(state.last){hold>>>=bits&7;bits-=bits&7;state.mode=CHECK;break}while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.last=hold&1;hold>>>=1;bits-=1;switch(hold&3){case 0:state.mode=STORED;break;case 1:fixedtables(state);state.mode=LEN_;if(flush===Z_TREES){hold>>>=2;bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg="invalid block type";state.mode=BAD}hold>>>=2;bits-=2;break;case STORED:hold>>>=bits&7;bits-=bits&7;while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if((hold&65535)!==(hold>>>16^65535)){strm.msg="invalid stored block lengths";state.mode=BAD;break}state.length=hold&65535;hold=0;bits=0;state.mode=COPY_;if(flush===Z_TREES){break inf_leave}case COPY_:state.mode=COPY;case COPY:copy=state.length;if(copy){if(copy>have){copy=have}if(copy>left){copy=left}if(copy===0){break inf_leave}utils.arraySet(output,input,next,copy,put);have-=copy;next+=copy;left-=copy;put+=copy;state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.nlen=(hold&31)+257;hold>>>=5;bits-=5;state.ndist=(hold&31)+1;hold>>>=5;bits-=5;state.ncode=(hold&15)+4;hold>>>=4;bits-=4;if(state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols";state.mode=BAD;break}state.have=0;state.mode=LENLENS;case LENLENS:while(state.have<state.ncode){while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.lens[order[state.have++]]=hold&7;hold>>>=3;bits-=3}while(state.have<19){state.lens[order[state.have++]]=0}state.lencode=state.lendyn;state.lenbits=7;opts={bits:state.lenbits};ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid code lengths set";state.mode=BAD;break}state.have=0;state.mode=CODELENS;case CODELENS:while(state.have<state.nlen+state.ndist){for(;;){here=state.lencode[hold&(1<<state.lenbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(here_val<16){hold>>>=here_bits;bits-=here_bits;state.lens[state.have++]=here_val}else{if(here_val===16){n=here_bits+2;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;if(state.have===0){strm.msg="invalid bit length repeat";state.mode=BAD;break}len=state.lens[state.have-1];copy=3+(hold&3);hold>>>=2;bits-=2}else if(here_val===17){n=here_bits+3;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;len=0;copy=3+(hold&7);hold>>>=3;bits-=3}else{n=here_bits+7;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;len=0;copy=11+(hold&127);hold>>>=7;bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat";state.mode=BAD;break}while(copy--){state.lens[state.have++]=len}}}if(state.mode===BAD){break}if(state.lens[256]===0){strm.msg="invalid code -- missing end-of-block";state.mode=BAD;break}state.lenbits=9;opts={bits:state.lenbits};ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid literal/lengths set";state.mode=BAD;break}state.distbits=6;state.distcode=state.distdyn;opts={bits:state.distbits};ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts);state.distbits=opts.bits;if(ret){strm.msg="invalid distances set";state.mode=BAD;break}state.mode=LEN_;if(flush===Z_TREES){break inf_leave}case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;inflate_fast(strm,_out);put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;if(state.mode===TYPE){state.back=-1}break}state.back=0;for(;;){here=state.lencode[hold&(1<<state.lenbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(here_op&&(here_op&240)===0){last_bits=here_bits;last_op=here_op;last_val=here_val;for(;;){here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;state.length=here_val;if(here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1;state.mode=TYPE;break}if(here_op&64){strm.msg="invalid literal/length code";state.mode=BAD;break}state.extra=here_op&15;state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.length+=hold&(1<<state.extra)-1;hold>>>=state.extra;bits-=state.extra;state.back+=state.extra}state.was=state.length;state.mode=DIST;case DIST:for(;;){here=state.distcode[hold&(1<<state.distbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if((here_op&240)===0){last_bits=here_bits;last_op=here_op;last_val=here_val;for(;;){here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;if(here_op&64){strm.msg="invalid distance code";state.mode=BAD;break}state.offset=here_val;state.extra=here_op&15;state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.offset+=hold&(1<<state.extra)-1;hold>>>=state.extra;bits-=state.extra;state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back";state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0){break inf_leave}copy=_out-left;if(state.offset>copy){copy=state.offset-copy;if(copy>state.whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break}}if(copy>state.wnext){copy-=state.wnext;from=state.wsize-copy}else{from=state.wnext-copy}if(copy>state.length){copy=state.length}from_source=state.window}else{from_source=output;from=put-state.offset;copy=state.length}if(copy>left){copy=left}left-=copy;state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);if(state.length===0){state.mode=LEN}break;case LIT:if(left===0){break inf_leave}output[put++]=state.length;left--;state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0){break inf_leave}have--;hold|=input[next++]<<bits;bits+=8}_out-=left;strm.total_out+=_out;state.total+=_out;if(_out){strm.adler=state.check=state.flags?crc32(state.check,output,_out,put-_out):adler32(state.check,output,_out,put-_out)}_out=left;if((state.flags?hold:ZSWAP32(hold))!==state.check){strm.msg="incorrect data check";state.mode=BAD;break}hold=0;bits=0}state.mode=LENGTH;case LENGTH:if(state.wrap&&state.flags){while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(hold!==(state.total&4294967295)){strm.msg="incorrect length check";state.mode=BAD;break}hold=0;bits=0}state.mode=DONE;case DONE:ret=Z_STREAM_END;break inf_leave;case BAD:ret=Z_DATA_ERROR;break inf_leave;case MEM:return Z_MEM_ERROR;case SYNC:default:return Z_STREAM_ERROR}}strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;if(state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<CHECK||flush!==Z_FINISH)){if(updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out)){state.mode=MEM;return Z_MEM_ERROR}}_in-=strm.avail_in;_out-=strm.avail_out;strm.total_in+=_in;strm.total_out+=_out;state.total+=_out;if(state.wrap&&_out){strm.adler=state.check=state.flags?crc32(state.check,output,_out,strm.next_out-_out):adler32(state.check,output,_out,strm.next_out-_out)}strm.data_type=state.bits+(state.last?64:0)+(state.mode===TYPE?128:0)+(state.mode===LEN_||state.mode===COPY_?256:0);if((_in===0&&_out===0||flush===Z_FINISH)&&ret===Z_OK){ret=Z_BUF_ERROR}return ret}function inflateEnd(strm){if(!strm||!strm.state){return Z_STREAM_ERROR}var state=strm.state;if(state.window){state.window=null}strm.state=null;return Z_OK}function inflateGetHeader(strm,head){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if((state.wrap&2)===0){return Z_STREAM_ERROR}state.head=head;head.done=false;return Z_OK}exports.inflateReset=inflateReset;exports.inflateReset2=inflateReset2;exports.inflateResetKeep=inflateResetKeep;exports.inflateInit=inflateInit;exports.inflateInit2=inflateInit2;exports.inflate=inflate;exports.inflateEnd=inflateEnd;exports.inflateGetHeader=inflateGetHeader;exports.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":5,"./adler32":6,"./crc32":8,"./inffast":10,"./inftrees":12}],12:[function(require,module,exports){"use strict";var utils=require("../utils/common");var MAXBITS=15;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var CODES=0;var LENS=1;var DISTS=2;var lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0];var lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0];var dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits;var len=0;var sym=0;var min=0,max=0;var root=0;var curr=0;var drop=0;var left=0;var used=0;var huff=0;var incr;var fill;var low;var mask;var next;var base=null;var base_index=0;var end;var count=new utils.Buf16(MAXBITS+1);var offs=new utils.Buf16(MAXBITS+1);var extra=null;var extra_index=0;var here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++){count[len]=0}for(sym=0;sym<codes;sym++){count[lens[lens_index+sym]]++}root=bits;for(max=MAXBITS;max>=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min<max;min++){if(count[min]!==0){break}}if(root<min){root=min}left=1;for(len=1;len<=MAXBITS;len++){left<<=1;left-=count[len];if(left<0){return-1}}if(left>0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;len<MAXBITS;len++){offs[len+1]=offs[len]+count[len]}for(sym=0;sym<codes;sym++){if(lens[lens_index+sym]!==0){work[offs[lens[lens_index+sym]]++]=sym}}if(type===CODES){base=extra=work;end=19}else if(type===LENS){base=lbase;base_index-=257;extra=lext;extra_index-=257;end=256}else{base=dbase;extra=dext;end=-1}huff=0;sym=0;len=min;next=table_index;curr=root;drop=0;low=-1;used=1<<root;mask=used-1;if(type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]<end){here_op=0;here_val=work[sym]}else if(work[sym]>end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<<len-drop;fill=1<<curr;min=fill;do{fill-=incr;table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<<len-1;while(huff&incr){incr>>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<<curr;while(curr+drop<max){left-=count[curr+drop];if(left<=0){break}curr++;left<<=1}used+=1<<curr;if(type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":5}],13:[function(require,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(require,module,exports){"use strict";var utils=require("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;
var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<<s.bi_valid&65535;put_short(s,s.bi_buf);s.bi_buf=value>>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<<s.bi_valid&65535;s.bi_valid+=length}}function send_code(s,c,tree){send_bits(s,tree[c*2],tree[c*2+1])}function bi_reverse(code,len){var res=0;do{res|=code&1;code>>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){n=s.heap[h];bits=tree[tree[n*2+1]*2+1]+1;if(bits>max_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code<LENGTH_CODES-1;code++){base_length[code]=length;for(n=0;n<1<<extra_lbits[code];n++){_length_code[length++]=code}}_length_code[length-1]=code;dist=0;for(code=0;code<16;code++){base_dist[code]=dist;for(n=0;n<1<<extra_dbits[code];n++){_dist_code[dist++]=code}}dist>>=7;for(;code<D_CODES;code++){base_dist[code]=dist<<7;for(n=0;n<1<<extra_dbits[code]-7;n++){_dist_code[256+dist++]=code}}for(bits=0;bits<=MAX_BITS;bits++){bl_count[bits]=0}n=0;while(n<=143){static_ltree[n*2+1]=8;n++;bl_count[8]++}while(n<=255){static_ltree[n*2+1]=9;n++;bl_count[9]++}while(n<=279){static_ltree[n*2+1]=7;n++;bl_count[7]++}while(n<=287){static_ltree[n*2+1]=8;n++;bl_count[8]++}gen_codes(static_ltree,L_CODES+1,bl_count);for(n=0;n<D_CODES;n++){static_dtree[n*2+1]=5;static_dtree[n*2]=bi_reverse(n,5)}static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS+1,L_CODES,MAX_BITS);static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES,MAX_BITS);static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES,MAX_BL_BITS)}function init_block(s){var n;for(n=0;n<L_CODES;n++){s.dyn_ltree[n*2]=0}for(n=0;n<D_CODES;n++){s.dyn_dtree[n*2]=0}for(n=0;n<BL_CODES;n++){s.bl_tree[n*2]=0}s.dyn_ltree[END_BLOCK*2]=1;s.opt_len=s.static_len=0;s.last_lit=s.matches=0}function bi_windup(s){if(s.bi_valid>8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]}function pqdownheap(s,tree,k){var v=s.heap[k];var j=k<<1;while(j<=s.heap_len){if(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth)){j++}if(smaller(tree,v,s.heap[j],s.depth)){break}s.heap[k]=s.heap[j];k=j;j<<=1}s.heap[k]=v}function compress_block(s,ltree,dtree){var dist;var lc;var lx=0;var code;var extra;if(s.last_lit!==0){do{dist=s.pending_buf[s.d_buf+lx*2]<<8|s.pending_buf[s.d_buf+lx*2+1];lc=s.pending_buf[s.l_buf+lx];lx++;if(dist===0){send_code(s,lc,ltree)}else{code=_length_code[lc];send_code(s,code+LITERALS+1,ltree);extra=extra_lbits[code];if(extra!==0){lc-=base_length[code];send_bits(s,lc,extra)}dist--;code=d_code(dist);send_code(s,code,dtree);extra=extra_dbits[code];if(extra!==0){dist-=base_dist[code];send_bits(s,dist,extra)}}}while(lx<s.last_lit)}send_code(s,END_BLOCK,ltree)}function build_tree(s,desc){var tree=desc.dyn_tree;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var elems=desc.stat_desc.elems;var n,m;var max_code=-1;var node;s.heap_len=0;s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++){if(tree[n*2]!==0){s.heap[++s.heap_len]=max_code=n;s.depth[n]=0}else{tree[n*2+1]=0}}while(s.heap_len<2){node=s.heap[++s.heap_len]=max_code<2?++max_code:0;tree[node*2]=1;s.depth[node]=0;s.opt_len--;if(has_stree){s.static_len-=stree[node*2+1]}}desc.max_code=max_code;for(n=s.heap_len>>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen===nextlen){continue}else if(count<min_count){s.bl_tree[curlen*2]+=count}else if(curlen!==0){if(curlen!==prevlen){s.bl_tree[curlen*2]++}s.bl_tree[REP_3_6*2]++}else if(count<=10){s.bl_tree[REPZ_3_10*2]++}else{s.bl_tree[REPZ_11_138*2]++}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else if(curlen===nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}function send_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen===nextlen){continue}else if(count<min_count){do{send_code(s,curlen,s.bl_tree)}while(--count!==0)}else if(curlen!==0){if(curlen!==prevlen){send_code(s,curlen,s.bl_tree);count--}send_code(s,REP_3_6,s.bl_tree);send_bits(s,count-3,2)}else if(count<=10){send_code(s,REPZ_3_10,s.bl_tree);send_bits(s,count-3,3)}else{send_code(s,REPZ_11_138,s.bl_tree);send_bits(s,count-11,7)}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else if(curlen===nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}function build_bl_tree(s){var max_blindex;scan_tree(s,s.dyn_ltree,s.l_desc.max_code);scan_tree(s,s.dyn_dtree,s.d_desc.max_code);build_tree(s,s.bl_desc);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank<blcodes;rank++){send_bits(s,s.bl_tree[bl_order[rank]*2+1],3)}send_tree(s,s.dyn_ltree,lcodes-1);send_tree(s,s.dyn_dtree,dcodes-1)}function detect_data_type(s){var black_mask=4093624447;var n;for(n=0;n<=31;n++,black_mask>>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n<LITERALS;n++){if(s.dyn_ltree[n*2]!==0){return Z_TEXT}}return Z_BINARY}var static_init_done=false;function _tr_init(s){if(!static_init_done){tr_static_init();static_init_done=true}s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc);s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc);s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc);s.bi_buf=0;s.bi_valid=0;init_block(s)}function _tr_stored_block(s,buf,stored_len,last){send_bits(s,(STORED_BLOCK<<1)+(last?1:0),3);copy_block(s,buf,stored_len,true)}function _tr_align(s){send_bits(s,STATIC_TREES<<1,3);send_code(s,END_BLOCK,static_ltree);bi_flush(s)}function _tr_flush_block(s,buf,stored_len,last){var opt_lenb,static_lenb;var max_blindex=0;if(s.level>0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":5}],15:[function(require,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}],16:[function(require,module,exports){(function(process,Buffer){var msg=require("pako/lib/zlib/messages");var zstream=require("pako/lib/zlib/zstream");var zlib_deflate=require("pako/lib/zlib/deflate.js");var zlib_inflate=require("pako/lib/zlib/inflate.js");var constants=require("pako/lib/zlib/constants");for(var key in constants){exports[key]=constants[key]}exports.NONE=0;exports.DEFLATE=1;exports.INFLATE=2;exports.GZIP=3;exports.GUNZIP=4;exports.DEFLATERAW=5;exports.INFLATERAW=6;exports.UNZIP=7;function Zlib(mode){if(mode<exports.DEFLATE||mode>exports.UNZIP)throw new TypeError("Bad argument");this.mode=mode;this.init_done=false;this.write_in_progress=false;this.pending_close=false;this.windowBits=0;this.level=0;this.memLevel=0;this.strategy=0;this.dictionary=null}Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){this.windowBits=windowBits;this.level=level;this.memLevel=memLevel;this.strategy=strategy;if(this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-this.windowBits;this.strm=new zstream;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:var status=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:var status=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(status!==exports.Z_OK){this._error(status);return}this.write_in_progress=false;this.init_done=true};Zlib.prototype.params=function(){throw new Error("deflateParams Not supported")};Zlib.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===exports.NONE)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")};Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){this._writeCheck();this.write_in_progress=true;var self=this;process.nextTick(function(){self.write_in_progress=false;var res=self._write(flush,input,in_off,in_len,out,out_off,out_len);self.callback(res[0],res[1]);if(self.pending_close)self.close()});return this};function bufferSet(data,offset){for(var i=0;i<data.length;i++){this[offset+i]=data[i]}}Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){this._writeCheck();return this._write(flush,input,in_off,in_len,out,out_off,out_len)};Zlib.prototype._write=function(flush,input,in_off,in_len,out,out_off,out_len){this.write_in_progress=true;if(flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK){throw new Error("Invalid flush value")}if(input==null){input=new Buffer(0);in_len=0;in_off=0}if(out._set)out.set=out._set;else out.set=bufferSet;var strm=this.strm;strm.avail_in=in_len;strm.input=input;strm.next_in=in_off;strm.avail_out=out_len;strm.output=out;strm.next_out=out_off;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:var status=zlib_deflate.deflate(strm,flush);break;case exports.UNZIP:case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:var status=zlib_inflate.inflate(strm,flush);break;default:throw new Error("Unknown mode "+this.mode)}if(status!==exports.Z_STREAM_END&&status!==exports.Z_OK){this._error(status)}this.write_in_progress=false;return[strm.avail_in,strm.avail_out]};Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=true;return}this.pending_close=false;if(this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW){zlib_deflate.deflateEnd(this.strm)}else{zlib_inflate.inflateEnd(this.strm)}this.mode=exports.NONE};Zlib.prototype.reset=function(){switch(this.mode){case exports.DEFLATE:case exports.DEFLATERAW:var status=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:var status=zlib_inflate.inflateReset(this.strm);break}if(status!==exports.Z_OK){this._error(status)}};Zlib.prototype._error=function(status){this.onerror(msg[status]+": "+this.strm.msg,status);this.write_in_progress=false;if(this.pending_close)this.close()};exports.Zlib=Zlib}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,buffer:18,"pako/lib/zlib/constants":7,"pako/lib/zlib/deflate.js":9,"pako/lib/zlib/inflate.js":11,"pako/lib/zlib/messages":13,"pako/lib/zlib/zstream":15}],17:[function(require,module,exports){(function(process,Buffer){var Transform=require("_stream_transform");var binding=require("./binding");var util=require("util");var assert=require("assert").ok;binding.Z_MIN_WINDOWBITS=8;binding.Z_MAX_WINDOWBITS=15;binding.Z_DEFAULT_WINDOWBITS=15;binding.Z_MIN_CHUNK=64;binding.Z_MAX_CHUNK=Infinity;binding.Z_DEFAULT_CHUNK=16*1024;binding.Z_MIN_MEMLEVEL=1;binding.Z_MAX_MEMLEVEL=9;binding.Z_DEFAULT_MEMLEVEL=8;binding.Z_MIN_LEVEL=-1;binding.Z_MAX_LEVEL=9;binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;Object.keys(binding).forEach(function(k){if(k.match(/^Z/))exports[k]=binding[k]});exports.codes={Z_OK:binding.Z_OK,Z_STREAM_END:binding.Z_STREAM_END,Z_NEED_DICT:binding.Z_NEED_DICT,Z_ERRNO:binding.Z_ERRNO,Z_STREAM_ERROR:binding.Z_STREAM_ERROR,Z_DATA_ERROR:binding.Z_DATA_ERROR,Z_MEM_ERROR:binding.Z_MEM_ERROR,Z_BUF_ERROR:binding.Z_BUF_ERROR,Z_VERSION_ERROR:binding.Z_VERSION_ERROR};Object.keys(exports.codes).forEach(function(k){exports.codes[exports.codes[k]]=k});exports.Deflate=Deflate;exports.Inflate=Inflate;exports.Gzip=Gzip;exports.Gunzip=Gunzip;exports.DeflateRaw=DeflateRaw;exports.InflateRaw=InflateRaw;exports.Unzip=Unzip;exports.createDeflate=function(o){return new Deflate(o)};exports.createInflate=function(o){return new Inflate(o)};exports.createDeflateRaw=function(o){return new DeflateRaw(o)};exports.createInflateRaw=function(o){return new InflateRaw(o)};exports.createGzip=function(o){return new Gzip(o)};exports.createGunzip=function(o){return new Gunzip(o)};exports.createUnzip=function(o){return new Unzip(o)};exports.deflate=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Deflate(opts),buffer,callback)};exports.deflateSync=function(buffer,opts){return zlibBufferSync(new Deflate(opts),buffer)};exports.gzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Gzip(opts),buffer,callback)};exports.gzipSync=function(buffer,opts){return zlibBufferSync(new Gzip(opts),buffer)};exports.deflateRaw=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new DeflateRaw(opts),buffer,callback)};exports.deflateRawSync=function(buffer,opts){return zlibBufferSync(new DeflateRaw(opts),buffer)};exports.unzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Unzip(opts),buffer,callback)};exports.unzipSync=function(buffer,opts){return zlibBufferSync(new Unzip(opts),buffer)};exports.inflate=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Inflate(opts),buffer,callback)};exports.inflateSync=function(buffer,opts){return zlibBufferSync(new Inflate(opts),buffer)};exports.gunzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Gunzip(opts),buffer,callback)};exports.gunzipSync=function(buffer,opts){return zlibBufferSync(new Gunzip(opts),buffer)};exports.inflateRaw=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new InflateRaw(opts),buffer,callback)};exports.inflateRawSync=function(buffer,opts){return zlibBufferSync(new InflateRaw(opts),buffer)};function zlibBuffer(engine,buffer,callback){var buffers=[];var nread=0;engine.on("error",onError);engine.on("end",onEnd);engine.end(buffer);flow();function flow(){var chunk;while(null!==(chunk=engine.read())){buffers.push(chunk);nread+=chunk.length}engine.once("readable",flow)}function onError(err){engine.removeListener("end",onEnd);engine.removeListener("readable",flow);callback(err)}function onEnd(){var buf=Buffer.concat(buffers,nread);buffers=[];callback(null,buf);engine.close()}}function zlibBufferSync(engine,buffer){if(typeof buffer==="string")buffer=new Buffer(buffer);if(!Buffer.isBuffer(buffer))throw new TypeError("Not a string or buffer");var flushFlag=binding.Z_FINISH;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function Zlib(opts,mode){this._opts=opts=opts||{};this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK;Transform.call(this,opts);if(opts.flush){if(opts.flush!==binding.Z_NO_FLUSH&&opts.flush!==binding.Z_PARTIAL_FLUSH&&opts.flush!==binding.Z_SYNC_FLUSH&&opts.flush!==binding.Z_FULL_FLUSH&&opts.flush!==binding.Z_FINISH&&opts.flush!==binding.Z_BLOCK){throw new Error("Invalid flush flag: "+opts.flush)}}this._flushFlag=opts.flush||binding.Z_NO_FLUSH;if(opts.chunkSize){if(opts.chunkSize<exports.Z_MIN_CHUNK||opts.chunkSize>exports.Z_MAX_CHUNK){throw new Error("Invalid chunk size: "+opts.chunkSize)}}if(opts.windowBits){if(opts.windowBits<exports.Z_MIN_WINDOWBITS||opts.windowBits>exports.Z_MAX_WINDOWBITS){throw new Error("Invalid windowBits: "+opts.windowBits)}}if(opts.level){if(opts.level<exports.Z_MIN_LEVEL||opts.level>exports.Z_MAX_LEVEL){throw new Error("Invalid compression level: "+opts.level)}}if(opts.memLevel){if(opts.memLevel<exports.Z_MIN_MEMLEVEL||opts.memLevel>exports.Z_MAX_MEMLEVEL){throw new Error("Invalid memLevel: "+opts.memLevel)}}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY){throw new Error("Invalid strategy: "+opts.strategy)}}if(opts.dictionary){if(!Buffer.isBuffer(opts.dictionary)){throw new Error("Invalid dictionary: it should be a Buffer instance")}}this._binding=new binding.Zlib(mode);var self=this;this._hadError=false;this._binding.onerror=function(message,errno){self._binding=null;self._hadError=true;var error=new Error(message);error.errno=errno;error.code=exports.codes[errno];self.emit("error",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level==="number")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy==="number")strategy=opts.strategy;this._binding.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary);this._buffer=new Buffer(this._chunkSize);this._offset=0;this._closed=false;this._level=level;this._strategy=strategy;this.once("end",this.close)}util.inherits(Zlib,Transform);Zlib.prototype.params=function(level,strategy,callback){if(level<exports.Z_MIN_LEVEL||level>exports.Z_MAX_LEVEL){throw new RangeError("Invalid compression level: "+level)}if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY){throw new TypeError("Invalid strategy: "+strategy)}if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){self._binding.params(level,strategy);if(!self._hadError){self._level=level;self._strategy=strategy;if(callback)callback()}})}else{process.nextTick(callback)}};Zlib.prototype.reset=function(){return this._binding.reset()};Zlib.prototype._flush=function(callback){this._transform(new Buffer(0),"",callback)};Zlib.prototype.flush=function(kind,callback){var ws=this._writableState;if(typeof kind==="function"||kind===void 0&&!callback){callback=kind;kind=binding.Z_FULL_FLUSH}if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once("end",callback)}else if(ws.needDrain){var self=this;this.once("drain",function(){self.flush(callback)})}else{this._flushFlag=kind;this.write(new Buffer(0),"",callback)}};Zlib.prototype.close=function(callback){if(callback)process.nextTick(callback);if(this._closed)return;this._closed=true;this._binding.close();var self=this;process.nextTick(function(){self.emit("close")})};Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag;var ws=this._writableState;var ending=ws.ending||ws.ended;var last=ending&&(!chunk||ws.length===chunk.length);if(!chunk===null&&!Buffer.isBuffer(chunk))return cb(new Error("invalid input"));if(last)flushFlag=binding.Z_FINISH;else{flushFlag=this._flushFlag;if(chunk.length>=ws.length){this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH}}var self=this;this._processChunk(chunk,flushFlag,cb)};Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length;var availOutBefore=this._chunkSize-this._offset;var inOff=0;var self=this;var async=typeof cb==="function";if(!async){var buffers=[];var nread=0;var error;this.on("error",function(er){error=er});do{var res=this._binding.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore)}while(!this._hadError&&callback(res[0],res[1]));if(this._hadError){throw error}var buf=Buffer.concat(buffers,nread);this.close();return buf}var req=this._binding.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk;req.callback=callback;function callback(availInAfter,availOutAfter){if(self._hadError)return;var have=availOutBefore-availOutAfter;assert(have>=0,"have should not go down");if(have>0){var out=self._buffer.slice(self._offset,self._offset+have);self._offset+=have;if(async){self.push(out)}else{buffers.push(out);nread+=out.length}}if(availOutAfter===0||self._offset>=self._chunkSize){availOutBefore=self._chunkSize;self._offset=0;self._buffer=new Buffer(self._chunkSize)}if(availOutAfter===0){inOff+=availInBefore-availInAfter;availInBefore=availInAfter;if(!async)return true;var newReq=self._binding.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback;newReq.buffer=chunk;return}if(!async)return false;cb()}};util.inherits(Deflate,Zlib);util.inherits(Inflate,Zlib);util.inherits(Gzip,Zlib);util.inherits(Gunzip,Zlib);util.inherits(DeflateRaw,Zlib);util.inherits(InflateRaw,Zlib);util.inherits(Unzip,Zlib)}).call(this,require("_process"),require("buffer").Buffer)},{"./binding":16,_process:43,_stream_transform:58,assert:2,buffer:18,util:64}],18:[function(require,module,exports){var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=Buffer;exports.INSPECT_MAX_BYTES=50;Buffer.poolSize=8192;var TYPED_ARRAY_SUPPORT=function(){try{var buf=new ArrayBuffer(0);var arr=new Uint8Array(buf);arr.foo=function(){return 42};return 42===arr.foo()&&typeof arr.subarray==="function"&&new Uint8Array(1).subarray(1,1).byteLength===0}catch(e){return false}}();function Buffer(subject,encoding,noZero){if(!(this instanceof Buffer))return new Buffer(subject,encoding,noZero);var type=typeof subject;var length;if(type==="number")length=subject>0?subject>>>0:0;else if(type==="string"){if(encoding==="base64")subject=base64clean(subject);length=Buffer.byteLength(subject,encoding)}else if(type==="object"&&subject!==null){if(subject.type==="Buffer"&&isArray(subject.data))subject=subject.data;length=+subject.length>0?Math.floor(+subject.length):0}else throw new Error("First argument needs to be a number, array or string.");var buf;if(TYPED_ARRAY_SUPPORT){buf=Buffer._augment(new Uint8Array(length))}else{buf=this;buf.length=length;buf._isBuffer=true}var i;if(TYPED_ARRAY_SUPPORT&&typeof subject.byteLength==="number"){buf._set(subject)}else if(isArrayish(subject)){if(Buffer.isBuffer(subject)){for(i=0;i<length;i++)buf[i]=subject.readUInt8(i)}else{for(i=0;i<length;i++)buf[i]=(subject[i]%256+256)%256}}else if(type==="string"){buf.write(subject,0,encoding)}else if(type==="number"&&!TYPED_ARRAY_SUPPORT&&!noZero){for(i=0;i<length;i++){buf[i]=0}}return buf}Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.isBuffer=function(b){return!!(b!=null&&b._isBuffer)};Buffer.byteLength=function(str,encoding){var ret;str=str.toString();switch(encoding||"utf8"){case"hex":ret=str.length/2;break;case"utf8":case"utf-8":ret=utf8ToBytes(str).length;break;case"ascii":case"binary":case"raw":ret=str.length;break;case"base64":ret=base64ToBytes(str).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=str.length*2;break;default:throw new Error("Unknown encoding")}return ret};Buffer.concat=function(list,totalLength){assert(isArray(list),"Usage: Buffer.concat(list[, length])");if(list.length===0){return new Buffer(0)}else if(list.length===1){return list[0]}var i;if(totalLength===undefined){totalLength=0;for(i=0;i<list.length;i++){totalLength+=list[i].length}}var buf=new Buffer(totalLength);var pos=0;for(i=0;i<list.length;i++){var item=list[i];item.copy(buf,pos);pos+=item.length}return buf};Buffer.compare=function(a,b){assert(Buffer.isBuffer(a)&&Buffer.isBuffer(b),"Arguments must be Buffers");var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len&&a[i]===b[i];i++){}if(i!==len){x=a[i];y=b[i]}if(x<y){return-1}if(y<x){return 1}return 0};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;assert(strLen%2===0,"Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;i<length;i++){var byte=parseInt(string.substr(i*2,2),16);assert(!isNaN(byte),"Invalid hex string");buf[offset+i]=byte}return i}function utf8Write(buf,string,offset,length){var charsWritten=blitBuffer(utf8ToBytes(string),buf,offset,length);return charsWritten}function asciiWrite(buf,string,offset,length){var charsWritten=blitBuffer(asciiToBytes(string),buf,offset,length);return charsWritten}function binaryWrite(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){var charsWritten=blitBuffer(base64ToBytes(string),buf,offset,length);return charsWritten}function utf16leWrite(buf,string,offset,length){var charsWritten=blitBuffer(utf16leToBytes(string),buf,offset,length);return charsWritten}Buffer.prototype.write=function(string,offset,length,encoding){if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=undefined}}else{var swap=encoding;encoding=offset;offset=length;length=swap}offset=Number(offset)||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}encoding=String(encoding||"utf8").toLowerCase();var ret;switch(encoding){case"hex":ret=hexWrite(this,string,offset,length);break;case"utf8":case"utf-8":ret=utf8Write(this,string,offset,length);break;case"ascii":ret=asciiWrite(this,string,offset,length);break;case"binary":ret=binaryWrite(this,string,offset,length);break;case"base64":ret=base64Write(this,string,offset,length);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=utf16leWrite(this,string,offset,length);break;default:throw new Error("Unknown encoding")}return ret};Buffer.prototype.toString=function(encoding,start,end){var self=this;encoding=String(encoding||"utf8").toLowerCase();start=Number(start)||0;end=end===undefined?self.length:Number(end);if(end===start)return"";var ret;switch(encoding){case"hex":ret=hexSlice(self,start,end);break;case"utf8":case"utf-8":ret=utf8Slice(self,start,end);break;case"ascii":ret=asciiSlice(self,start,end);
break;case"binary":ret=binarySlice(self,start,end);break;case"base64":ret=base64Slice(self,start,end);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=utf16leSlice(self,start,end);break;default:throw new Error("Unknown encoding")}return ret};Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};Buffer.prototype.equals=function(b){assert(Buffer.isBuffer(b),"Argument must be a Buffer");return Buffer.compare(this,b)===0};Buffer.prototype.compare=function(b){assert(Buffer.isBuffer(b),"Argument must be a Buffer");return Buffer.compare(this,b)};Buffer.prototype.copy=function(target,target_start,start,end){var source=this;if(!start)start=0;if(!end&&end!==0)end=this.length;if(!target_start)target_start=0;if(end===start)return;if(target.length===0||source.length===0)return;assert(end>=start,"sourceEnd < sourceStart");assert(target_start>=0&&target_start<target.length,"targetStart out of bounds");assert(start>=0&&start<source.length,"sourceStart out of bounds");assert(end>=0&&end<=source.length,"sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-target_start<end-start)end=target.length-target_start+start;var len=end-start;if(len<100||!TYPED_ARRAY_SUPPORT){for(var i=0;i<len;i++){target[i+target_start]=this[i+start]}}else{target._set(this.subarray(start,start+len),target_start)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){var res="";var tmp="";end=Math.min(buf.length,end);for(var i=start;i<end;i++){if(buf[i]<=127){res+=decodeUtf8Char(tmp)+String.fromCharCode(buf[i]);tmp=""}else{tmp+="%"+buf[i].toString(16)}}return res+decodeUtf8Char(tmp)}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;i++){ret+=String.fromCharCode(buf[i])}return ret}function binarySlice(buf,start,end){return asciiSlice(buf,start,end)}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;i++){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;if(TYPED_ARRAY_SUPPORT){return Buffer._augment(this.subarray(start,end))}else{var sliceLen=end-start;var newBuf=new Buffer(sliceLen,undefined,true);for(var i=0;i<sliceLen;i++){newBuf[i]=this[i+start]}return newBuf}};Buffer.prototype.get=function(offset){console.log(".get() is deprecated. Access using array indexes instead.");return this.readUInt8(offset)};Buffer.prototype.set=function(v,offset){console.log(".set() is deprecated. Access using array indexes instead.");return this.writeUInt8(v,offset)};Buffer.prototype.readUInt8=function(offset,noAssert){if(!noAssert){assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to read beyond buffer length")}if(offset>=this.length)return;return this[offset]};function readUInt16(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val;if(littleEndian){val=buf[offset];if(offset+1<len)val|=buf[offset+1]<<8}else{val=buf[offset]<<8;if(offset+1<len)val|=buf[offset+1]}return val}Buffer.prototype.readUInt16LE=function(offset,noAssert){return readUInt16(this,offset,true,noAssert)};Buffer.prototype.readUInt16BE=function(offset,noAssert){return readUInt16(this,offset,false,noAssert)};function readUInt32(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val;if(littleEndian){if(offset+2<len)val=buf[offset+2]<<16;if(offset+1<len)val|=buf[offset+1]<<8;val|=buf[offset];if(offset+3<len)val=val+(buf[offset+3]<<24>>>0)}else{if(offset+1<len)val=buf[offset+1]<<16;if(offset+2<len)val|=buf[offset+2]<<8;if(offset+3<len)val|=buf[offset+3];val=val+(buf[offset]<<24>>>0)}return val}Buffer.prototype.readUInt32LE=function(offset,noAssert){return readUInt32(this,offset,true,noAssert)};Buffer.prototype.readUInt32BE=function(offset,noAssert){return readUInt32(this,offset,false,noAssert)};Buffer.prototype.readInt8=function(offset,noAssert){if(!noAssert){assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to read beyond buffer length")}if(offset>=this.length)return;var neg=this[offset]&128;if(neg)return(255-this[offset]+1)*-1;else return this[offset]};function readInt16(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val=readUInt16(buf,offset,littleEndian,true);var neg=val&32768;if(neg)return(65535-val+1)*-1;else return val}Buffer.prototype.readInt16LE=function(offset,noAssert){return readInt16(this,offset,true,noAssert)};Buffer.prototype.readInt16BE=function(offset,noAssert){return readInt16(this,offset,false,noAssert)};function readInt32(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val=readUInt32(buf,offset,littleEndian,true);var neg=val&2147483648;if(neg)return(4294967295-val+1)*-1;else return val}Buffer.prototype.readInt32LE=function(offset,noAssert){return readInt32(this,offset,true,noAssert)};Buffer.prototype.readInt32BE=function(offset,noAssert){return readInt32(this,offset,false,noAssert)};function readFloat(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset+3<buf.length,"Trying to read beyond buffer length")}return ieee754.read(buf,offset,littleEndian,23,4)}Buffer.prototype.readFloatLE=function(offset,noAssert){return readFloat(this,offset,true,noAssert)};Buffer.prototype.readFloatBE=function(offset,noAssert){return readFloat(this,offset,false,noAssert)};function readDouble(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset+7<buf.length,"Trying to read beyond buffer length")}return ieee754.read(buf,offset,littleEndian,52,8)}Buffer.prototype.readDoubleLE=function(offset,noAssert){return readDouble(this,offset,true,noAssert)};Buffer.prototype.readDoubleBE=function(offset,noAssert){return readDouble(this,offset,false,noAssert)};Buffer.prototype.writeUInt8=function(value,offset,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"trying to write beyond buffer length");verifuint(value,255)}if(offset>=this.length)return;this[offset]=value;return offset+1};function writeUInt16(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"trying to write beyond buffer length");verifuint(value,65535)}var len=buf.length;if(offset>=len)return;for(var i=0,j=Math.min(len-offset,2);i<j;i++){buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>(littleEndian?i:1-i)*8}return offset+2}Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return writeUInt16(this,value,offset,true,noAssert)};Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return writeUInt16(this,value,offset,false,noAssert)};function writeUInt32(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"trying to write beyond buffer length");verifuint(value,4294967295)}var len=buf.length;if(offset>=len)return;for(var i=0,j=Math.min(len-offset,4);i<j;i++){buf[offset+i]=value>>>(littleEndian?i:3-i)*8&255}return offset+4}Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return writeUInt32(this,value,offset,true,noAssert)};Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return writeUInt32(this,value,offset,false,noAssert)};Buffer.prototype.writeInt8=function(value,offset,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to write beyond buffer length");verifsint(value,127,-128)}if(offset>=this.length)return;if(value>=0)this.writeUInt8(value,offset,noAssert);else this.writeUInt8(255+value+1,offset,noAssert);return offset+1};function writeInt16(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to write beyond buffer length");verifsint(value,32767,-32768)}var len=buf.length;if(offset>=len)return;if(value>=0)writeUInt16(buf,value,offset,littleEndian,noAssert);else writeUInt16(buf,65535+value+1,offset,littleEndian,noAssert);return offset+2}Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return writeInt16(this,value,offset,true,noAssert)};Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return writeInt16(this,value,offset,false,noAssert)};function writeInt32(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to write beyond buffer length");verifsint(value,2147483647,-2147483648)}var len=buf.length;if(offset>=len)return;if(value>=0)writeUInt32(buf,value,offset,littleEndian,noAssert);else writeUInt32(buf,4294967295+value+1,offset,littleEndian,noAssert);return offset+4}Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return writeInt32(this,value,offset,true,noAssert)};Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return writeInt32(this,value,offset,false,noAssert)};function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to write beyond buffer length");verifIEEE754(value,3.4028234663852886e38,-3.4028234663852886e38)}var len=buf.length;if(offset>=len)return;ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+7<buf.length,"Trying to write beyond buffer length");verifIEEE754(value,1.7976931348623157e308,-1.7976931348623157e308)}var len=buf.length;if(offset>=len)return;ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.fill=function(value,start,end){if(!value)value=0;if(!start)start=0;if(!end)end=this.length;assert(end>=start,"end < start");if(end===start)return;if(this.length===0)return;assert(start>=0&&start<this.length,"start out of bounds");assert(end>=0&&end<=this.length,"end out of bounds");var i;if(typeof value==="number"){for(i=start;i<end;i++){this[i]=value}}else{var bytes=utf8ToBytes(value.toString());var len=bytes.length;for(i=start;i<end;i++){this[i]=bytes[i%len]}}return this};Buffer.prototype.inspect=function(){var out=[];var len=this.length;for(var i=0;i<len;i++){out[i]=toHex(this[i]);if(i===exports.INSPECT_MAX_BYTES){out[i+1]="...";break}}return"<Buffer "+out.join(" ")+">"};Buffer.prototype.toArrayBuffer=function(){if(typeof Uint8Array!=="undefined"){if(TYPED_ARRAY_SUPPORT){return new Buffer(this).buffer}else{var buf=new Uint8Array(this.length);for(var i=0,len=buf.length;i<len;i+=1){buf[i]=this[i]}return buf.buffer}}else{throw new Error("Buffer.toArrayBuffer not supported in this browser")}};var BP=Buffer.prototype;Buffer._augment=function(arr){arr._isBuffer=true;arr._get=arr.get;arr._set=arr.set;arr.get=BP.get;arr.set=BP.set;arr.write=BP.write;arr.toString=BP.toString;arr.toLocaleString=BP.toString;arr.toJSON=BP.toJSON;arr.equals=BP.equals;arr.compare=BP.compare;arr.copy=BP.copy;arr.slice=BP.slice;arr.readUInt8=BP.readUInt8;arr.readUInt16LE=BP.readUInt16LE;arr.readUInt16BE=BP.readUInt16BE;arr.readUInt32LE=BP.readUInt32LE;arr.readUInt32BE=BP.readUInt32BE;arr.readInt8=BP.readInt8;arr.readInt16LE=BP.readInt16LE;arr.readInt16BE=BP.readInt16BE;arr.readInt32LE=BP.readInt32LE;arr.readInt32BE=BP.readInt32BE;arr.readFloatLE=BP.readFloatLE;arr.readFloatBE=BP.readFloatBE;arr.readDoubleLE=BP.readDoubleLE;arr.readDoubleBE=BP.readDoubleBE;arr.writeUInt8=BP.writeUInt8;arr.writeUInt16LE=BP.writeUInt16LE;arr.writeUInt16BE=BP.writeUInt16BE;arr.writeUInt32LE=BP.writeUInt32LE;arr.writeUInt32BE=BP.writeUInt32BE;arr.writeInt8=BP.writeInt8;arr.writeInt16LE=BP.writeInt16LE;arr.writeInt16BE=BP.writeInt16BE;arr.writeInt32LE=BP.writeInt32LE;arr.writeInt32BE=BP.writeInt32BE;arr.writeFloatLE=BP.writeFloatLE;arr.writeFloatBE=BP.writeFloatBE;arr.writeDoubleLE=BP.writeDoubleLE;arr.writeDoubleBE=BP.writeDoubleBE;arr.fill=BP.fill;arr.inspect=BP.inspect;arr.toArrayBuffer=BP.toArrayBuffer;return arr};var INVALID_BASE64_RE=/[^+\/0-9A-z]/g;function base64clean(str){str=stringtrim(str).replace(INVALID_BASE64_RE,"");while(str.length%4!==0){str=str+"="}return str}function stringtrim(str){if(str.trim)return str.trim();return str.replace(/^\s+|\s+$/g,"")}function isArray(subject){return(Array.isArray||function(subject){return Object.prototype.toString.call(subject)==="[object Array]"})(subject)}function isArrayish(subject){return isArray(subject)||Buffer.isBuffer(subject)||subject&&typeof subject==="object"&&typeof subject.length==="number"}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++){var b=str.charCodeAt(i);if(b<=127){byteArray.push(b)}else{var start=i;if(b>=55296&&b<=57343)i++;var h=encodeURIComponent(str.slice(start,i+1)).substr(1).split("%");for(var j=0;j<h.length;j++){byteArray.push(parseInt(h[j],16))}}}return byteArray}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;i++){c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(str)}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;i++){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function decodeUtf8Char(str){try{return decodeURIComponent(str)}catch(err){return String.fromCharCode(65533)}}function verifuint(value,max){assert(typeof value==="number","cannot write a non-number as a number");assert(value>=0,"specified a negative value for writing an unsigned value");assert(value<=max,"value is larger than maximum value for type");assert(Math.floor(value)===value,"value has a fractional component")}function verifsint(value,max,min){assert(typeof value==="number","cannot write a non-number as a number");assert(value<=max,"value larger than maximum allowed value");assert(value>=min,"value smaller than minimum allowed value");assert(Math.floor(value)===value,"value has a fractional component")}function verifIEEE754(value,max,min){assert(typeof value==="number","cannot write a non-number as a number");assert(value<=max,"value larger than maximum allowed value");assert(value>=min,"value smaller than minimum allowed value")}function assert(test,message){if(!test)throw new Error(message||"Failed assertion")}},{"base64-js":19,ieee754:20}],19:[function(require,module,exports){var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";(function(exports){"use strict";var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var PLUS="+".charCodeAt(0);var SLASH="/".charCodeAt(0);var NUMBER="0".charCodeAt(0);var LOWER="a".charCodeAt(0);var UPPER="A".charCodeAt(0);function decode(elt){var code=elt.charCodeAt(0);if(code===PLUS)return 62;if(code===SLASH)return 63;if(code<NUMBER)return-1;if(code<NUMBER+10)return code-NUMBER+26+26;if(code<UPPER+26)return code-UPPER;if(code<LOWER+26)return code-LOWER+26}function b64ToByteArray(b64){var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var len=b64.length;placeHolders="="===b64.charAt(len-2)?2:"="===b64.charAt(len-1)?1:0;arr=new Arr(b64.length*3/4-placeHolders);l=placeHolders>0?b64.length-4:b64.length;var L=0;function push(v){arr[L++]=v}for(i=0,j=0;i<l;i+=4,j+=3){tmp=decode(b64.charAt(i))<<18|decode(b64.charAt(i+1))<<12|decode(b64.charAt(i+2))<<6|decode(b64.charAt(i+3));push((tmp&16711680)>>16);push((tmp&65280)>>8);push(tmp&255)}if(placeHolders===2){tmp=decode(b64.charAt(i))<<2|decode(b64.charAt(i+1))>>4;push(tmp&255)}else if(placeHolders===1){tmp=decode(b64.charAt(i))<<10|decode(b64.charAt(i+1))<<4|decode(b64.charAt(i+2))>>2;push(tmp>>8&255);push(tmp&255)}return arr}function uint8ToBase64(uint8){var i,extraBytes=uint8.length%3,output="",temp,length;function encode(num){return lookup.charAt(num)}function tripletToBase64(num){return encode(num>>18&63)+encode(num>>12&63)+encode(num>>6&63)+encode(num&63)}for(i=0,length=uint8.length-extraBytes;i<length;i+=3){temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2];output+=tripletToBase64(temp)}switch(extraBytes){case 1:temp=uint8[uint8.length-1];output+=encode(temp>>2);output+=encode(temp<<4&63);output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1];output+=encode(temp>>10);output+=encode(temp>>4&63);output+=encode(temp<<2&63);output+="=";break}return output}exports.toByteArray=b64ToByteArray;exports.fromByteArray=uint8ToBase64})(typeof exports==="undefined"?this.base64js={}:exports)},{}],20:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8);m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8);if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8);e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=s*128}},{}],21:[function(require,module,exports){(function(Buffer){var createHash=require("sha.js");var md5=toConstructor(require("./md5"));var rmd160=toConstructor(require("ripemd160"));function toConstructor(fn){return function(){var buffers=[];var m={update:function(data,enc){if(!Buffer.isBuffer(data))data=new Buffer(data,enc);buffers.push(data);return this},digest:function(enc){var buf=Buffer.concat(buffers);var r=fn(buf);buffers=null;return enc?r.toString(enc):r}};return m}}module.exports=function(alg){if("md5"===alg)return new md5;if("rmd160"===alg)return new rmd160;return createHash(alg)}}).call(this,require("buffer").Buffer)},{"./md5":25,buffer:18,ripemd160:26,"sha.js":28}],22:[function(require,module,exports){(function(Buffer){var createHash=require("./create-hash");var blocksize=64;var zeroBuffer=new Buffer(blocksize);zeroBuffer.fill(0);module.exports=Hmac;function Hmac(alg,key){if(!(this instanceof Hmac))return new Hmac(alg,key);this._opad=opad;this._alg=alg;key=this._key=!Buffer.isBuffer(key)?new Buffer(key):key;if(key.length>blocksize){key=createHash(alg).update(key).digest()}else if(key.length<blocksize){key=Buffer.concat([key,zeroBuffer],blocksize)}var ipad=this._ipad=new Buffer(blocksize);var opad=this._opad=new Buffer(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^54;opad[i]=key[i]^92}this._hash=createHash(alg).update(ipad)}Hmac.prototype.update=function(data,enc){this._hash.update(data,enc);return this};Hmac.prototype.digest=function(enc){var h=this._hash.digest();return createHash(this._alg).update(this._opad).update(h).digest(enc)}}).call(this,require("buffer").Buffer)},{"./create-hash":21,buffer:18}],23:[function(require,module,exports){(function(Buffer){var intSize=4;var zeroBuffer=new Buffer(intSize);zeroBuffer.fill(0);var chrsz=8;function toArray(buf,bigEndian){if(buf.length%intSize!==0){var len=buf.length+(intSize-buf.length%intSize);buf=Buffer.concat([buf,zeroBuffer],len)}var arr=[];var fn=bigEndian?buf.readInt32BE:buf.readInt32LE;for(var i=0;i<buf.length;i+=intSize){arr.push(fn.call(buf,i))}return arr}function toBuffer(arr,size,bigEndian){var buf=new Buffer(size);var fn=bigEndian?buf.writeInt32BE:buf.writeInt32LE;for(var i=0;i<arr.length;i++){fn.call(buf,arr[i],i*4,true)}return buf}function hash(buf,fn,hashSize,bigEndian){if(!Buffer.isBuffer(buf))buf=new Buffer(buf);var arr=fn(toArray(buf,bigEndian),buf.length*chrsz);return toBuffer(arr,hashSize,bigEndian)}module.exports={hash:hash}}).call(this,require("buffer").Buffer)},{buffer:18}],24:[function(require,module,exports){(function(Buffer){var rng=require("./rng");function error(){var m=[].slice.call(arguments).join(" ");throw new Error([m,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}exports.createHash=require("./create-hash");exports.createHmac=require("./create-hmac");exports.randomBytes=function(size,callback){if(callback&&callback.call){try{callback.call(this,undefined,new Buffer(rng(size)))}catch(err){callback(err)}}else{return new Buffer(rng(size))}};function each(a,f){for(var i in a)f(a[i],i)}exports.getHashes=function(){return["sha1","sha256","md5","rmd160"]};var p=require("./pbkdf2")(exports.createHmac);exports.pbkdf2=p.pbkdf2;exports.pbkdf2Sync=p.pbkdf2Sync;each(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman"],function(name){exports[name]=function(){error("sorry,",name,"is not implemented yet")}})}).call(this,require("buffer").Buffer)},{"./create-hash":21,"./create-hmac":22,"./pbkdf2":32,"./rng":33,buffer:18}],25:[function(require,module,exports){var helpers=require("./helpers");function core_md5(x,len){x[len>>5]|=128<<len%32;x[(len+64>>>9<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}module.exports=function md5(buf){return helpers.hash(buf,core_md5,16)}},{"./helpers":23}],26:[function(require,module,exports){(function(Buffer){module.exports=ripemd160;var zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];var hl=[0,1518500249,1859775393,2400959708,2840853838];var hr=[1352829926,1548603684,1836072691,2053994217,0];var bytesToWords=function(bytes){var words=[];for(var i=0,b=0;i<bytes.length;i++,b+=8){words[b>>>5]|=bytes[i]<<24-b%32}return words};var wordsToBytes=function(words){var bytes=[];for(var b=0;b<words.length*32;b+=8){bytes.push(words[b>>>5]>>>24-b%32&255)}return bytes};var processBlock=function(H,M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t};function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<<n|x>>>32-n}function ripemd160(message){var H=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof message=="string")message=new Buffer(message,"utf8");var m=bytesToWords(message);var nBitsLeft=message.length*8;var nBitsTotal=message.length*8;m[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;m[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;for(var i=0;i<m.length;i+=16){processBlock(H,m,i)}for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}var digestbytes=wordsToBytes(H);return new Buffer(digestbytes)}}).call(this,require("buffer").Buffer)},{buffer:18}],27:[function(require,module,exports){var u=require("./util");var write=u.write;var fill=u.zeroFill;module.exports=function(Buffer){function Hash(blockSize,finalSize){this._block=new Buffer(blockSize);this._finalSize=finalSize;this._blockSize=blockSize;this._len=0;this._s=0}Hash.prototype.init=function(){this._s=0;this._len=0};function lengthOf(data,enc){if(enc==null)return data.byteLength||data.length;if(enc=="ascii"||enc=="binary")return data.length;if(enc=="hex")return data.length/2;if(enc=="base64")return data.length/3}Hash.prototype.update=function(data,enc){var bl=this._blockSize;var length;if(!enc&&"string"===typeof data)enc="utf8";if(enc){if(enc==="utf-8")enc="utf8";if(enc==="base64"||enc==="utf8")data=new Buffer(data,enc),enc=null;length=lengthOf(data,enc)}else length=data.byteLength||data.length;var l=this._len+=length;var s=this._s=this._s||0;var f=0;var buffer=this._block;while(s<l){var t=Math.min(length,f+bl-s%bl);
write(buffer,data,enc,s%bl,f,t);var ch=t-f;s+=ch;f+=ch;if(!(s%bl))this._update(buffer)}this._s=s;return this};Hash.prototype.digest=function(enc){var bl=this._blockSize;var fl=this._finalSize;var len=this._len*8;var x=this._block;var bits=len%(bl*8);x[this._len%bl]=128;fill(this._block,this._len%bl+1);if(bits>=fl*8){this._update(this._block);u.zeroFill(this._block,0)}x.writeInt32BE(len,fl+4);var hash=this._update(this._block)||this._hash();if(enc==null)return hash;return hash.toString(enc)};Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")};return Hash}},{"./util":31}],28:[function(require,module,exports){var exports=module.exports=function(alg){var Alg=exports[alg];if(!Alg)throw new Error(alg+" is not supported (we accept pull requests)");return new Alg};var Buffer=require("buffer").Buffer;var Hash=require("./hash")(Buffer);exports.sha=exports.sha1=require("./sha1")(Buffer,Hash);exports.sha256=require("./sha256")(Buffer,Hash)},{"./hash":27,"./sha1":29,"./sha256":30,buffer:18}],29:[function(require,module,exports){module.exports=function(Buffer,Hash){var inherits=require("util").inherits;inherits(Sha1,Hash);var A=0|0;var B=4|0;var C=8|0;var D=12|0;var E=16|0;var BE=false;var LE=true;var W=new Int32Array(80);var POOL=[];function Sha1(){if(POOL.length)return POOL.pop().init();if(!(this instanceof Sha1))return new Sha1;this._w=W;Hash.call(this,16*4,14*4);this._h=null;this.init()}Sha1.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;Hash.prototype.init.call(this);return this};Sha1.prototype._POOL=POOL;var isDV=new Buffer(1)instanceof DataView;function readInt32BE(X,i){return isDV?X.getInt32(i,false):X.readInt32BE(i)}Sha1.prototype._update=function(array){var X=this._block;var h=this._h;var a,b,c,d,e,_a,_b,_c,_d,_e;a=_a=this._a;b=_b=this._b;c=_c=this._c;d=_d=this._d;e=_e=this._e;var w=this._w;for(var j=0;j<80;j++){var W=w[j]=j<16?X.readInt32BE(j*4):rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=add(add(rol(a,5),sha1_ft(j,b,c,d)),add(add(e,W),sha1_kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t}this._a=add(a,_a);this._b=add(b,_b);this._c=add(c,_c);this._d=add(d,_d);this._e=add(e,_e)};Sha1.prototype._hash=function(){if(POOL.length<100)POOL.push(this);var H=new Buffer(20);H.writeInt32BE(this._a|0,A);H.writeInt32BE(this._b|0,B);H.writeInt32BE(this._c|0,C);H.writeInt32BE(this._d|0,D);H.writeInt32BE(this._e|0,E);return H};function sha1_ft(t,b,c,d){if(t<20)return b&c|~b&d;if(t<40)return b^c^d;if(t<60)return b&c|b&d|c&d;return b^c^d}function sha1_kt(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514}function add(x,y){return x+y|0}function rol(num,cnt){return num<<cnt|num>>>32-cnt}return Sha1}},{util:64}],30:[function(require,module,exports){var inherits=require("util").inherits;var BE=false;var LE=true;var u=require("./util");module.exports=function(Buffer,Hash){var K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];inherits(Sha256,Hash);var W=new Array(64);var POOL=[];function Sha256(){if(POOL.length){}this.init();this._w=W;Hash.call(this,16*4,14*4)}Sha256.prototype.init=function(){this._a=1779033703|0;this._b=3144134277|0;this._c=1013904242|0;this._d=2773480762|0;this._e=1359893119|0;this._f=2600822924|0;this._g=528734635|0;this._h=1541459225|0;this._len=this._s=0;return this};var safe_add=function(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535};function S(X,n){return X>>>n|X<<32-n}function R(X,n){return X>>>n}function Ch(x,y,z){return x&y^~x&z}function Maj(x,y,z){return x&y^x&z^y&z}function Sigma0256(x){return S(x,2)^S(x,13)^S(x,22)}function Sigma1256(x){return S(x,6)^S(x,11)^S(x,25)}function Gamma0256(x){return S(x,7)^S(x,18)^R(x,3)}function Gamma1256(x){return S(x,17)^S(x,19)^R(x,10)}Sha256.prototype._update=function(m){var M=this._block;var W=this._w;var a,b,c,d,e,f,g,h;var T1,T2;a=this._a|0;b=this._b|0;c=this._c|0;d=this._d|0;e=this._e|0;f=this._f|0;g=this._g|0;h=this._h|0;for(var j=0;j<64;j++){var w=W[j]=j<16?M.readInt32BE(j*4):Gamma1256(W[j-2])+W[j-7]+Gamma0256(W[j-15])+W[j-16];T1=h+Sigma1256(e)+Ch(e,f,g)+K[j]+w;T2=Sigma0256(a)+Maj(a,b,c);h=g;g=f;f=e;e=d+T1;d=c;c=b;b=a;a=T1+T2}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;this._f=f+this._f|0;this._g=g+this._g|0;this._h=h+this._h|0};Sha256.prototype._hash=function(){if(POOL.length<10)POOL.push(this);var H=new Buffer(32);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);H.writeInt32BE(this._h,28);return H};return Sha256}},{"./util":31,util:64}],31:[function(require,module,exports){exports.write=write;exports.zeroFill=zeroFill;exports.toString=toString;function write(buffer,string,enc,start,from,to,LE){var l=to-from;if(enc==="ascii"||enc==="binary"){for(var i=0;i<l;i++){buffer[start+i]=string.charCodeAt(i+from)}}else if(enc==null){for(var i=0;i<l;i++){buffer[start+i]=string[i+from]}}else if(enc==="hex"){for(var i=0;i<l;i++){var j=from+i;buffer[start+i]=parseInt(string[j*2]+string[j*2+1],16)}}else if(enc==="base64"){throw new Error("base64 encoding not yet supported")}else throw new Error(enc+" encoding not yet supported")}function zeroFill(buf,from){for(var i=from;i<buf.length;i++)buf[i]=0}},{}],32:[function(require,module,exports){(function(Buffer){var blocksize=64;var zeroBuffer=new Buffer(blocksize);zeroBuffer.fill(0);module.exports=function(createHmac,exports){exports=exports||{};exports.pbkdf2=function(password,salt,iterations,keylen,cb){if("function"!==typeof cb)throw new Error("No callback provided to pbkdf2");setTimeout(function(){cb(null,exports.pbkdf2Sync(password,salt,iterations,keylen))})};exports.pbkdf2Sync=function(key,salt,iterations,keylen){if("number"!==typeof iterations)throw new TypeError("Iterations not a number");if(iterations<0)throw new TypeError("Bad iterations");if("number"!==typeof keylen)throw new TypeError("Key length not a number");if(keylen<0)throw new TypeError("Bad key length");var key=!Buffer.isBuffer(key)?new Buffer(key):key;if(key.length>blocksize){key=createHash(alg).update(key).digest()}else if(key.length<blocksize){key=Buffer.concat([key,zeroBuffer],blocksize)}var HMAC;var cplen,p=0,i=1,itmp=new Buffer(4),digtmp;var out=new Buffer(keylen);out.fill(0);while(keylen){if(keylen>20)cplen=20;else cplen=keylen;itmp[0]=i>>24&255;itmp[1]=i>>16&255;itmp[2]=i>>8&255;itmp[3]=i&255;HMAC=createHmac("sha1",key);HMAC.update(salt);HMAC.update(itmp);digtmp=HMAC.digest();digtmp.copy(out,p,0,cplen);for(var j=1;j<iterations;j++){HMAC=createHmac("sha1",key);HMAC.update(digtmp);digtmp=HMAC.digest();for(var k=0;k<cplen;k++){out[k]^=digtmp[k]}}keylen-=cplen;i++;p+=cplen}return out};return exports}}).call(this,require("buffer").Buffer)},{buffer:18}],33:[function(require,module,exports){(function(Buffer){(function(){module.exports=function(size){var bytes=new Buffer(size);crypto.getRandomValues(bytes);return bytes}})()}).call(this,require("buffer").Buffer)},{buffer:18}],34:[function(require,module,exports){function EventEmitter(){this._events=this._events||{};this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;EventEmitter.defaultMaxListeners=10;EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");this._maxListeners=n;return this};EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(!this._events)this._events={};if(type==="error"){if(!this._events.error||isObject(this._events.error)&&!this._events.error.length){er=arguments[1];if(er instanceof Error){throw er}else{throw TypeError('Uncaught, unspecified "error" event.')}return false}}handler=this._events[type];if(isUndefined(handler))return false;if(isFunction(handler)){switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:len=arguments.length;args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];handler.apply(this,args)}}else if(isObject(handler)){len=arguments.length;args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];listeners=handler.slice();len=listeners.length;for(i=0;i<len;i++)listeners[i].apply(this,args)}return true};EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events)this._events={};if(this._events.newListener)this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener);if(!this._events[type])this._events[type]=listener;else if(isObject(this._events[type]))this._events[type].push(listener);else this._events[type]=[this._events[type],listener];if(isObject(this._events[type])&&!this._events[type].warned){var m;if(!isUndefined(this._maxListeners)){m=this._maxListeners}else{m=EventEmitter.defaultMaxListeners}if(m&&m>0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);if(typeof console.trace==="function"){console.trace()}}}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){if(!isFunction(listener))throw TypeError("listener must be a function");var fired=false;function g(){this.removeListener(type,g);if(!fired){fired=true;listener.apply(this,arguments)}}g.listener=listener;this.on(type,g);return this};EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;list=this._events[type];length=list.length;position=-1;if(list===listener||isFunction(list.listener)&&list.listener===listener){delete this._events[type];if(this._events.removeListener)this.emit("removeListener",type,listener)}else if(isObject(list)){for(i=length;i-->0;){if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}}if(position<0)return this;if(list.length===1){list.length=0;delete this._events[type]}else{list.splice(position,1)}if(this._events.removeListener)this.emit("removeListener",type,listener)}return this};EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener){if(arguments.length===0)this._events={};else if(this._events[type])delete this._events[type];return this}if(arguments.length===0){for(key in this._events){if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events={};return this}listeners=this._events[type];if(isFunction(listeners)){this.removeListener(type,listeners)}else{while(listeners.length)this.removeListener(type,listeners[listeners.length-1])}delete this._events[type];return this};EventEmitter.prototype.listeners=function(type){var ret;if(!this._events||!this._events[type])ret=[];else if(isFunction(this._events[type]))ret=[this._events[type]];else ret=this._events[type].slice();return ret};EventEmitter.listenerCount=function(emitter,type){var ret;if(!emitter._events||!emitter._events[type])ret=0;else if(isFunction(emitter._events[type]))ret=1;else ret=emitter._events[type].length;return ret};function isFunction(arg){return typeof arg==="function"}function isNumber(arg){return typeof arg==="number"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isUndefined(arg){return arg===void 0}},{}],35:[function(require,module,exports){var http=module.exports;var EventEmitter=require("events").EventEmitter;var Request=require("./lib/request");var url=require("url");http.request=function(params,cb){if(typeof params==="string"){params=url.parse(params)}if(!params)params={};if(!params.host&&!params.port){params.port=parseInt(window.location.port,10)}if(!params.host&&params.hostname){params.host=params.hostname}if(!params.scheme)params.scheme=window.location.protocol.split(":")[0];if(!params.host){params.host=window.location.hostname||window.location.host}if(/:/.test(params.host)){if(!params.port){params.port=params.host.split(":")[1]}params.host=params.host.split(":")[0]}if(!params.port)params.port=params.scheme=="https"?443:80;var req=new Request(new xhrHttp,params);if(cb)req.on("response",cb);return req};http.get=function(params,cb){params.method="GET";var req=http.request(params,cb);req.end();return req};http.Agent=function(){};http.Agent.defaultMaxSockets=4;var xhrHttp=function(){if(typeof window==="undefined"){throw new Error("no window object present")}else if(window.XMLHttpRequest){return window.XMLHttpRequest}else if(window.ActiveXObject){var axs=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];for(var i=0;i<axs.length;i++){try{var ax=new window.ActiveXObject(axs[i]);return function(){if(ax){var ax_=ax;ax=null;return ax_}else{return new window.ActiveXObject(axs[i])}}}catch(e){}}throw new Error("ajax not supported in this browser")}else{throw new Error("ajax not supported in this browser")}}();http.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{"./lib/request":36,events:34,url:62}],36:[function(require,module,exports){var Stream=require("stream");var Response=require("./response");var Base64=require("Base64");var inherits=require("inherits");var Request=module.exports=function(xhr,params){var self=this;self.writable=true;self.xhr=xhr;self.body=[];self.uri=(params.scheme||"http")+"://"+params.host+(params.port?":"+params.port:"")+(params.path||"/");if(typeof params.withCredentials==="undefined"){params.withCredentials=true}try{xhr.withCredentials=params.withCredentials}catch(e){}if(params.responseType)try{xhr.responseType=params.responseType}catch(e){}xhr.open(params.method||"GET",self.uri,true);xhr.onerror=function(event){self.emit("error",new Error("Network error"))};self._headers={};if(params.headers){var keys=objectKeys(params.headers);for(var i=0;i<keys.length;i++){var key=keys[i];if(!self.isSafeRequestHeader(key))continue;var value=params.headers[key];self.setHeader(key,value)}}if(params.auth){this.setHeader("Authorization","Basic "+Base64.btoa(params.auth))}var res=new Response;res.on("close",function(){self.emit("close")});res.on("ready",function(){self.emit("response",res)});res.on("error",function(err){self.emit("error",err)});xhr.onreadystatechange=function(){if(xhr.__aborted)return;res.handle(xhr)}};inherits(Request,Stream);Request.prototype.setHeader=function(key,value){this._headers[key.toLowerCase()]=value};Request.prototype.getHeader=function(key){return this._headers[key.toLowerCase()]};Request.prototype.removeHeader=function(key){delete this._headers[key.toLowerCase()]};Request.prototype.write=function(s){this.body.push(s)};Request.prototype.destroy=function(s){this.xhr.__aborted=true;this.xhr.abort();this.emit("close")};Request.prototype.end=function(s){if(s!==undefined)this.body.push(s);var keys=objectKeys(this._headers);for(var i=0;i<keys.length;i++){var key=keys[i];var value=this._headers[key];if(isArray(value)){for(var j=0;j<value.length;j++){this.xhr.setRequestHeader(key,value[j])}}else this.xhr.setRequestHeader(key,value)}if(this.body.length===0){this.xhr.send("")}else if(typeof this.body[0]==="string"){this.xhr.send(this.body.join(""))}else if(isArray(this.body[0])){var body=[];for(var i=0;i<this.body.length;i++){body.push.apply(body,this.body[i])}this.xhr.send(body)}else if(/Array/.test(Object.prototype.toString.call(this.body[0]))){var len=0;for(var i=0;i<this.body.length;i++){len+=this.body[i].length}var body=new this.body[0].constructor(len);var k=0;for(var i=0;i<this.body.length;i++){var b=this.body[i];for(var j=0;j<b.length;j++){body[k++]=b[j]}}this.xhr.send(body)}else{var body="";for(var i=0;i<this.body.length;i++){body+=this.body[i].toString()}this.xhr.send(body)}};Request.unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];Request.prototype.isSafeRequestHeader=function(headerName){if(!headerName)return false;return indexOf(Request.unsafeHeaders,headerName.toLowerCase())===-1};var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};var indexOf=function(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i<xs.length;i++){if(xs[i]===x)return i}return-1}},{"./response":37,Base64:38,inherits:40,stream:60}],37:[function(require,module,exports){var Stream=require("stream");var util=require("util");var Response=module.exports=function(res){this.offset=0;this.readable=true};util.inherits(Response,Stream);var capable={streaming:true,status2:true};function parseHeaders(res){var lines=res.getAllResponseHeaders().split(/\r?\n/);var headers={};for(var i=0;i<lines.length;i++){var line=lines[i];if(line==="")continue;var m=line.match(/^([^:]+):\s*(.*)/);if(m){var key=m[1].toLowerCase(),value=m[2];if(headers[key]!==undefined){if(isArray(headers[key])){headers[key].push(value)}else{headers[key]=[headers[key],value]}}else{headers[key]=value}}else{headers[line]=true}}return headers}Response.prototype.getResponse=function(xhr){var respType=String(xhr.responseType).toLowerCase();if(respType==="blob")return xhr.responseBlob||xhr.response;if(respType==="arraybuffer")return xhr.response;return xhr.responseText};Response.prototype.getHeader=function(key){return this.headers[key.toLowerCase()]};Response.prototype.handle=function(res){if(res.readyState===2&&capable.status2){try{this.statusCode=res.status;this.headers=parseHeaders(res)}catch(err){capable.status2=false}if(capable.status2){this.emit("ready")}}else if(capable.streaming&&res.readyState===3){try{if(!this.statusCode){this.statusCode=res.status;this.headers=parseHeaders(res);this.emit("ready")}}catch(err){}try{this._emitData(res)}catch(err){capable.streaming=false}}else if(res.readyState===4){if(!this.statusCode){this.statusCode=res.status;this.emit("ready")}this._emitData(res);if(res.error){this.emit("error",this.getResponse(res))}else this.emit("end");this.emit("close")}};Response.prototype._emitData=function(res){var respBody=this.getResponse(res);if(respBody.toString().match(/ArrayBuffer/)){this.emit("data",new Uint8Array(respBody,this.offset));this.offset=respBody.byteLength;return}if(respBody.length>this.offset){this.emit("data",respBody.slice(this.offset));this.offset=respBody.length}};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{stream:60,util:64}],38:[function(require,module,exports){(function(){var object=typeof exports!="undefined"?exports:this;var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function InvalidCharacterError(message){this.message=message}InvalidCharacterError.prototype=new Error;InvalidCharacterError.prototype.name="InvalidCharacterError";object.btoa||(object.btoa=function(input){for(var block,charCode,idx=0,map=chars,output="";input.charAt(idx|0)||(map="=",idx%1);output+=map.charAt(63&block>>8-idx%1*8)){charCode=input.charCodeAt(idx+=3/4);if(charCode>255){throw new InvalidCharacterError("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.")}block=block<<8|charCode}return output});object.atob||(object.atob=function(input){input=input.replace(/=+$/,"");if(input.length%4==1){throw new InvalidCharacterError("'atob' failed: The string to be decoded is not correctly encoded.")}for(var bc=0,bs,buffer,idx=0,output="";buffer=input.charAt(idx++);~buffer&&(bs=bc%4?bs*64+buffer:buffer,bc++%4)?output+=String.fromCharCode(255&bs>>(-2*bc&6)):0){buffer=chars.indexOf(buffer)}return output})})()},{}],39:[function(require,module,exports){var http=require("http");var https=module.exports;for(var key in http){if(http.hasOwnProperty(key))https[key]=http[key]}https.request=function(params,cb){if(!params)params={};params.scheme="https";return http.request.call(this,params,cb)}},{http:35}],40:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],41:[function(require,module,exports){module.exports=Array.isArray||function(arr){return Object.prototype.toString.call(arr)=="[object Array]"}},{}],42:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir};exports.basename=function(path,ext){var f=splitPath(path)[2];if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){return splitPath(path)[3]};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i])}return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len)}}).call(this,require("_process"))},{_process:43}],43:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){var source=ev.source;if((source===window||source===null)&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],44:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports;var freeModule=typeof module=="object"&&module&&module.exports==freeExports&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^ -~]/,regexSeparators=/\x2E|\u3002|\uFF0E|\uFF61/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw RangeError(errors[type])}function map(array,fn){var length=array.length;while(length--){array[length]=fn(array[length])}return array}function mapDomain(string,fn){return map(string.split(regexSeparators),fn).join(".")}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&&currentValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(domain){return mapDomain(domain,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(domain){return mapDomain(domain,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={version:"1.2.4",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define("punycode",function(){return punycode
})}else if(freeExports&&!freeExports.nodeType){if(freeModule){freeModule.exports=punycode}else{for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key])}}}else{root.punycode=punycode}})(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],45:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],46:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},{}],47:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")},{"./decode":45,"./encode":46}],48:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":49}],49:[function(require,module,exports){(function(process){module.exports=Duplex;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};var util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");util.inherits(Duplex,Readable);forEach(objectKeys(Writable.prototype),function(method){if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]});function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);if(options&&options.readable===false)this.readable=false;if(options&&options.writable===false)this.writable=false;this.allowHalfOpen=true;if(options&&options.allowHalfOpen===false)this.allowHalfOpen=false;this.once("end",onend)}function onend(){if(this.allowHalfOpen||this._writableState.ended)return;process.nextTick(this.end.bind(this))}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++){f(xs[i],i)}}}).call(this,require("_process"))},{"./_stream_readable":51,"./_stream_writable":53,_process:43,"core-util-is":54,inherits:40}],50:[function(require,module,exports){module.exports=PassThrough;var Transform=require("./_stream_transform");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":52,"core-util-is":54,inherits:40}],51:[function(require,module,exports){(function(process){module.exports=Readable;var isArray=require("isarray");var Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter;if(!EE.listenerCount)EE.listenerCount=function(emitter,type){return emitter.listeners(type).length};var Stream=require("stream");var util=require("core-util-is");util.inherits=require("inherits");var StringDecoder;util.inherits(Readable,Stream);function ReadableState(options,stream){options=options||{};var hwm=options.highWaterMark;this.highWaterMark=hwm||hwm===0?hwm:16*1024;this.highWaterMark=~~this.highWaterMark;this.buffer=[];this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=false;this.ended=false;this.endEmitted=false;this.reading=false;this.calledRead=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.objectMode=!!options.objectMode;this.defaultEncoding=options.defaultEncoding||"utf8";this.ranOut=false;this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){if(!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this);this.readable=true;Stream.call(this)}Readable.prototype.push=function(chunk,encoding){var state=this._readableState;if(typeof chunk==="string"&&!state.objectMode){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=new Buffer(chunk,encoding);encoding=""}}return readableAddChunk(this,state,chunk,encoding,false)};Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",true)};function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er){stream.emit("error",er)}else if(chunk===null||chunk===undefined){state.reading=false;if(!state.ended)onEofChunk(stream,state)}else if(state.objectMode||chunk&&chunk.length>0){if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var e=new Error("stream.unshift() after end event");stream.emit("error",e)}else{if(state.decoder&&!addToFront&&!encoding)chunk=state.decoder.write(chunk);state.length+=state.objectMode?1:chunk.length;if(addToFront){state.buffer.unshift(chunk)}else{state.reading=false;state.buffer.push(chunk)}if(state.needReadable)emitReadable(stream);maybeReadMore(stream,state)}}else if(!addToFront){state.reading=false}return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this._readableState.decoder=new StringDecoder(enc);this._readableState.encoding=enc};var MAX_HWM=8388608;function roundUpToNextPowerOf2(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;for(var p=1;p<32;p<<=1)n|=n>>p;n++}return n}function howMuchToRead(n,state){if(state.length===0&&state.ended)return 0;if(state.objectMode)return n===0?0:1;if(n===null||isNaN(n)){if(state.flowing&&state.buffer.length)return state.buffer[0].length;else return state.length}if(n<=0)return 0;if(n>state.highWaterMark)state.highWaterMark=roundUpToNextPowerOf2(n);if(n>state.length){if(!state.ended){state.needReadable=true;return 0}else return state.length}return n}Readable.prototype.read=function(n){var state=this._readableState;state.calledRead=true;var nOrig=n;var ret;if(typeof n!=="number"||n>0)state.emittedReadable=false;if(n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended)){emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){ret=null;if(state.length>0&&state.decoder){ret=fromList(n,state);state.length-=ret.length}if(state.length===0)endReadable(this);return ret}var doRead=state.needReadable;if(state.length-n<=state.highWaterMark)doRead=true;if(state.ended||state.reading)doRead=false;if(doRead){state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false}if(doRead&&!state.reading)n=howMuchToRead(nOrig,state);if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=true;n=0}state.length-=n;if(state.length===0&&!state.ended)state.needReadable=true;if(state.ended&&!state.endEmitted&&state.length===0)endReadable(this);return ret};function chunkInvalid(state,chunk){var er=null;if(!Buffer.isBuffer(chunk)&&"string"!==typeof chunk&&chunk!==null&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}return er}function onEofChunk(stream,state){if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.length>0)emitReadable(stream);else endReadable(stream)}function emitReadable(stream){var state=stream._readableState;state.needReadable=false;if(state.emittedReadable)return;state.emittedReadable=true;if(state.sync)process.nextTick(function(){emitReadable_(stream)});else emitReadable_(stream)}function emitReadable_(stream){stream.emit("readable")}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(function(){maybeReadMore_(stream,state)})}}function maybeReadMore_(stream,state){var len=state.length;while(!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark){stream.read(0);if(len===state.length)break;else len=state.length}state.readingMore=false}Readable.prototype._read=function(n){this.emit("error",new Error("not implemented"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:cleanup;if(state.endEmitted)process.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable){if(readable!==src)return;cleanup()}function onend(){dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);function cleanup(){dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",cleanup);if(!dest._writableState||dest._writableState.needDrain)ondrain()}function onerror(er){unpipe();dest.removeListener("error",onerror);if(EE.listenerCount(dest,"error")===0)dest.emit("error",er)}if(!dest._events||!dest._events.error)dest.on("error",onerror);else if(isArray(dest._events.error))dest._events.error.unshift(onerror);else dest._events.error=[onerror,dest._events.error];function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){this.on("readable",pipeOnReadable);state.flowing=true;process.nextTick(function(){flow(src)})}return dest};function pipeOnDrain(src){return function(){var dest=this;var state=src._readableState;state.awaitDrain--;if(state.awaitDrain===0)flow(src)}}function flow(src){var state=src._readableState;var chunk;state.awaitDrain=0;function write(dest,i,list){var written=dest.write(chunk);if(false===written){state.awaitDrain++}}while(state.pipesCount&&null!==(chunk=src.read())){if(state.pipesCount===1)write(state.pipes,0,null);else forEach(state.pipes,write);src.emit("data",chunk);if(state.awaitDrain>0)return}if(state.pipesCount===0){state.flowing=false;if(EE.listenerCount(src,"data")>0)emitDataEvents(src);return}state.ranOut=true}function pipeOnReadable(){if(this._readableState.ranOut){this._readableState.ranOut=false;flow(this)}}Readable.prototype.unpipe=function(dest){var state=this._readableState;if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;this.removeListener("readable",pipeOnReadable);state.flowing=false;if(dest)dest.emit("unpipe",this);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;this.removeListener("readable",pipeOnReadable);state.flowing=false;for(var i=0;i<len;i++)dests[i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);if(i===-1)return this;state.pipes.splice(i,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(ev==="data"&&!this._readableState.flowing)emitDataEvents(this);if(ev==="readable"&&this.readable){var state=this._readableState;if(!state.readableListening){state.readableListening=true;state.emittedReadable=false;state.needReadable=true;if(!state.reading){this.read(0)}else if(state.length){emitReadable(this,state)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.resume=function(){emitDataEvents(this);this.read(0);this.emit("resume")};Readable.prototype.pause=function(){emitDataEvents(this,true);this.emit("pause")};function emitDataEvents(stream,startPaused){var state=stream._readableState;if(state.flowing){throw new Error("Cannot switch to old mode now.")}var paused=startPaused||false;var readable=false;stream.readable=true;stream.pipe=Stream.prototype.pipe;stream.on=stream.addListener=Stream.prototype.on;stream.on("readable",function(){readable=true;var c;while(!paused&&null!==(c=stream.read()))stream.emit("data",c);if(c===null){readable=false;stream._readableState.needReadable=true}});stream.pause=function(){paused=true;this.emit("pause")};stream.resume=function(){paused=false;if(readable)process.nextTick(function(){stream.emit("readable")});else this.read(0);this.emit("resume")};stream.emit("readable")}Readable.prototype.wrap=function(stream){var state=this._readableState;var paused=false;var self=this;stream.on("end",function(){if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)self.push(chunk)}self.push(null)});stream.on("data",function(chunk){if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=self.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(typeof stream[i]==="function"&&typeof this[i]==="undefined"){this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i)}}var events=["error","close","destroy","pause","resume"];forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))});self._read=function(n){if(paused){paused=false;stream.resume()}};return self};Readable._fromList=fromList;function fromList(n,state){var list=state.buffer;var length=state.length;var stringMode=!!state.decoder;var objectMode=!!state.objectMode;var ret;if(list.length===0)return null;if(length===0)ret=null;else if(objectMode)ret=list.shift();else if(!n||n>=length){if(stringMode)ret=list.join("");else ret=Buffer.concat(list,length);list.length=0}else{if(n<list[0].length){var buf=list[0];ret=buf.slice(0,n);list[0]=buf.slice(n)}else if(n===list[0].length){ret=list.shift()}else{if(stringMode)ret="";else ret=new Buffer(n);var c=0;for(var i=0,l=list.length;i<l&&c<n;i++){var buf=list[0];var cpy=Math.min(n-c,buf.length);if(stringMode)ret+=buf.slice(0,cpy);else buf.copy(ret,c,0,cpy);if(cpy<buf.length)list[0]=buf.slice(cpy);else list.shift();c+=cpy}}}return ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error("endReadable called on non-empty stream");if(!state.endEmitted&&state.calledRead){state.ended=true;process.nextTick(function(){if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end")}})}}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++){f(xs[i],i)}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this,require("_process"))},{_process:43,buffer:18,"core-util-is":54,events:34,inherits:40,isarray:41,stream:60,"string_decoder/":55}],52:[function(require,module,exports){module.exports=Transform;var Duplex=require("./_stream_duplex");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(Transform,Duplex);function TransformState(options,stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)};this.needTransform=false;this.transforming=false;this.writecb=null;this.writechunk=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=false;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null;ts.writecb=null;if(data!==null&&data!==undefined)stream.push(data);if(cb)cb(er);var rs=stream._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){stream._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);var ts=this._transformState=new TransformState(options,this);var stream=this;this._readableState.needReadable=true;this._readableState.sync=false;this.once("finish",function(){if("function"===typeof this._flush)this._flush(function(er){done(stream,er)});else done(stream)})}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechunk!==null&&ts.writecb&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};function done(stream,er){if(er)return stream.emit("error",er);var ws=stream._writableState;var rs=stream._readableState;var ts=stream._transformState;if(ws.length)throw new Error("calling transform done when ws.length != 0");if(ts.transforming)throw new Error("calling transform done when still transforming");return stream.push(null)}},{"./_stream_duplex":49,"core-util-is":54,inherits:40}],53:[function(require,module,exports){(function(process){module.exports=Writable;var Buffer=require("buffer").Buffer;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var Stream=require("stream");util.inherits(Writable,Stream);function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb}function WritableState(options,stream){options=options||{};var hwm=options.highWaterMark;this.highWaterMark=hwm||hwm===0?hwm:16*1024;this.objectMode=!!options.objectMode;this.highWaterMark=~~this.highWaterMark;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.buffer=[];this.errorEmitted=false}function Writable(options){var Duplex=require("./_stream_duplex");if(!(this instanceof Writable)&&!(this instanceof Duplex))return new Writable(options);this._writableState=new WritableState(options,this);this.writable=true;Stream.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))};function writeAfterEnd(stream,state,cb){var er=new Error("write after end");stream.emit("error",er);process.nextTick(function(){cb(er)})}function validChunk(stream,state,chunk,cb){var valid=true;if(!Buffer.isBuffer(chunk)&&"string"!==typeof chunk&&chunk!==null&&chunk!==undefined&&!state.objectMode){var er=new TypeError("Invalid non-string/buffer chunk");stream.emit("error",er);process.nextTick(function(){cb(er)});valid=false}return valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;if(typeof encoding==="function"){cb=encoding;encoding=null}if(Buffer.isBuffer(chunk))encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=function(){};if(state.ended)writeAfterEnd(this,state,cb);else if(validChunk(this,state,chunk,cb))ret=writeOrBuffer(this,state,chunk,encoding,cb);return ret};function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=new Buffer(chunk,encoding)}return chunk}function writeOrBuffer(stream,state,chunk,encoding,cb){chunk=decodeChunk(state,chunk,encoding);if(Buffer.isBuffer(chunk))encoding="buffer";var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing)state.buffer.push(new WriteReq(chunk,encoding,cb));else doWrite(stream,state,len,chunk,encoding,cb);return ret}function doWrite(stream,state,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){if(sync)process.nextTick(function(){cb(er)});else cb(er);stream._writableState.errorEmitted=true;stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(stream,state);if(!finished&&!state.bufferProcessing&&state.buffer.length)clearBuffer(stream,state);if(sync){process.nextTick(function(){afterWrite(stream,state,finished,cb)})}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);cb();if(finished)finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;for(var c=0;c<state.buffer.length;c++){var entry=state.buffer[c];var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,len,chunk,encoding,cb);if(state.writing){c++;break}}state.bufferProcessing=false;if(c<state.buffer.length)state.buffer=state.buffer.slice(c);else state.buffer.length=0}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("not implemented"))};Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(typeof chunk!=="undefined"&&chunk!==null)this.write(chunk,encoding);if(!state.ending&&!state.finished)endWritable(this,state,cb)};function needFinish(stream,state){return state.ending&&state.length===0&&!state.finished&&!state.writing}function finishMaybe(stream,state){var need=needFinish(stream,state);if(need){state.finished=true;stream.emit("finish")}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)process.nextTick(cb);else stream.once("finish",cb)}state.ended=true}}).call(this,require("_process"))},{"./_stream_duplex":49,_process:43,buffer:18,"core-util-is":54,inherits:40,stream:60}],54:[function(require,module,exports){(function(Buffer){function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;function isBuffer(arg){return Buffer.isBuffer(arg)}exports.isBuffer=isBuffer;function objectToString(o){return Object.prototype.toString.call(o)}}).call(this,require("buffer").Buffer)},{buffer:18}],55:[function(require,module,exports){var Buffer=require("buffer").Buffer;var isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";var offset=0;while(this.charLength){var i=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,offset,i);this.charReceived+=i-offset;offset=i;if(this.charReceived<this.charLength){return""}charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(i==buffer.length)return charStr;buffer=buffer.slice(i,buffer.length);break}var lenIncomplete=this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-lenIncomplete,end);this.charReceived=lenIncomplete;end-=lenIncomplete}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);this.charBuffer.write(charStr.charAt(charStr.length-1),this.encoding);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}return i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%2;this.charLength=incomplete?2:0;return incomplete}function base64DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%3;this.charLength=incomplete?3:0;return incomplete}},{buffer:18}],56:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":50}],57:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":49,"./lib/_stream_passthrough.js":50,"./lib/_stream_readable.js":51,"./lib/_stream_transform.js":52,"./lib/_stream_writable.js":53}],58:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":52}],59:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":53}],60:[function(require,module,exports){module.exports=Stream;var EE=require("events").EventEmitter;var inherits=require("inherits");inherits(Stream,EE);Stream.Readable=require("readable-stream/readable.js");Stream.Writable=require("readable-stream/writable.js");Stream.Duplex=require("readable-stream/duplex.js");Stream.Transform=require("readable-stream/transform.js");Stream.PassThrough=require("readable-stream/passthrough.js");Stream.Stream=Stream;function Stream(){EE.call(this)}Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;if(typeof dest.destroy==="function")dest.destroy()}function onerror(er){cleanup();if(EE.listenerCount(this,"error")===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:34,inherits:40,"readable-stream/duplex.js":48,"readable-stream/passthrough.js":56,"readable-stream/readable.js":57,"readable-stream/transform.js":58,"readable-stream/writable.js":59}],61:[function(require,module,exports){var Buffer=require("buffer").Buffer;
function assertEncoding(encoding){if(encoding&&!Buffer.isEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";var offset=0;while(this.charLength){var i=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,offset,i);this.charReceived+=i-offset;offset=i;if(this.charReceived<this.charLength){return""}charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(i==buffer.length)return charStr;buffer=buffer.slice(i,buffer.length);break}var lenIncomplete=this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-lenIncomplete,end);this.charReceived=lenIncomplete;end-=lenIncomplete}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);this.charBuffer.write(charStr.charAt(charStr.length-1),this.encoding);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}return i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%2;this.charLength=incomplete?2:0;return incomplete}function base64DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%3;this.charLength=incomplete?3:0;return incomplete}},{buffer:18}],62:[function(require,module,exports){var punycode=require("punycode");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,delims=["<",">",'"',"`"," ","\r","\n"," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var rest=url;rest=rest.trim();var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){var domainArray=this.hostname.split(".");var newOut=[];for(var i=0;i<domainArray.length;++i){var s=domainArray[i];newOut.push(s.match(/[^A-Za-z0-9_-]/)?"xn--"+punycode.encode(s):s)}this.hostname=newOut.join(".")}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;Object.keys(this).forEach(function(k){result[k]=this[k]},this);result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){Object.keys(relative).forEach(function(k){if(k!=="protocol")result[k]=relative[k]});if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){Object.keys(relative).forEach(function(k){result[k]=relative[k]});result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last=="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function isString(arg){return typeof arg==="string"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}},{punycode:44,querystring:47}],63:[function(require,module,exports){module.exports=require(3)},{}],64:[function(require,module,exports){module.exports=require(4)},{"./support/isBuffer":63,_process:43,inherits:40}],65:[function(require,module,exports){"use strict";var tough=require("tough-cookie");var Cookie=tough.Cookie,CookieJar=tough.CookieJar;exports.parse=function(str){if(str&&str.uri){str=str.uri}if(typeof str!=="string"){throw new Error("The cookie function only accepts STRING as param")}return Cookie.parse(str)};function RequestJar(store){var self=this;self._jar=new CookieJar(store)}RequestJar.prototype.setCookie=function(cookieOrStr,uri,options){var self=this;return self._jar.setCookieSync(cookieOrStr,uri,options||{})};RequestJar.prototype.getCookieString=function(uri){var self=this;return self._jar.getCookieStringSync(uri)};RequestJar.prototype.getCookies=function(uri){var self=this;return self._jar.getCookiesSync(uri)};exports.jar=function(store){return new RequestJar(store)}},{"tough-cookie":131}],66:[function(require,module,exports){"use strict";module.exports=function copy(obj){var o={};Object.keys(obj).forEach(function(i){o[i]=obj[i]});return o}},{}],67:[function(require,module,exports){"use strict";var util=require("util"),request=require("../index");module.exports=function debug(){if(request.debug){console.error("REQUEST %s",util.format.apply(util,arguments))}}},{"../index":undefined,util:64}],68:[function(require,module,exports){(function(process,Buffer){"use strict";var extend=require("util")._extend,jsonSafeStringify=require("json-stringify-safe"),crypto=require("crypto");function deferMethod(){if(typeof setImmediate==="undefined"){return process.nextTick}return setImmediate}function constructObject(initialObject){initialObject=initialObject||{};return{extend:function(object){return constructObject(extend(initialObject,object))},done:function(){return initialObject}}}function constructOptionsFrom(uri,options){var params=constructObject();if(typeof options==="object"){params.extend(options).extend({uri:uri})}else if(typeof uri==="string"){params.extend({uri:uri})}else{params.extend(uri)}return params.done()}function isFunction(value){return typeof value==="function"}function filterForCallback(values){var callbacks=values.filter(isFunction);return callbacks[0]}function paramsHaveRequestBody(params){return params.options.body||params.options.requestBodyStream||params.options.json&&typeof params.options.json!=="boolean"||params.options.multipart}function safeStringify(obj){var ret;try{ret=JSON.stringify(obj)}catch(e){ret=jsonSafeStringify(obj)}return ret}function md5(str){return crypto.createHash("md5").update(str).digest("hex")}function isReadStream(rs){return rs.readable&&rs.path&&rs.mode}function toBase64(str){return new Buffer(str||"","ascii").toString("base64")}exports.isFunction=isFunction;exports.constructObject=constructObject;exports.constructOptionsFrom=constructOptionsFrom;exports.filterForCallback=filterForCallback;exports.paramsHaveRequestBody=paramsHaveRequestBody;exports.safeStringify=safeStringify;exports.md5=md5;exports.isReadStream=isReadStream;exports.toBase64=toBase64;exports.defer=deferMethod()}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,buffer:18,crypto:24,"json-stringify-safe":118,util:64}],69:[function(require,module,exports){var crypto=require("crypto"),parse=require("url").parse;var keys=["acl","location","logging","notification","partNumber","policy","requestPayment","torrent","uploadId","uploads","versionId","versioning","versions","website"];function authorization(options){return"AWS "+options.key+":"+sign(options)}module.exports=authorization;module.exports.authorization=authorization;function hmacSha1(options){return crypto.createHmac("sha1",options.secret).update(options.message).digest("base64")}module.exports.hmacSha1=hmacSha1;function sign(options){options.message=stringToSign(options);return hmacSha1(options)}module.exports.sign=sign;function signQuery(options){options.message=queryStringToSign(options);return hmacSha1(options)}module.exports.signQuery=signQuery;function stringToSign(options){var headers=options.amazonHeaders||"";if(headers)headers+="\n";var r=[options.verb,options.md5,options.contentType,options.date?options.date.toUTCString():"",headers+options.resource];return r.join("\n")}module.exports.queryStringToSign=stringToSign;function queryStringToSign(options){return"GET\n\n\n"+options.date+"\n"+options.resource}module.exports.queryStringToSign=queryStringToSign;function canonicalizeHeaders(headers){var buf=[],fields=Object.keys(headers);for(var i=0,len=fields.length;i<len;++i){var field=fields[i],val=headers[field],field=field.toLowerCase();if(0!==field.indexOf("x-amz"))continue;buf.push(field+":"+val)}return buf.sort().join("\n")}module.exports.canonicalizeHeaders=canonicalizeHeaders;function canonicalizeResource(resource){var url=parse(resource,true),path=url.pathname,buf=[];Object.keys(url.query).forEach(function(key){if(!~keys.indexOf(key))return;var val=""==url.query[key]?"":"="+encodeURIComponent(url.query[key]);buf.push(key+val)});return path+(buf.length?"?"+buf.sort().join("&"):"")}module.exports.canonicalizeResource=canonicalizeResource},{crypto:24,url:62}],70:[function(require,module,exports){(function(Buffer){var DuplexStream=require("readable-stream").Duplex,util=require("util");function BufferList(callback){if(!(this instanceof BufferList))return new BufferList(callback);this._bufs=[];this.length=0;if(typeof callback=="function"){this._callback=callback;var piper=function(err){if(this._callback){this._callback(err);this._callback=null}}.bind(this);this.on("pipe",function(src){src.on("error",piper)});this.on("unpipe",function(src){src.removeListener("error",piper)})}else if(Buffer.isBuffer(callback))this.append(callback);else if(Array.isArray(callback)){callback.forEach(function(b){Buffer.isBuffer(b)&&this.append(b)}.bind(this))}DuplexStream.call(this)}util.inherits(BufferList,DuplexStream);BufferList.prototype._offset=function(offset){var tot=0,i=0,_t;for(;i<this._bufs.length;i++){_t=tot+this._bufs[i].length;if(offset<_t)return[i,offset-tot];tot=_t}};BufferList.prototype.append=function(buf){var isBuffer=Buffer.isBuffer(buf)||buf instanceof BufferList;this._bufs.push(isBuffer?buf:new Buffer(buf));this.length+=buf.length;return this};BufferList.prototype._write=function(buf,encoding,callback){this.append(buf);if(callback)callback()};BufferList.prototype._read=function(size){if(!this.length)return this.push(null);size=Math.min(size,this.length);this.push(this.slice(0,size));this.consume(size)};BufferList.prototype.end=function(chunk){DuplexStream.prototype.end.call(this,chunk);if(this._callback){this._callback(null,this.slice());this._callback=null}};BufferList.prototype.get=function(index){return this.slice(index,index+1)[0]};BufferList.prototype.slice=function(start,end){return this.copy(null,0,start,end)};BufferList.prototype.copy=function(dst,dstStart,srcStart,srcEnd){if(typeof srcStart!="number"||srcStart<0)srcStart=0;if(typeof srcEnd!="number"||srcEnd>this.length)srcEnd=this.length;if(srcStart>=this.length)return dst||new Buffer(0);if(srcEnd<=0)return dst||new Buffer(0);var copy=!!dst,off=this._offset(srcStart),len=srcEnd-srcStart,bytes=len,bufoff=copy&&dstStart||0,start=off[1],l,i;if(srcStart===0&&srcEnd==this.length){if(!copy)return Buffer.concat(this._bufs);for(i=0;i<this._bufs.length;i++){this._bufs[i].copy(dst,bufoff);bufoff+=this._bufs[i].length}return dst}if(bytes<=this._bufs[off[0]].length-start){return copy?this._bufs[off[0]].copy(dst,dstStart,start,start+bytes):this._bufs[off[0]].slice(start,start+bytes)}if(!copy)dst=new Buffer(len);for(i=off[0];i<this._bufs.length;i++){l=this._bufs[i].length-start;if(bytes>l){this._bufs[i].copy(dst,bufoff,start)}else{this._bufs[i].copy(dst,bufoff,start,start+bytes);break}bufoff+=l;bytes-=l;if(start)start=0}return dst};BufferList.prototype.toString=function(encoding,start,end){return this.slice(start,end).toString(encoding)};BufferList.prototype.consume=function(bytes){while(this._bufs.length){if(bytes>this._bufs[0].length){bytes-=this._bufs[0].length;this.length-=this._bufs[0].length;this._bufs.shift()}else{this._bufs[0]=this._bufs[0].slice(bytes);this.length-=bytes;break}}return this};BufferList.prototype.duplicate=function(){var i=0,copy=new BufferList;for(;i<this._bufs.length;i++)copy.append(this._bufs[i]);return copy};BufferList.prototype.destroy=function(){this._bufs.length=0;this.length=0;this.push(null)};(function(){var methods={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1};for(var m in methods){(function(m){BufferList.prototype[m]=function(offset){return this.slice(offset,offset+methods[m])[m](0)}})(m)}})();module.exports=BufferList}).call(this,require("buffer").Buffer)},{buffer:18,"readable-stream":80,util:64}],71:[function(require,module,exports){arguments[4][49][0].apply(exports,arguments)},{"./_stream_readable":73,"./_stream_writable":75,_process:43,"core-util-is":76,inherits:77}],72:[function(require,module,exports){module.exports=require(50)},{"./_stream_transform":74,"core-util-is":76,inherits:77}],73:[function(require,module,exports){arguments[4][51][0].apply(exports,arguments)},{_process:43,buffer:18,"core-util-is":76,events:34,inherits:77,isarray:78,stream:60,"string_decoder/":79}],74:[function(require,module,exports){module.exports=require(52)},{"./_stream_duplex":71,"core-util-is":76,inherits:77}],75:[function(require,module,exports){module.exports=require(53)},{"./_stream_duplex":71,_process:43,buffer:18,"core-util-is":76,inherits:77,stream:60}],76:[function(require,module,exports){module.exports=require(54)},{buffer:18}],77:[function(require,module,exports){module.exports=require(40)},{}],78:[function(require,module,exports){module.exports=require(41)},{}],79:[function(require,module,exports){var Buffer=require("buffer").Buffer;var isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";while(this.charLength){var available=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,0,available);this.charReceived+=available;if(this.charReceived<this.charLength){return""}buffer=buffer.slice(available,buffer.length);charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(buffer.length===0){return charStr}break}this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-this.charReceived,end);end-=this.charReceived}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);buffer.copy(this.charBuffer,0,0,size);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){this.charReceived=buffer.length%2;this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(buffer){this.charReceived=buffer.length%3;this.charLength=this.charReceived?3:0}},{buffer:18}],80:[function(require,module,exports){var Stream=require("stream");exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=Stream;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":71,"./lib/_stream_passthrough.js":72,"./lib/_stream_readable.js":73,"./lib/_stream_transform.js":74,"./lib/_stream_writable.js":75,stream:60}],81:[function(require,module,exports){function Caseless(dict){this.dict=dict}Caseless.prototype.set=function(name,value,clobber){if(typeof name==="object"){for(var i in name){this.set(i,name[i],value)}}else{if(typeof clobber==="undefined")clobber=true;var has=this.has(name);if(!clobber&&has)this.dict[has]=this.dict[has]+","+value;else this.dict[has||name]=value;return has}};Caseless.prototype.has=function(name){var keys=Object.keys(this.dict),name=name.toLowerCase();for(var i=0;i<keys.length;i++){if(keys[i].toLowerCase()===name)return keys[i]}return false};Caseless.prototype.get=function(name){name=name.toLowerCase();var result,_key;var headers=this.dict;Object.keys(headers).forEach(function(key){_key=key.toLowerCase();if(name===_key)result=headers[key]});return result};Caseless.prototype.swap=function(name){var has=this.has(name);if(!has)throw new Error('There is no header than matches "'+name+'"');this.dict[name]=this.dict[has];delete this.dict[has]};Caseless.prototype.del=function(name){var has=this.has(name);return delete this.dict[has||name]};module.exports=function(dict){return new Caseless(dict)};module.exports.httpify=function(resp,headers){var c=new Caseless(headers);resp.setHeader=function(key,value,clobber){return c.set(key,value,clobber)};resp.hasHeader=function(key){return c.has(key)};resp.getHeader=function(key){return c.get(key)};resp.removeHeader=function(key){return c.del(key)};resp.headers=c.dict;return c}},{}],82:[function(require,module,exports){(function(Buffer){var util=require("util");var Stream=require("stream").Stream;var DelayedStream=require("delayed-stream");module.exports=CombinedStream;function CombinedStream(){this.writable=false;this.readable=true;this.dataSize=0;this.maxDataSize=2*1024*1024;this.pauseStreams=true;this._released=false;this._streams=[];this._currentStream=null}util.inherits(CombinedStream,Stream);CombinedStream.create=function(options){var combinedStream=new this;options=options||{};for(var option in options){combinedStream[option]=options[option]}return combinedStream};CombinedStream.isStreamLike=function(stream){return typeof stream!=="function"&&typeof stream!=="string"&&typeof stream!=="boolean"&&typeof stream!=="number"&&!Buffer.isBuffer(stream)};CombinedStream.prototype.append=function(stream){var isStreamLike=CombinedStream.isStreamLike(stream);if(isStreamLike){if(!(stream instanceof DelayedStream)){var newStream=DelayedStream.create(stream,{maxDataSize:Infinity,pauseStream:this.pauseStreams});stream.on("data",this._checkDataSize.bind(this));stream=newStream}this._handleErrors(stream);if(this.pauseStreams){stream.pause()}}this._streams.push(stream);return this};CombinedStream.prototype.pipe=function(dest,options){Stream.prototype.pipe.call(this,dest,options);this.resume();return dest};CombinedStream.prototype._getNext=function(){this._currentStream=null;var stream=this._streams.shift();if(typeof stream=="undefined"){this.end();return}if(typeof stream!=="function"){this._pipeNext(stream);return}var getStream=stream;getStream(function(stream){var isStreamLike=CombinedStream.isStreamLike(stream);if(isStreamLike){stream.on("data",this._checkDataSize.bind(this));this._handleErrors(stream)}this._pipeNext(stream)}.bind(this))};CombinedStream.prototype._pipeNext=function(stream){this._currentStream=stream;var isStreamLike=CombinedStream.isStreamLike(stream);if(isStreamLike){stream.on("end",this._getNext.bind(this));stream.pipe(this,{end:false});return}var value=stream;this.write(value);this._getNext()};CombinedStream.prototype._handleErrors=function(stream){var self=this;stream.on("error",function(err){self._emitError(err)})};CombinedStream.prototype.write=function(data){this.emit("data",data)};CombinedStream.prototype.pause=function(){if(!this.pauseStreams){return}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function")this._currentStream.pause();this.emit("pause")};CombinedStream.prototype.resume=function(){if(!this._released){this._released=true;this.writable=true;this._getNext()}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function")this._currentStream.resume();this.emit("resume")};CombinedStream.prototype.end=function(){this._reset();this.emit("end")};CombinedStream.prototype.destroy=function(){this._reset();this.emit("close")};CombinedStream.prototype._reset=function(){this.writable=false;this._streams=[];this._currentStream=null};CombinedStream.prototype._checkDataSize=function(){this._updateDataSize();
if(this.dataSize<=this.maxDataSize){return}var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(message))};CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var self=this;this._streams.forEach(function(stream){if(!stream.dataSize){return}self.dataSize+=stream.dataSize});if(this._currentStream&&this._currentStream.dataSize){this.dataSize+=this._currentStream.dataSize}};CombinedStream.prototype._emitError=function(err){this._reset();this.emit("error",err)}}).call(this,require("buffer").Buffer)},{buffer:18,"delayed-stream":83,stream:60,util:64}],83:[function(require,module,exports){var Stream=require("stream").Stream;var util=require("util");module.exports=DelayedStream;function DelayedStream(){this.source=null;this.dataSize=0;this.maxDataSize=1024*1024;this.pauseStream=true;this._maxDataSizeExceeded=false;this._released=false;this._bufferedEvents=[]}util.inherits(DelayedStream,Stream);DelayedStream.create=function(source,options){var delayedStream=new this;options=options||{};for(var option in options){delayedStream[option]=options[option]}delayedStream.source=source;var realEmit=source.emit;source.emit=function(){delayedStream._handleEmit(arguments);return realEmit.apply(source,arguments)};source.on("error",function(){});if(delayedStream.pauseStream){source.pause()}return delayedStream};DelayedStream.prototype.__defineGetter__("readable",function(){return this.source.readable});DelayedStream.prototype.resume=function(){if(!this._released){this.release()}this.source.resume()};DelayedStream.prototype.pause=function(){this.source.pause()};DelayedStream.prototype.release=function(){this._released=true;this._bufferedEvents.forEach(function(args){this.emit.apply(this,args)}.bind(this));this._bufferedEvents=[]};DelayedStream.prototype.pipe=function(){var r=Stream.prototype.pipe.apply(this,arguments);this.resume();return r};DelayedStream.prototype._handleEmit=function(args){if(this._released){this.emit.apply(this,args);return}if(args[0]==="data"){this.dataSize+=args[1].length;this._checkIfMaxDataSizeExceeded()}this._bufferedEvents.push(args)};DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded){return}if(this.dataSize<=this.maxDataSize){return}this._maxDataSizeExceeded=true;var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(message))}},{stream:60,util:64}],84:[function(require,module,exports){module.exports=ForeverAgent;ForeverAgent.SSL=ForeverAgentSSL;var util=require("util"),Agent=require("http").Agent,net=require("net"),tls=require("tls"),AgentSSL=require("https").Agent;function ForeverAgent(options){var self=this;self.options=options||{};self.requests={};self.sockets={};self.freeSockets={};self.maxSockets=self.options.maxSockets||Agent.defaultMaxSockets;self.minSockets=self.options.minSockets||ForeverAgent.defaultMinSockets;self.on("free",function(socket,host,port){var name=host+":"+port;if(self.requests[name]&&self.requests[name].length){self.requests[name].shift().onSocket(socket)}else if(self.sockets[name].length<self.minSockets){if(!self.freeSockets[name])self.freeSockets[name]=[];self.freeSockets[name].push(socket);var onIdleError=function(){socket.destroy()};socket._onIdleError=onIdleError;socket.on("error",onIdleError)}else{socket.destroy()}})}util.inherits(ForeverAgent,Agent);ForeverAgent.defaultMinSockets=5;ForeverAgent.prototype.createConnection=net.createConnection;ForeverAgent.prototype.addRequestNoreuse=Agent.prototype.addRequest;ForeverAgent.prototype.addRequest=function(req,host,port){var name=host+":"+port;if(this.freeSockets[name]&&this.freeSockets[name].length>0&&!req.useChunkedEncodingByDefault){var idleSocket=this.freeSockets[name].pop();idleSocket.removeListener("error",idleSocket._onIdleError);delete idleSocket._onIdleError;req._reusedSocket=true;req.onSocket(idleSocket)}else{this.addRequestNoreuse(req,host,port)}};ForeverAgent.prototype.removeSocket=function(s,name,host,port){if(this.sockets[name]){var index=this.sockets[name].indexOf(s);if(index!==-1){this.sockets[name].splice(index,1)}}else if(this.sockets[name]&&this.sockets[name].length===0){delete this.sockets[name];delete this.requests[name]}if(this.freeSockets[name]){var index=this.freeSockets[name].indexOf(s);if(index!==-1){this.freeSockets[name].splice(index,1);if(this.freeSockets[name].length===0){delete this.freeSockets[name]}}}if(this.requests[name]&&this.requests[name].length){this.createSocket(name,host,port).emit("free")}};function ForeverAgentSSL(options){ForeverAgent.call(this,options)}util.inherits(ForeverAgentSSL,ForeverAgent);ForeverAgentSSL.prototype.createConnection=createConnectionSSL;ForeverAgentSSL.prototype.addRequestNoreuse=AgentSSL.prototype.addRequest;function createConnectionSSL(port,host,options){if(typeof port==="object"){options=port}else if(typeof host==="object"){options=host}else if(typeof options==="object"){options=options}else{options={}}if(typeof port==="number"){options.port=port}if(typeof host==="string"){options.host=host}return tls.connect(options)}},{http:35,https:39,net:1,tls:1,util:64}],85:[function(require,module,exports){(function(process,Buffer){var CombinedStream=require("combined-stream");var util=require("util");var path=require("path");var http=require("http");var https=require("https");var parseUrl=require("url").parse;var fs=require("fs");var mime=require("mime");var async=require("async");module.exports=FormData;function FormData(){this._overheadLength=0;this._valueLength=0;this._lengthRetrievers=[];CombinedStream.call(this)}util.inherits(FormData,CombinedStream);FormData.LINE_BREAK="\r\n";FormData.prototype.append=function(field,value,options){options=options||{};var append=CombinedStream.prototype.append.bind(this);if(typeof value=="number")value=""+value;if(util.isArray(value)){this._error(new Error("Arrays are not supported."));return}var header=this._multiPartHeader(field,value,options);var footer=this._multiPartFooter(field,value,options);append(header);append(value);append(footer);this._trackLength(header,value,options)};FormData.prototype._trackLength=function(header,value,options){var valueLength=0;if(options.knownLength!=null){valueLength+=+options.knownLength}else if(Buffer.isBuffer(value)){valueLength=value.length}else if(typeof value==="string"){valueLength=Buffer.byteLength(value)}this._valueLength+=valueLength;this._overheadLength+=Buffer.byteLength(header)+ +FormData.LINE_BREAK.length;if(!value||!value.path&&!(value.readable&&value.hasOwnProperty("httpVersion"))){return}if(!options.knownLength)this._lengthRetrievers.push(function(next){if(value.hasOwnProperty("fd")){if(value.end!=undefined&&value.end!=Infinity&&value.start!=undefined){next(null,value.end+1-(value.start?value.start:0))}else{fs.stat(value.path,function(err,stat){var fileSize;if(err){next(err);return}fileSize=stat.size-(value.start?value.start:0);next(null,fileSize)})}}else if(value.hasOwnProperty("httpVersion")){next(null,+value.headers["content-length"])}else if(value.hasOwnProperty("httpModule")){value.on("response",function(response){value.pause();next(null,+response.headers["content-length"])});value.resume()}else{next("Unknown stream")}})};FormData.prototype._multiPartHeader=function(field,value,options){var boundary=this.getBoundary();var header="";if(options.header!=null){header=options.header}else{header+="--"+boundary+FormData.LINE_BREAK+'Content-Disposition: form-data; name="'+field+'"';if(options.filename||value.path){header+='; filename="'+path.basename(options.filename||value.path)+'"'+FormData.LINE_BREAK+"Content-Type: "+(options.contentType||mime.lookup(options.filename||value.path))}else if(value.readable&&value.hasOwnProperty("httpVersion")){header+='; filename="'+path.basename(value.client._httpMessage.path)+'"'+FormData.LINE_BREAK+"Content-Type: "+value.headers["content-type"]}header+=FormData.LINE_BREAK+FormData.LINE_BREAK}return header};FormData.prototype._multiPartFooter=function(field,value,options){return function(next){var footer=FormData.LINE_BREAK;var lastPart=this._streams.length===0;if(lastPart){footer+=this._lastBoundary()}next(footer)}.bind(this)};FormData.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"};FormData.prototype.getHeaders=function(userHeaders){var formHeaders={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(var header in userHeaders){formHeaders[header.toLowerCase()]=userHeaders[header]}return formHeaders};FormData.prototype.getCustomHeaders=function(contentType){contentType=contentType?contentType:"multipart/form-data";var formHeaders={"content-type":contentType+"; boundary="+this.getBoundary(),"content-length":this.getLengthSync()};return formHeaders};FormData.prototype.getBoundary=function(){if(!this._boundary){this._generateBoundary()}return this._boundary};FormData.prototype._generateBoundary=function(){var boundary="--------------------------";for(var i=0;i<24;i++){boundary+=Math.floor(Math.random()*10).toString(16)}this._boundary=boundary};FormData.prototype.getLengthSync=function(debug){var knownLength=this._overheadLength+this._valueLength;if(this._streams.length){knownLength+=this._lastBoundary().length}if(this._lengthRetrievers.length){this._error(new Error("Cannot calculate proper length in synchronous way."))}return knownLength};FormData.prototype.getLength=function(cb){var knownLength=this._overheadLength+this._valueLength;if(this._streams.length){knownLength+=this._lastBoundary().length}if(!this._lengthRetrievers.length){process.nextTick(cb.bind(this,null,knownLength));return}async.parallel(this._lengthRetrievers,function(err,values){if(err){cb(err);return}values.forEach(function(length){knownLength+=length});cb(null,knownLength)})};FormData.prototype.submit=function(params,cb){var request,options,defaults={method:"post"};if(typeof params=="string"){params=parseUrl(params);options=populate({port:params.port,path:params.pathname,host:params.hostname},defaults)}else{options=populate(params,defaults);if(!options.port){options.port=options.protocol=="https:"?443:80}}options.headers=this.getHeaders(params.headers);if(params.protocol=="https:"){request=https.request(options)}else{request=http.request(options)}this.getLength(function(err,length){request.setHeader("Content-Length",length);this.pipe(request);if(cb){request.on("error",cb);request.on("response",cb.bind(this,null))}}.bind(this));return request};FormData.prototype._error=function(err){if(this.error)return;this.error=err;this.pause();this.emit("error",err)};function populate(dst,src){for(var prop in src){if(!dst[prop])dst[prop]=src[prop]}return dst}}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,async:86,buffer:18,"combined-stream":82,fs:1,http:35,https:39,mime:87,path:42,url:62,util:64}],86:[function(require,module,exports){(function(process){(function(){var async={};var root,previous_async;root=this;if(root!=null){previous_async=root.async}async.noConflict=function(){root.async=previous_async;return async};function only_once(fn){var called=false;return function(){if(called)throw new Error("Callback was already called.");called=true;fn.apply(root,arguments)}}var _toString=Object.prototype.toString;var _isArray=Array.isArray||function(obj){return _toString.call(obj)==="[object Array]"};var _each=function(arr,iterator){if(arr.forEach){return arr.forEach(iterator)}for(var i=0;i<arr.length;i+=1){iterator(arr[i],i,arr)}};var _map=function(arr,iterator){if(arr.map){return arr.map(iterator)}var results=[];_each(arr,function(x,i,a){results.push(iterator(x,i,a))});return results};var _reduce=function(arr,iterator,memo){if(arr.reduce){return arr.reduce(iterator,memo)}_each(arr,function(x,i,a){memo=iterator(memo,x,i,a)});return memo};var _keys=function(obj){if(Object.keys){return Object.keys(obj)}var keys=[];for(var k in obj){if(obj.hasOwnProperty(k)){keys.push(k)}}return keys};if(typeof process==="undefined"||!process.nextTick){if(typeof setImmediate==="function"){async.nextTick=function(fn){setImmediate(fn)};async.setImmediate=async.nextTick}else{async.nextTick=function(fn){setTimeout(fn,0)};async.setImmediate=async.nextTick}}else{async.nextTick=process.nextTick;if(typeof setImmediate!=="undefined"){async.setImmediate=function(fn){setImmediate(fn)}}else{async.setImmediate=async.nextTick}}async.each=function(arr,iterator,callback){callback=callback||function(){};if(!arr.length){return callback()}var completed=0;_each(arr,function(x){iterator(x,only_once(done))});function done(err){if(err){callback(err);callback=function(){}}else{completed+=1;if(completed>=arr.length){callback()}}}};async.forEach=async.each;async.eachSeries=function(arr,iterator,callback){callback=callback||function(){};if(!arr.length){return callback()}var completed=0;var iterate=function(){iterator(arr[completed],function(err){if(err){callback(err);callback=function(){}}else{completed+=1;if(completed>=arr.length){callback()}else{iterate()}}})};iterate()};async.forEachSeries=async.eachSeries;async.eachLimit=function(arr,limit,iterator,callback){var fn=_eachLimit(limit);fn.apply(null,[arr,iterator,callback])};async.forEachLimit=async.eachLimit;var _eachLimit=function(limit){return function(arr,iterator,callback){callback=callback||function(){};if(!arr.length||limit<=0){return callback()}var completed=0;var started=0;var running=0;(function replenish(){if(completed>=arr.length){return callback()}while(running<limit&&started<arr.length){started+=1;running+=1;iterator(arr[started-1],function(err){if(err){callback(err);callback=function(){}}else{completed+=1;running-=1;if(completed>=arr.length){callback()}else{replenish()}}})}})()}};var doParallel=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.each].concat(args))}};var doParallelLimit=function(limit,fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[_eachLimit(limit)].concat(args))}};var doSeries=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.eachSeries].concat(args))}};var _asyncMap=function(eachfn,arr,iterator,callback){arr=_map(arr,function(x,i){return{index:i,value:x}});if(!callback){eachfn(arr,function(x,callback){iterator(x.value,function(err){callback(err)})})}else{var results=[];eachfn(arr,function(x,callback){iterator(x.value,function(err,v){results[x.index]=v;callback(err)})},function(err){callback(err,results)})}};async.map=doParallel(_asyncMap);async.mapSeries=doSeries(_asyncMap);async.mapLimit=function(arr,limit,iterator,callback){return _mapLimit(limit)(arr,iterator,callback)};var _mapLimit=function(limit){return doParallelLimit(limit,_asyncMap)};async.reduce=function(arr,memo,iterator,callback){async.eachSeries(arr,function(x,callback){iterator(memo,x,function(err,v){memo=v;callback(err)})},function(err){callback(err,memo)})};async.inject=async.reduce;async.foldl=async.reduce;async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,function(x){return x}).reverse();async.reduce(reversed,memo,iterator,callback)};async.foldr=async.reduceRight;var _filter=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}});eachfn(arr,function(x,callback){iterator(x.value,function(v){if(v){results.push(x)}callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.filter=doParallel(_filter);async.filterSeries=doSeries(_filter);async.select=async.filter;async.selectSeries=async.filterSeries;var _reject=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}});eachfn(arr,function(x,callback){iterator(x.value,function(v){if(!v){results.push(x)}callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.reject=doParallel(_reject);async.rejectSeries=doSeries(_reject);var _detect=function(eachfn,arr,iterator,main_callback){eachfn(arr,function(x,callback){iterator(x,function(result){if(result){main_callback(x);main_callback=function(){}}else{callback()}})},function(err){main_callback()})};async.detect=doParallel(_detect);async.detectSeries=doSeries(_detect);async.some=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){if(v){main_callback(true);main_callback=function(){}}callback()})},function(err){main_callback(false)})};async.any=async.some;async.every=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){if(!v){main_callback(false);main_callback=function(){}}callback()})},function(err){main_callback(true)})};async.all=async.every;async.sortBy=function(arr,iterator,callback){async.map(arr,function(x,callback){iterator(x,function(err,criteria){if(err){callback(err)}else{callback(null,{value:x,criteria:criteria})}})},function(err,results){if(err){return callback(err)}else{var fn=function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0};callback(null,_map(results.sort(fn),function(x){return x.value}))}})};async.auto=function(tasks,callback){callback=callback||function(){};var keys=_keys(tasks);var remainingTasks=keys.length;if(!remainingTasks){return callback()}var results={};var listeners=[];var addListener=function(fn){listeners.unshift(fn)};var removeListener=function(fn){for(var i=0;i<listeners.length;i+=1){if(listeners[i]===fn){listeners.splice(i,1);return}}};var taskComplete=function(){remainingTasks--;_each(listeners.slice(0),function(fn){fn()})};addListener(function(){if(!remainingTasks){var theCallback=callback;callback=function(){};theCallback(null,results)}});_each(keys,function(k){var task=_isArray(tasks[k])?tasks[k]:[tasks[k]];var taskCallback=function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}if(err){var safeResults={};_each(_keys(results),function(rkey){safeResults[rkey]=results[rkey]});safeResults[k]=args;callback(err,safeResults);callback=function(){}}else{results[k]=args;async.setImmediate(taskComplete)}};var requires=task.slice(0,Math.abs(task.length-1))||[];var ready=function(){return _reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},true)&&!results.hasOwnProperty(k)};if(ready()){task[task.length-1](taskCallback,results)}else{var listener=function(){if(ready()){removeListener(listener);task[task.length-1](taskCallback,results)}};addListener(listener)}})};async.retry=function(times,task,callback){var DEFAULT_TIMES=5;var attempts=[];if(typeof times==="function"){callback=task;task=times;times=DEFAULT_TIMES}times=parseInt(times,10)||DEFAULT_TIMES;var wrappedTask=function(wrappedCallback,wrappedResults){var retryAttempt=function(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}};while(times){attempts.push(retryAttempt(task,!(times-=1)))}async.series(attempts,function(done,data){data=data[data.length-1];(wrappedCallback||callback)(data.err,data.result)})};return callback?wrappedTask():wrappedTask};async.waterfall=function(tasks,callback){callback=callback||function(){};if(!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}if(!tasks.length){return callback()}var wrapIterator=function(iterator){return function(err){if(err){callback.apply(null,arguments);callback=function(){}}else{var args=Array.prototype.slice.call(arguments,1);var next=iterator.next();if(next){args.push(wrapIterator(next))}else{args.push(callback)}async.setImmediate(function(){iterator.apply(null,args)})}}};wrapIterator(async.iterator(tasks))()};var _parallel=function(eachfn,tasks,callback){callback=callback||function(){};if(_isArray(tasks)){eachfn.map(tasks,function(fn,callback){if(fn){fn(function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}callback.call(null,err,args)})}},callback)}else{var results={};eachfn.each(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}results[k]=args;callback(err)})},function(err){callback(err,results)})}};async.parallel=function(tasks,callback){_parallel({map:async.map,each:async.each},tasks,callback)};async.parallelLimit=function(tasks,limit,callback){_parallel({map:_mapLimit(limit),each:_eachLimit(limit)},tasks,callback)};async.series=function(tasks,callback){callback=callback||function(){};if(_isArray(tasks)){async.mapSeries(tasks,function(fn,callback){if(fn){fn(function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}callback.call(null,err,args)})}},callback)}else{var results={};async.eachSeries(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}results[k]=args;callback(err)})},function(err){callback(err,results)})}};async.iterator=function(tasks){var makeCallback=function(index){var fn=function(){if(tasks.length){tasks[index].apply(null,arguments)}return fn.next()};fn.next=function(){return index<tasks.length-1?makeCallback(index+1):null};return fn};return makeCallback(0)};async.apply=function(fn){var args=Array.prototype.slice.call(arguments,1);return function(){return fn.apply(null,args.concat(Array.prototype.slice.call(arguments)))}};var _concat=function(eachfn,arr,fn,callback){var r=[];eachfn(arr,function(x,cb){fn(x,function(err,y){r=r.concat(y||[]);cb(err)})},function(err){callback(err,r)})};async.concat=doParallel(_concat);async.concatSeries=doSeries(_concat);async.whilst=function(test,iterator,callback){if(test()){iterator(function(err){if(err){return callback(err)}async.whilst(test,iterator,callback)})}else{callback()}};async.doWhilst=function(iterator,test,callback){iterator(function(err){if(err){return callback(err)}var args=Array.prototype.slice.call(arguments,1);if(test.apply(null,args)){async.doWhilst(iterator,test,callback)}else{callback()}})};async.until=function(test,iterator,callback){if(!test()){iterator(function(err){if(err){return callback(err)}async.until(test,iterator,callback)})}else{callback()}};async.doUntil=function(iterator,test,callback){iterator(function(err){if(err){return callback(err)}var args=Array.prototype.slice.call(arguments,1);if(!test.apply(null,args)){async.doUntil(iterator,test,callback)}else{callback()}})};async.queue=function(worker,concurrency){if(concurrency===undefined){concurrency=1}function _insert(q,data,pos,callback){if(!q.started){q.started=true}if(!_isArray(data)){data=[data]}if(data.length==0){return async.setImmediate(function(){if(q.drain){q.drain()}})}_each(data,function(task){var item={data:task,callback:typeof callback==="function"?callback:null};if(pos){q.tasks.unshift(item)}else{q.tasks.push(item)}if(q.saturated&&q.tasks.length===q.concurrency){q.saturated()}async.setImmediate(q.process)})}var workers=0;var q={tasks:[],concurrency:concurrency,saturated:null,empty:null,drain:null,started:false,paused:false,push:function(data,callback){_insert(q,data,false,callback)},kill:function(){q.drain=null;q.tasks=[]},unshift:function(data,callback){_insert(q,data,true,callback)},process:function(){if(!q.paused&&workers<q.concurrency&&q.tasks.length){var task=q.tasks.shift();if(q.empty&&q.tasks.length===0){q.empty()}workers+=1;var next=function(){workers-=1;if(task.callback){task.callback.apply(task,arguments)}if(q.drain&&q.tasks.length+workers===0){q.drain()}q.process()};var cb=only_once(next);worker(task.data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},idle:function(){return q.tasks.length+workers===0},pause:function(){if(q.paused===true){return}q.paused=true;q.process()},resume:function(){if(q.paused===false){return}q.paused=false;q.process()}};return q};async.priorityQueue=function(worker,concurrency){function _compareTasks(a,b){return a.priority-b.priority}function _binarySearch(sequence,item,compare){var beg=-1,end=sequence.length-1;while(beg<end){var mid=beg+(end-beg+1>>>1);if(compare(item,sequence[mid])>=0){beg=mid}else{end=mid-1}}return beg}function _insert(q,data,priority,callback){if(!q.started){q.started=true}if(!_isArray(data)){data=[data]}if(data.length==0){return async.setImmediate(function(){if(q.drain){q.drain()}})}_each(data,function(task){var item={data:task,priority:priority,callback:typeof callback==="function"?callback:null};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item);if(q.saturated&&q.tasks.length===q.concurrency){q.saturated()}async.setImmediate(q.process)})}var q=async.queue(worker,concurrency);q.push=function(data,priority,callback){_insert(q,data,priority,callback)};delete q.unshift;return q};async.cargo=function(worker,payload){var working=false,tasks=[];var cargo={tasks:tasks,payload:payload,saturated:null,empty:null,drain:null,drained:true,push:function(data,callback){if(!_isArray(data)){data=[data]}_each(data,function(task){tasks.push({data:task,callback:typeof callback==="function"?callback:null});cargo.drained=false;if(cargo.saturated&&tasks.length===payload){cargo.saturated()}});async.setImmediate(cargo.process)},process:function process(){if(working)return;if(tasks.length===0){if(cargo.drain&&!cargo.drained)cargo.drain();cargo.drained=true;return}var ts=typeof payload==="number"?tasks.splice(0,payload):tasks.splice(0,tasks.length);var ds=_map(ts,function(task){return task.data});if(cargo.empty)cargo.empty();working=true;worker(ds,function(){working=false;var args=arguments;_each(ts,function(data){if(data.callback){data.callback.apply(null,args)}});process()})},length:function(){return tasks.length},running:function(){return working}};return cargo};var _console_fn=function(name){return function(fn){var args=Array.prototype.slice.call(arguments,1);fn.apply(null,args.concat([function(err){var args=Array.prototype.slice.call(arguments,1);if(typeof console!=="undefined"){if(err){if(console.error){console.error(err)}}else if(console[name]){_each(args,function(x){console[name](x)})}}}]))}};async.log=_console_fn("log");async.dir=_console_fn("dir");async.memoize=function(fn,hasher){var memo={};var queues={};hasher=hasher||function(x){return x};var memoized=function(){var args=Array.prototype.slice.call(arguments);var callback=args.pop();var key=hasher.apply(null,args);if(key in memo){async.nextTick(function(){callback.apply(null,memo[key])})}else if(key in queues){queues[key].push(callback)}else{queues[key]=[callback];fn.apply(null,args.concat([function(){memo[key]=arguments;var q=queues[key];delete queues[key];for(var i=0,l=q.length;i<l;i++){q[i].apply(null,arguments)}}]))}};memoized.memo=memo;memoized.unmemoized=fn;return memoized};async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}};async.times=function(count,iterator,callback){var counter=[];for(var i=0;i<count;i++){counter.push(i)}return async.map(counter,iterator,callback)};async.timesSeries=function(count,iterator,callback){var counter=[];for(var i=0;i<count;i++){counter.push(i)}return async.mapSeries(counter,iterator,callback)};async.seq=function(){var fns=arguments;return function(){var that=this;var args=Array.prototype.slice.call(arguments);var callback=args.pop();async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([function(){var err=arguments[0];var nextargs=Array.prototype.slice.call(arguments,1);cb(err,nextargs)}]))},function(err,results){callback.apply(that,[err].concat(results))})}};async.compose=function(){return async.seq.apply(null,Array.prototype.reverse.call(arguments))};var _applyEach=function(eachfn,fns){var go=function(){var that=this;var args=Array.prototype.slice.call(arguments);var callback=args.pop();return eachfn(fns,function(fn,cb){fn.apply(that,args.concat([cb]))},callback)};if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);return go.apply(this,args)}else{return go}};async.applyEach=doParallel(_applyEach);async.applyEachSeries=doSeries(_applyEach);async.forever=function(fn,callback){function next(err){if(err){if(callback){return callback(err)}throw err}fn(next)}next()};if(typeof module!=="undefined"&&module.exports){module.exports=async}else if(typeof define!=="undefined"&&define.amd){define([],function(){return async})}else{root.async=async}})()}).call(this,require("_process"))},{_process:43}],87:[function(require,module,exports){(function(process,__dirname){var path=require("path");var fs=require("fs");function Mime(){this.types=Object.create(null);this.extensions=Object.create(null)}Mime.prototype.define=function(map){for(var type in map){var exts=map[type];for(var i=0;i<exts.length;i++){if(process.env.DEBUG_MIME&&this.types[exts]){console.warn(this._loading.replace(/.*\//,""),'changes "'+exts[i]+'" extension type from '+this.types[exts]+" to "+type)}this.types[exts[i]]=type}if(!this.extensions[type]){this.extensions[type]=exts[0]}}};Mime.prototype.load=function(file){this._loading=file;var map={},content=fs.readFileSync(file,"ascii"),lines=content.split(/[\r\n]+/);lines.forEach(function(line){var fields=line.replace(/\s*#.*|^\s*|\s*$/g,"").split(/\s+/);map[fields.shift()]=fields});this.define(map);this._loading=null};Mime.prototype.lookup=function(path,fallback){var ext=path.replace(/.*[\.\/\\]/,"").toLowerCase();return this.types[ext]||fallback||this.default_type};Mime.prototype.extension=function(mimeType){var type=mimeType.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase();return this.extensions[type]};var mime=new Mime;mime.load(path.join(__dirname,"types/mime.types"));mime.load(path.join(__dirname,"types/node.types"));mime.default_type=mime.lookup("bin");mime.Mime=Mime;mime.charsets={lookup:function(mimeType,fallback){return/^text\//.test(mimeType)?"UTF-8":fallback}};module.exports=mime}).call(this,require("_process"),"/node_modules/request/node_modules/form-data/node_modules/mime")},{_process:43,fs:1,path:42}],88:[function(require,module,exports){module.exports=require("./lib")},{"./lib":91}],89:[function(require,module,exports){var Url=require("url");var Hoek=require("hoek");var Cryptiles=require("cryptiles");var Crypto=require("./crypto");var Utils=require("./utils");var internals={};exports.header=function(uri,method,options){var result={field:"",artifacts:{}};if(!uri||typeof uri!=="string"&&typeof uri!=="object"||!method||typeof method!=="string"||!options||typeof options!=="object"){result.err="Invalid argument type";return result}var timestamp=options.timestamp||Math.floor((Utils.now()+(options.localtimeOffsetMsec||0))/1e3);var credentials=options.credentials;if(!credentials||!credentials.id||!credentials.key||!credentials.algorithm){result.err="Invalid credential object";return result}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){result.err="Unknown algorithm";return result}if(typeof uri==="string"){uri=Url.parse(uri)}var artifacts={ts:timestamp,nonce:options.nonce||Cryptiles.randomString(6),method:method,resource:uri.pathname+(uri.search||""),host:uri.hostname,port:uri.port||(uri.protocol==="http:"?80:443),hash:options.hash,ext:options.ext,app:options.app,dlg:options.dlg};result.artifacts=artifacts;if(!artifacts.hash&&options.hasOwnProperty("payload")){artifacts.hash=Crypto.calculatePayloadHash(options.payload,credentials.algorithm,options.contentType)}var mac=Crypto.calculateMac("header",credentials,artifacts);var hasExt=artifacts.ext!==null&&artifacts.ext!==undefined&&artifacts.ext!=="";var header='Hawk id="'+credentials.id+'", ts="'+artifacts.ts+'", nonce="'+artifacts.nonce+(artifacts.hash?'", hash="'+artifacts.hash:"")+(hasExt?'", ext="'+Utils.escapeHeaderAttribute(artifacts.ext):"")+'", mac="'+mac+'"';if(artifacts.app){header+=', app="'+artifacts.app+(artifacts.dlg?'", dlg="'+artifacts.dlg:"")+'"'}result.field=header;return result};exports.authenticate=function(res,credentials,artifacts,options){artifacts=Hoek.clone(artifacts);
options=options||{};if(res.headers["www-authenticate"]){var attributes=Utils.parseAuthorizationHeader(res.headers["www-authenticate"],["ts","tsm","error"]);if(attributes instanceof Error){return false}if(attributes.ts){var tsm=Crypto.calculateTsMac(attributes.ts,credentials);if(tsm!==attributes.tsm){return false}}}if(!res.headers["server-authorization"]&&!options.required){return true}var attributes=Utils.parseAuthorizationHeader(res.headers["server-authorization"],["mac","ext","hash"]);if(attributes instanceof Error){return false}artifacts.ext=attributes.ext;artifacts.hash=attributes.hash;var mac=Crypto.calculateMac("response",credentials,artifacts);if(mac!==attributes.mac){return false}if(!options.hasOwnProperty("payload")){return true}if(!attributes.hash){return false}var calculatedHash=Crypto.calculatePayloadHash(options.payload,credentials.algorithm,res.headers["content-type"]);return calculatedHash===attributes.hash};exports.getBewit=function(uri,options){if(!uri||typeof uri!=="string"&&typeof uri!=="object"||!options||typeof options!=="object"||!options.ttlSec){return""}options.ext=options.ext===null||options.ext===undefined?"":options.ext;var now=Utils.now()+(options.localtimeOffsetMsec||0);var credentials=options.credentials;if(!credentials||!credentials.id||!credentials.key||!credentials.algorithm){return""}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return""}if(typeof uri==="string"){uri=Url.parse(uri)}var exp=Math.floor(now/1e3)+options.ttlSec;var mac=Crypto.calculateMac("bewit",credentials,{ts:exp,nonce:"",method:"GET",resource:uri.pathname+(uri.search||""),host:uri.hostname,port:uri.port||(uri.protocol==="http:"?80:443),ext:options.ext});var bewit=credentials.id+"\\"+exp+"\\"+mac+"\\"+options.ext;return Utils.base64urlEncode(bewit)};exports.message=function(host,port,message,options){if(!host||typeof host!=="string"||!port||typeof port!=="number"||message===null||message===undefined||typeof message!=="string"||!options||typeof options!=="object"){return null}var timestamp=options.timestamp||Math.floor((Utils.now()+(options.localtimeOffsetMsec||0))/1e3);var credentials=options.credentials;if(!credentials||!credentials.id||!credentials.key||!credentials.algorithm){return null}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return null}var artifacts={ts:timestamp,nonce:options.nonce||Cryptiles.randomString(6),host:host,port:port,hash:Crypto.calculatePayloadHash(message,credentials.algorithm)};var result={id:credentials.id,ts:artifacts.ts,nonce:artifacts.nonce,hash:artifacts.hash,mac:Crypto.calculateMac("message",credentials,artifacts)};return result}},{"./crypto":90,"./utils":93,cryptiles:96,hoek:98,url:62}],90:[function(require,module,exports){var Crypto=require("crypto");var Url=require("url");var Utils=require("./utils");var internals={};exports.headerVersion="1";exports.algorithms=["sha1","sha256"];exports.calculateMac=function(type,credentials,options){var normalized=exports.generateNormalizedString(type,options);var hmac=Crypto.createHmac(credentials.algorithm,credentials.key).update(normalized);var digest=hmac.digest("base64");return digest};exports.generateNormalizedString=function(type,options){var normalized="hawk."+exports.headerVersion+"."+type+"\n"+options.ts+"\n"+options.nonce+"\n"+(options.method||"").toUpperCase()+"\n"+(options.resource||"")+"\n"+options.host.toLowerCase()+"\n"+options.port+"\n"+(options.hash||"")+"\n";if(options.ext){normalized+=options.ext.replace("\\","\\\\").replace("\n","\\n")}normalized+="\n";if(options.app){normalized+=options.app+"\n"+(options.dlg||"")+"\n"}return normalized};exports.calculatePayloadHash=function(payload,algorithm,contentType){var hash=exports.initializePayloadHash(algorithm,contentType);hash.update(payload||"");return exports.finalizePayloadHash(hash)};exports.initializePayloadHash=function(algorithm,contentType){var hash=Crypto.createHash(algorithm);hash.update("hawk."+exports.headerVersion+".payload\n");hash.update(Utils.parseContentType(contentType)+"\n");return hash};exports.finalizePayloadHash=function(hash){hash.update("\n");return hash.digest("base64")};exports.calculateTsMac=function(ts,credentials){var hmac=Crypto.createHmac(credentials.algorithm,credentials.key);hmac.update("hawk."+exports.headerVersion+".ts\n"+ts+"\n");return hmac.digest("base64")};exports.timestampMessage=function(credentials,localtimeOffsetMsec){var now=Math.floor((Utils.now()+(localtimeOffsetMsec||0))/1e3);var tsm=exports.calculateTsMac(now,credentials);return{ts:now,tsm:tsm}}},{"./utils":93,crypto:24,url:62}],91:[function(require,module,exports){exports.error=exports.Error=require("boom");exports.sntp=require("sntp");exports.server=require("./server");exports.client=require("./client");exports.crypto=require("./crypto");exports.utils=require("./utils");exports.uri={authenticate:exports.server.authenticateBewit,getBewit:exports.client.getBewit}},{"./client":89,"./crypto":90,"./server":92,"./utils":93,boom:94,sntp:101}],92:[function(require,module,exports){var Boom=require("boom");var Hoek=require("hoek");var Cryptiles=require("cryptiles");var Crypto=require("./crypto");var Utils=require("./utils");var internals={};exports.authenticate=function(req,credentialsFunc,options,callback){callback=Utils.nextTick(callback);options.nonceFunc=options.nonceFunc||function(nonce,ts,nonceCallback){return nonceCallback()};options.timestampSkewSec=options.timestampSkewSec||60;var now=Utils.now()+(options.localtimeOffsetMsec||0);var request=Utils.parseRequest(req,options);if(request instanceof Error){return callback(Boom.badRequest(request.message))}var attributes=Utils.parseAuthorizationHeader(request.authorization);if(attributes instanceof Error){return callback(attributes)}var artifacts={method:request.method,host:request.host,port:request.port,resource:request.url,ts:attributes.ts,nonce:attributes.nonce,hash:attributes.hash,ext:attributes.ext,app:attributes.app,dlg:attributes.dlg,mac:attributes.mac,id:attributes.id};if(!attributes.id||!attributes.ts||!attributes.nonce||!attributes.mac){return callback(Boom.badRequest("Missing attributes"),null,artifacts)}credentialsFunc(attributes.id,function(err,credentials){if(err){return callback(err,credentials||null,artifacts)}if(!credentials){return callback(Boom.unauthorized("Unknown credentials","Hawk"),null,artifacts)}if(!credentials.key||!credentials.algorithm){return callback(Boom.internal("Invalid credentials"),credentials,artifacts)}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return callback(Boom.internal("Unknown algorithm"),credentials,artifacts)}var mac=Crypto.calculateMac("header",credentials,artifacts);if(!Cryptiles.fixedTimeComparison(mac,attributes.mac)){return callback(Boom.unauthorized("Bad mac","Hawk"),credentials,artifacts)}if(options.payload!==null&&options.payload!==undefined){if(!attributes.hash){return callback(Boom.unauthorized("Missing required payload hash","Hawk"),credentials,artifacts)}var hash=Crypto.calculatePayloadHash(options.payload,credentials.algorithm,request.contentType);if(!Cryptiles.fixedTimeComparison(hash,attributes.hash)){return callback(Boom.unauthorized("Bad payload hash","Hawk"),credentials,artifacts)}}options.nonceFunc(attributes.nonce,attributes.ts,function(err){if(err){return callback(Boom.unauthorized("Invalid nonce","Hawk"),credentials,artifacts)}if(Math.abs(attributes.ts*1e3-now)>options.timestampSkewSec*1e3){var tsm=Crypto.timestampMessage(credentials,options.localtimeOffsetMsec);return callback(Boom.unauthorized("Stale timestamp","Hawk",tsm),credentials,artifacts)}return callback(null,credentials,artifacts)})})};exports.authenticatePayload=function(payload,credentials,artifacts,contentType){var calculatedHash=Crypto.calculatePayloadHash(payload,credentials.algorithm,contentType);return Cryptiles.fixedTimeComparison(calculatedHash,artifacts.hash)};exports.header=function(credentials,artifacts,options){options=options||{};if(!artifacts||typeof artifacts!=="object"||typeof options!=="object"){return""}artifacts=Hoek.clone(artifacts);delete artifacts.mac;artifacts.hash=options.hash;artifacts.ext=options.ext;if(!credentials||!credentials.key||!credentials.algorithm){return""}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return""}if(!artifacts.hash&&options.hasOwnProperty("payload")){artifacts.hash=Crypto.calculatePayloadHash(options.payload,credentials.algorithm,options.contentType)}var mac=Crypto.calculateMac("response",credentials,artifacts);var header='Hawk mac="'+mac+'"'+(artifacts.hash?', hash="'+artifacts.hash+'"':"");if(artifacts.ext!==null&&artifacts.ext!==undefined&&artifacts.ext!==""){header+=', ext="'+Utils.escapeHeaderAttribute(artifacts.ext)+'"'}return header};exports.authenticateBewit=function(req,credentialsFunc,options,callback){callback=Utils.nextTick(callback);var now=Utils.now()+(options.localtimeOffsetMsec||0);var request=Utils.parseRequest(req,options);if(request instanceof Error){return callback(Boom.badRequest(request.message))}var resource=request.url.match(/^(\/.*)([\?&])bewit\=([^&$]*)(?:&(.+))?$/);if(!resource){return callback(Boom.unauthorized(null,"Hawk"))}if(!resource[3]){return callback(Boom.unauthorized("Empty bewit","Hawk"))}if(request.method!=="GET"&&request.method!=="HEAD"){return callback(Boom.unauthorized("Invalid method","Hawk"))}if(request.authorization){return callback(Boom.badRequest("Multiple authentications","Hawk"))}var bewitString=Utils.base64urlDecode(resource[3]);if(bewitString instanceof Error){return callback(Boom.badRequest("Invalid bewit encoding"))}var bewitParts=bewitString.split("\\");if(!bewitParts||bewitParts.length!==4){return callback(Boom.badRequest("Invalid bewit structure"))}var bewit={id:bewitParts[0],exp:parseInt(bewitParts[1],10),mac:bewitParts[2],ext:bewitParts[3]||""};if(!bewit.id||!bewit.exp||!bewit.mac){return callback(Boom.badRequest("Missing bewit attributes"))}var url=resource[1];if(resource[4]){url+=resource[2]+resource[4]}if(bewit.exp*1e3<=now){return callback(Boom.unauthorized("Access expired","Hawk"),null,bewit)}credentialsFunc(bewit.id,function(err,credentials){if(err){return callback(err,credentials||null,bewit.ext)}if(!credentials){return callback(Boom.unauthorized("Unknown credentials","Hawk"),null,bewit)}if(!credentials.key||!credentials.algorithm){return callback(Boom.internal("Invalid credentials"),credentials,bewit)}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return callback(Boom.internal("Unknown algorithm"),credentials,bewit)}var mac=Crypto.calculateMac("bewit",credentials,{ts:bewit.exp,nonce:"",method:"GET",resource:url,host:request.host,port:request.port,ext:bewit.ext});if(!Cryptiles.fixedTimeComparison(mac,bewit.mac)){return callback(Boom.unauthorized("Bad mac","Hawk"),credentials,bewit)}return callback(null,credentials,bewit)})};exports.authenticateMessage=function(host,port,message,authorization,credentialsFunc,options,callback){callback=Utils.nextTick(callback);options.nonceFunc=options.nonceFunc||function(nonce,ts,nonceCallback){return nonceCallback()};options.timestampSkewSec=options.timestampSkewSec||60;var now=Utils.now()+(options.localtimeOffsetMsec||0);if(!authorization.id||!authorization.ts||!authorization.nonce||!authorization.hash||!authorization.mac){return callback(Boom.badRequest("Invalid authorization"))}credentialsFunc(authorization.id,function(err,credentials){if(err){return callback(err,credentials||null)}if(!credentials){return callback(Boom.unauthorized("Unknown credentials","Hawk"))}if(!credentials.key||!credentials.algorithm){return callback(Boom.internal("Invalid credentials"),credentials)}if(Crypto.algorithms.indexOf(credentials.algorithm)===-1){return callback(Boom.internal("Unknown algorithm"),credentials)}var artifacts={ts:authorization.ts,nonce:authorization.nonce,host:host,port:port,hash:authorization.hash};var mac=Crypto.calculateMac("message",credentials,artifacts);if(!Cryptiles.fixedTimeComparison(mac,authorization.mac)){return callback(Boom.unauthorized("Bad mac","Hawk"),credentials)}var hash=Crypto.calculatePayloadHash(message,credentials.algorithm);if(!Cryptiles.fixedTimeComparison(hash,authorization.hash)){return callback(Boom.unauthorized("Bad message hash","Hawk"),credentials)}options.nonceFunc(authorization.nonce,authorization.ts,function(err){if(err){return callback(Boom.unauthorized("Invalid nonce","Hawk"),credentials)}if(Math.abs(authorization.ts*1e3-now)>options.timestampSkewSec*1e3){return callback(Boom.unauthorized("Stale timestamp"),credentials)}return callback(null,credentials)})})}},{"./crypto":90,"./utils":93,boom:94,cryptiles:96,hoek:98}],93:[function(require,module,exports){(function(__dirname){var Hoek=require("hoek");var Sntp=require("sntp");var Boom=require("boom");var internals={};internals.import=function(){for(var i in Hoek){if(Hoek.hasOwnProperty(i)){exports[i]=Hoek[i]}}};internals.import();exports.version=function(){return exports.loadPackage(__dirname+"/..").version};exports.parseHost=function(req,hostHeaderName){hostHeaderName=hostHeaderName?hostHeaderName.toLowerCase():"host";var hostHeader=req.headers[hostHeaderName];if(!hostHeader){return null}var hostHeaderRegex;if(hostHeader[0]==="["){hostHeaderRegex=/^(?:(?:\r\n)?\s)*(\[[^\]]+\])(?::(\d+))?(?:(?:\r\n)?\s)*$/}else{hostHeaderRegex=/^(?:(?:\r\n)?\s)*([^:]+)(?::(\d+))?(?:(?:\r\n)?\s)*$/}var hostParts=hostHeader.match(hostHeaderRegex);if(!hostParts||hostParts.length!==3||!hostParts[1]){return null}return{name:hostParts[1],port:hostParts[2]?hostParts[2]:req.connection&&req.connection.encrypted?443:80}};exports.parseContentType=function(header){if(!header){return""}return header.split(";")[0].trim().toLowerCase()};exports.parseRequest=function(req,options){if(!req.headers){return req}if(!options.host||!options.port){var host=exports.parseHost(req,options.hostHeaderName);if(!host){return new Error("Invalid Host header")}}var request={method:req.method,url:req.url,host:options.host||host.name,port:options.port||host.port,authorization:req.headers.authorization,contentType:req.headers["content-type"]||""};return request};exports.now=function(){return Sntp.now()};exports.parseAuthorizationHeader=function(header,keys){keys=keys||["id","ts","nonce","hash","ext","mac","app","dlg"];if(!header){return Boom.unauthorized(null,"Hawk")}var headerParts=header.match(/^(\w+)(?:\s+(.*))?$/);if(!headerParts){return Boom.badRequest("Invalid header syntax")}var scheme=headerParts[1];if(scheme.toLowerCase()!=="hawk"){return Boom.unauthorized(null,"Hawk")}var attributesString=headerParts[2];if(!attributesString){return Boom.badRequest("Invalid header syntax")}var attributes={};var errorMessage="";var verify=attributesString.replace(/(\w+)="([^"\\]*)"\s*(?:,\s*|$)/g,function($0,$1,$2){if(keys.indexOf($1)===-1){errorMessage="Unknown attribute: "+$1;return}if($2.match(/^[ \w\!#\$%&'\(\)\*\+,\-\.\/\:;<\=>\?@\[\]\^`\{\|\}~]+$/)===null){errorMessage="Bad attribute value: "+$1;return}if(attributes.hasOwnProperty($1)){errorMessage="Duplicate attribute: "+$1;return}attributes[$1]=$2;return""});if(verify!==""){return Boom.badRequest(errorMessage||"Bad header format")}return attributes};exports.unauthorized=function(message){return Boom.unauthorized(message,"Hawk")}}).call(this,"/node_modules/request/node_modules/hawk/lib")},{boom:94,hoek:98,sntp:101}],94:[function(require,module,exports){arguments[4][88][0].apply(exports,arguments)},{"./lib":95}],95:[function(require,module,exports){var Http=require("http");var NodeUtil=require("util");var Hoek=require("hoek");var internals={};exports=module.exports=internals.Boom=function(){var self=this;Hoek.assert(this.constructor===internals.Boom,"Error must be instantiated using new");Error.call(this);this.isBoom=true;this.response={code:0,payload:{},headers:{}};if(arguments[0]instanceof Error){var error=arguments[0];this.data=error;this.response.code=error.code||500;if(error.message){this.message=error.message}}else{var code=arguments[0];var message=arguments[1];Hoek.assert(!isNaN(parseFloat(code))&&isFinite(code)&&code>=400,"First argument must be a number (400+)");this.response.code=code;if(message){this.message=message}}this.reformat();return this};NodeUtil.inherits(internals.Boom,Error);internals.Boom.prototype.reformat=function(){this.response.payload.code=this.response.code;this.response.payload.error=Http.STATUS_CODES[this.response.code]||"Unknown";if(this.message){this.response.payload.message=Hoek.escapeHtml(this.message)}};internals.Boom.badRequest=function(message){return new internals.Boom(400,message)};internals.Boom.unauthorized=function(message,scheme,attributes){var err=new internals.Boom(401,message);if(!scheme){return err}var wwwAuthenticate="";if(typeof scheme==="string"){wwwAuthenticate=scheme;if(attributes){var names=Object.keys(attributes);for(var i=0,il=names.length;i<il;++i){if(i){wwwAuthenticate+=","}var value=attributes[names[i]];if(value===null||value===undefined){value=""}wwwAuthenticate+=" "+names[i]+'="'+Hoek.escapeHeaderAttribute(value.toString())+'"'}}if(message){if(attributes){wwwAuthenticate+=","}wwwAuthenticate+=' error="'+Hoek.escapeHeaderAttribute(message)+'"'}else{err.isMissing=true}}else{var wwwArray=scheme;for(var i=0,il=wwwArray.length;i<il;++i){if(i){wwwAuthenticate+=", "}wwwAuthenticate+=wwwArray[i]}}err.response.headers["WWW-Authenticate"]=wwwAuthenticate;return err};internals.Boom.clientTimeout=function(message){return new internals.Boom(408,message)};internals.Boom.serverTimeout=function(message){return new internals.Boom(503,message)};internals.Boom.forbidden=function(message){return new internals.Boom(403,message)};internals.Boom.notFound=function(message){return new internals.Boom(404,message)};internals.Boom.internal=function(message,data){var err=new internals.Boom(500,message);if(data&&data.stack){err.trace=data.stack.split("\n");err.outterTrace=Hoek.displayStack(1)}else{err.trace=Hoek.displayStack(1)}err.data=data;err.response.payload.message="An internal server error occurred";return err};internals.Boom.passThrough=function(code,payload,contentType,headers){var err=new internals.Boom(500,"Pass-through");err.data={code:code,payload:payload,type:contentType};err.response.code=code;err.response.type=contentType;err.response.headers=headers;err.response.payload=payload;return err}},{hoek:98,http:35,util:64}],96:[function(require,module,exports){arguments[4][88][0].apply(exports,arguments)},{"./lib":97}],97:[function(require,module,exports){var Crypto=require("crypto");var Boom=require("boom");var internals={};exports.randomString=function(size){var buffer=exports.randomBits((size+1)*6);if(buffer instanceof Error){return buffer}var string=buffer.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"");return string.slice(0,size)};exports.randomBits=function(bits){if(!bits||bits<0){return Boom.internal("Invalid random bits count")}var bytes=Math.ceil(bits/8);try{return Crypto.randomBytes(bytes)}catch(err){return Boom.internal("Failed generating random bits: "+err.message)}};exports.fixedTimeComparison=function(a,b){if(typeof a!=="string"||typeof b!=="string"){return false}var mismatch=a.length===b.length?0:1;if(mismatch){b=a}for(var i=0,il=a.length;i<il;++i){var ac=a.charCodeAt(i);var bc=b.charCodeAt(i);mismatch+=ac===bc?0:1}return mismatch===0}},{boom:94,crypto:24}],98:[function(require,module,exports){arguments[4][88][0].apply(exports,arguments)},{"./lib":100}],99:[function(require,module,exports){(function(Buffer){var internals={};exports.escapeJavaScript=function(input){if(!input){return""}var escaped="";for(var i=0,il=input.length;i<il;++i){var charCode=input.charCodeAt(i);if(internals.isSafe(charCode)){escaped+=input[i]}else{escaped+=internals.escapeJavaScriptChar(charCode)}}return escaped};exports.escapeHtml=function(input){if(!input){return""}var escaped="";for(var i=0,il=input.length;i<il;++i){var charCode=input.charCodeAt(i);if(internals.isSafe(charCode)){escaped+=input[i]}else{escaped+=internals.escapeHtmlChar(charCode)}}return escaped};internals.escapeJavaScriptChar=function(charCode){if(charCode>=256){return"\\u"+internals.padLeft(""+charCode,4)}var hexValue=new Buffer(String.fromCharCode(charCode),"ascii").toString("hex");return"\\x"+internals.padLeft(hexValue,2)};internals.escapeHtmlChar=function(charCode){var namedEscape=internals.namedHtml[charCode];if(typeof namedEscape!=="undefined"){return namedEscape}if(charCode>=256){return"&#"+charCode+";"}var hexValue=new Buffer(String.fromCharCode(charCode),"ascii").toString("hex");return"&#x"+internals.padLeft(hexValue,2)+";"};internals.padLeft=function(str,len){while(str.length<len){str="0"+str}return str};internals.isSafe=function(charCode){return typeof internals.safeCharCodes[charCode]!=="undefined"};internals.namedHtml={38:"&amp;",60:"&lt;",62:"&gt;",34:"&quot;",160:"&nbsp;",162:"&cent;",163:"&pound;",164:"&curren;",169:"&copy;",174:"&reg;"};internals.safeCharCodes=function(){var safe={};for(var i=32;i<123;++i){if(i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||i===32||i===46||i===44||i===45||i===58||i===95){safe[i]=null}}return safe}()}).call(this,require("buffer").Buffer)},{buffer:18}],100:[function(require,module,exports){(function(process,Buffer){var Fs=require("fs");var Escape=require("./escape");var internals={};exports.clone=function(obj,seen){if(typeof obj!=="object"||obj===null){return obj}seen=seen||{orig:[],copy:[]};var lookup=seen.orig.indexOf(obj);if(lookup!==-1){return seen.copy[lookup]}var newObj=obj instanceof Array?[]:{};seen.orig.push(obj);seen.copy.push(newObj);for(var i in obj){if(obj.hasOwnProperty(i)){if(obj[i]instanceof Buffer){newObj[i]=new Buffer(obj[i])}else if(obj[i]instanceof Date){newObj[i]=new Date(obj[i].getTime())}else if(obj[i]instanceof RegExp){var flags=""+(obj[i].global?"g":"")+(obj[i].ignoreCase?"i":"")+(obj[i].multiline?"m":"");newObj[i]=new RegExp(obj[i].source,flags)}else{newObj[i]=exports.clone(obj[i],seen)}}}return newObj};exports.merge=function(target,source,isNullOverride,isMergeArrays){exports.assert(target&&typeof target=="object","Invalid target value: must be an object");exports.assert(source===null||source===undefined||typeof source==="object","Invalid source value: must be null, undefined, or an object");if(!source){return target}if(source instanceof Array){exports.assert(target instanceof Array,"Cannot merge array onto an object");if(isMergeArrays===false){target.length=0}for(var i=0,il=source.length;i<il;++i){target.push(source[i])}return target}var keys=Object.keys(source);for(var k=0,kl=keys.length;k<kl;++k){var key=keys[k];var value=source[key];if(value&&typeof value==="object"){if(!target[key]||typeof target[key]!=="object"){target[key]=exports.clone(value)}else{exports.merge(target[key],source[key],isNullOverride,isMergeArrays)}}else{if(value!==null&&value!==undefined){target[key]=value}else if(isNullOverride!==false){target[key]=value}}}return target};exports.applyToDefaults=function(defaults,options){exports.assert(defaults&&typeof defaults=="object","Invalid defaults value: must be an object");exports.assert(!options||options===true||typeof options==="object","Invalid options value: must be true, falsy or an object");if(!options){return null}var copy=exports.clone(defaults);if(options===true){return copy}return exports.merge(copy,options,false,false)};exports.unique=function(array,key){var index={};var result=[];for(var i=0,il=array.length;i<il;++i){var id=key?array[i][key]:array[i];if(index[id]!==true){result.push(array[i]);index[id]=true}}return result};exports.mapToObject=function(array,key){if(!array){return null}var obj={};for(var i=0,il=array.length;i<il;++i){if(key){if(array[i][key]){obj[array[i][key]]=true}}else{obj[array[i]]=true}}return obj};exports.intersect=function(array1,array2,justFirst){if(!array1||!array2){return[]}var common=[];var hash=array1 instanceof Array?exports.mapToObject(array1):array1;var found={};for(var i=0,il=array2.length;i<il;++i){if(hash[array2[i]]&&!found[array2[i]]){if(justFirst){return array2[i]}common.push(array2[i]);found[array2[i]]=true}}return justFirst?null:common};exports.matchKeys=function(obj,keys){var matched=[];for(var i=0,il=keys.length;i<il;++i){if(obj.hasOwnProperty(keys[i])){matched.push(keys[i])}}return matched};exports.flatten=function(array,target){var result=target||[];for(var i=0,il=array.length;i<il;++i){if(Array.isArray(array[i])){exports.flatten(array[i],result)}else{result.push(array[i])}}return result};exports.removeKeys=function(object,keys){for(var i=0,il=keys.length;i<il;i++){delete object[keys[i]]}};exports.reach=function(obj,chain){var path=chain.split(".");var ref=obj;for(var i=0,il=path.length;i<il;++i){if(ref){ref=ref[path[i]]}}return ref};exports.inheritAsync=function(self,obj,keys){keys=keys||null;for(var i in obj){if(obj.hasOwnProperty(i)){if(keys instanceof Array&&keys.indexOf(i)<0){continue}self.prototype[i]=function(fn){return function(next){var result=null;try{result=fn()}catch(err){return next(err)}return next(null,result)}}(obj[i])}}};exports.formatStack=function(stack){var trace=[];for(var i=0,il=stack.length;i<il;++i){var item=stack[i];trace.push([item.getFileName(),item.getLineNumber(),item.getColumnNumber(),item.getFunctionName(),item.isConstructor()])}return trace};exports.formatTrace=function(trace){var display=[];for(var i=0,il=trace.length;i<il;++i){var row=trace[i];display.push((row[4]?"new ":"")+row[3]+" ("+row[0]+":"+row[1]+":"+row[2]+")")}return display};exports.callStack=function(slice){var v8=Error.prepareStackTrace;Error.prepareStackTrace=function(err,stack){return stack};var capture={};Error.captureStackTrace(capture,arguments.callee);var stack=capture.stack;Error.prepareStackTrace=v8;var trace=exports.formatStack(stack);if(slice){return trace.slice(slice)}return trace};exports.displayStack=function(slice){var trace=exports.callStack(slice===undefined?1:slice+1);return exports.formatTrace(trace)};exports.abortThrow=false;exports.abort=function(message,hideStack){if(process.env.NODE_ENV==="test"||exports.abortThrow===true){throw new Error(message||"Unknown error")}var stack="";if(!hideStack){stack=exports.displayStack(1).join("\n ")}console.log("ABORT: "+message+"\n "+stack);process.exit(1)};exports.assert=function(condition){if(condition){return}var msgs=Array.prototype.slice.call(arguments,1);msgs=msgs.map(function(msg){return typeof msg==="string"?msg:msg instanceof Error?msg.message:JSON.stringify(msg)});throw new Error(msgs.join(" ")||"Unknown error")};exports.loadDirModules=function(path,excludeFiles,target){var exclude={};for(var i=0,il=excludeFiles.length;i<il;++i){exclude[excludeFiles[i]+".js"]=true}var files=Fs.readdirSync(path);for(i=0,il=files.length;i<il;++i){var filename=files[i];if(/\.js$/.test(filename)&&!exclude[filename]){var name=filename.substr(0,filename.lastIndexOf("."));var capName=name.charAt(0).toUpperCase()+name.substr(1).toLowerCase();if(typeof target!=="function"){target[capName]=require(path+"/"+name)}else{target(path+"/"+name,name,capName)}}}};exports.rename=function(obj,from,to){obj[to]=obj[from];delete obj[from]};exports.Timer=function(){this.reset()};exports.Timer.prototype.reset=function(){this.ts=Date.now()};exports.Timer.prototype.elapsed=function(){return Date.now()-this.ts};exports.loadPackage=function(dir){var result={};var filepath=(dir||process.env.PWD)+"/package.json";if(Fs.existsSync(filepath)){try{result=JSON.parse(Fs.readFileSync(filepath))}catch(e){}}return result};exports.escapeRegex=function(string){return string.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")};exports.toss=function(condition){var message=arguments.length===3?arguments[1]:"";var next=arguments.length===3?arguments[2]:arguments[1];var err=message instanceof Error?message:message?new Error(message):condition instanceof Error?condition:new Error;if(condition instanceof Error||!condition){return next(err)}};exports.base64urlEncode=function(value){return new Buffer(value,"binary").toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};exports.base64urlDecode=function(encoded){if(encoded&&!encoded.match(/^[\w\-]*$/)){return new Error("Invalid character")}try{return new Buffer(encoded.replace(/-/g,"+").replace(/:/g,"/"),"base64").toString("binary")}catch(err){return err}};exports.escapeHeaderAttribute=function(attribute){exports.assert(attribute.match(/^[ \w\!#\$%&'\(\)\*\+,\-\.\/\:;<\=>\?@\[\]\^`\{\|\}~\"\\]*$/),"Bad attribute value ("+attribute+")");return attribute.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')};exports.escapeHtml=function(string){return Escape.escapeHtml(string)};exports.escapeJavaScript=function(string){return Escape.escapeJavaScript(string)};exports.consoleFunc=console.log;exports.printEvent=function(event){var pad=function(value){return(value<10?"0":"")+value};var now=new Date(event.timestamp);var timestring=(now.getYear()-100).toString()+pad(now.getMonth()+1)+pad(now.getDate())+"/"+pad(now.getHours())+pad(now.getMinutes())+pad(now.getSeconds())+"."+now.getMilliseconds();var data=event.data;if(typeof event.data!=="string"){try{data=JSON.stringify(event.data)}catch(e){data="JSON Error: "+e.message}}var output=timestring+", "+event.tags[0]+", "+data;exports.consoleFunc(output)};exports.nextTick=function(callback){return function(){var args=arguments;process.nextTick(function(){callback.apply(null,args)})}}}).call(this,require("_process"),require("buffer").Buffer)},{"./escape":99,_process:43,buffer:18,fs:1}],101:[function(require,module,exports){arguments[4][88][0].apply(exports,arguments)},{"./lib":102}],102:[function(require,module,exports){(function(process,Buffer){var Dgram=require("dgram");var Dns=require("dns");var Hoek=require("hoek");var internals={};exports.time=function(options,callback){if(arguments.length!==2){callback=arguments[0];options={}}var settings=Hoek.clone(options);settings.host=settings.host||"pool.ntp.org";settings.port=settings.port||123;settings.resolveReference=settings.resolveReference||false;var timeoutId=0;var sent=0;var isFinished=false;var finish=function(err,result){if(timeoutId){clearTimeout(timeoutId);timeoutId=0}if(!isFinished){isFinished=true;socket.removeAllListeners();socket.close();return callback(err,result)}};var socket=Dgram.createSocket("udp4");socket.once("error",function(err){return finish(err)});socket.on("message",function(buffer,rinfo){var received=Date.now();var message=new internals.NtpMessage(buffer);if(!message.isValid){return finish(new Error("Invalid server response"),message)}if(message.originateTimestamp!==sent){return finish(new Error("Wrong originate timestamp"),message)}var T1=message.originateTimestamp;var T2=message.receiveTimestamp;var T3=message.transmitTimestamp;var T4=received;message.d=T4-T1-(T3-T2);message.t=(T2-T1+(T3-T4))/2;message.receivedLocally=received;if(!settings.resolveReference||message.stratum!=="secondary"){return finish(null,message)}Dns.reverse(message.referenceId,function(err,domains){if(!err){message.referenceHost=domains[0]}return finish(null,message)})});if(settings.timeout){timeoutId=setTimeout(function(){timeoutId=0;return finish(new Error("Timeout"))},settings.timeout)}var message=new Buffer(48);for(var i=0;i<48;i++){message[i]=0}message[0]=(0<<6)+(4<<3)+(3<<0);sent=Date.now();internals.fromMsecs(sent,message,40);socket.send(message,0,message.length,settings.port,settings.host,function(err,bytes){if(err||bytes!==48){return finish(err||new Error("Could not send entire message"))}})};internals.NtpMessage=function(buffer){this.isValid=false;if(buffer.length!==48){return}var li=buffer[0]>>6;switch(li){case 0:this.leapIndicator="no-warning";break;case 1:this.leapIndicator="last-minute-61";break;case 2:this.leapIndicator="last-minute-59";break;case 3:this.leapIndicator="alarm";break}var vn=(buffer[0]&56)>>3;this.version=vn;var mode=buffer[0]&7;switch(mode){case 1:this.mode="symmetric-active";break;case 2:this.mode="symmetric-passive";break;case 3:this.mode="client";break;case 4:this.mode="server";break;case 5:this.mode="broadcast";break;case 0:case 6:case 7:this.mode="reserved";
break}var stratum=buffer[1];if(stratum===0){this.stratum="death"}else if(stratum===1){this.stratum="primary"}else if(stratum<=15){this.stratum="secondary"}else{this.stratum="reserved"}this.pollInterval=Math.round(Math.pow(2,buffer[2]))*1e3;this.precision=Math.pow(2,buffer[3])*1e3;var rootDelay=256*(256*(256*buffer[4]+buffer[5])+buffer[6])+buffer[7];this.rootDelay=1e3*(rootDelay/65536);this.rootDispersion=((buffer[8]<<8)+buffer[9]+((buffer[10]<<8)+buffer[11])/Math.pow(2,16))*1e3;this.referenceId="";switch(this.stratum){case"death":case"primary":this.referenceId=String.fromCharCode(buffer[12])+String.fromCharCode(buffer[13])+String.fromCharCode(buffer[14])+String.fromCharCode(buffer[15]);break;case"secondary":this.referenceId=""+buffer[12]+"."+buffer[13]+"."+buffer[14]+"."+buffer[15];break}this.referenceTimestamp=internals.toMsecs(buffer,16);this.originateTimestamp=internals.toMsecs(buffer,24);this.receiveTimestamp=internals.toMsecs(buffer,32);this.transmitTimestamp=internals.toMsecs(buffer,40);if(this.version===4&&this.stratum!=="reserved"&&this.mode==="server"&&this.originateTimestamp&&this.receiveTimestamp&&this.transmitTimestamp){this.isValid=true}return this};internals.toMsecs=function(buffer,offset){var seconds=0;var fraction=0;for(var i=0;i<4;++i){seconds=seconds*256+buffer[offset+i]}for(i=4;i<8;++i){fraction=fraction*256+buffer[offset+i]}return(seconds-2208988800+fraction/Math.pow(2,32))*1e3};internals.fromMsecs=function(ts,buffer,offset){var seconds=Math.floor(ts/1e3)+2208988800;var fraction=Math.round(ts%1e3/1e3*Math.pow(2,32));buffer[offset+0]=(seconds&4278190080)>>24;buffer[offset+1]=(seconds&16711680)>>16;buffer[offset+2]=(seconds&65280)>>8;buffer[offset+3]=seconds&255;buffer[offset+4]=(fraction&4278190080)>>24;buffer[offset+5]=(fraction&16711680)>>16;buffer[offset+6]=(fraction&65280)>>8;buffer[offset+7]=fraction&255};internals.last={offset:0,expires:0,host:"",port:0};exports.offset=function(options,callback){if(arguments.length!==2){callback=arguments[0];options={}}var now=Date.now();var clockSyncRefresh=options.clockSyncRefresh||24*60*60*1e3;if(internals.last.offset&&internals.last.host===options.host&&internals.last.port===options.port&&now<internals.last.expires){process.nextTick(function(){callback(null,internals.last.offset)});return}exports.time(options,function(err,time){if(err){return callback(err,0)}internals.last={offset:Math.round(time.t),expires:now+clockSyncRefresh,host:options.host,port:options.port};return callback(null,internals.last.offset)})};internals.now={intervalId:0};exports.start=function(options,callback){if(arguments.length!==2){callback=arguments[0];options={}}if(internals.now.intervalId){process.nextTick(function(){callback()});return}exports.offset(options,function(err,offset){internals.now.intervalId=setInterval(function(){exports.offset(options,function(){})},options.clockSyncRefresh||24*60*60*1e3);return callback()})};exports.stop=function(){if(!internals.now.intervalId){return}clearInterval(internals.now.intervalId);internals.now.intervalId=0};exports.isLive=function(){return!!internals.now.intervalId};exports.now=function(){var now=Date.now();if(!exports.isLive()||now>=internals.last.expires){return now}return now+internals.last.offset}}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,buffer:18,dgram:1,dns:1,hoek:98}],103:[function(require,module,exports){var parser=require("./parser");var signer=require("./signer");var verify=require("./verify");var util=require("./util");module.exports={parse:parser.parseRequest,parseRequest:parser.parseRequest,sign:signer.signRequest,signRequest:signer.signRequest,sshKeyToPEM:util.sshKeyToPEM,sshKeyFingerprint:util.fingerprint,verify:verify.verifySignature,verifySignature:verify.verifySignature}},{"./parser":104,"./signer":105,"./util":106,"./verify":107}],104:[function(require,module,exports){var assert=require("assert-plus");var util=require("util");var Algorithms={"rsa-sha1":true,"rsa-sha256":true,"rsa-sha512":true,"dsa-sha1":true,"hmac-sha1":true,"hmac-sha256":true,"hmac-sha512":true};var State={New:0,Params:1};var ParamsState={Name:0,Quote:1,Value:2,Comma:3};function HttpSignatureError(message,caller){if(Error.captureStackTrace)Error.captureStackTrace(this,caller||HttpSignatureError);this.message=message;this.name=caller.name}util.inherits(HttpSignatureError,Error);function ExpiredRequestError(message){HttpSignatureError.call(this,message,ExpiredRequestError)}util.inherits(ExpiredRequestError,HttpSignatureError);function InvalidHeaderError(message){HttpSignatureError.call(this,message,InvalidHeaderError)}util.inherits(InvalidHeaderError,HttpSignatureError);function InvalidParamsError(message){HttpSignatureError.call(this,message,InvalidParamsError)}util.inherits(InvalidParamsError,HttpSignatureError);function MissingHeaderError(message){HttpSignatureError.call(this,message,MissingHeaderError)}util.inherits(MissingHeaderError,HttpSignatureError);module.exports={parseRequest:function parseRequest(request,options){assert.object(request,"request");assert.object(request.headers,"request.headers");if(options===undefined){options={}}if(options.headers===undefined){options.headers=[request.headers["x-date"]?"x-date":"date"]}assert.object(options,"options");assert.arrayOfString(options.headers,"options.headers");assert.optionalNumber(options.clockSkew,"options.clockSkew");if(!request.headers.authorization)throw new MissingHeaderError("no authorization header present in "+"the request");options.clockSkew=options.clockSkew||300;var i=0;var state=State.New;var substate=ParamsState.Name;var tmpName="";var tmpValue="";var parsed={scheme:"",params:{},signingString:"",get algorithm(){return this.params.algorithm.toUpperCase()},get keyId(){return this.params.keyId}};var authz=request.headers.authorization;for(i=0;i<authz.length;i++){var c=authz.charAt(i);switch(Number(state)){case State.New:if(c!==" ")parsed.scheme+=c;else state=State.Params;break;case State.Params:switch(Number(substate)){case ParamsState.Name:var code=c.charCodeAt(0);if(code>=65&&code<=90||code>=97&&code<=122){tmpName+=c}else if(c==="="){if(tmpName.length===0)throw new InvalidHeaderError("bad param format");substate=ParamsState.Quote}else{throw new InvalidHeaderError("bad param format")}break;case ParamsState.Quote:if(c==='"'){tmpValue="";substate=ParamsState.Value}else{throw new InvalidHeaderError("bad param format")}break;case ParamsState.Value:if(c==='"'){parsed.params[tmpName]=tmpValue;substate=ParamsState.Comma}else{tmpValue+=c}break;case ParamsState.Comma:if(c===","){tmpName="";substate=ParamsState.Name}else{throw new InvalidHeaderError("bad param format")}break;default:throw new Error("Invalid substate")}break;default:throw new Error("Invalid substate")}}if(!parsed.params.headers||parsed.params.headers===""){if(request.headers["x-date"]){parsed.params.headers=["x-date"]}else{parsed.params.headers=["date"]}}else{parsed.params.headers=parsed.params.headers.split(" ")}if(!parsed.scheme||parsed.scheme!=="Signature")throw new InvalidHeaderError('scheme was not "Signature"');if(!parsed.params.keyId)throw new InvalidHeaderError("keyId was not specified");if(!parsed.params.algorithm)throw new InvalidHeaderError("algorithm was not specified");if(!parsed.params.signature)throw new InvalidHeaderError("signature was not specified");parsed.params.algorithm=parsed.params.algorithm.toLowerCase();if(!Algorithms[parsed.params.algorithm])throw new InvalidParamsError(parsed.params.algorithm+" is not supported");for(i=0;i<parsed.params.headers.length;i++){var h=parsed.params.headers[i].toLowerCase();parsed.params.headers[i]=h;if(h!=="request-line"){var value=request.headers[h];if(!value)throw new MissingHeaderError(h+" was not in the request");parsed.signingString+=h+": "+value}else{parsed.signingString+=request.method+" "+request.url+" HTTP/"+request.httpVersion}if(i+1<parsed.params.headers.length)parsed.signingString+="\n"}var date;if(request.headers.date||request.headers["x-date"]){if(request.headers["x-date"]){date=new Date(request.headers["x-date"])}else{date=new Date(request.headers.date)}var now=new Date;var skew=Math.abs(now.getTime()-date.getTime());if(skew>options.clockSkew*1e3){throw new ExpiredRequestError("clock skew of "+skew/1e3+"s was greater than "+options.clockSkew+"s")}}options.headers.forEach(function(hdr){if(parsed.params.headers.indexOf(hdr)<0)throw new MissingHeaderError(hdr+" was not a signed header")});if(options.algorithms){if(options.algorithms.indexOf(parsed.params.algorithm)===-1)throw new InvalidParamsError(parsed.params.algorithm+" is not a supported algorithm")}return parsed}}},{"assert-plus":114,util:64}],105:[function(require,module,exports){var assert=require("assert-plus");var crypto=require("crypto");var http=require("http");var sprintf=require("util").format;var Algorithms={"rsa-sha1":true,"rsa-sha256":true,"rsa-sha512":true,"dsa-sha1":true,"hmac-sha1":true,"hmac-sha256":true,"hmac-sha512":true};var Authorization='Signature keyId="%s",algorithm="%s",headers="%s",signature="%s"';function MissingHeaderError(message){this.name="MissingHeaderError";this.message=message;this.stack=(new Error).stack}MissingHeaderError.prototype=new Error;function InvalidAlgorithmError(message){this.name="InvalidAlgorithmError";this.message=message;this.stack=(new Error).stack}InvalidAlgorithmError.prototype=new Error;function _pad(val){if(parseInt(val,10)<10){val="0"+val}return val}function _rfc1123(){var date=new Date;var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return days[date.getUTCDay()]+", "+_pad(date.getUTCDate())+" "+months[date.getUTCMonth()]+" "+date.getUTCFullYear()+" "+_pad(date.getUTCHours())+":"+_pad(date.getUTCMinutes())+":"+_pad(date.getUTCSeconds())+" GMT"}module.exports={signRequest:function signRequest(request,options){assert.object(request,"request");assert.object(options,"options");assert.optionalString(options.algorithm,"options.algorithm");assert.string(options.keyId,"options.keyId");assert.optionalArrayOfString(options.headers,"options.headers");assert.optionalString(options.httpVersion,"options.httpVersion");if(!request.getHeader("Date"))request.setHeader("Date",_rfc1123());if(!options.headers)options.headers=["date"];if(!options.algorithm)options.algorithm="rsa-sha256";if(!options.httpVersion)options.httpVersion="1.1";options.algorithm=options.algorithm.toLowerCase();if(!Algorithms[options.algorithm])throw new InvalidAlgorithmError(options.algorithm+" is not supported");var i;var stringToSign="";for(i=0;i<options.headers.length;i++){if(typeof options.headers[i]!=="string")throw new TypeError("options.headers must be an array of Strings");var h=options.headers[i].toLowerCase();if(h!=="request-line"){var value=request.getHeader(h);if(!value){throw new MissingHeaderError(h+" was not in the request")}stringToSign+=h+": "+value}else{value=stringToSign+=request.method+" "+request.path+" HTTP/"+options.httpVersion}if(i+1<options.headers.length)stringToSign+="\n"}var alg=options.algorithm.match(/(hmac|rsa)-(\w+)/);var signature;if(alg[1]==="hmac"){var hmac=crypto.createHmac(alg[2].toUpperCase(),options.key);hmac.update(stringToSign);signature=hmac.digest("base64")}else{var signer=crypto.createSign(options.algorithm.toUpperCase());signer.update(stringToSign);signature=signer.sign(options.key,"base64")}request.setHeader("Authorization",sprintf(Authorization,options.keyId,options.algorithm,options.headers.join(" "),signature));return true}}},{"assert-plus":114,crypto:24,http:35,util:64}],106:[function(require,module,exports){(function(Buffer){var assert=require("assert-plus");var crypto=require("crypto");var asn1=require("asn1");var ctype=require("ctype");function readNext(buffer,offset){var len=ctype.ruint32(buffer,"big",offset);offset+=4;var newOffset=offset+len;return{data:buffer.slice(offset,newOffset),offset:newOffset}}function writeInt(writer,buffer){writer.writeByte(2);writer.writeLength(buffer.length);for(var i=0;i<buffer.length;i++)writer.writeByte(buffer[i]);return writer}function rsaToPEM(key){var buffer;var der;var exponent;var i;var modulus;var newKey="";var offset=0;var type;var tmp;try{buffer=new Buffer(key.split(" ")[1],"base64");tmp=readNext(buffer,offset);type=tmp.data.toString();offset=tmp.offset;if(type!=="ssh-rsa")throw new Error("Invalid ssh key type: "+type);tmp=readNext(buffer,offset);exponent=tmp.data;offset=tmp.offset;tmp=readNext(buffer,offset);modulus=tmp.data}catch(e){throw new Error("Invalid ssh key: "+key)}der=new asn1.BerWriter;der.startSequence();der.startSequence();der.writeOID("1.2.840.113549.1.1.1");der.writeNull();der.endSequence();der.startSequence(3);der.writeByte(0);der.startSequence();writeInt(der,modulus);writeInt(der,exponent);der.endSequence();der.endSequence();der.endSequence();tmp=der.buffer.toString("base64");for(i=0;i<tmp.length;i++){if(i%64===0)newKey+="\n";newKey+=tmp.charAt(i)}if(!/\\n$/.test(newKey))newKey+="\n";return"-----BEGIN PUBLIC KEY-----"+newKey+"-----END PUBLIC KEY-----\n"}function dsaToPEM(key){var buffer;var offset=0;var tmp;var der;var newKey="";var type;var p;var q;var g;var y;try{buffer=new Buffer(key.split(" ")[1],"base64");tmp=readNext(buffer,offset);type=tmp.data.toString();offset=tmp.offset;if(!/^ssh-ds[as].*/.test(type))throw new Error("Invalid ssh key type: "+type);tmp=readNext(buffer,offset);p=tmp.data;offset=tmp.offset;tmp=readNext(buffer,offset);q=tmp.data;offset=tmp.offset;tmp=readNext(buffer,offset);g=tmp.data;offset=tmp.offset;tmp=readNext(buffer,offset);y=tmp.data}catch(e){console.log(e.stack);throw new Error("Invalid ssh key: "+key)}der=new asn1.BerWriter;der.startSequence();der.startSequence();der.writeOID("1.2.840.10040.4.1");der.startSequence();writeInt(der,p);writeInt(der,q);writeInt(der,g);der.endSequence();der.endSequence();der.startSequence(3);der.writeByte(0);writeInt(der,y);der.endSequence();der.endSequence();tmp=der.buffer.toString("base64");for(var i=0;i<tmp.length;i++){if(i%64===0)newKey+="\n";newKey+=tmp.charAt(i)}if(!/\\n$/.test(newKey))newKey+="\n";return"-----BEGIN PUBLIC KEY-----"+newKey+"-----END PUBLIC KEY-----\n"}module.exports={sshKeyToPEM:function sshKeyToPEM(key){assert.string(key,"ssh_key");if(/^ssh-rsa.*/.test(key))return rsaToPEM(key);if(/^ssh-ds[as].*/.test(key))return dsaToPEM(key);throw new Error("Only RSA and DSA public keys are allowed")},fingerprint:function fingerprint(key){assert.string(key,"ssh_key");var pieces=key.split(" ");if(!pieces||!pieces.length||pieces.length<2)throw new Error("invalid ssh key");var data=new Buffer(pieces[1],"base64");var hash=crypto.createHash("md5");hash.update(data);var digest=hash.digest("hex");var fp="";for(var i=0;i<digest.length;i++){if(i&&i%2===0)fp+=":";fp+=digest[i]}return fp}}}).call(this,require("buffer").Buffer)},{asn1:113,"assert-plus":114,buffer:18,crypto:24,ctype:117}],107:[function(require,module,exports){var assert=require("assert-plus");var crypto=require("crypto");module.exports={verifySignature:function verifySignature(parsedSignature,key){assert.object(parsedSignature,"parsedSignature");assert.string(key,"key");var alg=parsedSignature.algorithm.match(/(HMAC|RSA|DSA)-(\w+)/);if(!alg||alg.length!==3)throw new TypeError("parsedSignature: unsupported algorithm "+parsedSignature.algorithm);if(alg[1]==="HMAC"){var hmac=crypto.createHmac(alg[2].toUpperCase(),key);hmac.update(parsedSignature.signingString);return hmac.digest("base64")===parsedSignature.params.signature}else{var verify=crypto.createVerify(alg[0]);verify.update(parsedSignature.signingString);return verify.verify(key,parsedSignature.params.signature,"base64")}}}},{"assert-plus":114,crypto:24}],108:[function(require,module,exports){module.exports={newInvalidAsn1Error:function(msg){var e=new Error;e.name="InvalidAsn1Error";e.message=msg||"";return e}}},{}],109:[function(require,module,exports){var errors=require("./errors");var types=require("./types");var Reader=require("./reader");var Writer=require("./writer");module.exports={Reader:Reader,Writer:Writer};for(var t in types){if(types.hasOwnProperty(t))module.exports[t]=types[t]}for(var e in errors){if(errors.hasOwnProperty(e))module.exports[e]=errors[e]}},{"./errors":108,"./reader":110,"./types":111,"./writer":112}],110:[function(require,module,exports){(function(Buffer){var assert=require("assert");var ASN1=require("./types");var errors=require("./errors");var newInvalidAsn1Error=errors.newInvalidAsn1Error;function Reader(data){if(!data||!Buffer.isBuffer(data))throw new TypeError("data must be a node Buffer");this._buf=data;this._size=data.length;this._len=0;this._offset=0;var self=this;this.__defineGetter__("length",function(){return self._len});this.__defineGetter__("offset",function(){return self._offset});this.__defineGetter__("remain",function(){return self._size-self._offset});this.__defineGetter__("buffer",function(){return self._buf.slice(self._offset)})}Reader.prototype.readByte=function(peek){if(this._size-this._offset<1)return null;var b=this._buf[this._offset]&255;if(!peek)this._offset+=1;return b};Reader.prototype.peek=function(){return this.readByte(true)};Reader.prototype.readLength=function(offset){if(offset===undefined)offset=this._offset;if(offset>=this._size)return null;var lenB=this._buf[offset++]&255;if(lenB===null)return null;if((lenB&128)==128){lenB&=127;if(lenB==0)throw newInvalidAsn1Error("Indefinite length not supported");if(lenB>4)throw newInvalidAsn1Error("encoding too long");if(this._size-offset<lenB)return null;this._len=0;for(var i=0;i<lenB;i++)this._len=(this._len<<8)+(this._buf[offset++]&255)}else{this._len=lenB}return offset};Reader.prototype.readSequence=function(tag){var seq=this.peek();if(seq===null)return null;if(tag!==undefined&&tag!==seq)throw newInvalidAsn1Error("Expected 0x"+tag.toString(16)+": got 0x"+seq.toString(16));var o=this.readLength(this._offset+1);if(o===null)return null;this._offset=o;return seq};Reader.prototype.readInt=function(){return this._readTag(ASN1.Integer)};Reader.prototype.readBoolean=function(){return this._readTag(ASN1.Boolean)===0?false:true};Reader.prototype.readEnumeration=function(){return this._readTag(ASN1.Enumeration)};Reader.prototype.readString=function(tag,retbuf){if(!tag)tag=ASN1.OctetString;var b=this.peek();if(b===null)return null;if(b!==tag)throw newInvalidAsn1Error("Expected 0x"+tag.toString(16)+": got 0x"+b.toString(16));var o=this.readLength(this._offset+1);if(o===null)return null;if(this.length>this._size-o)return null;this._offset=o;if(this.length===0)return"";var str=this._buf.slice(this._offset,this._offset+this.length);this._offset+=this.length;return retbuf?str:str.toString("utf8")};Reader.prototype.readOID=function(tag){if(!tag)tag=ASN1.OID;var b=this.peek();if(b===null)return null;if(b!==tag)throw newInvalidAsn1Error("Expected 0x"+tag.toString(16)+": got 0x"+b.toString(16));var o=this.readLength(this._offset+1);if(o===null)return null;if(this.length>this._size-o)return null;this._offset=o;var values=[];var value=0;for(var i=0;i<this.length;i++){var byte=this._buf[this._offset++]&255;value<<=7;value+=byte&127;if((byte&128)==0){values.push(value);value=0}}value=values.shift();values.unshift(value%40);values.unshift(value/40>>0);return values.join(".")};Reader.prototype._readTag=function(tag){assert.ok(tag!==undefined);var b=this.peek();if(b===null)return null;if(b!==tag)throw newInvalidAsn1Error("Expected 0x"+tag.toString(16)+": got 0x"+b.toString(16));var o=this.readLength(this._offset+1);if(o===null)return null;if(this.length>4)throw newInvalidAsn1Error("Integer too long: "+this.length);if(this.length>this._size-o)return null;this._offset=o;var fb=this._buf[this._offset++];var value=0;value=fb&127;for(var i=1;i<this.length;i++){value<<=8;value|=this._buf[this._offset++]&255}if((fb&128)==128)value=-value;return value};module.exports=Reader}).call(this,require("buffer").Buffer)},{"./errors":108,"./types":111,assert:2,buffer:18}],111:[function(require,module,exports){module.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},{}],112:[function(require,module,exports){(function(Buffer){var assert=require("assert");var ASN1=require("./types");var errors=require("./errors");var newInvalidAsn1Error=errors.newInvalidAsn1Error;var DEFAULT_OPTS={size:1024,growthFactor:8};function merge(from,to){assert.ok(from);assert.equal(typeof from,"object");assert.ok(to);assert.equal(typeof to,"object");var keys=Object.getOwnPropertyNames(from);keys.forEach(function(key){if(to[key])return;var value=Object.getOwnPropertyDescriptor(from,key);Object.defineProperty(to,key,value)});return to}function Writer(options){options=merge(DEFAULT_OPTS,options||{});this._buf=new Buffer(options.size||1024);this._size=this._buf.length;this._offset=0;this._options=options;this._seq=[];var self=this;this.__defineGetter__("buffer",function(){if(self._seq.length)throw new InvalidAsn1Error(self._seq.length+" unended sequence(s)");return self._buf.slice(0,self._offset)})}Writer.prototype.writeByte=function(b){if(typeof b!=="number")throw new TypeError("argument must be a Number");this._ensure(1);this._buf[this._offset++]=b};Writer.prototype.writeInt=function(i,tag){if(typeof i!=="number")throw new TypeError("argument must be a Number");if(typeof tag!=="number")tag=ASN1.Integer;var sz=4;while(((i&4286578688)===0||(i&4286578688)===4286578688)&&sz>1){sz--;i<<=8}if(sz>4)throw new InvalidAsn1Error("BER ints cannot be > 0xffffffff");this._ensure(2+sz);this._buf[this._offset++]=tag;this._buf[this._offset++]=sz;while(sz-->0){this._buf[this._offset++]=(i&4278190080)>>24;i<<=8}};Writer.prototype.writeNull=function(){this.writeByte(ASN1.Null);this.writeByte(0)};Writer.prototype.writeEnumeration=function(i,tag){if(typeof i!=="number")throw new TypeError("argument must be a Number");if(typeof tag!=="number")tag=ASN1.Enumeration;return this.writeInt(i,tag)};Writer.prototype.writeBoolean=function(b,tag){if(typeof b!=="boolean")throw new TypeError("argument must be a Boolean");if(typeof tag!=="number")tag=ASN1.Boolean;this._ensure(3);this._buf[this._offset++]=tag;this._buf[this._offset++]=1;this._buf[this._offset++]=b?255:0};Writer.prototype.writeString=function(s,tag){if(typeof s!=="string")throw new TypeError("argument must be a string (was: "+typeof s+")");if(typeof tag!=="number")tag=ASN1.OctetString;var len=Buffer.byteLength(s);this.writeByte(tag);this.writeLength(len);if(len){this._ensure(len);this._buf.write(s,this._offset);this._offset+=len}};Writer.prototype.writeBuffer=function(buf,tag){if(typeof tag!=="number")throw new TypeError("tag must be a number");if(!Buffer.isBuffer(buf))throw new TypeError("argument must be a buffer");this.writeByte(tag);this.writeLength(buf.length);this._ensure(buf.length);buf.copy(this._buf,this._offset,0,buf.length);this._offset+=buf.length};Writer.prototype.writeStringArray=function(strings){if(!strings instanceof Array)throw new TypeError("argument must be an Array[String]");var self=this;strings.forEach(function(s){self.writeString(s)})};Writer.prototype.writeOID=function(s,tag){if(typeof s!=="string")throw new TypeError("argument must be a string");if(typeof tag!=="number")tag=ASN1.OID;if(!/^([0-9]+\.){3,}[0-9]+$/.test(s))throw new Error("argument is not a valid OID string");function encodeOctet(bytes,octet){if(octet<128){bytes.push(octet)}else if(octet<16384){bytes.push(octet>>>7|128);bytes.push(octet&127)}else if(octet<2097152){bytes.push(octet>>>14|128);bytes.push((octet>>>7|128)&255);bytes.push(octet&127)}else if(octet<268435456){bytes.push(octet>>>21|128);bytes.push((octet>>>14|128)&255);bytes.push((octet>>>7|128)&255);bytes.push(octet&127)}else{bytes.push((octet>>>28|128)&255);bytes.push((octet>>>21|128)&255);bytes.push((octet>>>14|128)&255);bytes.push((octet>>>7|128)&255);bytes.push(octet&127)}}var tmp=s.split(".");var bytes=[];bytes.push(parseInt(tmp[0],10)*40+parseInt(tmp[1],10));tmp.slice(2).forEach(function(b){encodeOctet(bytes,parseInt(b,10))});var self=this;this._ensure(2+bytes.length);this.writeByte(tag);this.writeLength(bytes.length);bytes.forEach(function(b){self.writeByte(b)})};Writer.prototype.writeLength=function(len){if(typeof len!=="number")throw new TypeError("argument must be a Number");this._ensure(4);if(len<=127){this._buf[this._offset++]=len}else if(len<=255){this._buf[this._offset++]=129;this._buf[this._offset++]=len}else if(len<=65535){this._buf[this._offset++]=130;this._buf[this._offset++]=len>>8;this._buf[this._offset++]=len}else if(len<=16777215){this._shift(start,len,1);this._buf[this._offset++]=131;this._buf[this._offset++]=len>>16;this._buf[this._offset++]=len>>8;this._buf[this._offset++]=len}else{throw new InvalidAsn1ERror("Length too long (> 4 bytes)")}};Writer.prototype.startSequence=function(tag){if(typeof tag!=="number")tag=ASN1.Sequence|ASN1.Constructor;this.writeByte(tag);this._seq.push(this._offset);this._ensure(3);this._offset+=3};Writer.prototype.endSequence=function(){var seq=this._seq.pop();var start=seq+3;var len=this._offset-start;if(len<=127){this._shift(start,len,-2);this._buf[seq]=len}else if(len<=255){this._shift(start,len,-1);this._buf[seq]=129;this._buf[seq+1]=len}else if(len<=65535){this._buf[seq]=130;this._buf[seq+1]=len>>8;this._buf[seq+2]=len}else if(len<=16777215){this._shift(start,len,1);this._buf[seq]=131;this._buf[seq+1]=len>>16;this._buf[seq+2]=len>>8;this._buf[seq+3]=len}else{throw new InvalidAsn1Error("Sequence too long")}};Writer.prototype._shift=function(start,len,shift){assert.ok(start!==undefined);assert.ok(len!==undefined);assert.ok(shift);this._buf.copy(this._buf,start+shift,start,start+len);this._offset+=shift};Writer.prototype._ensure=function(len){assert.ok(len);if(this._size-this._offset<len){var sz=this._size*this._options.growthFactor;if(sz-this._offset<len)sz+=len;var buf=new Buffer(sz);this._buf.copy(buf,0,0,this._offset);this._buf=buf;this._size=sz}};module.exports=Writer}).call(this,require("buffer").Buffer)},{"./errors":108,"./types":111,assert:2,buffer:18}],113:[function(require,module,exports){var Ber=require("./ber/index");module.exports={Ber:Ber,BerReader:Ber.Reader,BerWriter:Ber.Writer}},{"./ber/index":109}],114:[function(require,module,exports){(function(process,Buffer){var assert=require("assert");var Stream=require("stream").Stream;var util=require("util");var NDEBUG=process.env.NODE_NDEBUG||false;var ARRAY_TYPE_REQUIRED="%s ([%s]) required";var TYPE_REQUIRED="%s (%s) is required";function capitalize(str){return str.charAt(0).toUpperCase()+str.slice(1)}function uncapitalize(str){return str.charAt(0).toLowerCase()+str.slice(1)}function _(){return util.format.apply(util,arguments)}function _assert(arg,type,name,stackFunc){if(!NDEBUG){name=name||type;stackFunc=stackFunc||_assert.caller;var t=typeof arg;if(t!==type){throw new assert.AssertionError({message:_(TYPE_REQUIRED,name,type),actual:t,expected:type,operator:"===",stackStartFunction:stackFunc})}}}function array(arr,type,name){if(!NDEBUG){name=name||type;if(!Array.isArray(arr)){throw new assert.AssertionError({message:_(ARRAY_TYPE_REQUIRED,name,type),actual:typeof arr,expected:"array",operator:"Array.isArray",stackStartFunction:array.caller})}for(var i=0;i<arr.length;i++){_assert(arr[i],type,name,array)}}}function bool(arg,name){_assert(arg,"boolean",name,bool)}function buffer(arg,name){if(!Buffer.isBuffer(arg)){throw new assert.AssertionError({message:_(TYPE_REQUIRED,name,type),actual:typeof arg,expected:"buffer",operator:"Buffer.isBuffer",stackStartFunction:buffer})}}function func(arg,name){_assert(arg,"function",name)}function number(arg,name){_assert(arg,"number",name)}function object(arg,name){_assert(arg,"object",name)}function stream(arg,name){if(!(arg instanceof Stream)){throw new assert.AssertionError({message:_(TYPE_REQUIRED,name,type),actual:typeof arg,expected:"Stream",operator:"instanceof",stackStartFunction:buffer})}}function string(arg,name){_assert(arg,"string",name)}module.exports={bool:bool,buffer:buffer,func:func,number:number,object:object,stream:stream,string:string};Object.keys(module.exports).forEach(function(k){if(k==="buffer")return;var name="arrayOf"+capitalize(k);if(k==="bool")k="boolean";if(k==="func")k="function";module.exports[name]=function(arg,name){array(arg,k,name)}});Object.keys(module.exports).forEach(function(k){var _name="optional"+capitalize(k);var s=uncapitalize(k.replace("arrayOf",""));if(s==="bool")s="boolean";if(s==="func")s="function";if(k.indexOf("arrayOf")!==-1){module.exports[_name]=function(arg,name){if(!NDEBUG&&arg!==undefined){array(arg,s,name)}}}else{module.exports[_name]=function(arg,name){if(!NDEBUG&&arg!==undefined){_assert(arg,s,name)}}}});Object.keys(assert).forEach(function(k){if(k==="AssertionError"){module.exports[k]=assert[k];return}module.exports[k]=function(){if(!NDEBUG){assert[k].apply(assert[k],arguments)}}})}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,assert:2,buffer:18,stream:60,util:64}],115:[function(require,module,exports){var mod_assert=require("assert");var ASSERT=mod_assert.ok;var ctf_versions=["1.0"];var ctf_entries=["integer","float","typedef","struct"];var ctf_deftypes=["int8_t","uint8_t","int16_t","uint16_t","int32_t","uint32_t","float","double"];function ctfParseInteger(entry,ctype){var name,sign,len,type;name=entry["name"];if(!("signed"in entry["integer"]))throw new Error("Malformed CTF JSON: integer missing "+"signed value");if(!("length"in entry["integer"]))throw new Error("Malformed CTF JSON: integer missing "+"length value");sign=entry["integer"]["signed"];len=entry["integer"]["length"];type=null;if(sign&&len==1)type="int8_t";else if(len==1)type="uint8_t";else if(sign&&len==2)type="int16_t";else if(len==2)type="uint16_t";else if(sign&&len==4)type="int32_t";else if(len==4)type="uint32_t";else if(sign&&len==8)type="int64_t";else if(len==8)type="uint64_t";if(type===null)throw new Error("Malformed CTF JSON: integer has "+"unsupported length and sign - "+len+"/"+sign);if(name==type)return;if(name=="char"){ASSERT(type=="int8_t");return}ctype.typedef(name,type)}function ctfParseFloat(entry,ctype){var name,len;name=entry["name"];if(!("length"in entry["float"]))throw new Error("Malformed CTF JSON: float missing "+"length value");len=entry["float"]["length"];if(len!=4&&len!=8)throw new Error("Malformed CTF JSON: float has invalid "+"length value");if(len==4){if(name=="float")return;ctype.typedef(name,"float")}else if(len==8){if(name=="double")return;ctype.typedef(name,"double")}}function ctfParseTypedef(entry,ctype){var name,type,ii;name=entry["name"];if(typeof entry["typedef"]!="string")throw new Error("Malformed CTF JSON: typedef value in not "+"a string");type=entry["typedef"];for(ii=0;ii<ctf_deftypes.length;ii++){if(name==ctf_deftypes[ii])return}ctype.typedef(name,type)}function ctfParseStruct(entry,ctype){var name,type,ii,val,index,member,push;member=[];if(!Array.isArray(entry["struct"]))throw new Error("Malformed CTF JSON: struct value is not "+"an array");for(ii=0;ii<entry["struct"].length;ii++){val=entry["struct"][ii];if(!("name"in val))throw new Error("Malformed CTF JSON: struct member "+"missing name");if(!("type"in val))throw new Error("Malformed CTF JSON: struct member "+"missing type");if(typeof val["name"]!="string")throw new Error("Malformed CTF JSON: struct member "+"name isn't a string");if(typeof val["type"]!="string")throw new Error("Malformed CTF JSON: struct member "+"type isn't a string");name=val["name"];type=val["type"];index=type.indexOf(" [");if(index!=-1){type=type.substring(0,index)+type.substring(index+1,type.length)}push={};push[name]={type:type};member.push(push)}name=entry["name"];ctype.typedef(name,member)}function ctfParseEntry(entry,ctype){var ii,found;
if(!("name"in entry))throw new Error('Malformed CTF JSON: entry missing "name" '+"section");for(ii=0;ii<ctf_entries.length;ii++){if(ctf_entries[ii]in entry)found++}if(found===0)throw new Error("Malformed CTF JSON: found no entries");if(found>=2)throw new Error("Malformed CTF JSON: found more than one "+"entry");if("integer"in entry){ctfParseInteger(entry,ctype);return}if("float"in entry){ctfParseFloat(entry,ctype);return}if("typedef"in entry){ctfParseTypedef(entry,ctype);return}if("struct"in entry){ctfParseStruct(entry,ctype);return}ASSERT(false,"shouldn't reach here")}function ctfParseJson(json,ctype){var version,ii;ASSERT(json);ASSERT(ctype);if(!("metadata"in json))throw new Error("Invalid CTF JSON: missing metadata section");if(!("ctf2json_version"in json["metadata"]))throw new Error("Invalid CTF JSON: missing ctf2json_version");version=json["metadata"]["ctf2json_version"];for(ii=0;ii<ctf_versions.length;ii++){if(ctf_versions[ii]==version)break}if(ii==ctf_versions.length)throw new Error("Unsuported ctf2json_version: "+version);if(!("data"in json))throw new Error("Invalid CTF JSON: missing data section");if(!Array.isArray(json["data"]))throw new Error("Malformed CTF JSON: data section is not "+"an array");for(ii=0;ii<json["data"].length;ii++)ctfParseEntry(json["data"][ii],ctype)}exports.ctfParseJson=ctfParseJson},{assert:2}],116:[function(require,module,exports){var mod_assert=require("assert");function ruint8(buffer,endian,offset){if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset>=buffer.length)throw new Error("Trying to read beyond buffer length");return buffer[offset]}function rgint16(buffer,endian,offset){var val=0;if(endian=="big"){val=buffer[offset]<<8;val|=buffer[offset+1]}else{val=buffer[offset];val|=buffer[offset+1]<<8}return val}function ruint16(buffer,endian,offset){if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+1>=buffer.length)throw new Error("Trying to read beyond buffer length");return rgint16(buffer,endian,offset)}function rgint32(buffer,endian,offset){var val=0;if(endian=="big"){val=buffer[offset+1]<<16;val|=buffer[offset+2]<<8;val|=buffer[offset+3];val=val+(buffer[offset]<<24>>>0)}else{val=buffer[offset+2]<<16;val|=buffer[offset+1]<<8;val|=buffer[offset];val=val+(buffer[offset+3]<<24>>>0)}return val}function ruint32(buffer,endian,offset){if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");return rgint32(buffer,endian,offset)}function rgint64(buffer,endian,offset){var val=new Array(2);if(endian=="big"){val[0]=ruint32(buffer,endian,offset);val[1]=ruint32(buffer,endian,offset+4)}else{val[0]=ruint32(buffer,endian,offset+4);val[1]=ruint32(buffer,endian,offset)}return val}function ruint64(buffer,endian,offset){if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+7>=buffer.length)throw new Error("Trying to read beyond buffer length");return rgint64(buffer,endian,offset)}function rsint8(buffer,endian,offset){var neg;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset>=buffer.length)throw new Error("Trying to read beyond buffer length");neg=buffer[offset]&128;if(!neg)return buffer[offset];return(255-buffer[offset]+1)*-1}function rsint16(buffer,endian,offset){var neg,val;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+1>=buffer.length)throw new Error("Trying to read beyond buffer length");val=rgint16(buffer,endian,offset);neg=val&32768;if(!neg)return val;return(65535-val+1)*-1}function rsint32(buffer,endian,offset){var neg,val;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");val=rgint32(buffer,endian,offset);neg=val&2147483648;if(!neg)return val;return(4294967295-val+1)*-1}function rsint64(buffer,endian,offset){var neg,val;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");val=rgint64(buffer,endian,offset);neg=val[0]&2147483648;if(!neg)return val;val[0]=(4294967295-val[0])*-1;val[1]=(4294967295-val[1]+1)*-1;mod_assert.ok(val[1]<=4294967296);if(val[1]==-4294967296){val[1]=0;val[0]--}return val}function rfloat(buffer,endian,offset){var bytes=[];var sign,exponent,mantissa,val;var bias=127;var maxexp=255;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");if(endian=="big"){bytes[0]=buffer[offset];bytes[1]=buffer[offset+1];bytes[2]=buffer[offset+2];bytes[3]=buffer[offset+3]}else{bytes[3]=buffer[offset];bytes[2]=buffer[offset+1];bytes[1]=buffer[offset+2];bytes[0]=buffer[offset+3]}sign=bytes[0]&128;exponent=(bytes[0]&127)<<1;exponent|=(bytes[1]&128)>>>7;mantissa=(bytes[1]&127)<<16;mantissa|=bytes[2]<<8;mantissa|=bytes[3];if(!sign&&exponent==maxexp&&mantissa===0)return Number.POSITIVE_INFINITY;if(sign&&exponent==maxexp&&mantissa===0)return Number.NEGATIVE_INFINITY;if(exponent==maxexp&&mantissa!==0)return Number.NaN;if(exponent===0&&mantissa===0)return 0;exponent-=bias;if(exponent==-bias){exponent++;val=0}else{val=1}val=(val+mantissa*Math.pow(2,-23))*Math.pow(2,exponent);if(sign)val*=-1;return val}function rdouble(buffer,endian,offset){var bytes=[];var sign,exponent,mantissa,val,lowmant;var bias=1023;var maxexp=2047;if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+7>=buffer.length)throw new Error("Trying to read beyond buffer length");if(endian=="big"){bytes[0]=buffer[offset];bytes[1]=buffer[offset+1];bytes[2]=buffer[offset+2];bytes[3]=buffer[offset+3];bytes[4]=buffer[offset+4];bytes[5]=buffer[offset+5];bytes[6]=buffer[offset+6];bytes[7]=buffer[offset+7]}else{bytes[7]=buffer[offset];bytes[6]=buffer[offset+1];bytes[5]=buffer[offset+2];bytes[4]=buffer[offset+3];bytes[3]=buffer[offset+4];bytes[2]=buffer[offset+5];bytes[1]=buffer[offset+6];bytes[0]=buffer[offset+7]}sign=bytes[0]&128;exponent=(bytes[0]&127)<<4;exponent|=(bytes[1]&240)>>>4;lowmant=bytes[7];lowmant|=bytes[6]<<8;lowmant|=bytes[5]<<16;mantissa=bytes[4];mantissa|=bytes[3]<<8;mantissa|=bytes[2]<<16;mantissa|=(bytes[1]&15)<<24;mantissa*=Math.pow(2,24);mantissa+=lowmant;if(!sign&&exponent==maxexp&&mantissa===0)return Number.POSITIVE_INFINITY;if(sign&&exponent==maxexp&&mantissa===0)return Number.NEGATIVE_INFINITY;if(exponent==maxexp&&mantissa!==0)return Number.NaN;if(exponent===0&&mantissa===0)return 0;exponent-=bias;if(exponent==-bias){exponent++;val=0}else{val=1}val=(val+mantissa*Math.pow(2,-52))*Math.pow(2,exponent);if(sign)val*=-1;return val}function prepuint(value,max){if(typeof value!="number")throw new(Error("cannot write a non-number as a number"));if(value<0)throw new Error("specified a negative value for writing an "+"unsigned value");if(value>max)throw new Error("value is larger than maximum value for "+"type");if(Math.floor(value)!==value)throw new Error("value has a fractional component");return value}function wuint8(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepuint(value,255);buffer[offset]=val}function wgint16(val,endian,buffer,offset){if(endian=="big"){buffer[offset]=(val&65280)>>>8;buffer[offset+1]=val&255}else{buffer[offset+1]=(val&65280)>>>8;buffer[offset]=val&255}}function wuint16(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+1>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepuint(value,65535);wgint16(val,endian,buffer,offset)}function wgint32(val,endian,buffer,offset){if(endian=="big"){buffer[offset]=(val-(val&16777215))/Math.pow(2,24);buffer[offset+1]=val>>>16&255;buffer[offset+2]=val>>>8&255;buffer[offset+3]=val&255}else{buffer[offset+3]=(val-(val&16777215))/Math.pow(2,24);buffer[offset+2]=val>>>16&255;buffer[offset+1]=val>>>8&255;buffer[offset]=val&255}}function wuint32(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepuint(value,4294967295);wgint32(val,endian,buffer,offset)}function wgint64(value,endian,buffer,offset){if(endian=="big"){wgint32(value[0],endian,buffer,offset);wgint32(value[1],endian,buffer,offset+4)}else{wgint32(value[0],endian,buffer,offset+4);wgint32(value[1],endian,buffer,offset)}}function wuint64(value,endian,buffer,offset){if(value===undefined)throw new Error("missing value");if(!(value instanceof Array))throw new Error("value must be an array");if(value.length!=2)throw new Error("value must be an array of length 2");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+7>=buffer.length)throw new Error("Trying to read beyond buffer length");prepuint(value[0],4294967295);prepuint(value[1],4294967295);wgint64(value,endian,buffer,offset)}function prepsint(value,max,min){if(typeof value!="number")throw new(Error("cannot write a non-number as a number"));if(value>max)throw new Error("value larger than maximum allowed value");if(value<min)throw new Error("value smaller than minimum allowed value");if(Math.floor(value)!==value)throw new Error("value has a fractional component");return value}function wsint8(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepsint(value,127,-128);if(val>=0)wuint8(val,endian,buffer,offset);else wuint8(255+val+1,endian,buffer,offset)}function wsint16(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+1>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepsint(value,32767,-32768);if(val>=0)wgint16(val,endian,buffer,offset);else wgint16(65535+val+1,endian,buffer,offset)}function wsint32(value,endian,buffer,offset){var val;if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");val=prepsint(value,2147483647,-2147483648);if(val>=0)wgint32(val,endian,buffer,offset);else wgint32(4294967295+val+1,endian,buffer,offset)}function wsint64(value,endian,buffer,offset){var vzpos,vopos;var vals=new Array(2);if(value===undefined)throw new Error("missing value");if(!(value instanceof Array))throw new Error("value must be an array");if(value.length!=2)throw new Error("value must be an array of length 2");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+7>=buffer.length)throw new Error("Trying to read beyond buffer length");vzpos=value[0]*Number.POSITIVE_INFINITY==Number.POSITIVE_INFINITY;vopos=value[1]*Number.POSITIVE_INFINITY==Number.POSITIVE_INFINITY;if(value[0]!=0&&value[1]!=0&&vzpos!=vopos)throw new Error("Both entries in the array must have "+"the same sign");if(vzpos){prepuint(value[0],2147483647);prepuint(value[1],4294967295)}else{prepsint(value[0],0,-2147483648);prepsint(value[1],0,-4294967295);if(value[0]==-2147483648&&value[1]!=0)throw new Error("value smaller than minimum "+"allowed value")}if(value[0]<0||value[1]<0){vals[0]=4294967295-Math.abs(value[0]);vals[1]=4294967296-Math.abs(value[1]);if(vals[1]==4294967296){vals[1]=0;vals[0]++}}else{vals[0]=value[0];vals[1]=value[1]}wgint64(vals,endian,buffer,offset)}function log2(value){return Math.log(value)/Math.log(2)}function intexp(value){return Math.floor(log2(value))}function fracexp(value){return Math.floor(log2(value))}function wfloat(value,endian,buffer,offset){var sign,exponent,mantissa,ebits;var bytes=[];if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+3>=buffer.length)throw new Error("Trying to read beyond buffer length");if(isNaN(value)){sign=0;exponent=255;mantissa=23}else if(value==Number.POSITIVE_INFINITY){sign=0;exponent=255;mantissa=0}else if(value==Number.NEGATIVE_INFINITY){sign=1;exponent=255;mantissa=0}else{if(value<0){sign=1;value=Math.abs(value)}else{sign=0}if(value<1)ebits=fracexp(value);else ebits=intexp(value);if(ebits<=-127){exponent=0;mantissa=value*Math.pow(2,149)&8388607}else{exponent=127+ebits;mantissa=value*Math.pow(2,23-ebits);mantissa&=8388607}}bytes[0]=sign<<7|(exponent&254)>>>1;bytes[1]=(exponent&1)<<7|(mantissa&8323072)>>>16;bytes[2]=(mantissa&65280)>>>8;bytes[3]=mantissa&255;if(endian=="big"){buffer[offset]=bytes[0];buffer[offset+1]=bytes[1];buffer[offset+2]=bytes[2];buffer[offset+3]=bytes[3]}else{buffer[offset]=bytes[3];buffer[offset+1]=bytes[2];buffer[offset+2]=bytes[1];buffer[offset+3]=bytes[0]}}function wdouble(value,endian,buffer,offset){var sign,exponent,mantissa,ebits;var bytes=[];if(value===undefined)throw new Error("missing value");if(endian===undefined)throw new Error("missing endian");if(buffer===undefined)throw new Error("missing buffer");if(offset===undefined)throw new Error("missing offset");if(offset+7>=buffer.length)throw new Error("Trying to read beyond buffer length");if(isNaN(value)){sign=0;exponent=2047;mantissa=23}else if(value==Number.POSITIVE_INFINITY){sign=0;exponent=2047;mantissa=0}else if(value==Number.NEGATIVE_INFINITY){sign=1;exponent=2047;mantissa=0}else{if(value<0){sign=1;value=Math.abs(value)}else{sign=0}if(value<1)ebits=fracexp(value);else ebits=intexp(value);if(value<=2.225073858507201e-308||ebits<=-1023){exponent=0;mantissa=value*Math.pow(2,1023)*Math.pow(2,51);mantissa%=Math.pow(2,52)}else{if(ebits>1023)ebits=1023;exponent=1023+ebits;mantissa=value*Math.pow(2,-ebits);mantissa*=Math.pow(2,52);mantissa%=Math.pow(2,52)}}bytes[7]=mantissa&255;bytes[6]=mantissa>>>8&255;bytes[5]=mantissa>>>16&255;mantissa=(mantissa-(mantissa&16777215))/Math.pow(2,24);bytes[4]=mantissa&255;bytes[3]=mantissa>>>8&255;bytes[2]=mantissa>>>16&255;bytes[1]=(exponent&15)<<4|mantissa>>>24;bytes[0]=sign<<7|(exponent&2032)>>>4;if(endian=="big"){buffer[offset]=bytes[0];buffer[offset+1]=bytes[1];buffer[offset+2]=bytes[2];buffer[offset+3]=bytes[3];buffer[offset+4]=bytes[4];buffer[offset+5]=bytes[5];buffer[offset+6]=bytes[6];buffer[offset+7]=bytes[7]}else{buffer[offset+7]=bytes[0];buffer[offset+6]=bytes[1];buffer[offset+5]=bytes[2];buffer[offset+4]=bytes[3];buffer[offset+3]=bytes[4];buffer[offset+2]=bytes[5];buffer[offset+1]=bytes[6];buffer[offset]=bytes[7]}}exports.ruint8=ruint8;exports.ruint16=ruint16;exports.ruint32=ruint32;exports.ruint64=ruint64;exports.wuint8=wuint8;exports.wuint16=wuint16;exports.wuint32=wuint32;exports.wuint64=wuint64;exports.rsint8=rsint8;exports.rsint16=rsint16;exports.rsint32=rsint32;exports.rsint64=rsint64;exports.wsint8=wsint8;exports.wsint16=wsint16;exports.wsint32=wsint32;exports.wsint64=wsint64;exports.rfloat=rfloat;exports.rdouble=rdouble;exports.wfloat=wfloat;exports.wdouble=wdouble},{assert:2}],117:[function(require,module,exports){(function(Buffer){var mod_ctf=require("./ctf.js");var mod_ctio=require("./ctio.js");var mod_assert=require("assert");var deftypes={uint8_t:{read:ctReadUint8,write:ctWriteUint8},uint16_t:{read:ctReadUint16,write:ctWriteUint16},uint32_t:{read:ctReadUint32,write:ctWriteUint32},uint64_t:{read:ctReadUint64,write:ctWriteUint64},int8_t:{read:ctReadSint8,write:ctWriteSint8},int16_t:{read:ctReadSint16,write:ctWriteSint16},int32_t:{read:ctReadSint32,write:ctWriteSint32},int64_t:{read:ctReadSint64,write:ctWriteSint64},"float":{read:ctReadFloat,write:ctWriteFloat},"double":{read:ctReadDouble,write:ctWriteDouble},"char":{read:ctReadChar,write:ctWriteChar},"char[]":{read:ctReadCharArray,write:ctWriteCharArray}};function ctReadUint8(endian,buffer,offset){var val=mod_ctio.ruint8(buffer,endian,offset);return{value:val,size:1}}function ctReadUint16(endian,buffer,offset){var val=mod_ctio.ruint16(buffer,endian,offset);return{value:val,size:2}}function ctReadUint32(endian,buffer,offset){var val=mod_ctio.ruint32(buffer,endian,offset);return{value:val,size:4}}function ctReadUint64(endian,buffer,offset){var val=mod_ctio.ruint64(buffer,endian,offset);return{value:val,size:8}}function ctReadSint8(endian,buffer,offset){var val=mod_ctio.rsint8(buffer,endian,offset);return{value:val,size:1}}function ctReadSint16(endian,buffer,offset){var val=mod_ctio.rsint16(buffer,endian,offset);return{value:val,size:2}}function ctReadSint32(endian,buffer,offset){var val=mod_ctio.rsint32(buffer,endian,offset);return{value:val,size:4}}function ctReadSint64(endian,buffer,offset){var val=mod_ctio.rsint64(buffer,endian,offset);return{value:val,size:8}}function ctReadFloat(endian,buffer,offset){var val=mod_ctio.rfloat(buffer,endian,offset);return{value:val,size:4}}function ctReadDouble(endian,buffer,offset){var val=mod_ctio.rdouble(buffer,endian,offset);return{value:val,size:8}}function ctReadChar(endian,buffer,offset){var res=new Buffer(1);res[0]=mod_ctio.ruint8(buffer,endian,offset);return{value:res,size:1}}function ctReadCharArray(length,endian,buffer,offset){var ii;var res=new Buffer(length);for(ii=0;ii<length;ii++)res[ii]=mod_ctio.ruint8(buffer,endian,offset+ii);return{value:res,size:length}}function ctWriteUint8(value,endian,buffer,offset){mod_ctio.wuint8(value,endian,buffer,offset);return 1}function ctWriteUint16(value,endian,buffer,offset){mod_ctio.wuint16(value,endian,buffer,offset);return 2}function ctWriteUint32(value,endian,buffer,offset){mod_ctio.wuint32(value,endian,buffer,offset);return 4}function ctWriteUint64(value,endian,buffer,offset){mod_ctio.wuint64(value,endian,buffer,offset);return 8}function ctWriteSint8(value,endian,buffer,offset){mod_ctio.wsint8(value,endian,buffer,offset);return 1}function ctWriteSint16(value,endian,buffer,offset){mod_ctio.wsint16(value,endian,buffer,offset);return 2}function ctWriteSint32(value,endian,buffer,offset){mod_ctio.wsint32(value,endian,buffer,offset);return 4}function ctWriteSint64(value,endian,buffer,offset){mod_ctio.wsint64(value,endian,buffer,offset);return 8}function ctWriteFloat(value,endian,buffer,offset){mod_ctio.wfloat(value,endian,buffer,offset);return 4}function ctWriteDouble(value,endian,buffer,offset){mod_ctio.wdouble(value,endian,buffer,offset);return 8}function ctWriteChar(value,endian,buffer,offset){if(!(value instanceof Buffer))throw new Error("Input must be a buffer");mod_ctio.ruint8(value[0],endian,buffer,offset);return 1}function ctWriteCharArray(value,length,endian,buffer,offset){var ii;if(!(value instanceof Buffer))throw new Error("Input must be a buffer");if(value.length>length)throw new Error("value length greater than array length");for(ii=0;ii<value.length&&ii<length;ii++)mod_ctio.wuint8(value[ii],endian,buffer,offset+ii);for(;ii<length;ii++)mod_ctio.wuint8(0,endian,offset+ii);return length}function ctGetBasicTypes(){var ret={};var key;for(key in deftypes)ret[key]=deftypes[key];return ret}function ctParseType(str){var begInd,endInd;var type,len;if(typeof str!="string")throw new Error("type must be a Javascript string");endInd=str.lastIndexOf("]");if(endInd==-1){if(str.lastIndexOf("[")!=-1)throw new Error("found invalid type with '[' but "+"no corresponding ']'");return{type:str}}begInd=str.lastIndexOf("[");if(begInd==-1)throw new Error("found invalid type with ']' but "+"no corresponding '['");if(begInd>=endInd)throw new Error("malformed type, ']' appears before '['");type=str.substring(0,begInd);len=str.substring(begInd+1,endInd);return{type:type,len:len}}function ctCheckReq(def,types,fields){var ii,jj;var req,keys,key;var found={};if(!(def instanceof Array))throw new Error("definition is not an array");if(def.length===0)throw new Error("definition must have at least one element");for(ii=0;ii<def.length;ii++){req=def[ii];if(!(req instanceof Object))throw new Error("definition must be an array of"+"objects");keys=Object.keys(req);if(keys.length!=1)throw new Error("definition entry must only have "+"one key");if(keys[0]in found)throw new Error("Specified name already "+"specified: "+keys[0]);if(!("type"in req[keys[0]]))throw new Error("missing required type definition");key=ctParseType(req[keys[0]]["type"]);while(key["len"]!==undefined){if(isNaN(parseInt(key["len"],10))){if(!(key["len"]in found))throw new Error("Given an array "+"length without a matching type")}key=ctParseType(key["type"])}if(!(key["type"]in types))throw new Error("type not found or typdefed: "+key["type"]);if(fields!==undefined){for(jj=0;jj<fields.length;jj++){if(!(fields[jj]in req[keys[0]]))throw new Error("Missing required "+"field: "+fields[jj])}}found[keys[0]]=true}}function CTypeParser(conf){if(!conf)throw new Error("missing required argument");if(!("endian"in conf))throw new Error("missing required endian value");if(conf["endian"]!="big"&&conf["endian"]!="little")throw new Error("Invalid endian type");if("char-type"in conf&&(conf["char-type"]!="uint8"&&conf["char-type"]!="int8"))throw new Error("invalid option for char-type: "+conf["char-type"]);this.endian=conf["endian"];this.types=ctGetBasicTypes();if("char-type"in conf&&conf["char-type"]=="uint8")this.types["char"]=this.types["uint8_t"];if("char-type"in conf&&conf["char-type"]=="int8")this.types["char"]=this.types["int8_t"]}CTypeParser.prototype.setEndian=function(endian){if(endian!="big"&&endian!="little")throw new Error("invalid endian type, must be big or "+"little");this.endian=endian};CTypeParser.prototype.getEndian=function(){return this.endian};CTypeParser.prototype.typedef=function(name,value){var type;if(name===undefined)throw new(Error("missing required typedef argument: name"));if(value===undefined)throw new(Error("missing required typedef argument: value"));if(typeof name!="string")throw new(Error("the name of a type must be a string"));type=ctParseType(name);if(type["len"]!==undefined)throw new Error("Cannot have an array in the typedef name");if(name in this.types)throw new Error("typedef name already present: "+name);if(typeof value!="string"&&!(value instanceof Array))throw new Error("typedef value must either be a string or "+"struct");if(typeof value=="string"){type=ctParseType(value);if(type["len"]!==undefined){if(isNaN(parseInt(type["len"],10)))throw new(Error("typedef value must use "+"fixed size array when outside of a "+"struct"))}this.types[name]=value}else{ctCheckReq(value,this.types);this.types[name]=value}};CTypeParser.prototype.lstypes=function(){var key;var ret={};for(key in this.types){if(key in deftypes)continue;ret[key]=this.types[key]}return ret};function ctResolveArray(str,values){var ret="";var type=ctParseType(str);while(type["len"]!==undefined){if(isNaN(parseInt(type["len"],10))){if(typeof values[type["len"]]!="number")throw new Error("cannot sawp in non-number "+"for array value");ret="["+values[type["len"]]+"]"+ret}else{ret="["+type["len"]+"]"+ret}type=ctParseType(type["type"])}ret=type["type"]+ret;return ret}CTypeParser.prototype.resolveTypedef=function(type,dispatch,buffer,offset,value){var pt;mod_assert.ok(type in this.types);if(typeof this.types[type]=="string"){pt=ctParseType(this.types[type]);if(dispatch=="read")return this.readEntry(pt,buffer,offset);else if(dispatch=="write")return this.writeEntry(value,pt,buffer,offset);else throw new Error("invalid dispatch type to "+"resolveTypedef")}else{if(dispatch=="read")return this.readStruct(this.types[type],buffer,offset);else if(dispatch=="write")return this.writeStruct(value,this.types[type],buffer,offset);else throw new Error("invalid dispatch type to "+"resolveTypedef")}};CTypeParser.prototype.readEntry=function(type,buffer,offset){var parse,len;if(type["len"]!==undefined){len=parseInt(type["len"],10);if(isNaN(len))throw new Error("somehow got a non-numeric length");if(type["type"]=="char")parse=this.types["char[]"]["read"](len,this.endian,buffer,offset);else parse=this.readArray(type["type"],len,buffer,offset)}else{if(type["type"]in deftypes)parse=this.types[type["type"]]["read"](this.endian,buffer,offset);else parse=this.resolveTypedef(type["type"],"read",buffer,offset)}return parse};CTypeParser.prototype.readArray=function(type,length,buffer,offset){var ii,ent,pt;var baseOffset=offset;var ret=new Array(length);pt=ctParseType(type);for(ii=0;ii<length;ii++){ent=this.readEntry(pt,buffer,offset);offset+=ent["size"];ret[ii]=ent["value"]}return{value:ret,size:offset-baseOffset}};CTypeParser.prototype.readStruct=function(def,buffer,offset){var parse,ii,type,entry,key;var baseOffset=offset;var ret={};for(ii=0;ii<def.length;ii++){key=Object.keys(def[ii])[0];entry=def[ii][key];type=ctParseType(ctResolveArray(entry["type"],ret));if("offset"in entry)offset=baseOffset+entry["offset"];parse=this.readEntry(type,buffer,offset);offset+=parse["size"];ret[key]=parse["value"]}return{value:ret,size:offset-baseOffset}};CTypeParser.prototype.readData=function(def,buffer,offset){if(def===undefined)throw new Error("missing definition for what we should be"+"parsing");if(buffer===undefined)throw new Error("missing buffer for what we should be "+"parsing");if(offset===undefined)throw new Error("missing offset for what we should be "+"parsing");ctCheckReq(def,this.types);return this.readStruct(def,buffer,offset)["value"]};CTypeParser.prototype.writeArray=function(value,type,length,buffer,offset){var ii,pt;var baseOffset=offset;if(!(value instanceof Array))throw new Error("asked to write an array, but value is not "+"an array");if(value.length!=length)throw new Error("asked to write array of length "+length+" but that does not match value length: "+value.length);pt=ctParseType(type);for(ii=0;ii<length;ii++)offset+=this.writeEntry(value[ii],pt,buffer,offset);return offset-baseOffset};CTypeParser.prototype.writeEntry=function(value,type,buffer,offset){var len,ret;if(type["len"]!==undefined){len=parseInt(type["len"],10);if(isNaN(len))throw new Error("somehow got a non-numeric length");if(type["type"]=="char")ret=this.types["char[]"]["write"](value,len,this.endian,buffer,offset);else ret=this.writeArray(value,type["type"],len,buffer,offset)}else{if(type["type"]in deftypes)ret=this.types[type["type"]]["write"](value,this.endian,buffer,offset);else ret=this.resolveTypedef(type["type"],"write",buffer,offset,value)}return ret};CTypeParser.prototype.writeStruct=function(value,def,buffer,offset){var ii,entry,type,key;var baseOffset=offset;var vals={};for(ii=0;ii<def.length;ii++){key=Object.keys(def[ii])[0];entry=def[ii][key];type=ctParseType(ctResolveArray(entry["type"],vals));if("offset"in entry)offset=baseOffset+entry["offset"];offset+=this.writeEntry(value[ii],type,buffer,offset);vals[key]=value[ii]}return offset};function getValues(def){var ii,out,key;out=[];for(ii=0;ii<def.length;ii++){key=Object.keys(def[ii])[0];mod_assert.ok("value"in def[ii][key]);out.push(def[ii][key]["value"])}return out}CTypeParser.prototype.writeData=function(def,buffer,offset,values){var hv;if(def===undefined)throw new Error("missing definition for what we should be"+"parsing");if(buffer===undefined)throw new Error("missing buffer for what we should be "+"parsing");if(offset===undefined)throw new Error("missing offset for what we should be "+"parsing");hv=values!=null&&values!=undefined;if(hv){if(!Array.isArray(values))throw new Error("missing values for writing");ctCheckReq(def,this.types)}else{ctCheckReq(def,this.types,["value"])}this.writeStruct(hv?values:getValues(def),def,buffer,offset)};function toAbs64(val){if(val===undefined)throw new Error("missing required arg: value");if(!Array.isArray(val))throw new Error("value must be an array");if(val.length!=2)throw new Error("value must be an array of length 2");if(val[0]>=1048576)throw new Error("value would become approximated");return val[0]*Math.pow(2,32)+val[1]}function toApprox64(val){if(val===undefined)throw new Error("missing required arg: value");if(!Array.isArray(val))throw new Error("value must be an array");if(val.length!=2)throw new Error("value must be an array of length 2");return Math.pow(2,32)*val[0]+val[1]}function parseCTF(json,conf){var ctype=new CTypeParser(conf);mod_ctf.ctfParseJson(json,ctype);return ctype}exports.Parser=CTypeParser;exports.toAbs64=toAbs64;exports.toApprox64=toApprox64;exports.parseCTF=parseCTF;exports.ruint8=mod_ctio.ruint8;exports.ruint16=mod_ctio.ruint16;exports.ruint32=mod_ctio.ruint32;exports.ruint64=mod_ctio.ruint64;exports.wuint8=mod_ctio.wuint8;exports.wuint16=mod_ctio.wuint16;exports.wuint32=mod_ctio.wuint32;exports.wuint64=mod_ctio.wuint64;exports.rsint8=mod_ctio.rsint8;exports.rsint16=mod_ctio.rsint16;exports.rsint32=mod_ctio.rsint32;exports.rsint64=mod_ctio.rsint64;exports.wsint8=mod_ctio.wsint8;exports.wsint16=mod_ctio.wsint16;exports.wsint32=mod_ctio.wsint32;exports.wsint64=mod_ctio.wsint64;exports.rfloat=mod_ctio.rfloat;exports.rdouble=mod_ctio.rdouble;exports.wfloat=mod_ctio.wfloat;exports.wdouble=mod_ctio.wdouble}).call(this,require("buffer").Buffer)},{"./ctf.js":115,"./ctio.js":116,assert:2,buffer:18}],118:[function(require,module,exports){module.exports=stringify;function getSerialize(fn,decycle){var seen=[],keys=[];decycle=decycle||function(key,value){return"[Circular "+getPath(value,seen,keys)+"]"};return function(key,value){var ret=value;if(typeof value==="object"&&value){if(seen.indexOf(value)!==-1)ret=decycle(key,value);else{seen.push(value);keys.push(key)}}if(fn)ret=fn(key,ret);return ret}}function getPath(value,seen,keys){var index=seen.indexOf(value);var path=[keys[index]];for(index--;index>=0;index--){if(seen[index][path[0]]===value){value=seen[index];path.unshift(keys[index])}}return"~"+path.join(".")}function stringify(obj,fn,spaces,decycle){return JSON.stringify(obj,getSerialize(fn,decycle),spaces)}stringify.getSerialize=getSerialize},{}],119:[function(require,module,exports){module.exports={"text/jade":["jade"],"text/stylus":["stylus","styl"],"text/less":["less"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/coffeescript":["coffee"],"text/x-handlebars-template":["hbs"],"text/jsx":["jsx"]}
},{}],120:[function(require,module,exports){exports.types=Object.create(null);exports.extensions=Object.create(null);exports.define=define;exports.json={mime:require("./mime.json"),node:require("./node.json"),custom:require("./custom.json")};exports.lookup=function(string){if(!string||typeof string!=="string")return false;string=string.replace(/.*[\.\/\\]/,"").toLowerCase();if(!string)return false;return exports.types[string]||false};exports.extension=function(type){if(!type||typeof type!=="string")return false;type=type.match(/^\s*([^;\s]*)(?:;|\s|$)/);if(!type)return false;var exts=exports.extensions[type[1].toLowerCase()];if(!exts||!exts.length)return false;return exts[0]};exports.charset=function(type){switch(type){case"application/json":return"UTF-8";case"application/javascript":return"UTF-8"}if(/^text\//.test(type))return"UTF-8";return false};exports.charsets={lookup:exports.charset};exports.contentType=function(type){if(!type||typeof type!=="string")return false;if(!~type.indexOf("/"))type=exports.lookup(type);if(!type)return false;if(!~type.indexOf("charset")){var charset=exports.charset(type);if(charset)type+="; charset="+charset.toLowerCase()}return type};define(exports.json.mime);define(exports.json.node);define(exports.json.custom);function define(json){Object.keys(json).forEach(function(type){var exts=json[type]||[];exports.extensions[type]=exports.extensions[type]||[];exts.forEach(function(ext){if(!~exports.extensions[type].indexOf(ext))exports.extensions[type].push(ext);exports.types[ext]=type})})}},{"./custom.json":119,"./mime.json":121,"./node.json":122}],121:[function(require,module,exports){module.exports={"application/1d-interleaved-parityfec":[],"application/3gpp-ims+xml":[],"application/activemessage":[],"application/andrew-inset":["ez"],"application/applefile":[],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomicmail":[],"application/atomsvc+xml":["atomsvc"],"application/auth-policy+xml":[],"application/batch-smtp":[],"application/beep+xml":[],"application/calendar+xml":[],"application/cals-1840":[],"application/ccmp+xml":[],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cea-2018+xml":[],"application/cellml+xml":[],"application/cfw":[],"application/cnrp+xml":[],"application/commonground":[],"application/conference-info+xml":[],"application/cpl+xml":[],"application/csta+xml":[],"application/cstadata+xml":[],"application/cu-seeme":["cu"],"application/cybercash":[],"application/davmount+xml":["davmount"],"application/dca-rft":[],"application/dec-dx":[],"application/dialog-info+xml":[],"application/dicom":[],"application/dns":[],"application/docbook+xml":["dbk"],"application/dskpp+xml":[],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/dvcs":[],"application/ecmascript":["ecma"],"application/edi-consent":[],"application/edi-x12":[],"application/edifact":[],"application/emma+xml":["emma"],"application/epp+xml":[],"application/epub+zip":["epub"],"application/eshop":[],"application/example":[],"application/exi":["exi"],"application/fastinfoset":[],"application/fastsoap":[],"application/fits":[],"application/font-tdpfr":["pfr"],"application/framework-attributes+xml":[],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/h224":[],"application/held+xml":[],"application/http":[],"application/hyperstudio":["stk"],"application/ibe-key-request+xml":[],"application/ibe-pkg-reply+xml":[],"application/ibe-pp-data":[],"application/iges":[],"application/im-iscomposing+xml":[],"application/index":[],"application/index.cmd":[],"application/index.obj":[],"application/index.response":[],"application/index.vnd":[],"application/inkml+xml":["ink","inkml"],"application/iotp":[],"application/ipfix":["ipfix"],"application/ipp":[],"application/isup":[],"application/java-archive":["jar"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js"],"application/json":["json"],"application/jsonml+json":["jsonml"],"application/kpml-request+xml":[],"application/kpml-response+xml":[],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/macwriteii":[],"application/mads+xml":["mads"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml-content+xml":[],"application/mathml-presentation+xml":[],"application/mathml+xml":["mathml"],"application/mbms-associated-procedure-description+xml":[],"application/mbms-deregister+xml":[],"application/mbms-envelope+xml":[],"application/mbms-msk+xml":[],"application/mbms-msk-response+xml":[],"application/mbms-protection-description+xml":[],"application/mbms-reception-report+xml":[],"application/mbms-register+xml":[],"application/mbms-register-response+xml":[],"application/mbms-user-service-description+xml":[],"application/mbox":["mbox"],"application/media_control+xml":[],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mikey":[],"application/mods+xml":["mods"],"application/moss-keys":[],"application/moss-signature":[],"application/mosskey-data":[],"application/mosskey-request":[],"application/mp21":["m21","mp21"],"application/mp4":["mp4s"],"application/mpeg4-generic":[],"application/mpeg4-iod":[],"application/mpeg4-iod-xmt":[],"application/msc-ivr+xml":[],"application/msc-mixer+xml":[],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/nasdata":[],"application/news-checkgroups":[],"application/news-groupinfo":[],"application/news-transmission":[],"application/nss":[],"application/ocsp-request":[],"application/ocsp-response":[],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/parityfec":[],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":[],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pidf+xml":[],"application/pidf-diff+xml":[],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/poc-settings+xml":[],"application/postscript":["ai","eps","ps"],"application/prs.alvestrand.titrax-sheet":[],"application/prs.cww":["cww"],"application/prs.nprend":[],"application/prs.plucker":[],"application/prs.rdf-xml-crypt":[],"application/prs.xsf+xml":[],"application/pskc+xml":["pskcxml"],"application/qsig":[],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/remote-printing":[],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/riscos":[],"application/rlmi+xml":[],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rpki-updown":[],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/rtx":[],"application/samlassertion+xml":[],"application/samlmetadata+xml":[],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment":[],"application/set-payment-initiation":["setpay"],"application/set-registration":[],"application/set-registration-initiation":["setreg"],"application/sgml":[],"application/sgml-open-catalog":[],"application/shf+xml":["shf"],"application/sieve":[],"application/simple-filter+xml":[],"application/simple-message-summary":[],"application/simplesymbolcontainer":[],"application/slate":[],"application/smil":[],"application/smil+xml":["smi","smil"],"application/soap+fastinfoset":[],"application/soap+xml":[],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/spirits-event+xml":[],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tamp-apex-update":[],"application/tamp-apex-update-confirm":[],"application/tamp-community-update":[],"application/tamp-community-update-confirm":[],"application/tamp-error":[],"application/tamp-sequence-adjust":[],"application/tamp-sequence-adjust-confirm":[],"application/tamp-status-query":[],"application/tamp-status-response":[],"application/tamp-update":[],"application/tamp-update-confirm":[],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamp-query":[],"application/timestamp-reply":[],"application/timestamped-data":["tsd"],"application/tve-trigger":[],"application/ulpfec":[],"application/vcard+xml":[],"application/vemmi":[],"application/vividence.scriptfile":[],"application/vnd.3gpp.bsf+xml":[],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp.sms":[],"application/vnd.3gpp2.bcmcsinfo+xml":[],"application/vnd.3gpp2.sms":[],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.partial-upload":[],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.aether.imp":[],"application/vnd.ah-barcode":[],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.amundsen.maze+xml":[],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.arastra.swi":[],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autopackage":[],"application/vnd.avistar+xml":[],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bluetooth.ep.oob":[],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.cab-jscript":[],"application/vnd.canon-cpdl":[],"application/vnd.canon-lips":[],"application/vnd.cendio.thinlinc.clientconf":[],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.cirpack.isdn-ext":[],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.collection+json":[],"application/vnd.commerce-battelle":[],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.ctct.ws+xml":[],"application/vnd.cups-pdf":[],"application/vnd.cups-postscript":[],"application/vnd.cups-ppd":["ppd"],"application/vnd.cups-raster":[],"application/vnd.cups-raw":[],"application/vnd.curl":[],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.cybank":[],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dir-bi.plate-dl-nosuffix":[],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dolby.mobile.1":[],"application/vnd.dolby.mobile.2":[],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.dvbj":[],"application/vnd.dvb.esgcontainer":[],"application/vnd.dvb.ipdcdftnotifaccess":[],"application/vnd.dvb.ipdcesgaccess":[],"application/vnd.dvb.ipdcesgaccess2":[],"application/vnd.dvb.ipdcesgpdd":[],"application/vnd.dvb.ipdcroaming":[],"application/vnd.dvb.iptv.alfec-base":[],"application/vnd.dvb.iptv.alfec-enhancement":[],"application/vnd.dvb.notif-aggregate-root+xml":[],"application/vnd.dvb.notif-container+xml":[],"application/vnd.dvb.notif-generic+xml":[],"application/vnd.dvb.notif-ia-msglist+xml":[],"application/vnd.dvb.notif-ia-registration-request+xml":[],"application/vnd.dvb.notif-ia-registration-response+xml":[],"application/vnd.dvb.notif-init+xml":[],"application/vnd.dvb.pfr":[],"application/vnd.dvb.service":["svc"],"application/vnd.dxr":[],"application/vnd.dynageo":["geo"],"application/vnd.easykaraoke.cdgdownload":[],"application/vnd.ecdis-update":[],"application/vnd.ecowin.chart":["mag"],"application/vnd.ecowin.filerequest":[],"application/vnd.ecowin.fileupdate":[],"application/vnd.ecowin.series":[],"application/vnd.ecowin.seriesrequest":[],"application/vnd.ecowin.seriesupdate":[],"application/vnd.emclient.accessrequest+xml":[],"application/vnd.enliven":["nml"],"application/vnd.eprints.data+xml":[],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.ericsson.quickcall":[],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.etsi.aoc+xml":[],"application/vnd.etsi.cug+xml":[],"application/vnd.etsi.iptvcommand+xml":[],"application/vnd.etsi.iptvdiscovery+xml":[],"application/vnd.etsi.iptvprofile+xml":[],"application/vnd.etsi.iptvsad-bc+xml":[],"application/vnd.etsi.iptvsad-cod+xml":[],"application/vnd.etsi.iptvsad-npvr+xml":[],"application/vnd.etsi.iptvservice+xml":[],"application/vnd.etsi.iptvsync+xml":[],"application/vnd.etsi.iptvueprofile+xml":[],"application/vnd.etsi.mcid+xml":[],"application/vnd.etsi.overload-control-policy-dataset+xml":[],"application/vnd.etsi.sci+xml":[],"application/vnd.etsi.simservs+xml":[],"application/vnd.etsi.tsl+xml":[],"application/vnd.etsi.tsl.der":[],"application/vnd.eudora.data":[],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.f-secure.mobile":[],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.ffsns":[],"application/vnd.fints":[],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.font-fontforge-sfd":[],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.art-ex":[],"application/vnd.fujixerox.art4":[],"application/vnd.fujixerox.hbpl":[],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fut-misnet":[],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geocube+xml":[],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.globalplatform.card-content-mgt":[],"application/vnd.globalplatform.card-content-mgt-response":[],"application/vnd.gmx":["gmx"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.gridmp":[],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+json":[],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hcl-bireports":[],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.httphone":[],"application/vnd.hzn-3d-crossword":[],"application/vnd.ibm.afplinedata":[],"application/vnd.ibm.electronic-media":[],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.informedcontrol.rms+xml":[],"application/vnd.informix-visionary":[],"application/vnd.infotech.project":[],"application/vnd.infotech.project+xml":[],"application/vnd.innopath.wamp.notification":[],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intertrust.digibox":[],"application/vnd.intertrust.nncp":[],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.iptc.g2.conceptitem+xml":[],"application/vnd.iptc.g2.knowledgeitem+xml":[],"application/vnd.iptc.g2.newsitem+xml":[],"application/vnd.iptc.g2.newsmessage+xml":[],"application/vnd.iptc.g2.packageitem+xml":[],"application/vnd.iptc.g2.planningitem+xml":[],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.japannet-directory-service":[],"application/vnd.japannet-jpnstore-wakeup":[],"application/vnd.japannet-payment-wakeup":[],"application/vnd.japannet-registration":[],"application/vnd.japannet-registration-wakeup":[],"application/vnd.japannet-setstore-wakeup":[],"application/vnd.japannet-verification":[],"application/vnd.japannet-verification-wakeup":[],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.liberty-request+xml":[],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.marlin.drm.actiontoken+xml":[],"application/vnd.marlin.drm.conftoken+xml":[],"application/vnd.marlin.drm.license+xml":[],"application/vnd.marlin.drm.mdcf":[],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.meridian-slingshot":[],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.minisoft-hp3000-save":[],"application/vnd.mitsubishi.misty-guard.trustweb":[],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.motorola.flexsuite":[],"application/vnd.motorola.flexsuite.adsi":[],"application/vnd.motorola.flexsuite.fis":[],"application/vnd.motorola.flexsuite.gotap":[],"application/vnd.motorola.flexsuite.kmr":[],"application/vnd.motorola.flexsuite.ttc":[],"application/vnd.motorola.flexsuite.wem":[],"application/vnd.motorola.iprm":[],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-asf":[],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-color.iccprofile":[],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-office.activex+xml":[],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-opentype":[],"application/vnd.ms-package.obfuscated-opentype":[],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-playready.initiator+xml":[],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-printing.printticket+xml":[],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-tnef":[],"application/vnd.ms-wmdrm.lic-chlg-req":[],"application/vnd.ms-wmdrm.lic-resp":[],"application/vnd.ms-wmdrm.meter-chlg-req":[],"application/vnd.ms-wmdrm.meter-resp":[],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.msign":[],"application/vnd.multiad.creator":[],"application/vnd.multiad.creator.cif":[],"application/vnd.music-niff":[],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.ncd.control":[],"application/vnd.ncd.reference":[],"application/vnd.nervana":[],"application/vnd.netfpx":[],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.catalogs":[],"application/vnd.nokia.conml+wbxml":[],"application/vnd.nokia.conml+xml":[],"application/vnd.nokia.isds-radio-presets":[],"application/vnd.nokia.iptv.config+xml":[],"application/vnd.nokia.landmark+wbxml":[],"application/vnd.nokia.landmark+xml":[],"application/vnd.nokia.landmarkcollection+xml":[],"application/vnd.nokia.n-gage.ac+xml":[],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.ncd":[],"application/vnd.nokia.pcd+wbxml":[],"application/vnd.nokia.pcd+xml":[],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.ntt-local.file-transfer":[],"application/vnd.ntt-local.sip-ta_remote":[],"application/vnd.ntt-local.sip-ta_tcp_stream":[],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.obn":[],"application/vnd.oftn.l10n+json":[],"application/vnd.oipf.contentaccessdownload+xml":[],"application/vnd.oipf.contentaccessstreaming+xml":[],"application/vnd.oipf.cspg-hexbinary":[],"application/vnd.oipf.dae.svg+xml":[],"application/vnd.oipf.dae.xhtml+xml":[],"application/vnd.oipf.mippvcontrolmessage+xml":[],"application/vnd.oipf.pae.gem":[],"application/vnd.oipf.spdiscovery+xml":[],"application/vnd.oipf.spdlist+xml":[],"application/vnd.oipf.ueprofile+xml":[],"application/vnd.oipf.userprofile+xml":[],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma-scws-config":[],"application/vnd.oma-scws-http-request":[],"application/vnd.oma-scws-http-response":[],"application/vnd.oma.bcast.associated-procedure-parameter+xml":[],"application/vnd.oma.bcast.drm-trigger+xml":[],"application/vnd.oma.bcast.imd+xml":[],"application/vnd.oma.bcast.ltkm":[],"application/vnd.oma.bcast.notification+xml":[],"application/vnd.oma.bcast.provisioningtrigger":[],"application/vnd.oma.bcast.sgboot":[],"application/vnd.oma.bcast.sgdd+xml":[],"application/vnd.oma.bcast.sgdu":[],"application/vnd.oma.bcast.simple-symbol-container":[],"application/vnd.oma.bcast.smartcard-trigger+xml":[],"application/vnd.oma.bcast.sprov+xml":[],"application/vnd.oma.bcast.stkm":[],"application/vnd.oma.cab-address-book+xml":[],"application/vnd.oma.cab-feature-handler+xml":[],"application/vnd.oma.cab-pcc+xml":[],"application/vnd.oma.cab-user-prefs+xml":[],"application/vnd.oma.dcd":[],"application/vnd.oma.dcdc":[],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.oma.drm.risd+xml":[],"application/vnd.oma.group-usage-list+xml":[],"application/vnd.oma.pal+xml":[],"application/vnd.oma.poc.detailed-progress-report+xml":[],"application/vnd.oma.poc.final-report+xml":[],"application/vnd.oma.poc.groups+xml":[],"application/vnd.oma.poc.invocation-descriptor+xml":[],"application/vnd.oma.poc.optimized-progress-report+xml":[],"application/vnd.oma.push":[],"application/vnd.oma.scidm.messages+xml":[],"application/vnd.oma.xcap-directory+xml":[],"application/vnd.omads-email+xml":[],"application/vnd.omads-file+xml":[],"application/vnd.omads-folder+xml":[],"application/vnd.omaloc-supl-init":[],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.custom-properties+xml":[],"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":[],"application/vnd.openxmlformats-officedocument.drawing+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":[],"application/vnd.openxmlformats-officedocument.extended-properties+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":[],"application/vnd.openxmlformats-officedocument.theme+xml":[],"application/vnd.openxmlformats-officedocument.themeoverride+xml":[],"application/vnd.openxmlformats-officedocument.vmldrawing":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":[],"application/vnd.openxmlformats-package.core-properties+xml":[],"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":[],"application/vnd.openxmlformats-package.relationships+xml":[],"application/vnd.quobject-quoxdocument":[],"application/vnd.osa.netdeploy":[],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.bundle":[],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.otps.ct-kip+xml":[],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.paos.xml":[],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.piaccess.application-licence":[],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.poc.group-advertisement+xml":[],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.powerbuilder6-s":[],"application/vnd.powerbuilder7":[],"application/vnd.powerbuilder7-s":[],"application/vnd.powerbuilder75":[],"application/vnd.powerbuilder75-s":[],"application/vnd.preminet":[],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-multiplexed":[],"application/vnd.pwg-xhtml-print+xml":[],"application/vnd.qualcomm.brew-app-res":[],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.radisys.moml+xml":[],"application/vnd.radisys.msml+xml":[],"application/vnd.radisys.msml-audit+xml":[],"application/vnd.radisys.msml-audit-conf+xml":[],"application/vnd.radisys.msml-audit-conn+xml":[],"application/vnd.radisys.msml-audit-dialog+xml":[],"application/vnd.radisys.msml-audit-stream+xml":[],"application/vnd.radisys.msml-conf+xml":[],"application/vnd.radisys.msml-dialog+xml":[],"application/vnd.radisys.msml-dialog-base+xml":[],"application/vnd.radisys.msml-dialog-fax-detect+xml":[],"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":[],"application/vnd.radisys.msml-dialog-group+xml":[],"application/vnd.radisys.msml-dialog-speech+xml":[],"application/vnd.radisys.msml-dialog-transform+xml":[],"application/vnd.rainstor.data":[],"application/vnd.rapid":[],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.renlearn.rlprint":[],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.rs-274x":[],"application/vnd.ruckus.download":[],"application/vnd.s3sms":[],"application/vnd.sailingtracker.track":["st"],"application/vnd.sbm.cid":[],"application/vnd.sbm.mid2":[],"application/vnd.scribus":[],"application/vnd.sealed.3df":[],"application/vnd.sealed.csf":[],"application/vnd.sealed.doc":[],"application/vnd.sealed.eml":[],"application/vnd.sealed.mht":[],"application/vnd.sealed.net":[],"application/vnd.sealed.ppt":[],"application/vnd.sealed.tiff":[],"application/vnd.sealed.xls":[],"application/vnd.sealedmedia.softseal.html":[],"application/vnd.sealedmedia.softseal.pdf":[],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.notebook":[],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":[],"application/vnd.software602.filler.form-xml-zip":[],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.sss-cod":[],"application/vnd.sss-dtf":[],"application/vnd.sss-ntf":[],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.street-stream":[],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sun.wadl+xml":[],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.swiftview-ics":[],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dm.notification":[],"application/vnd.syncml.ds.notification":[],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.truedoc":[],"application/vnd.ubisoft.webplayer":[],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.uplanet.alert":[],"application/vnd.uplanet.alert-wbxml":[],"application/vnd.uplanet.bearer-choice":[],"application/vnd.uplanet.bearer-choice-wbxml":[],"application/vnd.uplanet.cacheop":[],"application/vnd.uplanet.cacheop-wbxml":[],"application/vnd.uplanet.channel":[],"application/vnd.uplanet.channel-wbxml":[],"application/vnd.uplanet.list":[],"application/vnd.uplanet.list-wbxml":[],"application/vnd.uplanet.listcmd":[],"application/vnd.uplanet.listcmd-wbxml":[],"application/vnd.uplanet.signal":[],"application/vnd.vcx":["vcx"],"application/vnd.vd-study":[],"application/vnd.vectorworks":[],"application/vnd.verimatrix.vcas":[],"application/vnd.vidsoft.vidconference":[],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vividence.scriptfile":[],"application/vnd.vsf":["vsf"],"application/vnd.wap.sic":[],"application/vnd.wap.slc":[],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wfa.wsc":[],"application/vnd.wmc":[],"application/vnd.wmf.bootstrap":[],"application/vnd.wolfram.mathematica":[],"application/vnd.wolfram.mathematica.package":[],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wrq-hp3000-labelled":[],"application/vnd.wt.stf":["stf"],"application/vnd.wv.csp+wbxml":[],"application/vnd.wv.csp+xml":[],"application/vnd.wv.ssp+xml":[],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.xfdl.webform":[],"application/vnd.xmi+xml":[],"application/vnd.xmpie.cpkg":[],"application/vnd.xmpie.dpkg":[],"application/vnd.xmpie.plan":[],"application/vnd.xmpie.ppkg":[],"application/vnd.xmpie.xlim":[],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.remote-setup":[],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yamaha.through-ngn":[],"application/vnd.yamaha.tunnel-udpencap":[],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/vq-rtcpxr":[],"application/watcherinfo+xml":[],"application/whoispp-query":[],"application/whoispp-response":[],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wita":[],"application/wordperfect5.1":[],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-amf":[],"application/x-apple-diskimage":["dmg"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-conference":["nsc"],"application/x-compress":[],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-dos":[],"application/x-font-framemaker":[],"application/x-font-ghostscript":["gsf"],"application/x-font-libgrx":[],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-speedo":[],"application/x-font-sunos-news":[],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/font-woff":["woff"],"application/x-font-vfont":[],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-gzip":[],"application/x-hdf":["hdf"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lzh-compressed":["lzh","lha"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-nzb":["nzb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-research-info-systems":["ris"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-wais-source":["src"],"application/x-x509-ca-cert":["der","crt"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/x400-bp":[],"application/xaml+xml":["xaml"],"application/xcap-att+xml":[],"application/xcap-caps+xml":[],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":[],"application/xcap-error+xml":[],"application/xcap-ns+xml":[],"application/xcon-conference-info-diff+xml":[],"application/xcon-conference-info+xml":[],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xhtml-voice+xml":[],"application/xml":["xml","xsl"],"application/xml-dtd":["dtd"],"application/xml-external-parsed-entity":[],"application/xmpp+xml":[],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/1d-interleaved-parityfec":[],"audio/32kadpcm":[],"audio/3gpp":[],"audio/3gpp2":[],"audio/ac3":[],"audio/adpcm":["adp"],"audio/amr":[],"audio/amr-wb":[],"audio/amr-wb+":[],"audio/asc":[],"audio/atrac-advanced-lossless":[],"audio/atrac-x":[],"audio/atrac3":[],"audio/basic":["au","snd"],"audio/bv16":[],"audio/bv32":[],"audio/clearmode":[],"audio/cn":[],"audio/dat12":[],"audio/dls":[],"audio/dsr-es201108":[],"audio/dsr-es202050":[],"audio/dsr-es202211":[],"audio/dsr-es202212":[],"audio/dv":[],"audio/dvi4":[],"audio/eac3":[],"audio/evrc":[],"audio/evrc-qcp":[],"audio/evrc0":[],"audio/evrc1":[],"audio/evrcb":[],"audio/evrcb0":[],"audio/evrcb1":[],"audio/evrcwb":[],"audio/evrcwb0":[],"audio/evrcwb1":[],"audio/example":[],"audio/fwdred":[],"audio/g719":[],"audio/g722":[],"audio/g7221":[],"audio/g723":[],"audio/g726-16":[],"audio/g726-24":[],"audio/g726-32":[],"audio/g726-40":[],"audio/g728":[],"audio/g729":[],"audio/g7291":[],"audio/g729d":[],"audio/g729e":[],"audio/gsm":[],"audio/gsm-efr":[],"audio/gsm-hr-08":[],"audio/ilbc":[],"audio/ip-mr_v2.5":[],"audio/isac":[],"audio/l16":[],"audio/l20":[],"audio/l24":[],"audio/l8":[],"audio/lpc":[],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":[],"audio/mp4":["mp4a"],"audio/mp4a-latm":[],"audio/mpa":[],"audio/mpa-robust":[],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/mpeg4-generic":[],"audio/musepack":[],"audio/ogg":["oga","ogg","spx"],"audio/opus":[],"audio/parityfec":[],"audio/pcma":[],"audio/pcma-wb":[],"audio/pcmu-wb":[],"audio/pcmu":[],"audio/prs.sid":[],"audio/qcelp":[],"audio/red":[],"audio/rtp-enc-aescm128":[],"audio/rtp-midi":[],"audio/rtx":[],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/smv":[],"audio/smv0":[],"audio/smv-qcp":[],"audio/sp-midi":[],"audio/speex":[],"audio/t140c":[],"audio/t38":[],"audio/telephone-event":[],"audio/tone":[],"audio/uemclip":[],"audio/ulpfec":[],"audio/vdvi":[],"audio/vmr-wb":[],"audio/vnd.3gpp.iufp":[],"audio/vnd.4sb":[],"audio/vnd.audiokoz":[],"audio/vnd.celp":[],"audio/vnd.cisco.nse":[],"audio/vnd.cmles.radio-events":[],"audio/vnd.cns.anp1":[],"audio/vnd.cns.inf1":[],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dlna.adts":[],"audio/vnd.dolby.heaac.1":[],"audio/vnd.dolby.heaac.2":[],"audio/vnd.dolby.mlp":[],"audio/vnd.dolby.mps":[],"audio/vnd.dolby.pl2":[],"audio/vnd.dolby.pl2x":[],"audio/vnd.dolby.pl2z":[],"audio/vnd.dolby.pulse.1":[],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.dvb.file":[],"audio/vnd.everad.plj":[],"audio/vnd.hns.audio":[],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nokia.mobile-xmf":[],"audio/vnd.nortel.vbk":[],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.octel.sbc":[],"audio/vnd.qcelp":[],"audio/vnd.rhetorex.32kadpcm":[],"audio/vnd.rip":["rip"],"audio/vnd.sealedmedia.softseal.mpeg":[],"audio/vnd.vmx.cvsd":[],"audio/vorbis":[],"audio/vorbis-config":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-tta":[],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-pdb":[],"chemical/x-xyz":["xyz"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/example":[],"image/fits":[],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":[],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":[],"image/jpx":[],"image/ktx":["ktx"],"image/naplps":[],"image/png":["png"],"image/prs.btif":["btif"],"image/prs.pti":[],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":[],"image/tiff":["tiff","tif"],"image/tiff-fx":[],"image/vnd.adobe.photoshop":["psd"],"image/vnd.cns.inf2":[],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.globalgraphics.pgb":[],"image/vnd.microsoft.icon":[],"image/vnd.mix":[],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.radiance":[],"image/vnd.sealed.png":[],"image/vnd.sealedmedia.softseal.gif":[],"image/vnd.sealedmedia.softseal.jpg":[],"image/vnd.svf":[],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-mrsid-image":["sid"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/cpim":[],"message/delivery-status":[],"message/disposition-notification":[],"message/example":[],"message/external-body":[],"message/feedback-report":[],"message/global":[],"message/global-delivery-status":[],"message/global-disposition-notification":[],"message/global-headers":[],"message/http":[],"message/imdn+xml":[],"message/news":[],"message/partial":[],"message/rfc822":["eml","mime"],"message/s-http":[],"message/sip":[],"message/sipfrag":[],"message/tracking-status":[],"message/vnd.si.simp":[],"model/example":[],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.flatland.3dml":[],"model/vnd.gdl":["gdl"],"model/vnd.gs-gdl":[],"model/vnd.gs.gdl":[],"model/vnd.gtw":["gtw"],"model/vnd.moml+xml":[],"model/vnd.mts":["mts"],"model/vnd.parasolid.transmit.binary":[],"model/vnd.parasolid.transmit.text":[],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"multipart/alternative":[],"multipart/appledouble":[],"multipart/byteranges":[],"multipart/digest":[],"multipart/encrypted":[],"multipart/example":[],"multipart/form-data":[],"multipart/header-set":[],"multipart/mixed":[],"multipart/parallel":[],"multipart/related":[],"multipart/report":[],"multipart/signed":[],"multipart/voice-message":[],"text/1d-interleaved-parityfec":[],"text/cache-manifest":["appcache"],"text/calendar":["ics","ifb"],"text/css":["css"],"text/csv":["csv"],"text/directory":[],"text/dns":[],"text/ecmascript":[],"text/enriched":[],"text/example":[],"text/fwdred":[],"text/html":["html","htm"],"text/javascript":[],"text/n3":["n3"],"text/parityfec":[],"text/plain":["txt","text","conf","def","list","log","in"],"text/prs.fallenstein.rst":[],"text/prs.lines.tag":["dsc"],"text/vnd.radisys.msml-basic-layout":[],"text/red":[],"text/rfc822-headers":[],"text/richtext":["rtx"],"text/rtf":[],"text/rtp-enc-aescm128":[],"text/rtx":[],"text/sgml":["sgml","sgm"],"text/t140":[],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/ulpfec":[],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.abc":[],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.dmclientscript":[],"text/vnd.dvb.subtitle":["sub"],"text/vnd.esmertec.theme-descriptor":[],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.iptc.newsml":[],"text/vnd.iptc.nitf":[],"text/vnd.latex-z":[],"text/vnd.motorola.reflex":[],"text/vnd.ms-mediapackage":[],"text/vnd.net2phone.commcenter.command":[],"text/vnd.si.uricatalogue":[],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.trolltech.linguist":[],"text/vnd.wap.si":[],"text/vnd.wap.sl":[],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-fortran":["f","for","f77","f90"],"text/x-java-source":["java"],"text/x-opml":["opml"],"text/x-pascal":["p","pas"],"text/x-nfo":["nfo"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/xml-external-parsed-entity":[],"video/1d-interleaved-parityfec":[],"video/3gpp":["3gp"],"video/3gpp-tt":[],"video/3gpp2":["3g2"],"video/bmpeg":[],"video/bt656":[],"video/celb":[],"video/dv":[],"video/example":[],"video/h261":["h261"],"video/h263":["h263"],"video/h263-1998":[],"video/h263-2000":[],"video/h264":["h264"],"video/h264-rcdo":[],"video/h264-svc":[],"video/jpeg":["jpgv"],"video/jpeg2000":[],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp1s":[],"video/mp2p":[],"video/mp2t":[],"video/mp4":["mp4","mp4v","mpg4"],"video/mp4v-es":[],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/mpeg4-generic":[],"video/mpv":[],"video/nv":[],"video/ogg":["ogv"],"video/parityfec":[],"video/pointer":[],"video/quicktime":["qt","mov"],"video/raw":[],"video/rtp-enc-aescm128":[],"video/rtx":[],"video/smpte292m":[],"video/ulpfec":[],"video/vc1":[],"video/vnd.cctv":[],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.mp4":[],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.directv.mpeg":[],"video/vnd.directv.mpeg-tts":[],"video/vnd.dlna.mpeg-tts":[],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.hns.video":[],"video/vnd.iptvforum.1dparityfec-1010":[],"video/vnd.iptvforum.1dparityfec-2005":[],"video/vnd.iptvforum.2dparityfec-1010":[],"video/vnd.iptvforum.2dparityfec-2005":[],"video/vnd.iptvforum.ttsavc":[],"video/vnd.iptvforum.ttsmpeg2":[],"video/vnd.motorola.video":[],"video/vnd.motorola.videop":[],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.nokia.interleaved-multimedia":[],"video/vnd.nokia.videovoip":[],"video/vnd.objectvideo":[],"video/vnd.sealed.mpeg1":[],"video/vnd.sealed.mpeg4":[],"video/vnd.sealed.swf":[],"video/vnd.sealedmedia.softseal.mov":[],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}
},{}],122:[function(require,module,exports){module.exports={"text/vtt":["vtt"],"application/x-chrome-extension":["crx"],"text/x-component":["htc"],"text/cache-manifest":["manifest"],"application/octet-stream":["buffer"],"application/mp4":["m4p"],"audio/mp4":["m4a"],"video/MP2T":["ts"],"application/x-web-app-manifest+json":["webapp"],"text/x-lua":["lua"],"application/x-lua-bytecode":["luac"],"text/x-markdown":["markdown","md","mkd"],"text/plain":["ini"],"application/dash+xml":["mdp"],"font/opentype":["otf"],"application/json":["map"],"application/xml":["xsd"]}},{}],123:[function(require,module,exports){(function(){var _global=this;var _rng;if(typeof _global.require=="function"){try{var _rb=_global.require("crypto").randomBytes;_rng=_rb&&function(){return _rb(16)}}catch(e){}}if(!_rng&&_global.crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);_rng=function whatwgRNG(){crypto.getRandomValues(_rnds8);return _rnds8}}if(!_rng){var _rnds=new Array(16);_rng=function(){for(var i=0,r;i<16;i++){if((i&3)===0)r=Math.random()*4294967296;_rnds[i]=r>>>((i&3)<<3)&255}return _rnds}}var BufferClass=typeof _global.Buffer=="function"?_global.Buffer:Array;var _byteToHex=[];var _hexToByte={};for(var i=0;i<256;i++){_byteToHex[i]=(i+256).toString(16).substr(1);_hexToByte[_byteToHex[i]]=i}function parse(s,buf,offset){var i=buf&&offset||0,ii=0;buf=buf||[];s.toLowerCase().replace(/[0-9a-f]{2}/g,function(oct){if(ii<16){buf[i+ii++]=_hexToByte[oct]}});while(ii<16){buf[i+ii++]=0}return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}var _seedBytes=_rng();var _nodeId=[_seedBytes[0]|1,_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]];var _clockseq=(_seedBytes[6]<<8|_seedBytes[7])&16383;var _lastMSecs=0,_lastNSecs=0;function v1(options,buf,offset){var i=buf&&offset||0;var b=buf||[];options=options||{};var clockseq=options.clockseq!=null?options.clockseq:_clockseq;var msecs=options.msecs!=null?options.msecs:(new Date).getTime();var nsecs=options.nsecs!=null?options.nsecs:_lastNSecs+1;var dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&options.clockseq==null){clockseq=clockseq+1&16383}if((dt<0||msecs>_lastMSecs)&&options.nsecs==null){nsecs=0}if(nsecs>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}_lastMSecs=msecs;_lastNSecs=nsecs;_clockseq=clockseq;msecs+=122192928e5;var tl=((msecs&268435455)*1e4+nsecs)%4294967296;b[i++]=tl>>>24&255;b[i++]=tl>>>16&255;b[i++]=tl>>>8&255;b[i++]=tl&255;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255;b[i++]=tmh&255;b[i++]=tmh>>>24&15|16;b[i++]=tmh>>>16&255;b[i++]=clockseq>>>8|128;b[i++]=clockseq&255;var node=options.node||_nodeId;for(var n=0;n<6;n++){b[i+n]=node[n]}return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;if(typeof options=="string"){buf=options=="binary"?new BufferClass(16):null;options=null}options=options||{};var rnds=options.random||(options.rng||_rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){for(var ii=0;ii<16;ii++){buf[i+ii]=rnds[ii]}}return buf||unparse(rnds)}var uuid=v4;uuid.v1=v1;uuid.v4=v4;uuid.parse=parse;uuid.unparse=unparse;uuid.BufferClass=BufferClass;if(typeof define==="function"&&define.amd){define(function(){return uuid})}else if(typeof module!="undefined"&&module.exports){module.exports=uuid}else{var _previousRoot=_global.uuid;uuid.noConflict=function(){_global.uuid=_previousRoot;return uuid};_global.uuid=uuid}}).call(this)},{}],124:[function(require,module,exports){var crypto=require("crypto"),qs=require("querystring");function sha1(key,body){return crypto.createHmac("sha1",key).update(body).digest("base64")}function rsa(key,body){return crypto.createSign("RSA-SHA1").update(body).sign(key,"base64")}function rfc3986(str){return encodeURIComponent(str).replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/'/g,"%27")}function map(obj){var key,val,arr=[];for(key in obj){val=obj[key];if(Array.isArray(val))for(var i=0;i<val.length;i++)arr.push([key,val[i]]);else arr.push([key,val])}return arr}function compare(a,b){return a>b?1:a<b?-1:0}function generateBase(httpMethod,base_uri,params){var normalized=map(params).map(function(p){return[rfc3986(p[0]),rfc3986(p[1]||"")]}).sort(function(a,b){return compare(a[0],b[0])||compare(a[1],b[1])}).map(function(p){return p.join("=")}).join("&");var base=[rfc3986(httpMethod?httpMethod.toUpperCase():"GET"),rfc3986(base_uri),rfc3986(normalized)].join("&");return base}function hmacsign(httpMethod,base_uri,params,consumer_secret,token_secret){var base=generateBase(httpMethod,base_uri,params);var key=[consumer_secret||"",token_secret||""].map(rfc3986).join("&");return sha1(key,base)}function rsasign(httpMethod,base_uri,params,private_key,token_secret){var base=generateBase(httpMethod,base_uri,params);var key=private_key||"";return rsa(key,base)}function sign(signMethod,httpMethod,base_uri,params,consumer_secret,token_secret){var method;switch(signMethod){case"RSA-SHA1":method=rsasign;break;case"HMAC-SHA1":method=hmacsign;break;default:throw new Error("Signature method not supported: "+signMethod)}return method.apply(null,[].slice.call(arguments,1))}exports.hmacsign=hmacsign;exports.rsasign=rsasign;exports.sign=sign;exports.rfc3986=rfc3986},{crypto:24,querystring:47}],125:[function(require,module,exports){module.exports=require("./lib/")},{"./lib/":126}],126:[function(require,module,exports){var Stringify=require("./stringify");var Parse=require("./parse");var internals={};module.exports={stringify:Stringify,parse:Parse}},{"./parse":127,"./stringify":128}],127:[function(require,module,exports){var Utils=require("./utils");var internals={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3};internals.parseValues=function(str,options){var obj={};var parts=str.split(options.delimiter,options.parameterLimit===Infinity?undefined:options.parameterLimit);for(var i=0,il=parts.length;i<il;++i){var part=parts[i];var pos=part.indexOf("]=")===-1?part.indexOf("="):part.indexOf("]=")+1;if(pos===-1){obj[Utils.decode(part)]=""}else{var key=Utils.decode(part.slice(0,pos));var val=Utils.decode(part.slice(pos+1));if(!obj.hasOwnProperty(key)){obj[key]=val}else{obj[key]=[].concat(obj[key]).concat(val)}}}return obj};internals.parseObject=function(chain,val,options){if(!chain.length){return val}var root=chain.shift();var obj={};if(root==="[]"){obj=[];obj=obj.concat(internals.parseObject(chain,val,options))}else{var cleanRoot=root[0]==="["&&root[root.length-1]==="]"?root.slice(1,root.length-1):root;var index=parseInt(cleanRoot,10);var indexString=""+index;if(!isNaN(index)&&root!==cleanRoot&&indexString===cleanRoot&&index>=0&&index<=options.arrayLimit){obj=[];obj[index]=internals.parseObject(chain,val,options)}else{obj[cleanRoot]=internals.parseObject(chain,val,options)}}return obj};internals.parseKeys=function(key,val,options){if(!key){return}var parent=/^([^\[\]]*)/;var child=/(\[[^\[\]]*\])/g;var segment=parent.exec(key);if(Object.prototype.hasOwnProperty(segment[1])){return}var keys=[];if(segment[1]){keys.push(segment[1])}var i=0;while((segment=child.exec(key))!==null&&i<options.depth){++i;if(!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g,""))){keys.push(segment[1])}}if(segment){keys.push("["+key.slice(segment.index)+"]")}return internals.parseObject(keys,val,options)};module.exports=function(str,options){if(str===""||str===null||typeof str==="undefined"){return{}}options=options||{};options.delimiter=typeof options.delimiter==="string"||Utils.isRegExp(options.delimiter)?options.delimiter:internals.delimiter;options.depth=typeof options.depth==="number"?options.depth:internals.depth;options.arrayLimit=typeof options.arrayLimit==="number"?options.arrayLimit:internals.arrayLimit;options.parameterLimit=typeof options.parameterLimit==="number"?options.parameterLimit:internals.parameterLimit;var tempObj=typeof str==="string"?internals.parseValues(str,options):str;var obj={};var keys=Object.keys(tempObj);for(var i=0,il=keys.length;i<il;++i){var key=keys[i];var newObj=internals.parseKeys(key,tempObj[key],options);obj=Utils.merge(obj,newObj)}return Utils.compact(obj)}},{"./utils":129}],128:[function(require,module,exports){var Utils=require("./utils");var internals={delimiter:"&",indices:true};internals.stringify=function(obj,prefix,options){if(Utils.isBuffer(obj)){obj=obj.toString()}else if(obj instanceof Date){obj=obj.toISOString()}else if(obj===null){obj=""}if(typeof obj==="string"||typeof obj==="number"||typeof obj==="boolean"){return[encodeURIComponent(prefix)+"="+encodeURIComponent(obj)]}var values=[];if(typeof obj==="undefined"){return values}var objKeys=Object.keys(obj);for(var i=0,il=objKeys.length;i<il;++i){var key=objKeys[i];if(!options.indices&&Array.isArray(obj)){values=values.concat(internals.stringify(obj[key],prefix,options))}else{values=values.concat(internals.stringify(obj[key],prefix+"["+key+"]",options))}}return values};module.exports=function(obj,options){options=options||{};var delimiter=typeof options.delimiter==="undefined"?internals.delimiter:options.delimiter;options.indices=typeof options.indices==="boolean"?options.indices:internals.indices;var keys=[];if(typeof obj!=="object"||obj===null){return""}var objKeys=Object.keys(obj);for(var i=0,il=objKeys.length;i<il;++i){var key=objKeys[i];keys=keys.concat(internals.stringify(obj[key],key,options))}return keys.join(delimiter)}},{"./utils":129}],129:[function(require,module,exports){var internals={};exports.arrayToObject=function(source){var obj={};for(var i=0,il=source.length;i<il;++i){if(typeof source[i]!=="undefined"){obj[i]=source[i]}}return obj};exports.merge=function(target,source){if(!source){return target}if(typeof source!=="object"){if(Array.isArray(target)){target.push(source)}else{target[source]=true}return target}if(typeof target!=="object"){target=[target].concat(source);return target}if(Array.isArray(target)&&!Array.isArray(source)){target=exports.arrayToObject(target)}var keys=Object.keys(source);for(var k=0,kl=keys.length;k<kl;++k){var key=keys[k];var value=source[key];if(!target[key]){target[key]=value}else{target[key]=exports.merge(target[key],value)}}return target};exports.decode=function(str){try{return decodeURIComponent(str.replace(/\+/g," "))}catch(e){return str}};exports.compact=function(obj,refs){if(typeof obj!=="object"||obj===null){return obj}refs=refs||[];var lookup=refs.indexOf(obj);if(lookup!==-1){return refs[lookup]}refs.push(obj);if(Array.isArray(obj)){var compacted=[];for(var i=0,il=obj.length;i<il;++i){if(typeof obj[i]!=="undefined"){compacted.push(obj[i])}}return compacted}var keys=Object.keys(obj);for(i=0,il=keys.length;i<il;++i){var key=keys[i];obj[key]=exports.compact(obj[key],refs)}return obj};exports.isRegExp=function(obj){return Object.prototype.toString.call(obj)==="[object RegExp]"};exports.isBuffer=function(obj){if(obj===null||typeof obj==="undefined"){return false}return!!(obj.constructor&&obj.constructor.isBuffer&&obj.constructor.isBuffer(obj))}},{}],130:[function(require,module,exports){(function(Buffer){var util=require("util");var Stream=require("stream");var StringDecoder=require("string_decoder").StringDecoder;module.exports=StringStream;module.exports.AlignedStringDecoder=AlignedStringDecoder;function StringStream(from,to){if(!(this instanceof StringStream))return new StringStream(from,to);Stream.call(this);if(from==null)from="utf8";this.readable=this.writable=true;this.paused=false;this.toEncoding=to==null?from:to;this.fromEncoding=to==null?"":from;this.decoder=new AlignedStringDecoder(this.toEncoding)}util.inherits(StringStream,Stream);StringStream.prototype.write=function(data){if(!this.writable){var err=new Error("stream not writable");err.code="EPIPE";this.emit("error",err);return false}if(this.fromEncoding){if(Buffer.isBuffer(data))data=data.toString();data=new Buffer(data,this.fromEncoding)}var string=this.decoder.write(data);if(string.length)this.emit("data",string);return!this.paused};StringStream.prototype.flush=function(){if(this.decoder.flush){var string=this.decoder.flush();if(string.length)this.emit("data",string)}};StringStream.prototype.end=function(){if(!this.writable&&!this.readable)return;this.flush();this.emit("end");this.writable=this.readable=false;this.destroy()};StringStream.prototype.destroy=function(){this.decoder=null;this.writable=this.readable=false;this.emit("close")};StringStream.prototype.pause=function(){this.paused=true};StringStream.prototype.resume=function(){if(this.paused)this.emit("drain");this.paused=false};function AlignedStringDecoder(encoding){StringDecoder.call(this,encoding);switch(this.encoding){case"base64":this.write=alignedWrite;this.alignedBuffer=new Buffer(3);this.alignedBytes=0;break}}util.inherits(AlignedStringDecoder,StringDecoder);AlignedStringDecoder.prototype.flush=function(){if(!this.alignedBuffer||!this.alignedBytes)return"";var leftover=this.alignedBuffer.toString(this.encoding,0,this.alignedBytes);this.alignedBytes=0;return leftover};function alignedWrite(buffer){var rem=(this.alignedBytes+buffer.length)%this.alignedBuffer.length;if(!rem&&!this.alignedBytes)return buffer.toString(this.encoding);var returnBuffer=new Buffer(this.alignedBytes+buffer.length-rem);this.alignedBuffer.copy(returnBuffer,0,0,this.alignedBytes);buffer.copy(returnBuffer,this.alignedBytes,0,buffer.length-rem);buffer.copy(this.alignedBuffer,0,buffer.length-rem,buffer.length);this.alignedBytes=rem;return returnBuffer.toString(this.encoding)}}).call(this,require("buffer").Buffer)},{buffer:18,stream:60,string_decoder:61,util:64}],131:[function(require,module,exports){"use strict";var net=require("net");var urlParse=require("url").parse;var pubsuffix=require("./pubsuffix");var Store=require("./store").Store;var punycode;try{punycode=require("punycode")}catch(e){console.warn("cookie: can't load punycode; won't use punycode for domain normalization")}var DATE_DELIM=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/;var TOKEN=/[\x21\x23-\x26\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7A\x7C\x7E]/;var COOKIE_OCTET=/[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]/;var COOKIE_OCTETS=new RegExp("^"+COOKIE_OCTET.source+"$");var COOKIE_PAIR_STRICT=new RegExp("^("+TOKEN.source+'+)=("?)('+COOKIE_OCTET.source+"*)\\2$");var COOKIE_PAIR=/^([^=\s]+)\s*=\s*("?)\s*(.*)\s*\2\s*$/;var NON_CTL_SEMICOLON=/[\x20-\x3A\x3C-\x7E]+/;var EXTENSION_AV=NON_CTL_SEMICOLON;var PATH_VALUE=NON_CTL_SEMICOLON;var TRAILING_SEMICOLON=/;+$/;var DAY_OF_MONTH=/^(0?[1-9]|[12][0-9]|3[01])$/;var TIME=/(0?[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/;var STRICT_TIME=/^(0?[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;var MONTH=/^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)$/i;var MONTH_TO_NUM={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11};var NUM_TO_MONTH=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var NUM_TO_DAY=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var YEAR=/^([1-9][0-9]{1,3})$/;var MAX_TIME=2147483647e3;var MIN_TIME=0;function parseDate(str,strict){if(!str){return}var found_time,found_dom,found_month,found_year;var tokens=str.split(DATE_DELIM);if(!tokens){return}var date=new Date;date.setMilliseconds(0);for(var i=0;i<tokens.length;i++){var token=tokens[i].trim();if(!token.length){continue}var result;if(!found_time){result=(strict?STRICT_TIME:TIME).exec(token);if(result){found_time=true;date.setUTCHours(result[1]);date.setUTCMinutes(result[2]);date.setUTCSeconds(result[3]);continue}}if(!found_dom){result=DAY_OF_MONTH.exec(token);if(result){found_dom=true;date.setUTCDate(result[1]);continue}}if(!found_month){result=MONTH.exec(token);if(result){found_month=true;date.setUTCMonth(MONTH_TO_NUM[result[1].toLowerCase()]);continue}}if(!found_year){result=YEAR.exec(token);if(result){var year=result[0];if(70<=year&&year<=99){year+=1900}else if(0<=year&&year<=69){year+=2e3}if(year<1601){return}found_year=true;date.setUTCFullYear(year);continue}}}if(!(found_time&&found_dom&&found_month&&found_year)){return}return date}function formatDate(date){var d=date.getUTCDate();d=d>=10?d:"0"+d;var h=date.getUTCHours();h=h>=10?h:"0"+h;var m=date.getUTCMinutes();m=m>=10?m:"0"+m;var s=date.getUTCSeconds();s=s>=10?s:"0"+s;return NUM_TO_DAY[date.getUTCDay()]+", "+d+" "+NUM_TO_MONTH[date.getUTCMonth()]+" "+date.getUTCFullYear()+" "+h+":"+m+":"+s+" GMT"}function canonicalDomain(str){if(str==null){return null}str=str.trim().replace(/^\./,"");if(punycode&&/[^\u0001-\u007f]/.test(str)){str=punycode.toASCII(str)}return str.toLowerCase()}function domainMatch(str,domStr,canonicalize){if(str==null||domStr==null){return null}if(canonicalize!==false){str=canonicalDomain(str);domStr=canonicalDomain(domStr)}if(str==domStr){return true}if(net.isIP(str)){return false}var idx=str.indexOf(domStr);if(idx<=0){return false}if(str.length!==domStr.length+idx){return false}if(str.substr(idx-1,1)!=="."){return false}return true}function defaultPath(path){if(!path||path.substr(0,1)!=="/"){return"/"}if(path==="/"){return path}var rightSlash=path.lastIndexOf("/");if(rightSlash===0){return"/"}return path.slice(0,rightSlash)}function pathMatch(reqPath,cookiePath){if(cookiePath===reqPath){return true}var idx=reqPath.indexOf(cookiePath);if(idx===0){if(cookiePath.substr(-1)==="/"){return true}if(reqPath.substr(cookiePath.length,1)==="/"){return true}}return false}function parse(str,strict){str=str.trim();var semiColonCheck=TRAILING_SEMICOLON.exec(str);if(semiColonCheck){if(strict){return}str=str.slice(0,semiColonCheck.index)}var firstSemi=str.indexOf(";");var pairRx=strict?COOKIE_PAIR_STRICT:COOKIE_PAIR;var result=pairRx.exec(firstSemi===-1?str:str.substr(0,firstSemi));if(!result){return}var c=new Cookie;c.key=result[1];c.value=result[3];if(firstSemi===-1){return c}var unparsed=str.slice(firstSemi).replace(/^\s*;\s*/,"").trim();if(unparsed.length===0){return c}var cookie_avs=unparsed.split(/\s*;\s*/);while(cookie_avs.length){var av=cookie_avs.shift();if(strict&&!EXTENSION_AV.test(av)){return}var av_sep=av.indexOf("=");var av_key,av_value;if(av_sep===-1){av_key=av;av_value=null}else{av_key=av.substr(0,av_sep);av_value=av.substr(av_sep+1)}av_key=av_key.trim().toLowerCase();if(av_value){av_value=av_value.trim()}switch(av_key){case"expires":if(!av_value){if(strict){return}else{break}}var exp=parseDate(av_value,strict);if(exp==null){if(strict){return}else{break}}c.expires=exp;break;case"max-age":if(!av_value){if(strict){return}else{break}}if(!/^-?[0-9]+$/.test(av_value)){if(strict){return}else{break}}var delta=parseInt(av_value,10);if(strict&&delta<=0){return}c.setMaxAge(delta);break;case"domain":if(!av_value){if(strict){return}else{break}}var domain=av_value.trim().replace(/^\./,"");if(!domain){if(strict){return}else{break}}c.domain=domain.toLowerCase();break;case"path":if(!av_value||av_value.substr(0,1)!="/"){if(strict){return}else{break}}c.path=av_value;break;case"secure":if(av_value!=null){if(strict){return}}c.secure=true;break;case"httponly":if(av_value!=null){if(strict){return}}c.httpOnly=true;break;default:c.extensions=c.extensions||[];c.extensions.push(av);break}}c.creation=new Date;return c}function fromJSON(str){if(!str){return null}var obj;try{obj=JSON.parse(str)}catch(e){return null}var c=new Cookie;for(var i=0;i<numCookieProperties;i++){var prop=cookieProperties[i];if(obj[prop]==null){continue}if(prop==="expires"||prop==="creation"||prop==="lastAccessed"){c[prop]=obj[prop]=="Infinity"?"Infinity":new Date(obj[prop])}else{c[prop]=obj[prop]}}c.creation=c.creation||new Date;return c}function cookieCompare(a,b){var deltaLen=(b.path?b.path.length:0)-(a.path?a.path.length:0);if(deltaLen!==0){return deltaLen}return(a.creation?a.creation.getTime():MAX_TIME)-(b.creation?b.creation.getTime():MAX_TIME)}function permuteDomain(domain){var pubSuf=pubsuffix.getPublicSuffix(domain);if(!pubSuf){return null}if(pubSuf==domain){return[domain]}var prefix=domain.slice(0,-(pubSuf.length+1));var parts=prefix.split(".").reverse();var cur=pubSuf;var permutations=[cur];while(parts.length){cur=parts.shift()+"."+cur;permutations.push(cur)}return permutations}function permutePath(path){if(path==="/"){return["/"]}if(path.lastIndexOf("/")===path.length-1){path=path.substr(0,path.length-1)}var permutations=[path];while(path.length>1){var lindex=path.lastIndexOf("/");if(lindex===0){break}path=path.substr(0,lindex);permutations.push(path)}permutations.push("/");return permutations}function Cookie(opts){if(typeof opts!=="object"){return}Object.keys(opts).forEach(function(key){if(Cookie.prototype.hasOwnProperty(key)){this[key]=opts[key]||Cookie.prototype[key]}}.bind(this))}Cookie.parse=parse;Cookie.fromJSON=fromJSON;Cookie.prototype.key="";Cookie.prototype.value="";Cookie.prototype.expires="Infinity";Cookie.prototype.maxAge=null;Cookie.prototype.domain=null;Cookie.prototype.path=null;Cookie.prototype.secure=false;Cookie.prototype.httpOnly=false;Cookie.prototype.extensions=null;Cookie.prototype.hostOnly=null;Cookie.prototype.pathIsDefault=null;Cookie.prototype.creation=null;Cookie.prototype.lastAccessed=null;var cookieProperties=Object.freeze(Object.keys(Cookie.prototype).map(function(p){if(p instanceof Function){return}return p}));var numCookieProperties=cookieProperties.length;Cookie.prototype.inspect=function inspect(){var now=Date.now();return'Cookie="'+this.toString()+"; hostOnly="+(this.hostOnly!=null?this.hostOnly:"?")+"; aAge="+(this.lastAccessed?now-this.lastAccessed.getTime()+"ms":"?")+"; cAge="+(this.creation?now-this.creation.getTime()+"ms":"?")+'"'};Cookie.prototype.validate=function validate(){if(!COOKIE_OCTETS.test(this.value)){return false}if(this.expires!=Infinity&&!(this.expires instanceof Date)&&!parseDate(this.expires,true)){return false}if(this.maxAge!=null&&this.maxAge<=0){return false}if(this.path!=null&&!PATH_VALUE.test(this.path)){return false}var cdomain=this.cdomain();if(cdomain){if(cdomain.match(/\.$/)){return false}var suffix=pubsuffix.getPublicSuffix(cdomain);if(suffix==null){return false}}return true};Cookie.prototype.setExpires=function setExpires(exp){if(exp instanceof Date){this.expires=exp}else{this.expires=parseDate(exp)||"Infinity"}};Cookie.prototype.setMaxAge=function setMaxAge(age){if(age===Infinity||age===-Infinity){this.maxAge=age.toString()}else{this.maxAge=age}};Cookie.prototype.cookieString=function cookieString(){var val=this.value;if(val==null){val=""}return this.key+"="+val};Cookie.prototype.toString=function toString(){var str=this.cookieString();if(this.expires!=Infinity){if(this.expires instanceof Date){str+="; Expires="+formatDate(this.expires)}else{str+="; Expires="+this.expires}}if(this.maxAge!=null&&this.maxAge!=Infinity){str+="; Max-Age="+this.maxAge}if(this.domain&&!this.hostOnly){str+="; Domain="+this.domain}if(this.path){str+="; Path="+this.path}if(this.secure){str+="; Secure"}if(this.httpOnly){str+="; HttpOnly"}if(this.extensions){this.extensions.forEach(function(ext){str+="; "+ext})}return str};Cookie.prototype.TTL=function TTL(now){if(this.maxAge!=null){return this.maxAge<=0?0:this.maxAge*1e3}var expires=this.expires;if(expires!=Infinity){if(!(expires instanceof Date)){expires=parseDate(expires)||Infinity}if(expires==Infinity){return Infinity}return expires.getTime()-(now||Date.now())}return Infinity};Cookie.prototype.expiryTime=function expiryTime(now){if(this.maxAge!=null){var relativeTo=this.creation||now||new Date;var age=this.maxAge<=0?-Infinity:this.maxAge*1e3;return relativeTo.getTime()+age}if(this.expires==Infinity){return Infinity}return this.expires.getTime()};Cookie.prototype.expiryDate=function expiryDate(now){var millisec=this.expiryTime(now);if(millisec==Infinity){return new Date(MAX_TIME)}else if(millisec==-Infinity){return new Date(MIN_TIME)}else{return new Date(millisec)}};Cookie.prototype.isPersistent=function isPersistent(){return this.maxAge!=null||this.expires!=Infinity};Cookie.prototype.cdomain=Cookie.prototype.canonicalizedDomain=function canonicalizedDomain(){if(this.domain==null){return null}return canonicalDomain(this.domain)};var memstore;function CookieJar(store,rejectPublicSuffixes){if(rejectPublicSuffixes!=null){this.rejectPublicSuffixes=rejectPublicSuffixes}if(!store){memstore=memstore||require("./memstore");store=new memstore.MemoryCookieStore}this.store=store}CookieJar.prototype.store=null;CookieJar.prototype.rejectPublicSuffixes=true;var CAN_BE_SYNC=[];CAN_BE_SYNC.push("setCookie");CookieJar.prototype.setCookie=function(cookie,url,options,cb){var err;var context=url instanceof Object?url:urlParse(url);if(options instanceof Function){cb=options;options={}}var host=canonicalDomain(context.hostname);if(!(cookie instanceof Cookie)){cookie=Cookie.parse(cookie,options.strict===true)}if(!cookie){err=new Error("Cookie failed to parse");return cb(options.ignoreError?null:err)}var now=options.now||new Date;if(this.rejectPublicSuffixes&&cookie.domain){var suffix=pubsuffix.getPublicSuffix(cookie.cdomain());if(suffix==null){err=new Error("Cookie has domain set to a public suffix");return cb(options.ignoreError?null:err)}}if(cookie.domain){if(!domainMatch(host,cookie.cdomain(),false)){err=new Error("Cookie not in this host's domain. Cookie:"+cookie.cdomain()+" Request:"+host);return cb(options.ignoreError?null:err)}if(cookie.hostOnly==null){cookie.hostOnly=false}}else{cookie.hostOnly=true;cookie.domain=host}if(!cookie.path){cookie.path=defaultPath(context.pathname);cookie.pathIsDefault=true}else{if(cookie.path.length>1&&cookie.path.substr(-1)=="/"){cookie.path=cookie.path.slice(0,-1)}}if(options.http===false&&cookie.httpOnly){err=new Error("Cookie is HttpOnly and this isn't an HTTP API");return cb(options.ignoreError?null:err)}var store=this.store;if(!store.updateCookie){store.updateCookie=function(oldCookie,newCookie,cb){this.putCookie(newCookie,cb)}}function withCookie(err,oldCookie){if(err){return cb(err)}var next=function(err){if(err){return cb(err)}else{cb(null,cookie)}};if(oldCookie){if(options.http===false&&oldCookie.httpOnly){err=new Error("old Cookie is HttpOnly and this isn't an HTTP API");return cb(options.ignoreError?null:err)}cookie.creation=oldCookie.creation;cookie.lastAccessed=now;store.updateCookie(oldCookie,cookie,next)}else{cookie.creation=cookie.lastAccessed=now;store.putCookie(cookie,next)}}store.findCookie(cookie.domain,cookie.path,cookie.key,withCookie)};CAN_BE_SYNC.push("getCookies");CookieJar.prototype.getCookies=function(url,options,cb){var context=url instanceof Object?url:urlParse(url);if(options instanceof Function){cb=options;options={}}var host=canonicalDomain(context.hostname);var path=context.pathname||"/";var secure=options.secure;if(secure==null&&context.protocol&&(context.protocol=="https:"||context.protocol=="wss:")){secure=true}var http=options.http;if(http==null){http=true}var now=options.now||Date.now();var expireCheck=options.expire!==false;var allPaths=!!options.allPaths;var store=this.store;function matchingCookie(c){if(c.hostOnly){if(c.domain!=host){return false}}else{if(!domainMatch(host,c.domain,false)){return false}}if(!allPaths&&!pathMatch(path,c.path)){return false}if(c.secure&&!secure){return false}if(c.httpOnly&&!http){return false}if(expireCheck&&c.expiryTime()<=now){store.removeCookie(c.domain,c.path,c.key,function(){});return false}return true}store.findCookies(host,allPaths?null:path,function(err,cookies){if(err){return cb(err)}cookies=cookies.filter(matchingCookie);if(options.sort!==false){cookies=cookies.sort(cookieCompare)}var now=new Date;cookies.forEach(function(c){c.lastAccessed=now});cb(null,cookies)})};CAN_BE_SYNC.push("getCookieString");CookieJar.prototype.getCookieString=function(){var args=Array.prototype.slice.call(arguments,0);var cb=args.pop();var next=function(err,cookies){if(err){cb(err)}else{cb(null,cookies.map(function(c){return c.cookieString()}).join("; "))}};args.push(next);this.getCookies.apply(this,args)};CAN_BE_SYNC.push("getSetCookieStrings");CookieJar.prototype.getSetCookieStrings=function(){var args=Array.prototype.slice.call(arguments,0);var cb=args.pop();var next=function(err,cookies){if(err){cb(err)}else{cb(null,cookies.map(function(c){return c.toString()}))}};args.push(next);this.getCookies.apply(this,args)};function syncWrap(method){return function(){if(!this.store.synchronous){throw new Error("CookieJar store is not synchronous; use async API instead.")}var args=Array.prototype.slice.call(arguments);var syncErr,syncResult;args.push(function syncCb(err,result){syncErr=err;syncResult=result});this[method].apply(this,args);if(syncErr){throw syncErr}return syncResult}}CAN_BE_SYNC.forEach(function(method){CookieJar.prototype[method+"Sync"]=syncWrap(method)});module.exports={CookieJar:CookieJar,Cookie:Cookie,Store:Store,parseDate:parseDate,formatDate:formatDate,parse:parse,fromJSON:fromJSON,domainMatch:domainMatch,defaultPath:defaultPath,pathMatch:pathMatch,getPublicSuffix:pubsuffix.getPublicSuffix,cookieCompare:cookieCompare,permuteDomain:permuteDomain,permutePath:permutePath,canonicalDomain:canonicalDomain}},{"./memstore":132,"./pubsuffix":133,"./store":134,net:1,punycode:44,url:62}],132:[function(require,module,exports){"use strict";var tough=require("./cookie");var Store=require("./store").Store;var permuteDomain=tough.permuteDomain;var permutePath=tough.permutePath;var util=require("util");function MemoryCookieStore(){Store.call(this);this.idx={}}util.inherits(MemoryCookieStore,Store);exports.MemoryCookieStore=MemoryCookieStore;MemoryCookieStore.prototype.idx=null;MemoryCookieStore.prototype.synchronous=true;MemoryCookieStore.prototype.inspect=function(){return"{ idx: "+util.inspect(this.idx,false,2)+" }"};MemoryCookieStore.prototype.findCookie=function(domain,path,key,cb){if(!this.idx[domain]){return cb(null,undefined)}if(!this.idx[domain][path]){return cb(null,undefined)}return cb(null,this.idx[domain][path][key]||null)};MemoryCookieStore.prototype.findCookies=function(domain,path,cb){var results=[];if(!domain){return cb(null,[])}var pathMatcher;if(!path){pathMatcher=function matchAll(domainIndex){for(var curPath in domainIndex){var pathIndex=domainIndex[curPath];for(var key in pathIndex){results.push(pathIndex[key])}}}}else if(path==="/"){pathMatcher=function matchSlash(domainIndex){var pathIndex=domainIndex["/"];if(!pathIndex){return}for(var key in pathIndex){results.push(pathIndex[key])}}}else{var paths=permutePath(path)||[path];pathMatcher=function matchRFC(domainIndex){paths.forEach(function(curPath){var pathIndex=domainIndex[curPath];if(!pathIndex){return}for(var key in pathIndex){results.push(pathIndex[key])}})}}var domains=permuteDomain(domain)||[domain];var idx=this.idx;domains.forEach(function(curDomain){var domainIndex=idx[curDomain];if(!domainIndex){return}pathMatcher(domainIndex)});cb(null,results)};MemoryCookieStore.prototype.putCookie=function(cookie,cb){if(!this.idx[cookie.domain]){this.idx[cookie.domain]={}}if(!this.idx[cookie.domain][cookie.path]){this.idx[cookie.domain][cookie.path]={}}this.idx[cookie.domain][cookie.path][cookie.key]=cookie;cb(null)};MemoryCookieStore.prototype.updateCookie=function updateCookie(oldCookie,newCookie,cb){this.putCookie(newCookie,cb)};MemoryCookieStore.prototype.removeCookie=function removeCookie(domain,path,key,cb){if(this.idx[domain]&&this.idx[domain][path]&&this.idx[domain][path][key]){delete this.idx[domain][path][key]}cb(null)};MemoryCookieStore.prototype.removeCookies=function removeCookies(domain,path,cb){if(this.idx[domain]){if(path){delete this.idx[domain][path]}else{delete this.idx[domain]}}return cb(null)}},{"./cookie":131,"./store":134,util:64}],133:[function(require,module,exports){module.exports.getPublicSuffix=function getPublicSuffix(domain){if(!domain)return null;if(domain.match(/^\./))return null;domain=domain.toLowerCase();var parts=domain.split(".").reverse();var suffix="";var suffixLen=0;for(var i=0;i<parts.length;i++){var part=parts[i];
var starstr="*"+suffix;var partstr=part+suffix;if(index[starstr]){suffixLen=i+1;if(index[partstr]===false){suffixLen--}}else if(index[partstr]){suffixLen=i+1}suffix="."+part+suffix}if(index["*"+suffix]){return null}if(suffixLen&&parts.length>suffixLen){return parts.slice(0,suffixLen+1).reverse().join(".")}return null};var index=module.exports.index=Object.freeze({ac:true,"com.ac":true,"edu.ac":true,"gov.ac":true,"net.ac":true,"mil.ac":true,"org.ac":true,ad:true,"nom.ad":true,ae:true,"co.ae":true,"net.ae":true,"org.ae":true,"sch.ae":true,"ac.ae":true,"gov.ae":true,"mil.ae":true,aero:true,"accident-investigation.aero":true,"accident-prevention.aero":true,"aerobatic.aero":true,"aeroclub.aero":true,"aerodrome.aero":true,"agents.aero":true,"aircraft.aero":true,"airline.aero":true,"airport.aero":true,"air-surveillance.aero":true,"airtraffic.aero":true,"air-traffic-control.aero":true,"ambulance.aero":true,"amusement.aero":true,"association.aero":true,"author.aero":true,"ballooning.aero":true,"broker.aero":true,"caa.aero":true,"cargo.aero":true,"catering.aero":true,"certification.aero":true,"championship.aero":true,"charter.aero":true,"civilaviation.aero":true,"club.aero":true,"conference.aero":true,"consultant.aero":true,"consulting.aero":true,"control.aero":true,"council.aero":true,"crew.aero":true,"design.aero":true,"dgca.aero":true,"educator.aero":true,"emergency.aero":true,"engine.aero":true,"engineer.aero":true,"entertainment.aero":true,"equipment.aero":true,"exchange.aero":true,"express.aero":true,"federation.aero":true,"flight.aero":true,"freight.aero":true,"fuel.aero":true,"gliding.aero":true,"government.aero":true,"groundhandling.aero":true,"group.aero":true,"hanggliding.aero":true,"homebuilt.aero":true,"insurance.aero":true,"journal.aero":true,"journalist.aero":true,"leasing.aero":true,"logistics.aero":true,"magazine.aero":true,"maintenance.aero":true,"marketplace.aero":true,"media.aero":true,"microlight.aero":true,"modelling.aero":true,"navigation.aero":true,"parachuting.aero":true,"paragliding.aero":true,"passenger-association.aero":true,"pilot.aero":true,"press.aero":true,"production.aero":true,"recreation.aero":true,"repbody.aero":true,"res.aero":true,"research.aero":true,"rotorcraft.aero":true,"safety.aero":true,"scientist.aero":true,"services.aero":true,"show.aero":true,"skydiving.aero":true,"software.aero":true,"student.aero":true,"taxi.aero":true,"trader.aero":true,"trading.aero":true,"trainer.aero":true,"union.aero":true,"workinggroup.aero":true,"works.aero":true,af:true,"gov.af":true,"com.af":true,"org.af":true,"net.af":true,"edu.af":true,ag:true,"com.ag":true,"org.ag":true,"net.ag":true,"co.ag":true,"nom.ag":true,ai:true,"off.ai":true,"com.ai":true,"net.ai":true,"org.ai":true,al:true,"com.al":true,"edu.al":true,"gov.al":true,"mil.al":true,"net.al":true,"org.al":true,am:true,an:true,"com.an":true,"net.an":true,"org.an":true,"edu.an":true,ao:true,"ed.ao":true,"gv.ao":true,"og.ao":true,"co.ao":true,"pb.ao":true,"it.ao":true,aq:true,"*.ar":true,"congresodelalengua3.ar":false,"educ.ar":false,"gobiernoelectronico.ar":false,"mecon.ar":false,"nacion.ar":false,"nic.ar":false,"promocion.ar":false,"retina.ar":false,"uba.ar":false,"e164.arpa":true,"in-addr.arpa":true,"ip6.arpa":true,"iris.arpa":true,"uri.arpa":true,"urn.arpa":true,as:true,"gov.as":true,asia:true,at:true,"ac.at":true,"co.at":true,"gv.at":true,"or.at":true,"com.au":true,"net.au":true,"org.au":true,"edu.au":true,"gov.au":true,"csiro.au":true,"asn.au":true,"id.au":true,"info.au":true,"conf.au":true,"oz.au":true,"act.au":true,"nsw.au":true,"nt.au":true,"qld.au":true,"sa.au":true,"tas.au":true,"vic.au":true,"wa.au":true,"act.edu.au":true,"nsw.edu.au":true,"nt.edu.au":true,"qld.edu.au":true,"sa.edu.au":true,"tas.edu.au":true,"vic.edu.au":true,"wa.edu.au":true,"act.gov.au":true,"nt.gov.au":true,"qld.gov.au":true,"sa.gov.au":true,"tas.gov.au":true,"vic.gov.au":true,"wa.gov.au":true,aw:true,"com.aw":true,ax:true,az:true,"com.az":true,"net.az":true,"int.az":true,"gov.az":true,"org.az":true,"edu.az":true,"info.az":true,"pp.az":true,"mil.az":true,"name.az":true,"pro.az":true,"biz.az":true,ba:true,"org.ba":true,"net.ba":true,"edu.ba":true,"gov.ba":true,"mil.ba":true,"unsa.ba":true,"unbi.ba":true,"co.ba":true,"com.ba":true,"rs.ba":true,bb:true,"biz.bb":true,"com.bb":true,"edu.bb":true,"gov.bb":true,"info.bb":true,"net.bb":true,"org.bb":true,"store.bb":true,"*.bd":true,be:true,"ac.be":true,bf:true,"gov.bf":true,bg:true,"a.bg":true,"b.bg":true,"c.bg":true,"d.bg":true,"e.bg":true,"f.bg":true,"g.bg":true,"h.bg":true,"i.bg":true,"j.bg":true,"k.bg":true,"l.bg":true,"m.bg":true,"n.bg":true,"o.bg":true,"p.bg":true,"q.bg":true,"r.bg":true,"s.bg":true,"t.bg":true,"u.bg":true,"v.bg":true,"w.bg":true,"x.bg":true,"y.bg":true,"z.bg":true,"0.bg":true,"1.bg":true,"2.bg":true,"3.bg":true,"4.bg":true,"5.bg":true,"6.bg":true,"7.bg":true,"8.bg":true,"9.bg":true,bh:true,"com.bh":true,"edu.bh":true,"net.bh":true,"org.bh":true,"gov.bh":true,bi:true,"co.bi":true,"com.bi":true,"edu.bi":true,"or.bi":true,"org.bi":true,biz:true,bj:true,"asso.bj":true,"barreau.bj":true,"gouv.bj":true,bm:true,"com.bm":true,"edu.bm":true,"gov.bm":true,"net.bm":true,"org.bm":true,"*.bn":true,bo:true,"com.bo":true,"edu.bo":true,"gov.bo":true,"gob.bo":true,"int.bo":true,"org.bo":true,"net.bo":true,"mil.bo":true,"tv.bo":true,br:true,"adm.br":true,"adv.br":true,"agr.br":true,"am.br":true,"arq.br":true,"art.br":true,"ato.br":true,"b.br":true,"bio.br":true,"blog.br":true,"bmd.br":true,"can.br":true,"cim.br":true,"cng.br":true,"cnt.br":true,"com.br":true,"coop.br":true,"ecn.br":true,"edu.br":true,"emp.br":true,"eng.br":true,"esp.br":true,"etc.br":true,"eti.br":true,"far.br":true,"flog.br":true,"fm.br":true,"fnd.br":true,"fot.br":true,"fst.br":true,"g12.br":true,"ggf.br":true,"gov.br":true,"imb.br":true,"ind.br":true,"inf.br":true,"jor.br":true,"jus.br":true,"lel.br":true,"mat.br":true,"med.br":true,"mil.br":true,"mus.br":true,"net.br":true,"nom.br":true,"not.br":true,"ntr.br":true,"odo.br":true,"org.br":true,"ppg.br":true,"pro.br":true,"psc.br":true,"psi.br":true,"qsl.br":true,"radio.br":true,"rec.br":true,"slg.br":true,"srv.br":true,"taxi.br":true,"teo.br":true,"tmp.br":true,"trd.br":true,"tur.br":true,"tv.br":true,"vet.br":true,"vlog.br":true,"wiki.br":true,"zlg.br":true,bs:true,"com.bs":true,"net.bs":true,"org.bs":true,"edu.bs":true,"gov.bs":true,bt:true,"com.bt":true,"edu.bt":true,"gov.bt":true,"net.bt":true,"org.bt":true,bw:true,"co.bw":true,"org.bw":true,by:true,"gov.by":true,"mil.by":true,"com.by":true,"of.by":true,bz:true,"com.bz":true,"net.bz":true,"org.bz":true,"edu.bz":true,"gov.bz":true,ca:true,"ab.ca":true,"bc.ca":true,"mb.ca":true,"nb.ca":true,"nf.ca":true,"nl.ca":true,"ns.ca":true,"nt.ca":true,"nu.ca":true,"on.ca":true,"pe.ca":true,"qc.ca":true,"sk.ca":true,"yk.ca":true,"gc.ca":true,cat:true,cc:true,cd:true,"gov.cd":true,cf:true,cg:true,ch:true,ci:true,"org.ci":true,"or.ci":true,"com.ci":true,"co.ci":true,"edu.ci":true,"ed.ci":true,"ac.ci":true,"net.ci":true,"go.ci":true,"asso.ci":true,"xn--aroport-bya.ci":true,"int.ci":true,"presse.ci":true,"md.ci":true,"gouv.ci":true,"*.ck":true,"www.ck":false,cl:true,"gov.cl":true,"gob.cl":true,"co.cl":true,"mil.cl":true,cm:true,"gov.cm":true,cn:true,"ac.cn":true,"com.cn":true,"edu.cn":true,"gov.cn":true,"net.cn":true,"org.cn":true,"mil.cn":true,"xn--55qx5d.cn":true,"xn--io0a7i.cn":true,"xn--od0alg.cn":true,"ah.cn":true,"bj.cn":true,"cq.cn":true,"fj.cn":true,"gd.cn":true,"gs.cn":true,"gz.cn":true,"gx.cn":true,"ha.cn":true,"hb.cn":true,"he.cn":true,"hi.cn":true,"hl.cn":true,"hn.cn":true,"jl.cn":true,"js.cn":true,"jx.cn":true,"ln.cn":true,"nm.cn":true,"nx.cn":true,"qh.cn":true,"sc.cn":true,"sd.cn":true,"sh.cn":true,"sn.cn":true,"sx.cn":true,"tj.cn":true,"xj.cn":true,"xz.cn":true,"yn.cn":true,"zj.cn":true,"hk.cn":true,"mo.cn":true,"tw.cn":true,co:true,"arts.co":true,"com.co":true,"edu.co":true,"firm.co":true,"gov.co":true,"info.co":true,"int.co":true,"mil.co":true,"net.co":true,"nom.co":true,"org.co":true,"rec.co":true,"web.co":true,com:true,coop:true,cr:true,"ac.cr":true,"co.cr":true,"ed.cr":true,"fi.cr":true,"go.cr":true,"or.cr":true,"sa.cr":true,cu:true,"com.cu":true,"edu.cu":true,"org.cu":true,"net.cu":true,"gov.cu":true,"inf.cu":true,cv:true,cx:true,"gov.cx":true,"*.cy":true,cz:true,de:true,dj:true,dk:true,dm:true,"com.dm":true,"net.dm":true,"org.dm":true,"edu.dm":true,"gov.dm":true,"do":true,"art.do":true,"com.do":true,"edu.do":true,"gob.do":true,"gov.do":true,"mil.do":true,"net.do":true,"org.do":true,"sld.do":true,"web.do":true,dz:true,"com.dz":true,"org.dz":true,"net.dz":true,"gov.dz":true,"edu.dz":true,"asso.dz":true,"pol.dz":true,"art.dz":true,ec:true,"com.ec":true,"info.ec":true,"net.ec":true,"fin.ec":true,"k12.ec":true,"med.ec":true,"pro.ec":true,"org.ec":true,"edu.ec":true,"gov.ec":true,"gob.ec":true,"mil.ec":true,edu:true,ee:true,"edu.ee":true,"gov.ee":true,"riik.ee":true,"lib.ee":true,"med.ee":true,"com.ee":true,"pri.ee":true,"aip.ee":true,"org.ee":true,"fie.ee":true,eg:true,"com.eg":true,"edu.eg":true,"eun.eg":true,"gov.eg":true,"mil.eg":true,"name.eg":true,"net.eg":true,"org.eg":true,"sci.eg":true,"*.er":true,es:true,"com.es":true,"nom.es":true,"org.es":true,"gob.es":true,"edu.es":true,"*.et":true,eu:true,fi:true,"aland.fi":true,"*.fj":true,"*.fk":true,fm:true,fo:true,fr:true,"com.fr":true,"asso.fr":true,"nom.fr":true,"prd.fr":true,"presse.fr":true,"tm.fr":true,"aeroport.fr":true,"assedic.fr":true,"avocat.fr":true,"avoues.fr":true,"cci.fr":true,"chambagri.fr":true,"chirurgiens-dentistes.fr":true,"experts-comptables.fr":true,"geometre-expert.fr":true,"gouv.fr":true,"greta.fr":true,"huissier-justice.fr":true,"medecin.fr":true,"notaires.fr":true,"pharmacien.fr":true,"port.fr":true,"veterinaire.fr":true,ga:true,gd:true,ge:true,"com.ge":true,"edu.ge":true,"gov.ge":true,"org.ge":true,"mil.ge":true,"net.ge":true,"pvt.ge":true,gf:true,gg:true,"co.gg":true,"org.gg":true,"net.gg":true,"sch.gg":true,"gov.gg":true,gh:true,"com.gh":true,"edu.gh":true,"gov.gh":true,"org.gh":true,"mil.gh":true,gi:true,"com.gi":true,"ltd.gi":true,"gov.gi":true,"mod.gi":true,"edu.gi":true,"org.gi":true,gl:true,gm:true,"ac.gn":true,"com.gn":true,"edu.gn":true,"gov.gn":true,"org.gn":true,"net.gn":true,gov:true,gp:true,"com.gp":true,"net.gp":true,"mobi.gp":true,"edu.gp":true,"org.gp":true,"asso.gp":true,gq:true,gr:true,"com.gr":true,"edu.gr":true,"net.gr":true,"org.gr":true,"gov.gr":true,gs:true,"*.gt":true,"www.gt":false,"*.gu":true,gw:true,gy:true,"co.gy":true,"com.gy":true,"net.gy":true,hk:true,"com.hk":true,"edu.hk":true,"gov.hk":true,"idv.hk":true,"net.hk":true,"org.hk":true,"xn--55qx5d.hk":true,"xn--wcvs22d.hk":true,"xn--lcvr32d.hk":true,"xn--mxtq1m.hk":true,"xn--gmqw5a.hk":true,"xn--ciqpn.hk":true,"xn--gmq050i.hk":true,"xn--zf0avx.hk":true,"xn--io0a7i.hk":true,"xn--mk0axi.hk":true,"xn--od0alg.hk":true,"xn--od0aq3b.hk":true,"xn--tn0ag.hk":true,"xn--uc0atv.hk":true,"xn--uc0ay4a.hk":true,hm:true,hn:true,"com.hn":true,"edu.hn":true,"org.hn":true,"net.hn":true,"mil.hn":true,"gob.hn":true,hr:true,"iz.hr":true,"from.hr":true,"name.hr":true,"com.hr":true,ht:true,"com.ht":true,"shop.ht":true,"firm.ht":true,"info.ht":true,"adult.ht":true,"net.ht":true,"pro.ht":true,"org.ht":true,"med.ht":true,"art.ht":true,"coop.ht":true,"pol.ht":true,"asso.ht":true,"edu.ht":true,"rel.ht":true,"gouv.ht":true,"perso.ht":true,hu:true,"co.hu":true,"info.hu":true,"org.hu":true,"priv.hu":true,"sport.hu":true,"tm.hu":true,"2000.hu":true,"agrar.hu":true,"bolt.hu":true,"casino.hu":true,"city.hu":true,"erotica.hu":true,"erotika.hu":true,"film.hu":true,"forum.hu":true,"games.hu":true,"hotel.hu":true,"ingatlan.hu":true,"jogasz.hu":true,"konyvelo.hu":true,"lakas.hu":true,"media.hu":true,"news.hu":true,"reklam.hu":true,"sex.hu":true,"shop.hu":true,"suli.hu":true,"szex.hu":true,"tozsde.hu":true,"utazas.hu":true,"video.hu":true,id:true,"ac.id":true,"co.id":true,"go.id":true,"mil.id":true,"net.id":true,"or.id":true,"sch.id":true,"web.id":true,ie:true,"gov.ie":true,"*.il":true,im:true,"co.im":true,"ltd.co.im":true,"plc.co.im":true,"net.im":true,"gov.im":true,"org.im":true,"nic.im":true,"ac.im":true,"in":true,"co.in":true,"firm.in":true,"net.in":true,"org.in":true,"gen.in":true,"ind.in":true,"nic.in":true,"ac.in":true,"edu.in":true,"res.in":true,"gov.in":true,"mil.in":true,info:true,"int":true,"eu.int":true,io:true,"com.io":true,iq:true,"gov.iq":true,"edu.iq":true,"mil.iq":true,"com.iq":true,"org.iq":true,"net.iq":true,ir:true,"ac.ir":true,"co.ir":true,"gov.ir":true,"id.ir":true,"net.ir":true,"org.ir":true,"sch.ir":true,"xn--mgba3a4f16a.ir":true,"xn--mgba3a4fra.ir":true,is:true,"net.is":true,"com.is":true,"edu.is":true,"gov.is":true,"org.is":true,"int.is":true,it:true,"gov.it":true,"edu.it":true,"agrigento.it":true,"ag.it":true,"alessandria.it":true,"al.it":true,"ancona.it":true,"an.it":true,"aosta.it":true,"aoste.it":true,"ao.it":true,"arezzo.it":true,"ar.it":true,"ascoli-piceno.it":true,"ascolipiceno.it":true,"ap.it":true,"asti.it":true,"at.it":true,"avellino.it":true,"av.it":true,"bari.it":true,"ba.it":true,"andria-barletta-trani.it":true,"andriabarlettatrani.it":true,"trani-barletta-andria.it":true,"tranibarlettaandria.it":true,"barletta-trani-andria.it":true,"barlettatraniandria.it":true,"andria-trani-barletta.it":true,"andriatranibarletta.it":true,"trani-andria-barletta.it":true,"traniandriabarletta.it":true,"bt.it":true,"belluno.it":true,"bl.it":true,"benevento.it":true,"bn.it":true,"bergamo.it":true,"bg.it":true,"biella.it":true,"bi.it":true,"bologna.it":true,"bo.it":true,"bolzano.it":true,"bozen.it":true,"balsan.it":true,"alto-adige.it":true,"altoadige.it":true,"suedtirol.it":true,"bz.it":true,"brescia.it":true,"bs.it":true,"brindisi.it":true,"br.it":true,"cagliari.it":true,"ca.it":true,"caltanissetta.it":true,"cl.it":true,"campobasso.it":true,"cb.it":true,"carboniaiglesias.it":true,"carbonia-iglesias.it":true,"iglesias-carbonia.it":true,"iglesiascarbonia.it":true,"ci.it":true,"caserta.it":true,"ce.it":true,"catania.it":true,"ct.it":true,"catanzaro.it":true,"cz.it":true,"chieti.it":true,"ch.it":true,"como.it":true,"co.it":true,"cosenza.it":true,"cs.it":true,"cremona.it":true,"cr.it":true,"crotone.it":true,"kr.it":true,"cuneo.it":true,"cn.it":true,"dell-ogliastra.it":true,"dellogliastra.it":true,"ogliastra.it":true,"og.it":true,"enna.it":true,"en.it":true,"ferrara.it":true,"fe.it":true,"fermo.it":true,"fm.it":true,"firenze.it":true,"florence.it":true,"fi.it":true,"foggia.it":true,"fg.it":true,"forli-cesena.it":true,"forlicesena.it":true,"cesena-forli.it":true,"cesenaforli.it":true,"fc.it":true,"frosinone.it":true,"fr.it":true,"genova.it":true,"genoa.it":true,"ge.it":true,"gorizia.it":true,"go.it":true,"grosseto.it":true,"gr.it":true,"imperia.it":true,"im.it":true,"isernia.it":true,"is.it":true,"laquila.it":true,"aquila.it":true,"aq.it":true,"la-spezia.it":true,"laspezia.it":true,"sp.it":true,"latina.it":true,"lt.it":true,"lecce.it":true,"le.it":true,"lecco.it":true,"lc.it":true,"livorno.it":true,"li.it":true,"lodi.it":true,"lo.it":true,"lucca.it":true,"lu.it":true,"macerata.it":true,"mc.it":true,"mantova.it":true,"mn.it":true,"massa-carrara.it":true,"massacarrara.it":true,"carrara-massa.it":true,"carraramassa.it":true,"ms.it":true,"matera.it":true,"mt.it":true,"medio-campidano.it":true,"mediocampidano.it":true,"campidano-medio.it":true,"campidanomedio.it":true,"vs.it":true,"messina.it":true,"me.it":true,"milano.it":true,"milan.it":true,"mi.it":true,"modena.it":true,"mo.it":true,"monza.it":true,"monza-brianza.it":true,"monzabrianza.it":true,"monzaebrianza.it":true,"monzaedellabrianza.it":true,"monza-e-della-brianza.it":true,"mb.it":true,"napoli.it":true,"naples.it":true,"na.it":true,"novara.it":true,"no.it":true,"nuoro.it":true,"nu.it":true,"oristano.it":true,"or.it":true,"padova.it":true,"padua.it":true,"pd.it":true,"palermo.it":true,"pa.it":true,"parma.it":true,"pr.it":true,"pavia.it":true,"pv.it":true,"perugia.it":true,"pg.it":true,"pescara.it":true,"pe.it":true,"pesaro-urbino.it":true,"pesarourbino.it":true,"urbino-pesaro.it":true,"urbinopesaro.it":true,"pu.it":true,"piacenza.it":true,"pc.it":true,"pisa.it":true,"pi.it":true,"pistoia.it":true,"pt.it":true,"pordenone.it":true,"pn.it":true,"potenza.it":true,"pz.it":true,"prato.it":true,"po.it":true,"ragusa.it":true,"rg.it":true,"ravenna.it":true,"ra.it":true,"reggio-calabria.it":true,"reggiocalabria.it":true,"rc.it":true,"reggio-emilia.it":true,"reggioemilia.it":true,"re.it":true,"rieti.it":true,"ri.it":true,"rimini.it":true,"rn.it":true,"roma.it":true,"rome.it":true,"rm.it":true,"rovigo.it":true,"ro.it":true,"salerno.it":true,"sa.it":true,"sassari.it":true,"ss.it":true,"savona.it":true,"sv.it":true,"siena.it":true,"si.it":true,"siracusa.it":true,"sr.it":true,"sondrio.it":true,"so.it":true,"taranto.it":true,"ta.it":true,"tempio-olbia.it":true,"tempioolbia.it":true,"olbia-tempio.it":true,"olbiatempio.it":true,"ot.it":true,"teramo.it":true,"te.it":true,"terni.it":true,"tr.it":true,"torino.it":true,"turin.it":true,"to.it":true,"trapani.it":true,"tp.it":true,"trento.it":true,"trentino.it":true,"tn.it":true,"treviso.it":true,"tv.it":true,"trieste.it":true,"ts.it":true,"udine.it":true,"ud.it":true,"varese.it":true,"va.it":true,"venezia.it":true,"venice.it":true,"ve.it":true,"verbania.it":true,"vb.it":true,"vercelli.it":true,"vc.it":true,"verona.it":true,"vr.it":true,"vibo-valentia.it":true,"vibovalentia.it":true,"vv.it":true,"vicenza.it":true,"vi.it":true,"viterbo.it":true,"vt.it":true,je:true,"co.je":true,"org.je":true,"net.je":true,"sch.je":true,"gov.je":true,"*.jm":true,jo:true,"com.jo":true,"org.jo":true,"net.jo":true,"edu.jo":true,"sch.jo":true,"gov.jo":true,"mil.jo":true,"name.jo":true,jobs:true,jp:true,"ac.jp":true,"ad.jp":true,"co.jp":true,"ed.jp":true,"go.jp":true,"gr.jp":true,"lg.jp":true,"ne.jp":true,"or.jp":true,"*.aichi.jp":true,"*.akita.jp":true,"*.aomori.jp":true,"*.chiba.jp":true,"*.ehime.jp":true,"*.fukui.jp":true,"*.fukuoka.jp":true,"*.fukushima.jp":true,"*.gifu.jp":true,"*.gunma.jp":true,"*.hiroshima.jp":true,"*.hokkaido.jp":true,"*.hyogo.jp":true,"*.ibaraki.jp":true,"*.ishikawa.jp":true,"*.iwate.jp":true,"*.kagawa.jp":true,"*.kagoshima.jp":true,"*.kanagawa.jp":true,"*.kawasaki.jp":true,"*.kitakyushu.jp":true,"*.kobe.jp":true,"*.kochi.jp":true,"*.kumamoto.jp":true,"*.kyoto.jp":true,"*.mie.jp":true,"*.miyagi.jp":true,"*.miyazaki.jp":true,"*.nagano.jp":true,"*.nagasaki.jp":true,"*.nagoya.jp":true,"*.nara.jp":true,"*.niigata.jp":true,"*.oita.jp":true,"*.okayama.jp":true,"*.okinawa.jp":true,"*.osaka.jp":true,"*.saga.jp":true,"*.saitama.jp":true,"*.sapporo.jp":true,"*.sendai.jp":true,"*.shiga.jp":true,"*.shimane.jp":true,"*.shizuoka.jp":true,"*.tochigi.jp":true,"*.tokushima.jp":true,"*.tokyo.jp":true,"*.tottori.jp":true,"*.toyama.jp":true,"*.wakayama.jp":true,"*.yamagata.jp":true,"*.yamaguchi.jp":true,"*.yamanashi.jp":true,"*.yokohama.jp":true,"metro.tokyo.jp":false,"pref.aichi.jp":false,"pref.akita.jp":false,"pref.aomori.jp":false,"pref.chiba.jp":false,"pref.ehime.jp":false,"pref.fukui.jp":false,"pref.fukuoka.jp":false,"pref.fukushima.jp":false,"pref.gifu.jp":false,"pref.gunma.jp":false,"pref.hiroshima.jp":false,"pref.hokkaido.jp":false,"pref.hyogo.jp":false,"pref.ibaraki.jp":false,"pref.ishikawa.jp":false,"pref.iwate.jp":false,"pref.kagawa.jp":false,"pref.kagoshima.jp":false,"pref.kanagawa.jp":false,"pref.kochi.jp":false,"pref.kumamoto.jp":false,"pref.kyoto.jp":false,"pref.mie.jp":false,"pref.miyagi.jp":false,"pref.miyazaki.jp":false,"pref.nagano.jp":false,"pref.nagasaki.jp":false,"pref.nara.jp":false,"pref.niigata.jp":false,"pref.oita.jp":false,"pref.okayama.jp":false,"pref.okinawa.jp":false,"pref.osaka.jp":false,"pref.saga.jp":false,"pref.saitama.jp":false,"pref.shiga.jp":false,"pref.shimane.jp":false,"pref.shizuoka.jp":false,"pref.tochigi.jp":false,"pref.tokushima.jp":false,"pref.tottori.jp":false,"pref.toyama.jp":false,"pref.wakayama.jp":false,"pref.yamagata.jp":false,"pref.yamaguchi.jp":false,"pref.yamanashi.jp":false,"city.chiba.jp":false,"city.fukuoka.jp":false,"city.hiroshima.jp":false,"city.kawasaki.jp":false,"city.kitakyushu.jp":false,"city.kobe.jp":false,"city.kyoto.jp":false,"city.nagoya.jp":false,"city.niigata.jp":false,"city.okayama.jp":false,"city.osaka.jp":false,"city.saitama.jp":false,"city.sapporo.jp":false,"city.sendai.jp":false,"city.shizuoka.jp":false,"city.yokohama.jp":false,"*.ke":true,kg:true,"org.kg":true,"net.kg":true,"com.kg":true,"edu.kg":true,"gov.kg":true,"mil.kg":true,"*.kh":true,ki:true,"edu.ki":true,"biz.ki":true,"net.ki":true,"org.ki":true,"gov.ki":true,"info.ki":true,"com.ki":true,km:true,"org.km":true,"nom.km":true,"gov.km":true,"prd.km":true,"tm.km":true,"edu.km":true,"mil.km":true,"ass.km":true,"com.km":true,"coop.km":true,"asso.km":true,"presse.km":true,"medecin.km":true,"notaires.km":true,"pharmaciens.km":true,"veterinaire.km":true,"gouv.km":true,kn:true,"net.kn":true,"org.kn":true,"edu.kn":true,"gov.kn":true,"com.kp":true,"edu.kp":true,"gov.kp":true,"org.kp":true,"rep.kp":true,"tra.kp":true,kr:true,"ac.kr":true,"co.kr":true,"es.kr":true,"go.kr":true,"hs.kr":true,"kg.kr":true,"mil.kr":true,"ms.kr":true,"ne.kr":true,"or.kr":true,"pe.kr":true,"re.kr":true,"sc.kr":true,"busan.kr":true,"chungbuk.kr":true,"chungnam.kr":true,"daegu.kr":true,"daejeon.kr":true,"gangwon.kr":true,"gwangju.kr":true,"gyeongbuk.kr":true,"gyeonggi.kr":true,"gyeongnam.kr":true,"incheon.kr":true,"jeju.kr":true,"jeonbuk.kr":true,"jeonnam.kr":true,"seoul.kr":true,"ulsan.kr":true,"*.kw":true,ky:true,"edu.ky":true,"gov.ky":true,"com.ky":true,"org.ky":true,"net.ky":true,kz:true,"org.kz":true,"edu.kz":true,"net.kz":true,"gov.kz":true,"mil.kz":true,"com.kz":true,la:true,"int.la":true,"net.la":true,"info.la":true,"edu.la":true,"gov.la":true,"per.la":true,"com.la":true,"org.la":true,"com.lb":true,"edu.lb":true,"gov.lb":true,"net.lb":true,"org.lb":true,lc:true,"com.lc":true,"net.lc":true,"co.lc":true,"org.lc":true,"edu.lc":true,"gov.lc":true,li:true,lk:true,"gov.lk":true,"sch.lk":true,"net.lk":true,"int.lk":true,"com.lk":true,"org.lk":true,"edu.lk":true,"ngo.lk":true,"soc.lk":true,"web.lk":true,"ltd.lk":true,"assn.lk":true,"grp.lk":true,"hotel.lk":true,"com.lr":true,"edu.lr":true,"gov.lr":true,"org.lr":true,"net.lr":true,ls:true,"co.ls":true,"org.ls":true,lt:true,"gov.lt":true,lu:true,lv:true,"com.lv":true,"edu.lv":true,"gov.lv":true,"org.lv":true,"mil.lv":true,"id.lv":true,"net.lv":true,"asn.lv":true,"conf.lv":true,ly:true,"com.ly":true,"net.ly":true,"gov.ly":true,"plc.ly":true,"edu.ly":true,"sch.ly":true,"med.ly":true,"org.ly":true,"id.ly":true,ma:true,"co.ma":true,"net.ma":true,"gov.ma":true,"org.ma":true,"ac.ma":true,"press.ma":true,mc:true,"tm.mc":true,"asso.mc":true,md:true,me:true,"co.me":true,"net.me":true,"org.me":true,"edu.me":true,"ac.me":true,"gov.me":true,"its.me":true,"priv.me":true,mg:true,"org.mg":true,"nom.mg":true,"gov.mg":true,"prd.mg":true,"tm.mg":true,"edu.mg":true,"mil.mg":true,"com.mg":true,mh:true,mil:true,mk:true,"com.mk":true,"org.mk":true,"net.mk":true,"edu.mk":true,"gov.mk":true,"inf.mk":true,"name.mk":true,ml:true,"com.ml":true,"edu.ml":true,"gouv.ml":true,"gov.ml":true,"net.ml":true,"org.ml":true,"presse.ml":true,"*.mm":true,mn:true,"gov.mn":true,"edu.mn":true,"org.mn":true,mo:true,"com.mo":true,"net.mo":true,"org.mo":true,"edu.mo":true,"gov.mo":true,mobi:true,mp:true,mq:true,mr:true,"gov.mr":true,ms:true,"*.mt":true,mu:true,"com.mu":true,"net.mu":true,"org.mu":true,"gov.mu":true,"ac.mu":true,"co.mu":true,"or.mu":true,museum:true,"academy.museum":true,"agriculture.museum":true,"air.museum":true,"airguard.museum":true,"alabama.museum":true,"alaska.museum":true,"amber.museum":true,"ambulance.museum":true,"american.museum":true,"americana.museum":true,"americanantiques.museum":true,"americanart.museum":true,"amsterdam.museum":true,"and.museum":true,"annefrank.museum":true,"anthro.museum":true,"anthropology.museum":true,"antiques.museum":true,"aquarium.museum":true,"arboretum.museum":true,"archaeological.museum":true,"archaeology.museum":true,"architecture.museum":true,"art.museum":true,"artanddesign.museum":true,"artcenter.museum":true,"artdeco.museum":true,"arteducation.museum":true,"artgallery.museum":true,"arts.museum":true,"artsandcrafts.museum":true,"asmatart.museum":true,"assassination.museum":true,"assisi.museum":true,"association.museum":true,"astronomy.museum":true,"atlanta.museum":true,"austin.museum":true,"australia.museum":true,"automotive.museum":true,"aviation.museum":true,"axis.museum":true,"badajoz.museum":true,"baghdad.museum":true,"bahn.museum":true,"bale.museum":true,"baltimore.museum":true,"barcelona.museum":true,"baseball.museum":true,"basel.museum":true,"baths.museum":true,"bauern.museum":true,"beauxarts.museum":true,"beeldengeluid.museum":true,"bellevue.museum":true,"bergbau.museum":true,"berkeley.museum":true,"berlin.museum":true,"bern.museum":true,"bible.museum":true,"bilbao.museum":true,"bill.museum":true,"birdart.museum":true,"birthplace.museum":true,"bonn.museum":true,"boston.museum":true,"botanical.museum":true,"botanicalgarden.museum":true,"botanicgarden.museum":true,"botany.museum":true,"brandywinevalley.museum":true,"brasil.museum":true,"bristol.museum":true,"british.museum":true,"britishcolumbia.museum":true,"broadcast.museum":true,"brunel.museum":true,"brussel.museum":true,"brussels.museum":true,"bruxelles.museum":true,"building.museum":true,"burghof.museum":true,"bus.museum":true,"bushey.museum":true,"cadaques.museum":true,"california.museum":true,"cambridge.museum":true,"can.museum":true,"canada.museum":true,"capebreton.museum":true,"carrier.museum":true,"cartoonart.museum":true,"casadelamoneda.museum":true,"castle.museum":true,"castres.museum":true,"celtic.museum":true,"center.museum":true,"chattanooga.museum":true,"cheltenham.museum":true,"chesapeakebay.museum":true,"chicago.museum":true,"children.museum":true,"childrens.museum":true,"childrensgarden.museum":true,"chiropractic.museum":true,"chocolate.museum":true,"christiansburg.museum":true,"cincinnati.museum":true,"cinema.museum":true,"circus.museum":true,"civilisation.museum":true,"civilization.museum":true,"civilwar.museum":true,"clinton.museum":true,"clock.museum":true,"coal.museum":true,"coastaldefence.museum":true,"cody.museum":true,"coldwar.museum":true,"collection.museum":true,"colonialwilliamsburg.museum":true,"coloradoplateau.museum":true,"columbia.museum":true,"columbus.museum":true,"communication.museum":true,"communications.museum":true,"community.museum":true,"computer.museum":true,"computerhistory.museum":true,"xn--comunicaes-v6a2o.museum":true,"contemporary.museum":true,"contemporaryart.museum":true,"convent.museum":true,"copenhagen.museum":true,"corporation.museum":true,"xn--correios-e-telecomunicaes-ghc29a.museum":true,"corvette.museum":true,"costume.museum":true,"countryestate.museum":true,"county.museum":true,"crafts.museum":true,"cranbrook.museum":true,"creation.museum":true,"cultural.museum":true,"culturalcenter.museum":true,"culture.museum":true,"cyber.museum":true,"cymru.museum":true,"dali.museum":true,"dallas.museum":true,"database.museum":true,"ddr.museum":true,"decorativearts.museum":true,"delaware.museum":true,"delmenhorst.museum":true,"denmark.museum":true,"depot.museum":true,"design.museum":true,"detroit.museum":true,"dinosaur.museum":true,"discovery.museum":true,"dolls.museum":true,"donostia.museum":true,"durham.museum":true,"eastafrica.museum":true,"eastcoast.museum":true,"education.museum":true,"educational.museum":true,"egyptian.museum":true,"eisenbahn.museum":true,"elburg.museum":true,"elvendrell.museum":true,"embroidery.museum":true,"encyclopedic.museum":true,"england.museum":true,"entomology.museum":true,"environment.museum":true,"environmentalconservation.museum":true,"epilepsy.museum":true,"essex.museum":true,"estate.museum":true,"ethnology.museum":true,"exeter.museum":true,"exhibition.museum":true,"family.museum":true,"farm.museum":true,"farmequipment.museum":true,"farmers.museum":true,"farmstead.museum":true,"field.museum":true,"figueres.museum":true,"filatelia.museum":true,"film.museum":true,"fineart.museum":true,"finearts.museum":true,"finland.museum":true,"flanders.museum":true,"florida.museum":true,"force.museum":true,"fortmissoula.museum":true,"fortworth.museum":true,"foundation.museum":true,"francaise.museum":true,"frankfurt.museum":true,"franziskaner.museum":true,"freemasonry.museum":true,"freiburg.museum":true,"fribourg.museum":true,"frog.museum":true,"fundacio.museum":true,"furniture.museum":true,"gallery.museum":true,"garden.museum":true,"gateway.museum":true,"geelvinck.museum":true,"gemological.museum":true,"geology.museum":true,"georgia.museum":true,"giessen.museum":true,"glas.museum":true,"glass.museum":true,"gorge.museum":true,"grandrapids.museum":true,"graz.museum":true,"guernsey.museum":true,"halloffame.museum":true,"hamburg.museum":true,"handson.museum":true,"harvestcelebration.museum":true,"hawaii.museum":true,"health.museum":true,"heimatunduhren.museum":true,"hellas.museum":true,"helsinki.museum":true,"hembygdsforbund.museum":true,"heritage.museum":true,"histoire.museum":true,"historical.museum":true,"historicalsociety.museum":true,"historichouses.museum":true,"historisch.museum":true,"historisches.museum":true,"history.museum":true,"historyofscience.museum":true,"horology.museum":true,"house.museum":true,"humanities.museum":true,"illustration.museum":true,"imageandsound.museum":true,"indian.museum":true,"indiana.museum":true,"indianapolis.museum":true,"indianmarket.museum":true,"intelligence.museum":true,"interactive.museum":true,"iraq.museum":true,"iron.museum":true,"isleofman.museum":true,"jamison.museum":true,"jefferson.museum":true,"jerusalem.museum":true,"jewelry.museum":true,"jewish.museum":true,"jewishart.museum":true,"jfk.museum":true,"journalism.museum":true,"judaica.museum":true,"judygarland.museum":true,"juedisches.museum":true,"juif.museum":true,"karate.museum":true,"karikatur.museum":true,"kids.museum":true,"koebenhavn.museum":true,"koeln.museum":true,"kunst.museum":true,"kunstsammlung.museum":true,"kunstunddesign.museum":true,"labor.museum":true,"labour.museum":true,"lajolla.museum":true,"lancashire.museum":true,"landes.museum":true,"lans.museum":true,"xn--lns-qla.museum":true,"larsson.museum":true,"lewismiller.museum":true,"lincoln.museum":true,"linz.museum":true,"living.museum":true,"livinghistory.museum":true,"localhistory.museum":true,"london.museum":true,"losangeles.museum":true,"louvre.museum":true,"loyalist.museum":true,"lucerne.museum":true,"luxembourg.museum":true,"luzern.museum":true,"mad.museum":true,"madrid.museum":true,"mallorca.museum":true,"manchester.museum":true,"mansion.museum":true,"mansions.museum":true,"manx.museum":true,"marburg.museum":true,"maritime.museum":true,"maritimo.museum":true,"maryland.museum":true,"marylhurst.museum":true,"media.museum":true,"medical.museum":true,"medizinhistorisches.museum":true,"meeres.museum":true,"memorial.museum":true,"mesaverde.museum":true,"michigan.museum":true,"midatlantic.museum":true,"military.museum":true,"mill.museum":true,"miners.museum":true,"mining.museum":true,"minnesota.museum":true,"missile.museum":true,"missoula.museum":true,"modern.museum":true,"moma.museum":true,"money.museum":true,"monmouth.museum":true,"monticello.museum":true,"montreal.museum":true,"moscow.museum":true,"motorcycle.museum":true,"muenchen.museum":true,"muenster.museum":true,"mulhouse.museum":true,"muncie.museum":true,"museet.museum":true,"museumcenter.museum":true,"museumvereniging.museum":true,"music.museum":true,"national.museum":true,"nationalfirearms.museum":true,"nationalheritage.museum":true,"nativeamerican.museum":true,"naturalhistory.museum":true,"naturalhistorymuseum.museum":true,"naturalsciences.museum":true,"nature.museum":true,"naturhistorisches.museum":true,"natuurwetenschappen.museum":true,"naumburg.museum":true,"naval.museum":true,"nebraska.museum":true,"neues.museum":true,"newhampshire.museum":true,"newjersey.museum":true,"newmexico.museum":true,"newport.museum":true,"newspaper.museum":true,"newyork.museum":true,"niepce.museum":true,"norfolk.museum":true,"north.museum":true,"nrw.museum":true,"nuernberg.museum":true,"nuremberg.museum":true,"nyc.museum":true,"nyny.museum":true,"oceanographic.museum":true,"oceanographique.museum":true,"omaha.museum":true,"online.museum":true,"ontario.museum":true,"openair.museum":true,"oregon.museum":true,"oregontrail.museum":true,"otago.museum":true,"oxford.museum":true,"pacific.museum":true,"paderborn.museum":true,"palace.museum":true,"paleo.museum":true,"palmsprings.museum":true,"panama.museum":true,"paris.museum":true,"pasadena.museum":true,"pharmacy.museum":true,"philadelphia.museum":true,"philadelphiaarea.museum":true,"philately.museum":true,"phoenix.museum":true,"photography.museum":true,"pilots.museum":true,"pittsburgh.museum":true,"planetarium.museum":true,"plantation.museum":true,"plants.museum":true,"plaza.museum":true,"portal.museum":true,"portland.museum":true,"portlligat.museum":true,"posts-and-telecommunications.museum":true,"preservation.museum":true,"presidio.museum":true,"press.museum":true,"project.museum":true,"public.museum":true,"pubol.museum":true,"quebec.museum":true,"railroad.museum":true,"railway.museum":true,"research.museum":true,"resistance.museum":true,"riodejaneiro.museum":true,"rochester.museum":true,"rockart.museum":true,"roma.museum":true,"russia.museum":true,"saintlouis.museum":true,"salem.museum":true,"salvadordali.museum":true,"salzburg.museum":true,"sandiego.museum":true,"sanfrancisco.museum":true,"santabarbara.museum":true,"santacruz.museum":true,"santafe.museum":true,"saskatchewan.museum":true,"satx.museum":true,"savannahga.museum":true,"schlesisches.museum":true,"schoenbrunn.museum":true,"schokoladen.museum":true,"school.museum":true,"schweiz.museum":true,"science.museum":true,"scienceandhistory.museum":true,"scienceandindustry.museum":true,"sciencecenter.museum":true,"sciencecenters.museum":true,"science-fiction.museum":true,"sciencehistory.museum":true,"sciences.museum":true,"sciencesnaturelles.museum":true,"scotland.museum":true,"seaport.museum":true,"settlement.museum":true,"settlers.museum":true,"shell.museum":true,"sherbrooke.museum":true,"sibenik.museum":true,"silk.museum":true,"ski.museum":true,"skole.museum":true,"society.museum":true,"sologne.museum":true,"soundandvision.museum":true,"southcarolina.museum":true,"southwest.museum":true,"space.museum":true,"spy.museum":true,"square.museum":true,"stadt.museum":true,"stalbans.museum":true,"starnberg.museum":true,"state.museum":true,"stateofdelaware.museum":true,"station.museum":true,"steam.museum":true,"steiermark.museum":true,"stjohn.museum":true,"stockholm.museum":true,"stpetersburg.museum":true,"stuttgart.museum":true,"suisse.museum":true,"surgeonshall.museum":true,"surrey.museum":true,"svizzera.museum":true,"sweden.museum":true,"sydney.museum":true,"tank.museum":true,"tcm.museum":true,"technology.museum":true,"telekommunikation.museum":true,"television.museum":true,"texas.museum":true,"textile.museum":true,"theater.museum":true,"time.museum":true,"timekeeping.museum":true,"topology.museum":true,"torino.museum":true,"touch.museum":true,"town.museum":true,"transport.museum":true,"tree.museum":true,"trolley.museum":true,"trust.museum":true,"trustee.museum":true,"uhren.museum":true,"ulm.museum":true,"undersea.museum":true,"university.museum":true,"usa.museum":true,"usantiques.museum":true,"usarts.museum":true,"uscountryestate.museum":true,"usculture.museum":true,"usdecorativearts.museum":true,"usgarden.museum":true,"ushistory.museum":true,"ushuaia.museum":true,"uslivinghistory.museum":true,"utah.museum":true,"uvic.museum":true,"valley.museum":true,"vantaa.museum":true,"versailles.museum":true,"viking.museum":true,"village.museum":true,"virginia.museum":true,"virtual.museum":true,"virtuel.museum":true,"vlaanderen.museum":true,"volkenkunde.museum":true,"wales.museum":true,"wallonie.museum":true,"war.museum":true,"washingtondc.museum":true,"watchandclock.museum":true,"watch-and-clock.museum":true,"western.museum":true,"westfalen.museum":true,"whaling.museum":true,"wildlife.museum":true,"williamsburg.museum":true,"windmill.museum":true,"workshop.museum":true,"york.museum":true,"yorkshire.museum":true,"yosemite.museum":true,"youth.museum":true,"zoological.museum":true,"zoology.museum":true,"xn--9dbhblg6di.museum":true,"xn--h1aegh.museum":true,mv:true,"aero.mv":true,"biz.mv":true,"com.mv":true,"coop.mv":true,"edu.mv":true,"gov.mv":true,"info.mv":true,"int.mv":true,"mil.mv":true,"museum.mv":true,"name.mv":true,"net.mv":true,"org.mv":true,"pro.mv":true,mw:true,"ac.mw":true,"biz.mw":true,"co.mw":true,"com.mw":true,"coop.mw":true,"edu.mw":true,"gov.mw":true,"int.mw":true,"museum.mw":true,"net.mw":true,"org.mw":true,mx:true,"com.mx":true,"org.mx":true,"gob.mx":true,"edu.mx":true,"net.mx":true,my:true,"com.my":true,"net.my":true,"org.my":true,"gov.my":true,"edu.my":true,"mil.my":true,"name.my":true,"*.mz":true,na:true,"info.na":true,"pro.na":true,"name.na":true,"school.na":true,"or.na":true,"dr.na":true,"us.na":true,"mx.na":true,"ca.na":true,"in.na":true,"cc.na":true,"tv.na":true,"ws.na":true,"mobi.na":true,"co.na":true,"com.na":true,"org.na":true,name:true,nc:true,"asso.nc":true,ne:true,net:true,nf:true,"com.nf":true,"net.nf":true,"per.nf":true,"rec.nf":true,"web.nf":true,"arts.nf":true,"firm.nf":true,"info.nf":true,"other.nf":true,"store.nf":true,"ac.ng":true,"com.ng":true,"edu.ng":true,"gov.ng":true,"net.ng":true,"org.ng":true,"*.ni":true,nl:true,"bv.nl":true,no:true,"fhs.no":true,"vgs.no":true,"fylkesbibl.no":true,"folkebibl.no":true,"museum.no":true,"idrett.no":true,"priv.no":true,"mil.no":true,"stat.no":true,"dep.no":true,"kommune.no":true,"herad.no":true,"aa.no":true,"ah.no":true,"bu.no":true,"fm.no":true,"hl.no":true,"hm.no":true,"jan-mayen.no":true,"mr.no":true,"nl.no":true,"nt.no":true,"of.no":true,"ol.no":true,"oslo.no":true,"rl.no":true,"sf.no":true,"st.no":true,"svalbard.no":true,"tm.no":true,"tr.no":true,"va.no":true,"vf.no":true,"gs.aa.no":true,"gs.ah.no":true,"gs.bu.no":true,"gs.fm.no":true,"gs.hl.no":true,"gs.hm.no":true,"gs.jan-mayen.no":true,"gs.mr.no":true,"gs.nl.no":true,"gs.nt.no":true,"gs.of.no":true,"gs.ol.no":true,"gs.oslo.no":true,"gs.rl.no":true,"gs.sf.no":true,"gs.st.no":true,"gs.svalbard.no":true,"gs.tm.no":true,"gs.tr.no":true,"gs.va.no":true,"gs.vf.no":true,"akrehamn.no":true,"xn--krehamn-dxa.no":true,"algard.no":true,"xn--lgrd-poac.no":true,"arna.no":true,"brumunddal.no":true,"bryne.no":true,"bronnoysund.no":true,"xn--brnnysund-m8ac.no":true,"drobak.no":true,"xn--drbak-wua.no":true,"egersund.no":true,"fetsund.no":true,"floro.no":true,"xn--flor-jra.no":true,"fredrikstad.no":true,"hokksund.no":true,"honefoss.no":true,"xn--hnefoss-q1a.no":true,"jessheim.no":true,"jorpeland.no":true,"xn--jrpeland-54a.no":true,"kirkenes.no":true,"kopervik.no":true,"krokstadelva.no":true,"langevag.no":true,"xn--langevg-jxa.no":true,"leirvik.no":true,"mjondalen.no":true,"xn--mjndalen-64a.no":true,"mo-i-rana.no":true,"mosjoen.no":true,"xn--mosjen-eya.no":true,"nesoddtangen.no":true,"orkanger.no":true,"osoyro.no":true,"xn--osyro-wua.no":true,"raholt.no":true,"xn--rholt-mra.no":true,"sandnessjoen.no":true,"xn--sandnessjen-ogb.no":true,"skedsmokorset.no":true,"slattum.no":true,"spjelkavik.no":true,"stathelle.no":true,"stavern.no":true,"stjordalshalsen.no":true,"xn--stjrdalshalsen-sqb.no":true,"tananger.no":true,"tranby.no":true,"vossevangen.no":true,"afjord.no":true,"xn--fjord-lra.no":true,"agdenes.no":true,"al.no":true,"xn--l-1fa.no":true,"alesund.no":true,"xn--lesund-hua.no":true,"alstahaug.no":true,"alta.no":true,"xn--lt-liac.no":true,"alaheadju.no":true,"xn--laheadju-7ya.no":true,"alvdal.no":true,"amli.no":true,"xn--mli-tla.no":true,"amot.no":true,"xn--mot-tla.no":true,"andebu.no":true,"andoy.no":true,"xn--andy-ira.no":true,"andasuolo.no":true,"ardal.no":true,"xn--rdal-poa.no":true,"aremark.no":true,"arendal.no":true,"xn--s-1fa.no":true,"aseral.no":true,"xn--seral-lra.no":true,"asker.no":true,"askim.no":true,"askvoll.no":true,"askoy.no":true,"xn--asky-ira.no":true,"asnes.no":true,"xn--snes-poa.no":true,"audnedaln.no":true,"aukra.no":true,"aure.no":true,"aurland.no":true,"aurskog-holand.no":true,"xn--aurskog-hland-jnb.no":true,"austevoll.no":true,"austrheim.no":true,"averoy.no":true,"xn--avery-yua.no":true,"balestrand.no":true,"ballangen.no":true,"balat.no":true,"xn--blt-elab.no":true,"balsfjord.no":true,"bahccavuotna.no":true,"xn--bhccavuotna-k7a.no":true,"bamble.no":true,"bardu.no":true,"beardu.no":true,"beiarn.no":true,"bajddar.no":true,"xn--bjddar-pta.no":true,"baidar.no":true,"xn--bidr-5nac.no":true,"berg.no":true,"bergen.no":true,"berlevag.no":true,"xn--berlevg-jxa.no":true,"bearalvahki.no":true,"xn--bearalvhki-y4a.no":true,"bindal.no":true,"birkenes.no":true,"bjarkoy.no":true,"xn--bjarky-fya.no":true,"bjerkreim.no":true,"bjugn.no":true,"bodo.no":true,"xn--bod-2na.no":true,"badaddja.no":true,"xn--bdddj-mrabd.no":true,"budejju.no":true,"bokn.no":true,"bremanger.no":true,"bronnoy.no":true,"xn--brnny-wuac.no":true,"bygland.no":true,"bykle.no":true,"barum.no":true,"xn--brum-voa.no":true,"bo.telemark.no":true,"xn--b-5ga.telemark.no":true,"bo.nordland.no":true,"xn--b-5ga.nordland.no":true,"bievat.no":true,"xn--bievt-0qa.no":true,"bomlo.no":true,"xn--bmlo-gra.no":true,"batsfjord.no":true,"xn--btsfjord-9za.no":true,"bahcavuotna.no":true,"xn--bhcavuotna-s4a.no":true,"dovre.no":true,"drammen.no":true,"drangedal.no":true,"dyroy.no":true,"xn--dyry-ira.no":true,"donna.no":true,"xn--dnna-gra.no":true,"eid.no":true,"eidfjord.no":true,"eidsberg.no":true,"eidskog.no":true,"eidsvoll.no":true,"eigersund.no":true,"elverum.no":true,"enebakk.no":true,"engerdal.no":true,"etne.no":true,"etnedal.no":true,"evenes.no":true,"evenassi.no":true,"xn--eveni-0qa01ga.no":true,"evje-og-hornnes.no":true,"farsund.no":true,"fauske.no":true,"fuossko.no":true,"fuoisku.no":true,"fedje.no":true,"fet.no":true,"finnoy.no":true,"xn--finny-yua.no":true,"fitjar.no":true,"fjaler.no":true,"fjell.no":true,"flakstad.no":true,"flatanger.no":true,"flekkefjord.no":true,"flesberg.no":true,"flora.no":true,"fla.no":true,"xn--fl-zia.no":true,"folldal.no":true,"forsand.no":true,"fosnes.no":true,"frei.no":true,"frogn.no":true,"froland.no":true,"frosta.no":true,"frana.no":true,"xn--frna-woa.no":true,"froya.no":true,"xn--frya-hra.no":true,"fusa.no":true,"fyresdal.no":true,"forde.no":true,"xn--frde-gra.no":true,"gamvik.no":true,"gangaviika.no":true,"xn--ggaviika-8ya47h.no":true,"gaular.no":true,"gausdal.no":true,"gildeskal.no":true,"xn--gildeskl-g0a.no":true,"giske.no":true,"gjemnes.no":true,"gjerdrum.no":true,"gjerstad.no":true,"gjesdal.no":true,"gjovik.no":true,"xn--gjvik-wua.no":true,"gloppen.no":true,"gol.no":true,"gran.no":true,"grane.no":true,"granvin.no":true,"gratangen.no":true,"grimstad.no":true,"grong.no":true,"kraanghke.no":true,"xn--kranghke-b0a.no":true,"grue.no":true,"gulen.no":true,"hadsel.no":true,"halden.no":true,"halsa.no":true,"hamar.no":true,"hamaroy.no":true,"habmer.no":true,"xn--hbmer-xqa.no":true,"hapmir.no":true,"xn--hpmir-xqa.no":true,"hammerfest.no":true,"hammarfeasta.no":true,"xn--hmmrfeasta-s4ac.no":true,"haram.no":true,"hareid.no":true,"harstad.no":true,"hasvik.no":true,"aknoluokta.no":true,"xn--koluokta-7ya57h.no":true,"hattfjelldal.no":true,"aarborte.no":true,"haugesund.no":true,"hemne.no":true,"hemnes.no":true,"hemsedal.no":true,"heroy.more-og-romsdal.no":true,"xn--hery-ira.xn--mre-og-romsdal-qqb.no":true,"heroy.nordland.no":true,"xn--hery-ira.nordland.no":true,"hitra.no":true,"hjartdal.no":true,"hjelmeland.no":true,"hobol.no":true,"xn--hobl-ira.no":true,"hof.no":true,"hol.no":true,"hole.no":true,"holmestrand.no":true,"holtalen.no":true,"xn--holtlen-hxa.no":true,"hornindal.no":true,"horten.no":true,"hurdal.no":true,"hurum.no":true,"hvaler.no":true,"hyllestad.no":true,"hagebostad.no":true,"xn--hgebostad-g3a.no":true,"hoyanger.no":true,"xn--hyanger-q1a.no":true,"hoylandet.no":true,"xn--hylandet-54a.no":true,"ha.no":true,"xn--h-2fa.no":true,"ibestad.no":true,"inderoy.no":true,"xn--indery-fya.no":true,"iveland.no":true,"jevnaker.no":true,"jondal.no":true,"jolster.no":true,"xn--jlster-bya.no":true,"karasjok.no":true,"karasjohka.no":true,"xn--krjohka-hwab49j.no":true,"karlsoy.no":true,"galsa.no":true,"xn--gls-elac.no":true,"karmoy.no":true,"xn--karmy-yua.no":true,"kautokeino.no":true,"guovdageaidnu.no":true,"klepp.no":true,"klabu.no":true,"xn--klbu-woa.no":true,"kongsberg.no":true,"kongsvinger.no":true,"kragero.no":true,"xn--krager-gya.no":true,"kristiansand.no":true,"kristiansund.no":true,"krodsherad.no":true,"xn--krdsherad-m8a.no":true,"kvalsund.no":true,"rahkkeravju.no":true,"xn--rhkkervju-01af.no":true,"kvam.no":true,"kvinesdal.no":true,"kvinnherad.no":true,"kviteseid.no":true,"kvitsoy.no":true,"xn--kvitsy-fya.no":true,"kvafjord.no":true,"xn--kvfjord-nxa.no":true,"giehtavuoatna.no":true,"kvanangen.no":true,"xn--kvnangen-k0a.no":true,"navuotna.no":true,"xn--nvuotna-hwa.no":true,"kafjord.no":true,"xn--kfjord-iua.no":true,"gaivuotna.no":true,"xn--givuotna-8ya.no":true,"larvik.no":true,"lavangen.no":true,"lavagis.no":true,"loabat.no":true,"xn--loabt-0qa.no":true,"lebesby.no":true,"davvesiida.no":true,"leikanger.no":true,"leirfjord.no":true,"leka.no":true,"leksvik.no":true,"lenvik.no":true,"leangaviika.no":true,"xn--leagaviika-52b.no":true,"lesja.no":true,"levanger.no":true,"lier.no":true,"lierne.no":true,"lillehammer.no":true,"lillesand.no":true,"lindesnes.no":true,"lindas.no":true,"xn--linds-pra.no":true,"lom.no":true,"loppa.no":true,"lahppi.no":true,"xn--lhppi-xqa.no":true,"lund.no":true,"lunner.no":true,"luroy.no":true,"xn--lury-ira.no":true,"luster.no":true,"lyngdal.no":true,"lyngen.no":true,"ivgu.no":true,"lardal.no":true,"lerdal.no":true,"xn--lrdal-sra.no":true,"lodingen.no":true,"xn--ldingen-q1a.no":true,"lorenskog.no":true,"xn--lrenskog-54a.no":true,"loten.no":true,"xn--lten-gra.no":true,"malvik.no":true,"masoy.no":true,"xn--msy-ula0h.no":true,"muosat.no":true,"xn--muost-0qa.no":true,"mandal.no":true,"marker.no":true,"marnardal.no":true,"masfjorden.no":true,"meland.no":true,"meldal.no":true,"melhus.no":true,"meloy.no":true,"xn--mely-ira.no":true,"meraker.no":true,"xn--merker-kua.no":true,"moareke.no":true,"xn--moreke-jua.no":true,"midsund.no":true,"midtre-gauldal.no":true,"modalen.no":true,"modum.no":true,"molde.no":true,"moskenes.no":true,"moss.no":true,"mosvik.no":true,"malselv.no":true,"xn--mlselv-iua.no":true,"malatvuopmi.no":true,"xn--mlatvuopmi-s4a.no":true,"namdalseid.no":true,"aejrie.no":true,"namsos.no":true,"namsskogan.no":true,"naamesjevuemie.no":true,"xn--nmesjevuemie-tcba.no":true,"laakesvuemie.no":true,"nannestad.no":true,"narvik.no":true,"narviika.no":true,"naustdal.no":true,"nedre-eiker.no":true,"nes.akershus.no":true,"nes.buskerud.no":true,"nesna.no":true,"nesodden.no":true,"nesseby.no":true,"unjarga.no":true,"xn--unjrga-rta.no":true,"nesset.no":true,"nissedal.no":true,"nittedal.no":true,"nord-aurdal.no":true,"nord-fron.no":true,"nord-odal.no":true,"norddal.no":true,"nordkapp.no":true,"davvenjarga.no":true,"xn--davvenjrga-y4a.no":true,"nordre-land.no":true,"nordreisa.no":true,"raisa.no":true,"xn--risa-5na.no":true,"nore-og-uvdal.no":true,"notodden.no":true,"naroy.no":true,"xn--nry-yla5g.no":true,"notteroy.no":true,"xn--nttery-byae.no":true,"odda.no":true,"oksnes.no":true,"xn--ksnes-uua.no":true,"oppdal.no":true,"oppegard.no":true,"xn--oppegrd-ixa.no":true,"orkdal.no":true,"orland.no":true,"xn--rland-uua.no":true,"orskog.no":true,"xn--rskog-uua.no":true,"orsta.no":true,"xn--rsta-fra.no":true,"os.hedmark.no":true,"os.hordaland.no":true,"osen.no":true,"osteroy.no":true,"xn--ostery-fya.no":true,"ostre-toten.no":true,"xn--stre-toten-zcb.no":true,"overhalla.no":true,"ovre-eiker.no":true,"xn--vre-eiker-k8a.no":true,"oyer.no":true,"xn--yer-zna.no":true,"oygarden.no":true,"xn--ygarden-p1a.no":true,"oystre-slidre.no":true,"xn--ystre-slidre-ujb.no":true,"porsanger.no":true,"porsangu.no":true,"xn--porsgu-sta26f.no":true,"porsgrunn.no":true,"radoy.no":true,"xn--rady-ira.no":true,"rakkestad.no":true,"rana.no":true,"ruovat.no":true,"randaberg.no":true,"rauma.no":true,"rendalen.no":true,"rennebu.no":true,"rennesoy.no":true,"xn--rennesy-v1a.no":true,"rindal.no":true,"ringebu.no":true,"ringerike.no":true,"ringsaker.no":true,"rissa.no":true,"risor.no":true,"xn--risr-ira.no":true,"roan.no":true,"rollag.no":true,"rygge.no":true,"ralingen.no":true,"xn--rlingen-mxa.no":true,"rodoy.no":true,"xn--rdy-0nab.no":true,"romskog.no":true,"xn--rmskog-bya.no":true,"roros.no":true,"xn--rros-gra.no":true,"rost.no":true,"xn--rst-0na.no":true,"royken.no":true,"xn--ryken-vua.no":true,"royrvik.no":true,"xn--ryrvik-bya.no":true,"rade.no":true,"xn--rde-ula.no":true,"salangen.no":true,"siellak.no":true,"saltdal.no":true,"salat.no":true,"xn--slt-elab.no":true,"xn--slat-5na.no":true,"samnanger.no":true,"sande.more-og-romsdal.no":true,"sande.xn--mre-og-romsdal-qqb.no":true,"sande.vestfold.no":true,"sandefjord.no":true,"sandnes.no":true,"sandoy.no":true,"xn--sandy-yua.no":true,"sarpsborg.no":true,"sauda.no":true,"sauherad.no":true,"sel.no":true,"selbu.no":true,"selje.no":true,"seljord.no":true,"sigdal.no":true,"siljan.no":true,"sirdal.no":true,"skaun.no":true,"skedsmo.no":true,"ski.no":true,"skien.no":true,"skiptvet.no":true,"skjervoy.no":true,"xn--skjervy-v1a.no":true,"skierva.no":true,"xn--skierv-uta.no":true,"skjak.no":true,"xn--skjk-soa.no":true,"skodje.no":true,"skanland.no":true,"xn--sknland-fxa.no":true,"skanit.no":true,"xn--sknit-yqa.no":true,"smola.no":true,"xn--smla-hra.no":true,"snillfjord.no":true,"snasa.no":true,"xn--snsa-roa.no":true,"snoasa.no":true,"snaase.no":true,"xn--snase-nra.no":true,"sogndal.no":true,"sokndal.no":true,"sola.no":true,"solund.no":true,"songdalen.no":true,"sortland.no":true,"spydeberg.no":true,"stange.no":true,"stavanger.no":true,"steigen.no":true,"steinkjer.no":true,"stjordal.no":true,"xn--stjrdal-s1a.no":true,"stokke.no":true,"stor-elvdal.no":true,"stord.no":true,"stordal.no":true,"storfjord.no":true,"omasvuotna.no":true,"strand.no":true,"stranda.no":true,"stryn.no":true,"sula.no":true,"suldal.no":true,"sund.no":true,"sunndal.no":true,"surnadal.no":true,"sveio.no":true,"svelvik.no":true,"sykkylven.no":true,"sogne.no":true,"xn--sgne-gra.no":true,"somna.no":true,"xn--smna-gra.no":true,"sondre-land.no":true,"xn--sndre-land-0cb.no":true,"sor-aurdal.no":true,"xn--sr-aurdal-l8a.no":true,"sor-fron.no":true,"xn--sr-fron-q1a.no":true,"sor-odal.no":true,"xn--sr-odal-q1a.no":true,"sor-varanger.no":true,"xn--sr-varanger-ggb.no":true,"matta-varjjat.no":true,"xn--mtta-vrjjat-k7af.no":true,"sorfold.no":true,"xn--srfold-bya.no":true,"sorreisa.no":true,"xn--srreisa-q1a.no":true,"sorum.no":true,"xn--srum-gra.no":true,"tana.no":true,"deatnu.no":true,"time.no":true,"tingvoll.no":true,"tinn.no":true,"tjeldsund.no":true,"dielddanuorri.no":true,"tjome.no":true,"xn--tjme-hra.no":true,"tokke.no":true,"tolga.no":true,"torsken.no":true,"tranoy.no":true,"xn--trany-yua.no":true,"tromso.no":true,"xn--troms-zua.no":true,"tromsa.no":true,"romsa.no":true,"trondheim.no":true,"troandin.no":true,"trysil.no":true,"trana.no":true,"xn--trna-woa.no":true,"trogstad.no":true,"xn--trgstad-r1a.no":true,"tvedestrand.no":true,"tydal.no":true,"tynset.no":true,"tysfjord.no":true,"divtasvuodna.no":true,"divttasvuotna.no":true,"tysnes.no":true,"tysvar.no":true,"xn--tysvr-vra.no":true,"tonsberg.no":true,"xn--tnsberg-q1a.no":true,"ullensaker.no":true,"ullensvang.no":true,"ulvik.no":true,"utsira.no":true,"vadso.no":true,"xn--vads-jra.no":true,"cahcesuolo.no":true,"xn--hcesuolo-7ya35b.no":true,"vaksdal.no":true,"valle.no":true,"vang.no":true,"vanylven.no":true,"vardo.no":true,"xn--vard-jra.no":true,"varggat.no":true,"xn--vrggt-xqad.no":true,"vefsn.no":true,"vaapste.no":true,"vega.no":true,"vegarshei.no":true,"xn--vegrshei-c0a.no":true,"vennesla.no":true,"verdal.no":true,"verran.no":true,"vestby.no":true,"vestnes.no":true,"vestre-slidre.no":true,"vestre-toten.no":true,"vestvagoy.no":true,"xn--vestvgy-ixa6o.no":true,"vevelstad.no":true,"vik.no":true,"vikna.no":true,"vindafjord.no":true,"volda.no":true,"voss.no":true,"varoy.no":true,"xn--vry-yla5g.no":true,"vagan.no":true,"xn--vgan-qoa.no":true,"voagat.no":true,"vagsoy.no":true,"xn--vgsy-qoa0j.no":true,"vaga.no":true,"xn--vg-yiab.no":true,"valer.ostfold.no":true,"xn--vler-qoa.xn--stfold-9xa.no":true,"valer.hedmark.no":true,"xn--vler-qoa.hedmark.no":true,"*.np":true,nr:true,"biz.nr":true,"info.nr":true,"gov.nr":true,"edu.nr":true,"org.nr":true,"net.nr":true,"com.nr":true,nu:true,"*.nz":true,"*.om":true,"mediaphone.om":false,"nawrastelecom.om":false,"nawras.om":false,"omanmobile.om":false,"omanpost.om":false,"omantel.om":false,"rakpetroleum.om":false,"siemens.om":false,"songfest.om":false,"statecouncil.om":false,org:true,pa:true,"ac.pa":true,"gob.pa":true,"com.pa":true,"org.pa":true,"sld.pa":true,"edu.pa":true,"net.pa":true,"ing.pa":true,"abo.pa":true,"med.pa":true,"nom.pa":true,pe:true,"edu.pe":true,"gob.pe":true,"nom.pe":true,"mil.pe":true,"org.pe":true,"com.pe":true,"net.pe":true,pf:true,"com.pf":true,"org.pf":true,"edu.pf":true,"*.pg":true,ph:true,"com.ph":true,"net.ph":true,"org.ph":true,"gov.ph":true,"edu.ph":true,"ngo.ph":true,"mil.ph":true,"i.ph":true,pk:true,"com.pk":true,"net.pk":true,"edu.pk":true,"org.pk":true,"fam.pk":true,"biz.pk":true,"web.pk":true,"gov.pk":true,"gob.pk":true,"gok.pk":true,"gon.pk":true,"gop.pk":true,"gos.pk":true,"info.pk":true,pl:true,"aid.pl":true,"agro.pl":true,"atm.pl":true,"auto.pl":true,"biz.pl":true,"com.pl":true,"edu.pl":true,"gmina.pl":true,"gsm.pl":true,"info.pl":true,"mail.pl":true,"miasta.pl":true,"media.pl":true,"mil.pl":true,"net.pl":true,"nieruchomosci.pl":true,"nom.pl":true,"org.pl":true,"pc.pl":true,"powiat.pl":true,"priv.pl":true,"realestate.pl":true,"rel.pl":true,"sex.pl":true,"shop.pl":true,"sklep.pl":true,"sos.pl":true,"szkola.pl":true,"targi.pl":true,"tm.pl":true,"tourism.pl":true,"travel.pl":true,"turystyka.pl":true,"6bone.pl":true,"art.pl":true,"mbone.pl":true,"gov.pl":true,"uw.gov.pl":true,"um.gov.pl":true,"ug.gov.pl":true,"upow.gov.pl":true,"starostwo.gov.pl":true,"so.gov.pl":true,"sr.gov.pl":true,"po.gov.pl":true,"pa.gov.pl":true,"ngo.pl":true,"irc.pl":true,"usenet.pl":true,"augustow.pl":true,"babia-gora.pl":true,"bedzin.pl":true,"beskidy.pl":true,"bialowieza.pl":true,"bialystok.pl":true,"bielawa.pl":true,"bieszczady.pl":true,"boleslawiec.pl":true,"bydgoszcz.pl":true,"bytom.pl":true,"cieszyn.pl":true,"czeladz.pl":true,"czest.pl":true,"dlugoleka.pl":true,"elblag.pl":true,"elk.pl":true,"glogow.pl":true,"gniezno.pl":true,"gorlice.pl":true,"grajewo.pl":true,"ilawa.pl":true,"jaworzno.pl":true,"jelenia-gora.pl":true,"jgora.pl":true,"kalisz.pl":true,"kazimierz-dolny.pl":true,"karpacz.pl":true,"kartuzy.pl":true,"kaszuby.pl":true,"katowice.pl":true,"kepno.pl":true,"ketrzyn.pl":true,"klodzko.pl":true,"kobierzyce.pl":true,"kolobrzeg.pl":true,"konin.pl":true,"konskowola.pl":true,"kutno.pl":true,"lapy.pl":true,"lebork.pl":true,"legnica.pl":true,"lezajsk.pl":true,"limanowa.pl":true,"lomza.pl":true,"lowicz.pl":true,"lubin.pl":true,"lukow.pl":true,"malbork.pl":true,"malopolska.pl":true,"mazowsze.pl":true,"mazury.pl":true,"mielec.pl":true,"mielno.pl":true,"mragowo.pl":true,"naklo.pl":true,"nowaruda.pl":true,"nysa.pl":true,"olawa.pl":true,"olecko.pl":true,"olkusz.pl":true,"olsztyn.pl":true,"opoczno.pl":true,"opole.pl":true,"ostroda.pl":true,"ostroleka.pl":true,"ostrowiec.pl":true,"ostrowwlkp.pl":true,"pila.pl":true,"pisz.pl":true,"podhale.pl":true,"podlasie.pl":true,"polkowice.pl":true,"pomorze.pl":true,"pomorskie.pl":true,"prochowice.pl":true,"pruszkow.pl":true,"przeworsk.pl":true,"pulawy.pl":true,"radom.pl":true,"rawa-maz.pl":true,"rybnik.pl":true,"rzeszow.pl":true,"sanok.pl":true,"sejny.pl":true,"siedlce.pl":true,"slask.pl":true,"slupsk.pl":true,"sosnowiec.pl":true,"stalowa-wola.pl":true,"skoczow.pl":true,"starachowice.pl":true,"stargard.pl":true,"suwalki.pl":true,"swidnica.pl":true,"swiebodzin.pl":true,"swinoujscie.pl":true,"szczecin.pl":true,"szczytno.pl":true,"tarnobrzeg.pl":true,"tgory.pl":true,"turek.pl":true,"tychy.pl":true,"ustka.pl":true,"walbrzych.pl":true,"warmia.pl":true,"warszawa.pl":true,"waw.pl":true,"wegrow.pl":true,"wielun.pl":true,"wlocl.pl":true,"wloclawek.pl":true,"wodzislaw.pl":true,"wolomin.pl":true,"wroclaw.pl":true,"zachpomor.pl":true,"zagan.pl":true,"zarow.pl":true,"zgora.pl":true,"zgorzelec.pl":true,"gda.pl":true,"gdansk.pl":true,"gdynia.pl":true,"med.pl":true,"sopot.pl":true,"gliwice.pl":true,"krakow.pl":true,"poznan.pl":true,"wroc.pl":true,"zakopane.pl":true,pm:true,pn:true,"gov.pn":true,"co.pn":true,"org.pn":true,"edu.pn":true,"net.pn":true,pr:true,"com.pr":true,"net.pr":true,"org.pr":true,"gov.pr":true,"edu.pr":true,"isla.pr":true,"pro.pr":true,"biz.pr":true,"info.pr":true,"name.pr":true,"est.pr":true,"prof.pr":true,"ac.pr":true,pro:true,"aca.pro":true,"bar.pro":true,"cpa.pro":true,"jur.pro":true,"law.pro":true,"med.pro":true,"eng.pro":true,ps:true,"edu.ps":true,"gov.ps":true,"sec.ps":true,"plo.ps":true,"com.ps":true,"org.ps":true,"net.ps":true,pt:true,"net.pt":true,"gov.pt":true,"org.pt":true,"edu.pt":true,"int.pt":true,"publ.pt":true,"com.pt":true,"nome.pt":true,pw:true,"co.pw":true,"ne.pw":true,"or.pw":true,"ed.pw":true,"go.pw":true,"belau.pw":true,"*.py":true,qa:true,"com.qa":true,"edu.qa":true,"gov.qa":true,"mil.qa":true,"name.qa":true,"net.qa":true,"org.qa":true,"sch.qa":true,re:true,"com.re":true,"asso.re":true,"nom.re":true,ro:true,"com.ro":true,"org.ro":true,"tm.ro":true,"nt.ro":true,"nom.ro":true,"info.ro":true,"rec.ro":true,"arts.ro":true,"firm.ro":true,"store.ro":true,"www.ro":true,rs:true,"co.rs":true,"org.rs":true,"edu.rs":true,"ac.rs":true,"gov.rs":true,"in.rs":true,ru:true,"ac.ru":true,"com.ru":true,"edu.ru":true,"int.ru":true,"net.ru":true,"org.ru":true,"pp.ru":true,"adygeya.ru":true,"altai.ru":true,"amur.ru":true,"arkhangelsk.ru":true,"astrakhan.ru":true,"bashkiria.ru":true,"belgorod.ru":true,"bir.ru":true,"bryansk.ru":true,"buryatia.ru":true,"cbg.ru":true,"chel.ru":true,"chelyabinsk.ru":true,"chita.ru":true,"chukotka.ru":true,"chuvashia.ru":true,"dagestan.ru":true,"dudinka.ru":true,"e-burg.ru":true,"grozny.ru":true,"irkutsk.ru":true,"ivanovo.ru":true,"izhevsk.ru":true,"jar.ru":true,"joshkar-ola.ru":true,"kalmykia.ru":true,"kaluga.ru":true,"kamchatka.ru":true,"karelia.ru":true,"kazan.ru":true,"kchr.ru":true,"kemerovo.ru":true,"khabarovsk.ru":true,"khakassia.ru":true,"khv.ru":true,"kirov.ru":true,"koenig.ru":true,"komi.ru":true,"kostroma.ru":true,"krasnoyarsk.ru":true,"kuban.ru":true,"kurgan.ru":true,"kursk.ru":true,"lipetsk.ru":true,"magadan.ru":true,"mari.ru":true,"mari-el.ru":true,"marine.ru":true,"mordovia.ru":true,"mosreg.ru":true,"msk.ru":true,"murmansk.ru":true,"nalchik.ru":true,"nnov.ru":true,"nov.ru":true,"novosibirsk.ru":true,"nsk.ru":true,"omsk.ru":true,"orenburg.ru":true,"oryol.ru":true,"palana.ru":true,"penza.ru":true,"perm.ru":true,"pskov.ru":true,"ptz.ru":true,"rnd.ru":true,"ryazan.ru":true,"sakhalin.ru":true,"samara.ru":true,"saratov.ru":true,"simbirsk.ru":true,"smolensk.ru":true,"spb.ru":true,"stavropol.ru":true,"stv.ru":true,"surgut.ru":true,"tambov.ru":true,"tatarstan.ru":true,"tom.ru":true,"tomsk.ru":true,"tsaritsyn.ru":true,"tsk.ru":true,"tula.ru":true,"tuva.ru":true,"tver.ru":true,"tyumen.ru":true,"udm.ru":true,"udmurtia.ru":true,"ulan-ude.ru":true,"vladikavkaz.ru":true,"vladimir.ru":true,"vladivostok.ru":true,"volgograd.ru":true,"vologda.ru":true,"voronezh.ru":true,"vrn.ru":true,"vyatka.ru":true,"yakutia.ru":true,"yamal.ru":true,"yaroslavl.ru":true,"yekaterinburg.ru":true,"yuzhno-sakhalinsk.ru":true,"amursk.ru":true,"baikal.ru":true,"cmw.ru":true,"fareast.ru":true,"jamal.ru":true,"kms.ru":true,"k-uralsk.ru":true,"kustanai.ru":true,"kuzbass.ru":true,"magnitka.ru":true,"mytis.ru":true,"nakhodka.ru":true,"nkz.ru":true,"norilsk.ru":true,"oskol.ru":true,"pyatigorsk.ru":true,"rubtsovsk.ru":true,"snz.ru":true,"syzran.ru":true,"vdonsk.ru":true,"zgrad.ru":true,"gov.ru":true,"mil.ru":true,"test.ru":true,rw:true,"gov.rw":true,"net.rw":true,"edu.rw":true,"ac.rw":true,"com.rw":true,"co.rw":true,"int.rw":true,"mil.rw":true,"gouv.rw":true,sa:true,"com.sa":true,"net.sa":true,"org.sa":true,"gov.sa":true,"med.sa":true,"pub.sa":true,"edu.sa":true,"sch.sa":true,sb:true,"com.sb":true,"edu.sb":true,"gov.sb":true,"net.sb":true,"org.sb":true,sc:true,"com.sc":true,"gov.sc":true,"net.sc":true,"org.sc":true,"edu.sc":true,sd:true,"com.sd":true,"net.sd":true,"org.sd":true,"edu.sd":true,"med.sd":true,"gov.sd":true,"info.sd":true,se:true,"a.se":true,"ac.se":true,"b.se":true,"bd.se":true,"brand.se":true,"c.se":true,"d.se":true,"e.se":true,"f.se":true,"fh.se":true,"fhsk.se":true,"fhv.se":true,"g.se":true,"h.se":true,"i.se":true,"k.se":true,"komforb.se":true,"kommunalforbund.se":true,"komvux.se":true,"l.se":true,"lanbib.se":true,"m.se":true,"n.se":true,"naturbruksgymn.se":true,"o.se":true,"org.se":true,"p.se":true,"parti.se":true,"pp.se":true,"press.se":true,"r.se":true,"s.se":true,"sshn.se":true,"t.se":true,"tm.se":true,"u.se":true,"w.se":true,"x.se":true,"y.se":true,"z.se":true,sg:true,"com.sg":true,"net.sg":true,"org.sg":true,"gov.sg":true,"edu.sg":true,"per.sg":true,sh:true,si:true,sk:true,sl:true,"com.sl":true,"net.sl":true,"edu.sl":true,"gov.sl":true,"org.sl":true,sm:true,sn:true,"art.sn":true,"com.sn":true,"edu.sn":true,"gouv.sn":true,"org.sn":true,"perso.sn":true,"univ.sn":true,so:true,"com.so":true,"net.so":true,"org.so":true,sr:true,st:true,"co.st":true,"com.st":true,"consulado.st":true,"edu.st":true,"embaixada.st":true,"gov.st":true,"mil.st":true,"net.st":true,"org.st":true,"principe.st":true,"saotome.st":true,"store.st":true,su:true,"*.sv":true,sy:true,"edu.sy":true,"gov.sy":true,"net.sy":true,"mil.sy":true,"com.sy":true,"org.sy":true,sz:true,"co.sz":true,"ac.sz":true,"org.sz":true,tc:true,td:true,tel:true,tf:true,tg:true,th:true,"ac.th":true,"co.th":true,"go.th":true,"in.th":true,"mi.th":true,"net.th":true,"or.th":true,tj:true,"ac.tj":true,"biz.tj":true,"co.tj":true,"com.tj":true,"edu.tj":true,"go.tj":true,"gov.tj":true,"int.tj":true,"mil.tj":true,"name.tj":true,"net.tj":true,"nic.tj":true,"org.tj":true,"test.tj":true,"web.tj":true,tk:true,tl:true,"gov.tl":true,tm:true,tn:true,"com.tn":true,"ens.tn":true,"fin.tn":true,"gov.tn":true,"ind.tn":true,"intl.tn":true,"nat.tn":true,"net.tn":true,"org.tn":true,"info.tn":true,"perso.tn":true,"tourism.tn":true,"edunet.tn":true,"rnrt.tn":true,"rns.tn":true,"rnu.tn":true,"mincom.tn":true,"agrinet.tn":true,"defense.tn":true,"turen.tn":true,to:true,"com.to":true,"gov.to":true,"net.to":true,"org.to":true,"edu.to":true,"mil.to":true,"*.tr":true,"nic.tr":false,"gov.nc.tr":true,travel:true,tt:true,"co.tt":true,"com.tt":true,"org.tt":true,"net.tt":true,"biz.tt":true,"info.tt":true,"pro.tt":true,"int.tt":true,"coop.tt":true,"jobs.tt":true,"mobi.tt":true,"travel.tt":true,"museum.tt":true,"aero.tt":true,"name.tt":true,"gov.tt":true,"edu.tt":true,tv:true,tw:true,"edu.tw":true,"gov.tw":true,"mil.tw":true,"com.tw":true,"net.tw":true,"org.tw":true,"idv.tw":true,"game.tw":true,"ebiz.tw":true,"club.tw":true,"xn--zf0ao64a.tw":true,"xn--uc0atv.tw":true,"xn--czrw28b.tw":true,"ac.tz":true,"co.tz":true,"go.tz":true,"mil.tz":true,"ne.tz":true,"or.tz":true,"sc.tz":true,ua:true,"com.ua":true,"edu.ua":true,"gov.ua":true,"in.ua":true,"net.ua":true,"org.ua":true,"cherkassy.ua":true,"chernigov.ua":true,"chernovtsy.ua":true,"ck.ua":true,"cn.ua":true,"crimea.ua":true,"cv.ua":true,"dn.ua":true,"dnepropetrovsk.ua":true,"donetsk.ua":true,"dp.ua":true,"if.ua":true,"ivano-frankivsk.ua":true,"kh.ua":true,"kharkov.ua":true,"kherson.ua":true,"khmelnitskiy.ua":true,"kiev.ua":true,"kirovograd.ua":true,"km.ua":true,"kr.ua":true,"ks.ua":true,"kv.ua":true,"lg.ua":true,"lugansk.ua":true,"lutsk.ua":true,"lviv.ua":true,"mk.ua":true,"nikolaev.ua":true,"od.ua":true,"odessa.ua":true,"pl.ua":true,"poltava.ua":true,"rovno.ua":true,"rv.ua":true,"sebastopol.ua":true,"sumy.ua":true,"te.ua":true,"ternopil.ua":true,"uzhgorod.ua":true,"vinnica.ua":true,"vn.ua":true,"zaporizhzhe.ua":true,"zp.ua":true,"zhitomir.ua":true,"zt.ua":true,"co.ua":true,"pp.ua":true,ug:true,"co.ug":true,"ac.ug":true,"sc.ug":true,"go.ug":true,"ne.ug":true,"or.ug":true,"*.uk":true,"*.sch.uk":true,"bl.uk":false,"british-library.uk":false,"icnet.uk":false,"jet.uk":false,"mod.uk":false,"nel.uk":false,"nhs.uk":false,"nic.uk":false,"nls.uk":false,"national-library-scotland.uk":false,"parliament.uk":false,"police.uk":false,us:true,"dni.us":true,"fed.us":true,"isa.us":true,"kids.us":true,"nsn.us":true,"ak.us":true,"al.us":true,"ar.us":true,"as.us":true,"az.us":true,"ca.us":true,"co.us":true,"ct.us":true,"dc.us":true,"de.us":true,"fl.us":true,"ga.us":true,"gu.us":true,"hi.us":true,"ia.us":true,"id.us":true,"il.us":true,"in.us":true,"ks.us":true,"ky.us":true,"la.us":true,"ma.us":true,"md.us":true,"me.us":true,"mi.us":true,"mn.us":true,"mo.us":true,"ms.us":true,"mt.us":true,"nc.us":true,"nd.us":true,"ne.us":true,"nh.us":true,"nj.us":true,"nm.us":true,"nv.us":true,"ny.us":true,"oh.us":true,"ok.us":true,"or.us":true,"pa.us":true,"pr.us":true,"ri.us":true,"sc.us":true,"sd.us":true,"tn.us":true,"tx.us":true,"ut.us":true,"vi.us":true,"vt.us":true,"va.us":true,"wa.us":true,"wi.us":true,"wv.us":true,"wy.us":true,"k12.ak.us":true,"k12.al.us":true,"k12.ar.us":true,"k12.as.us":true,"k12.az.us":true,"k12.ca.us":true,"k12.co.us":true,"k12.ct.us":true,"k12.dc.us":true,"k12.de.us":true,"k12.fl.us":true,"k12.ga.us":true,"k12.gu.us":true,"k12.ia.us":true,"k12.id.us":true,"k12.il.us":true,"k12.in.us":true,"k12.ks.us":true,"k12.ky.us":true,"k12.la.us":true,"k12.ma.us":true,"k12.md.us":true,"k12.me.us":true,"k12.mi.us":true,"k12.mn.us":true,"k12.mo.us":true,"k12.ms.us":true,"k12.mt.us":true,"k12.nc.us":true,"k12.nd.us":true,"k12.ne.us":true,"k12.nh.us":true,"k12.nj.us":true,"k12.nm.us":true,"k12.nv.us":true,"k12.ny.us":true,"k12.oh.us":true,"k12.ok.us":true,"k12.or.us":true,"k12.pa.us":true,"k12.pr.us":true,"k12.ri.us":true,"k12.sc.us":true,"k12.sd.us":true,"k12.tn.us":true,"k12.tx.us":true,"k12.ut.us":true,"k12.vi.us":true,"k12.vt.us":true,"k12.va.us":true,"k12.wa.us":true,"k12.wi.us":true,"k12.wv.us":true,"k12.wy.us":true,"cc.ak.us":true,"cc.al.us":true,"cc.ar.us":true,"cc.as.us":true,"cc.az.us":true,"cc.ca.us":true,"cc.co.us":true,"cc.ct.us":true,"cc.dc.us":true,"cc.de.us":true,"cc.fl.us":true,"cc.ga.us":true,"cc.gu.us":true,"cc.hi.us":true,"cc.ia.us":true,"cc.id.us":true,"cc.il.us":true,"cc.in.us":true,"cc.ks.us":true,"cc.ky.us":true,"cc.la.us":true,"cc.ma.us":true,"cc.md.us":true,"cc.me.us":true,"cc.mi.us":true,"cc.mn.us":true,"cc.mo.us":true,"cc.ms.us":true,"cc.mt.us":true,"cc.nc.us":true,"cc.nd.us":true,"cc.ne.us":true,"cc.nh.us":true,"cc.nj.us":true,"cc.nm.us":true,"cc.nv.us":true,"cc.ny.us":true,"cc.oh.us":true,"cc.ok.us":true,"cc.or.us":true,"cc.pa.us":true,"cc.pr.us":true,"cc.ri.us":true,"cc.sc.us":true,"cc.sd.us":true,"cc.tn.us":true,"cc.tx.us":true,"cc.ut.us":true,"cc.vi.us":true,"cc.vt.us":true,"cc.va.us":true,"cc.wa.us":true,"cc.wi.us":true,"cc.wv.us":true,"cc.wy.us":true,"lib.ak.us":true,"lib.al.us":true,"lib.ar.us":true,"lib.as.us":true,"lib.az.us":true,"lib.ca.us":true,"lib.co.us":true,"lib.ct.us":true,"lib.dc.us":true,"lib.de.us":true,"lib.fl.us":true,"lib.ga.us":true,"lib.gu.us":true,"lib.hi.us":true,"lib.ia.us":true,"lib.id.us":true,"lib.il.us":true,"lib.in.us":true,"lib.ks.us":true,"lib.ky.us":true,"lib.la.us":true,"lib.ma.us":true,"lib.md.us":true,"lib.me.us":true,"lib.mi.us":true,"lib.mn.us":true,"lib.mo.us":true,"lib.ms.us":true,"lib.mt.us":true,"lib.nc.us":true,"lib.nd.us":true,"lib.ne.us":true,"lib.nh.us":true,"lib.nj.us":true,"lib.nm.us":true,"lib.nv.us":true,"lib.ny.us":true,"lib.oh.us":true,"lib.ok.us":true,"lib.or.us":true,"lib.pa.us":true,"lib.pr.us":true,"lib.ri.us":true,"lib.sc.us":true,"lib.sd.us":true,"lib.tn.us":true,"lib.tx.us":true,"lib.ut.us":true,"lib.vi.us":true,"lib.vt.us":true,"lib.va.us":true,"lib.wa.us":true,"lib.wi.us":true,"lib.wv.us":true,"lib.wy.us":true,"pvt.k12.ma.us":true,"chtr.k12.ma.us":true,"paroch.k12.ma.us":true,"*.uy":true,uz:true,"com.uz":true,"co.uz":true,va:true,vc:true,"com.vc":true,"net.vc":true,"org.vc":true,"gov.vc":true,"mil.vc":true,"edu.vc":true,"*.ve":true,vg:true,vi:true,"co.vi":true,"com.vi":true,"k12.vi":true,"net.vi":true,"org.vi":true,vn:true,"com.vn":true,"net.vn":true,"org.vn":true,"edu.vn":true,"gov.vn":true,"int.vn":true,"ac.vn":true,"biz.vn":true,"info.vn":true,"name.vn":true,"pro.vn":true,"health.vn":true,vu:true,wf:true,ws:true,"com.ws":true,"net.ws":true,"org.ws":true,"gov.ws":true,"edu.ws":true,yt:true,"xn--mgbaam7a8h":true,"xn--54b7fta0cc":true,"xn--fiqs8s":true,"xn--fiqz9s":true,"xn--lgbbat1ad8j":true,"xn--wgbh1c":true,"xn--node":true,"xn--j6w193g":true,"xn--h2brj9c":true,"xn--mgbbh1a71e":true,"xn--fpcrj9c3d":true,"xn--gecrj9c":true,"xn--s9brj9c":true,"xn--45brj9c":true,"xn--xkc2dl3a5ee0h":true,"xn--mgba3a4f16a":true,"xn--mgba3a4fra":true,"xn--mgbayh7gpa":true,"xn--3e0b707e":true,"xn--fzc2c9e2c":true,"xn--xkc2al3hye2a":true,"xn--mgbc0a9azcg":true,"xn--mgb9awbf":true,"xn--ygbi2ammx":true,"xn--90a3ac":true,"xn--p1ai":true,"xn--wgbl6a":true,"xn--mgberp4a5d4ar":true,"xn--mgberp4a5d4a87g":true,"xn--mgbqly7c0a67fbc":true,"xn--mgbqly7cvafr":true,"xn--ogbpf8fl":true,"xn--mgbtf8fl":true,"xn--yfro4i67o":true,"xn--clchc0ea0b2g2a9gcd":true,"xn--o3cw4h":true,"xn--pgbs0dh":true,"xn--kpry57d":true,"xn--kprw13d":true,"xn--nnx388a":true,"xn--j1amh":true,"xn--mgb2ddes":true,xxx:true,"*.ye":true,"*.za":true,"*.zm":true,"*.zw":true,"biz.at":true,"info.at":true,"priv.at":true,"co.ca":true,"ar.com":true,"br.com":true,"cn.com":true,"de.com":true,"eu.com":true,"gb.com":true,"gr.com":true,"hu.com":true,"jpn.com":true,"kr.com":true,"no.com":true,"qc.com":true,"ru.com":true,"sa.com":true,"se.com":true,"uk.com":true,"us.com":true,"uy.com":true,"za.com":true,"gb.net":true,"jp.net":true,"se.net":true,"uk.net":true,"ae.org":true,"us.org":true,"com.de":true,"operaunite.com":true,"appspot.com":true,"iki.fi":true,"c.la":true,"za.net":true,"za.org":true,"co.nl":true,"co.no":true,"co.pl":true,"dyndns-at-home.com":true,"dyndns-at-work.com":true,"dyndns-blog.com":true,"dyndns-free.com":true,"dyndns-home.com":true,"dyndns-ip.com":true,"dyndns-mail.com":true,"dyndns-office.com":true,"dyndns-pics.com":true,"dyndns-remote.com":true,"dyndns-server.com":true,"dyndns-web.com":true,"dyndns-wiki.com":true,"dyndns-work.com":true,"dyndns.biz":true,"dyndns.info":true,"dyndns.org":true,"dyndns.tv":true,"at-band-camp.net":true,"ath.cx":true,"barrel-of-knowledge.info":true,"barrell-of-knowledge.info":true,"better-than.tv":true,"blogdns.com":true,"blogdns.net":true,"blogdns.org":true,"blogsite.org":true,"boldlygoingnowhere.org":true,"broke-it.net":true,"buyshouses.net":true,"cechire.com":true,"dnsalias.com":true,"dnsalias.net":true,"dnsalias.org":true,"dnsdojo.com":true,"dnsdojo.net":true,"dnsdojo.org":true,"does-it.net":true,"doesntexist.com":true,"doesntexist.org":true,"dontexist.com":true,"dontexist.net":true,"dontexist.org":true,"doomdns.com":true,"doomdns.org":true,"dvrdns.org":true,"dyn-o-saur.com":true,"dynalias.com":true,"dynalias.net":true,"dynalias.org":true,"dynathome.net":true,"dyndns.ws":true,"endofinternet.net":true,"endofinternet.org":true,"endoftheinternet.org":true,"est-a-la-maison.com":true,"est-a-la-masion.com":true,"est-le-patron.com":true,"est-mon-blogueur.com":true,"for-better.biz":true,"for-more.biz":true,"for-our.info":true,"for-some.biz":true,"for-the.biz":true,"forgot.her.name":true,"forgot.his.name":true,"from-ak.com":true,"from-al.com":true,"from-ar.com":true,"from-az.net":true,"from-ca.com":true,"from-co.net":true,"from-ct.com":true,"from-dc.com":true,"from-de.com":true,"from-fl.com":true,"from-ga.com":true,"from-hi.com":true,"from-ia.com":true,"from-id.com":true,"from-il.com":true,"from-in.com":true,"from-ks.com":true,"from-ky.com":true,"from-la.net":true,"from-ma.com":true,"from-md.com":true,"from-me.org":true,"from-mi.com":true,"from-mn.com":true,"from-mo.com":true,"from-ms.com":true,"from-mt.com":true,"from-nc.com":true,"from-nd.com":true,"from-ne.com":true,"from-nh.com":true,"from-nj.com":true,"from-nm.com":true,"from-nv.com":true,"from-ny.net":true,"from-oh.com":true,"from-ok.com":true,"from-or.com":true,"from-pa.com":true,"from-pr.com":true,"from-ri.com":true,"from-sc.com":true,"from-sd.com":true,"from-tn.com":true,"from-tx.com":true,"from-ut.com":true,"from-va.com":true,"from-vt.com":true,"from-wa.com":true,"from-wi.com":true,"from-wv.com":true,"from-wy.com":true,"ftpaccess.cc":true,"fuettertdasnetz.de":true,"game-host.org":true,"game-server.cc":true,"getmyip.com":true,"gets-it.net":true,"go.dyndns.org":true,"gotdns.com":true,"gotdns.org":true,"groks-the.info":true,"groks-this.info":true,"ham-radio-op.net":true,"here-for-more.info":true,"hobby-site.com":true,"hobby-site.org":true,"home.dyndns.org":true,"homedns.org":true,"homeftp.net":true,"homeftp.org":true,"homeip.net":true,"homelinux.com":true,"homelinux.net":true,"homelinux.org":true,"homeunix.com":true,"homeunix.net":true,"homeunix.org":true,"iamallama.com":true,"in-the-band.net":true,"is-a-anarchist.com":true,"is-a-blogger.com":true,"is-a-bookkeeper.com":true,"is-a-bruinsfan.org":true,"is-a-bulls-fan.com":true,"is-a-candidate.org":true,"is-a-caterer.com":true,"is-a-celticsfan.org":true,"is-a-chef.com":true,"is-a-chef.net":true,"is-a-chef.org":true,"is-a-conservative.com":true,"is-a-cpa.com":true,"is-a-cubicle-slave.com":true,"is-a-democrat.com":true,"is-a-designer.com":true,"is-a-doctor.com":true,"is-a-financialadvisor.com":true,"is-a-geek.com":true,"is-a-geek.net":true,"is-a-geek.org":true,"is-a-green.com":true,"is-a-guru.com":true,"is-a-hard-worker.com":true,"is-a-hunter.com":true,"is-a-knight.org":true,"is-a-landscaper.com":true,"is-a-lawyer.com":true,"is-a-liberal.com":true,"is-a-libertarian.com":true,"is-a-linux-user.org":true,"is-a-llama.com":true,"is-a-musician.com":true,"is-a-nascarfan.com":true,"is-a-nurse.com":true,"is-a-painter.com":true,"is-a-patsfan.org":true,"is-a-personaltrainer.com":true,"is-a-photographer.com":true,"is-a-player.com":true,"is-a-republican.com":true,"is-a-rockstar.com":true,"is-a-socialist.com":true,"is-a-soxfan.org":true,"is-a-student.com":true,"is-a-teacher.com":true,"is-a-techie.com":true,"is-a-therapist.com":true,"is-an-accountant.com":true,"is-an-actor.com":true,"is-an-actress.com":true,"is-an-anarchist.com":true,"is-an-artist.com":true,"is-an-engineer.com":true,"is-an-entertainer.com":true,"is-by.us":true,"is-certified.com":true,"is-found.org":true,"is-gone.com":true,"is-into-anime.com":true,"is-into-cars.com":true,"is-into-cartoons.com":true,"is-into-games.com":true,"is-leet.com":true,"is-lost.org":true,"is-not-certified.com":true,"is-saved.org":true,"is-slick.com":true,"is-uberleet.com":true,"is-very-bad.org":true,"is-very-evil.org":true,"is-very-good.org":true,"is-very-nice.org":true,"is-very-sweet.org":true,"is-with-theband.com":true,"isa-geek.com":true,"isa-geek.net":true,"isa-geek.org":true,"isa-hockeynut.com":true,"issmarterthanyou.com":true,"isteingeek.de":true,"istmein.de":true,"kicks-ass.net":true,"kicks-ass.org":true,"knowsitall.info":true,"land-4-sale.us":true,"lebtimnetz.de":true,"leitungsen.de":true,"likes-pie.com":true,"likescandy.com":true,"merseine.nu":true,"mine.nu":true,"misconfused.org":true,"mypets.ws":true,"myphotos.cc":true,"neat-url.com":true,"office-on-the.net":true,"on-the-web.tv":true,"podzone.net":true,"podzone.org":true,"readmyblog.org":true,"saves-the-whales.com":true,"scrapper-site.net":true,"scrapping.cc":true,"selfip.biz":true,"selfip.com":true,"selfip.info":true,"selfip.net":true,"selfip.org":true,"sells-for-less.com":true,"sells-for-u.com":true,"sells-it.net":true,"sellsyourhome.org":true,"servebbs.com":true,"servebbs.net":true,"servebbs.org":true,"serveftp.net":true,"serveftp.org":true,"servegame.org":true,"shacknet.nu":true,"simple-url.com":true,"space-to-rent.com":true,"stuff-4-sale.org":true,"stuff-4-sale.us":true,"teaches-yoga.com":true,"thruhere.net":true,"traeumtgerade.de":true,"webhop.biz":true,"webhop.info":true,"webhop.net":true,"webhop.org":true,"worse-than.tv":true,"writesthisblog.com":true})
},{}],134:[function(require,module,exports){"use strict";function Store(){}exports.Store=Store;Store.prototype.synchronous=false;Store.prototype.findCookie=function(domain,path,key,cb){throw new Error("findCookie is not implemented")};Store.prototype.findCookies=function(domain,path,cb){throw new Error("findCookies is not implemented")};Store.prototype.putCookie=function(cookie,cb){throw new Error("putCookie is not implemented")};Store.prototype.updateCookie=function(oldCookie,newCookie,cb){throw new Error("updateCookie is not implemented")};Store.prototype.removeCookie=function(domain,path,key,cb){throw new Error("removeCookie is not implemented")};Store.prototype.removeCookies=function removeCookies(domain,path,cb){throw new Error("removeCookies is not implemented")}},{}],135:[function(require,module,exports){(function(process,Buffer){"use strict";var net=require("net"),tls=require("tls"),http=require("http"),https=require("https"),events=require("events"),assert=require("assert"),util=require("util");exports.httpOverHttp=httpOverHttp;exports.httpsOverHttp=httpsOverHttp;exports.httpOverHttps=httpOverHttps;exports.httpsOverHttps=httpsOverHttps;function httpOverHttp(options){var agent=new TunnelingAgent(options);agent.request=http.request;return agent}function httpsOverHttp(options){var agent=new TunnelingAgent(options);agent.request=http.request;agent.createSocket=createSecureSocket;return agent}function httpOverHttps(options){var agent=new TunnelingAgent(options);agent.request=https.request;return agent}function httpsOverHttps(options){var agent=new TunnelingAgent(options);agent.request=https.request;agent.createSocket=createSecureSocket;return agent}function TunnelingAgent(options){var self=this;self.options=options||{};self.proxyOptions=self.options.proxy||{};self.maxSockets=self.options.maxSockets||http.Agent.defaultMaxSockets;self.requests=[];self.sockets=[];self.on("free",function onFree(socket,host,port){for(var i=0,len=self.requests.length;i<len;++i){var pending=self.requests[i];if(pending.host===host&&pending.port===port){self.requests.splice(i,1);pending.request.onSocket(socket);return}}socket.destroy();self.removeSocket(socket)})}util.inherits(TunnelingAgent,events.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(req,options){var self=this;if(typeof options==="string"){options={host:options,port:arguments[2],path:arguments[3]}}if(self.sockets.length>=this.maxSockets){self.requests.push({host:host,port:port,request:req});return}self.createSocket({host:options.host,port:options.port,request:req},function(socket){socket.on("free",onFree);socket.on("close",onCloseOrRemove);socket.on("agentRemove",onCloseOrRemove);req.onSocket(socket);function onFree(){self.emit("free",socket,options.host,options.port)}function onCloseOrRemove(err){self.removeSocket();socket.removeListener("free",onFree);socket.removeListener("close",onCloseOrRemove);socket.removeListener("agentRemove",onCloseOrRemove)}})};TunnelingAgent.prototype.createSocket=function createSocket(options,cb){var self=this;var placeholder={};self.sockets.push(placeholder);var connectOptions=mergeOptions({},self.proxyOptions,{method:"CONNECT",path:options.host+":"+options.port,agent:false});if(connectOptions.proxyAuth){connectOptions.headers=connectOptions.headers||{};connectOptions.headers["Proxy-Authorization"]="Basic "+new Buffer(connectOptions.proxyAuth).toString("base64")}debug("making CONNECT request");var connectReq=self.request(connectOptions);connectReq.useChunkedEncodingByDefault=false;connectReq.once("response",onResponse);connectReq.once("upgrade",onUpgrade);connectReq.once("connect",onConnect);connectReq.once("error",onError);connectReq.end();function onResponse(res){res.upgrade=true}function onUpgrade(res,socket,head){process.nextTick(function(){onConnect(res,socket,head)})}function onConnect(res,socket,head){connectReq.removeAllListeners();socket.removeAllListeners();if(res.statusCode===200){assert.equal(head.length,0);debug("tunneling connection has established");self.sockets[self.sockets.indexOf(placeholder)]=socket;cb(socket)}else{debug("tunneling socket could not be established, statusCode=%d",res.statusCode);var error=new Error("tunneling socket could not be established, "+"statusCode="+res.statusCode);error.code="ECONNRESET";options.request.emit("error",error);self.removeSocket(placeholder)}}function onError(cause){connectReq.removeAllListeners();debug("tunneling socket could not be established, cause=%s\n",cause.message,cause.stack);var error=new Error("tunneling socket could not be established, "+"cause="+cause.message);error.code="ECONNRESET";options.request.emit("error",error);self.removeSocket(placeholder)}};TunnelingAgent.prototype.removeSocket=function removeSocket(socket){var pos=this.sockets.indexOf(socket);if(pos===-1)return;this.sockets.splice(pos,1);var pending=this.requests.shift();if(pending){this.createSocket(pending,function(socket){pending.request.onSocket(socket)})}};function createSecureSocket(options,cb){var self=this;TunnelingAgent.prototype.createSocket.call(self,options,function(socket){var secureSocket=tls.connect(0,mergeOptions({},self.options,{servername:options.host,socket:socket}));cb(secureSocket)})}function mergeOptions(target){for(var i=1,len=arguments.length;i<len;++i){var overrides=arguments[i];if(typeof overrides==="object"){var keys=Object.keys(overrides);for(var j=0,keyLen=keys.length;j<keyLen;++j){var k=keys[j];if(overrides[k]!==undefined){target[k]=overrides[k]}}}}return target}var debug;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){debug=function(){var args=Array.prototype.slice.call(arguments);if(typeof args[0]==="string"){args[0]="TUNNEL: "+args[0]}else{args.unshift("TUNNEL:")}console.error.apply(console,args)}}else{debug=function(){}}exports.debug=debug}).call(this,require("_process"),require("buffer").Buffer)},{_process:43,assert:2,buffer:18,events:34,http:35,https:39,net:1,tls:1,util:64}],136:[function(require,module,exports){(function(process,Buffer){"use strict";var http=require("http"),https=require("https"),url=require("url"),util=require("util"),stream=require("stream"),qs=require("qs"),querystring=require("querystring"),zlib=require("zlib"),helpers=require("./lib/helpers"),bl=require("bl"),oauth=require("oauth-sign"),hawk=require("hawk"),aws=require("aws-sign2"),httpSignature=require("http-signature"),uuid=require("node-uuid"),mime=require("mime-types"),tunnel=require("tunnel-agent"),stringstream=require("stringstream"),caseless=require("caseless"),ForeverAgent=require("forever-agent"),FormData=require("form-data"),cookies=require("./lib/cookies"),copy=require("./lib/copy"),debug=require("./lib/debug"),net=require("net"),CombinedStream=require("combined-stream");var safeStringify=helpers.safeStringify,md5=helpers.md5,isReadStream=helpers.isReadStream,toBase64=helpers.toBase64,defer=helpers.defer,globalCookieJar=cookies.jar();var globalPool={},isUrl=/^https?:/;var defaultProxyHeaderWhiteList=["accept","accept-charset","accept-encoding","accept-language","accept-ranges","cache-control","content-encoding","content-language","content-length","content-location","content-md5","content-range","content-type","connection","date","expect","max-forwards","pragma","referer","te","transfer-encoding","user-agent","via"];var defaultProxyHeaderExclusiveList=["proxy-authorization"];function filterForNonReserved(reserved,options){var object={};for(var i in options){var notReserved=reserved.indexOf(i)===-1;if(notReserved){object[i]=options[i]}}return object}function filterOutReservedFunctions(reserved,options){var object={};for(var i in options){var isReserved=!(reserved.indexOf(i)===-1);var isFunction=typeof options[i]==="function";if(!(isReserved&&isFunction)){object[i]=options[i]}}return object}function constructProxyHost(uriObject){var port=uriObject.portA,protocol=uriObject.protocol,proxyHost=uriObject.hostname+":";if(port){proxyHost+=port}else if(protocol==="https:"){proxyHost+="443"}else{proxyHost+="80"}return proxyHost}function constructProxyHeaderWhiteList(headers,proxyHeaderWhiteList){var whiteList=proxyHeaderWhiteList.reduce(function(set,header){set[header.toLowerCase()]=true;return set},{});return Object.keys(headers).filter(function(header){return whiteList[header.toLowerCase()]}).reduce(function(set,header){set[header]=headers[header];return set},{})}function construcTunnelOptions(request){var proxy=request.proxy;var tunnelOptions={proxy:{host:proxy.hostname,port:+proxy.port,proxyAuth:proxy.auth,headers:request.proxyHeaders},rejectUnauthorized:request.rejectUnauthorized,headers:request.headers,ca:request.ca,cert:request.cert,key:request.key};return tunnelOptions}function constructTunnelFnName(uri,proxy){var uriProtocol=uri.protocol==="https:"?"https":"http";var proxyProtocol=proxy.protocol==="https:"?"Https":"Http";return[uriProtocol,proxyProtocol].join("Over")}function getTunnelFn(request){var uri=request.uri;var proxy=request.proxy;var tunnelFnName=constructTunnelFnName(uri,proxy);return tunnel[tunnelFnName]}function getProxyFromURI(uri){var noProxy=process.env.NO_PROXY||process.env.no_proxy||null;if(noProxy==="*"){return null}if(noProxy!==null){var noProxyItem,hostname,port,noProxyItemParts,noProxyHost,noProxyPort,noProxyList;hostname=uri.hostname.replace(/^\.*/,".").toLowerCase();noProxyList=noProxy.split(",");for(var i=0,len=noProxyList.length;i<len;i++){noProxyItem=noProxyList[i].trim().toLowerCase();if(noProxyItem.indexOf(":")>-1){noProxyItemParts=noProxyItem.split(":",2);noProxyHost=noProxyItemParts[0].replace(/^\.*/,".");noProxyPort=noProxyItemParts[1];port=uri.port||(uri.protocol==="https:"?"443":"80");if(port===noProxyPort&&hostname.indexOf(noProxyHost)===hostname.length-noProxyHost.length){return null}}else{noProxyItem=noProxyItem.replace(/^\.*/,".");var isMatchedAt=hostname.indexOf(noProxyItem);if(isMatchedAt>-1&&isMatchedAt===hostname.length-noProxyItem.length){return null}}}}if(uri.protocol==="http:"){return process.env.HTTP_PROXY||process.env.http_proxy||null}else if(uri.protocol==="https:"){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||null}return null}function connectionErrorHandler(error){var socket=this;if(socket.res){if(socket.res.request){socket.res.request.emit("error",error)}else{socket.res.emit("error",error)}}else{socket._httpMessage.emit("error",error)}}function requestToJSON(){var self=this;return{uri:self.uri,method:self.method,headers:self.headers}}function responseToJSON(){var self=this;return{statusCode:self.statusCode,body:self.body,headers:self.headers,request:requestToJSON.call(self.request)}}function Request(options){var self=this;stream.Stream.call(self);var reserved=Object.keys(Request.prototype);var nonReserved=filterForNonReserved(reserved,options);stream.Stream.call(self);util._extend(self,nonReserved);options=filterOutReservedFunctions(reserved,options);self.readable=true;self.writable=true;if(typeof options.tunnel==="undefined"){options.tunnel=false}if(options.method){self.explicitMethod=true}self.canTunnel=options.tunnel!==false&&tunnel;self.init(options)}util.inherits(Request,stream.Stream);Request.prototype.setupTunnel=function(){var self=this;if(typeof self.proxy==="string"){self.proxy=url.parse(self.proxy)}if(!self.proxy){return false}if(!self.tunnel&&self.uri.protocol!=="https:"){return false}if(!self.proxyHeaderExclusiveList){self.proxyHeaderExclusiveList=[]}var proxyHeaderExclusiveList=self.proxyHeaderExclusiveList.concat(defaultProxyHeaderExclusiveList);if(!self.proxyHeaderWhiteList){self.proxyHeaderWhiteList=defaultProxyHeaderWhiteList}var proxyHeaderWhiteList=self.proxyHeaderWhiteList.concat(proxyHeaderExclusiveList);var proxyHost=constructProxyHost(self.uri);self.proxyHeaders=constructProxyHeaderWhiteList(self.headers,proxyHeaderWhiteList);self.proxyHeaders.host=proxyHost;proxyHeaderExclusiveList.forEach(self.removeHeader,self);var tunnelFn=getTunnelFn(self);var tunnelOptions=construcTunnelOptions(self);self.agent=tunnelFn(tunnelOptions);self.tunnel=true;return true};Request.prototype.init=function(options){var self=this;if(!options){options={}}self.headers=self.headers?copy(self.headers):{};caseless.httpify(self,self.headers);if(!self.method){self.method=options.method||"GET"}self.localAddress=options.localAddress;if(!self.qsLib){self.qsLib=options.useQuerystring?querystring:qs}debug(options);if(!self.pool&&self.pool!==false){self.pool=globalPool}self.dests=self.dests||[];self.__isRequestRequest=true;if(!self._callback&&self.callback){self._callback=self.callback;self.callback=function(){if(self._callbackCalled){return}self._callbackCalled=true;self._callback.apply(self,arguments)};self.on("error",self.callback.bind());self.on("complete",self.callback.bind(self,null))}if(!self.uri&&self.url){self.uri=self.url;delete self.url}if(!self.uri){return self.emit("error",new Error("options.uri is a required argument"))}if(typeof self.uri==="string"){self.uri=url.parse(self.uri)}if(self.uri.protocol==="unix:"){return self.emit("error",new Error("`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`"))}if(self.uri.host==="unix"){var unixParts=self.uri.path.split(":"),host=unixParts[0],path=unixParts[1];self.socketPath=host;self.uri.pathname=path;self.uri.path=path;self.uri.host=host;self.uri.hostname=host;self.uri.isUnix=true}if(self.strictSSL===false){self.rejectUnauthorized=false}if(!self.hasOwnProperty("proxy")){self.proxy=getProxyFromURI(self.uri)}self.tunnel=!!options.tunnel;if(self.proxy){self.setupTunnel()}if(!self.uri.pathname){self.uri.pathname="/"}if(!(self.uri.host||self.uri.hostname&&self.uri.port)&&!self.uri.isUnix){var faultyUri=url.format(self.uri);var message='Invalid URI "'+faultyUri+'"';if(Object.keys(options).length===0){message+=". This can be caused by a crappy redirection."}return self.emit("error",new Error(message))}self._redirectsFollowed=self._redirectsFollowed||0;self.maxRedirects=self.maxRedirects!==undefined?self.maxRedirects:10;self.allowRedirect=typeof self.followRedirect==="function"?self.followRedirect:function(response){return true};self.followRedirects=self.followRedirect!==undefined?!!self.followRedirect:true;self.followAllRedirects=self.followAllRedirects!==undefined?self.followAllRedirects:false;if(self.followRedirects||self.followAllRedirects){self.redirects=self.redirects||[]}self.setHost=false;if(!self.hasHeader("host")){var hostHeaderName=self.originalHostHeaderName||"host";self.setHeader(hostHeaderName,self.uri.hostname);if(self.uri.port){if(!(self.uri.port===80&&self.uri.protocol==="http:")&&!(self.uri.port===443&&self.uri.protocol==="https:")){self.setHeader(hostHeaderName,self.getHeader("host")+(":"+self.uri.port))}}self.setHost=true}self.jar(self._jar||options.jar);if(!self.uri.port){if(self.uri.protocol==="http:"){self.uri.port=80}else if(self.uri.protocol==="https:"){self.uri.port=443}}if(self.proxy&&!self.tunnel){self.port=self.proxy.port;self.host=self.proxy.hostname}else{self.port=self.uri.port;self.host=self.uri.hostname}if(options.form){self.form(options.form)}if(options.formData){var formData=options.formData;var requestForm=self.form();var appendFormValue=function(key,value){if(value.hasOwnProperty("value")&&value.hasOwnProperty("options")){requestForm.append(key,value.value,value.options)}else{requestForm.append(key,value)}};for(var formKey in formData){if(formData.hasOwnProperty(formKey)){var formValue=formData[formKey];if(formValue instanceof Array){for(var j=0;j<formValue.length;j++){appendFormValue(formKey,formValue[j])}}else{appendFormValue(formKey,formValue)}}}}if(options.qs){self.qs(options.qs)}if(self.uri.path){self.path=self.uri.path}else{self.path=self.uri.pathname+(self.uri.search||"")}if(self.path.length===0){self.path="/"}if(options.oauth){self.oauth(options.oauth)}if(options.aws){self.aws(options.aws)}if(options.hawk){self.hawk(options.hawk)}if(options.httpSignature){self.httpSignature(options.httpSignature)}if(options.auth){if(Object.prototype.hasOwnProperty.call(options.auth,"username")){options.auth.user=options.auth.username}if(Object.prototype.hasOwnProperty.call(options.auth,"password")){options.auth.pass=options.auth.password}self.auth(options.auth.user,options.auth.pass,options.auth.sendImmediately,options.auth.bearer)}if(self.gzip&&!self.hasHeader("accept-encoding")){self.setHeader("accept-encoding","gzip")}if(self.uri.auth&&!self.hasHeader("authorization")){var uriAuthPieces=self.uri.auth.split(":").map(function(item){return querystring.unescape(item)});self.auth(uriAuthPieces[0],uriAuthPieces.slice(1).join(":"),true)}if(!self.tunnel&&self.proxy&&self.proxy.auth&&!self.hasHeader("proxy-authorization")){var proxyAuthPieces=self.proxy.auth.split(":").map(function(item){return querystring.unescape(item)});var authHeader="Basic "+toBase64(proxyAuthPieces.join(":"));self.setHeader("proxy-authorization",authHeader)}if(self.proxy&&!self.tunnel){self.path=self.uri.protocol+"//"+self.uri.host+self.path}if(options.json){self.json(options.json)}if(options.multipart){self.boundary=uuid();self.multipart(options.multipart)}if(self.body){var length=0;if(!Buffer.isBuffer(self.body)){if(Array.isArray(self.body)){for(var i=0;i<self.body.length;i++){length+=self.body[i].length}}else{self.body=new Buffer(self.body);length=self.body.length}}else{length=self.body.length}if(length){if(!self.hasHeader("content-length")){self.setHeader("content-length",length)}}else{throw new Error("Argument error, options.body.")}}var protocol=self.proxy&&!self.tunnel?self.proxy.protocol:self.uri.protocol,defaultModules={"http:":http,"https:":https},httpModules=self.httpModules||{};self.httpModule=httpModules[protocol]||defaultModules[protocol];if(!self.httpModule){return self.emit("error",new Error("Invalid protocol: "+protocol))}if(options.ca){self.ca=options.ca}if(!self.agent){if(options.agentOptions){self.agentOptions=options.agentOptions}if(options.agentClass){self.agentClass=options.agentClass}else if(options.forever){self.agentClass=protocol==="http:"?ForeverAgent:ForeverAgent.SSL}else{self.agentClass=self.httpModule.Agent}}if(self.pool===false){self.agent=false}else{self.agent=self.agent||self.getNewAgent()}self.on("pipe",function(src){if(self.ntick&&self._started){throw new Error("You cannot pipe to this stream after the outbound request has started.")}self.src=src;if(isReadStream(src)){if(!self.hasHeader("content-type")){self.setHeader("content-type",mime.lookup(src.path))}}else{if(src.headers){for(var i in src.headers){if(!self.hasHeader(i)){self.setHeader(i,src.headers[i])}}}if(self._json&&!self.hasHeader("content-type")){self.setHeader("content-type","application/json")}if(src.method&&!self.explicitMethod){self.method=src.method}}});defer(function(){if(self._aborted){return}var end=function(){if(self._form){self._form.pipe(self)}if(self._multipart){self._multipart.pipe(self)}if(self.body){if(Array.isArray(self.body)){self.body.forEach(function(part){self.write(part)})}else{self.write(self.body)}self.end()}else if(self.requestBodyStream){console.warn("options.requestBodyStream is deprecated, please pass the request object to stream.pipe.");self.requestBodyStream.pipe(self)}else if(!self.src){if(self.method!=="GET"&&typeof self.method!=="undefined"){self.setHeader("content-length",0)}self.end()}};if(self._form&&!self.hasHeader("content-length")){self.setHeader(self._form.getHeaders());self._form.getLength(function(err,length){if(!err){self.setHeader("content-length",length)}end()})}else{end()}self.ntick=true})};Request.prototype._updateProtocol=function(){var self=this;var protocol=self.uri.protocol;if(protocol==="https:"||self.tunnel){if(self.proxy){if(self.setupTunnel()){return}}self.httpModule=https;switch(self.agentClass){case ForeverAgent:self.agentClass=ForeverAgent.SSL;break;case http.Agent:self.agentClass=https.Agent;break;default:return}if(self.agent){self.agent=self.getNewAgent()}}else{self.httpModule=http;switch(self.agentClass){case ForeverAgent.SSL:self.agentClass=ForeverAgent;break;case https.Agent:self.agentClass=http.Agent;break;default:return}if(self.agent){self.agent=null;self.agent=self.getNewAgent()}}};Request.prototype.getNewAgent=function(){var self=this;var Agent=self.agentClass;var options={};if(self.agentOptions){for(var i in self.agentOptions){options[i]=self.agentOptions[i]}}if(self.ca){options.ca=self.ca}if(self.ciphers){options.ciphers=self.ciphers}if(self.secureProtocol){options.secureProtocol=self.secureProtocol}if(self.secureOptions){options.secureOptions=self.secureOptions}if(typeof self.rejectUnauthorized!=="undefined"){options.rejectUnauthorized=self.rejectUnauthorized}if(self.cert&&self.key){options.key=self.key;options.cert=self.cert}var poolKey="";if(Agent!==self.httpModule.Agent){poolKey+=Agent.name}var proxy=self.proxy;if(typeof proxy==="string"){proxy=url.parse(proxy)}var isHttps=proxy&&proxy.protocol==="https:"||this.uri.protocol==="https:";if(isHttps){if(options.ca){if(poolKey){poolKey+=":"}poolKey+=options.ca}if(typeof options.rejectUnauthorized!=="undefined"){if(poolKey){poolKey+=":"}poolKey+=options.rejectUnauthorized}if(options.cert){poolKey+=options.cert.toString("ascii")+options.key.toString("ascii")}if(options.ciphers){if(poolKey){poolKey+=":"}poolKey+=options.ciphers}if(options.secureProtocol){if(poolKey){poolKey+=":"}poolKey+=options.secureProtocol}if(options.secureOptions){if(poolKey){poolKey+=":"}poolKey+=options.secureOptions}}if(self.pool===globalPool&&!poolKey&&Object.keys(options).length===0&&self.httpModule.globalAgent){return self.httpModule.globalAgent}poolKey=self.uri.protocol+poolKey;if(!self.pool[poolKey]){self.pool[poolKey]=new Agent(options);if(self.pool.maxSockets){self.pool[poolKey].maxSockets=self.pool.maxSockets}}return self.pool[poolKey]};Request.prototype.start=function(){var self=this;if(self._aborted){return}self._started=true;self.method=self.method||"GET";self.href=self.uri.href;if(self.src&&self.src.stat&&self.src.stat.size&&!self.hasHeader("content-length")){self.setHeader("content-length",self.src.stat.size)}if(self._aws){self.aws(self._aws,true)}var reqOptions=copy(self);delete reqOptions.auth;debug("make request",self.uri.href);self.req=self.httpModule.request(reqOptions);if(self.timeout&&!self.timeoutTimer){self.timeoutTimer=setTimeout(function(){self.abort();var e=new Error("ETIMEDOUT");e.code="ETIMEDOUT";self.emit("error",e)},self.timeout);if(self.req.setTimeout){self.req.setTimeout(self.timeout,function(){if(self.req){self.req.abort();var e=new Error("ESOCKETTIMEDOUT");e.code="ESOCKETTIMEDOUT";self.emit("error",e)}})}}self.req.on("response",self.onRequestResponse.bind(self));self.req.on("error",self.onRequestError.bind(self));self.req.on("drain",function(){self.emit("drain")});self.req.on("socket",function(socket){self.emit("socket",socket)});self.on("end",function(){if(self.req.connection){self.req.connection.removeListener("error",connectionErrorHandler)}});self.emit("request",self.req)};Request.prototype.onRequestError=function(error){var self=this;if(self._aborted){return}if(self.req&&self.req._reusedSocket&&error.code==="ECONNRESET"&&self.agent.addRequestNoreuse){self.agent={addRequest:self.agent.addRequestNoreuse.bind(self.agent)};self.start();self.req.end();return}if(self.timeout&&self.timeoutTimer){clearTimeout(self.timeoutTimer);self.timeoutTimer=null}self.emit("error",error)};Request.prototype.onRequestResponse=function(response){var self=this;debug("onRequestResponse",self.uri.href,response.statusCode,response.headers);response.on("end",function(){debug("response end",self.uri.href,response.statusCode,response.headers)});if(response.connection&&response.connection.listeners("error").indexOf(connectionErrorHandler)===-1){response.connection.setMaxListeners(0);response.connection.once("error",connectionErrorHandler)}if(self._aborted){debug("aborted",self.uri.href);response.resume();return}if(self._paused){response.pause()}else if(response.resume){response.resume()}self.response=response;response.request=self;response.toJSON=responseToJSON;if(self.httpModule===https&&self.strictSSL&&(!response.hasOwnProperty("client")||!response.client.authorized)){debug("strict ssl error",self.uri.href);var sslErr=response.hasOwnProperty("client")?response.client.authorizationError:self.uri.href+" does not support SSL";self.emit("error",new Error("SSL Error: "+sslErr));return}self.originalHost=self.getHeader("host");if(!self.originalHostHeaderName){self.originalHostHeaderName=self.hasHeader("host")}if(self.setHost){self.removeHeader("host")}if(self.timeout&&self.timeoutTimer){clearTimeout(self.timeoutTimer);self.timeoutTimer=null}var targetCookieJar=self._jar&&self._jar.setCookie?self._jar:globalCookieJar;var addCookie=function(cookie){try{targetCookieJar.setCookie(cookie,self.uri.href,{ignoreError:true})}catch(e){self.emit("error",e)}};response.caseless=caseless(response.headers);if(response.caseless.has("set-cookie")&&!self._disableCookies){var headerName=response.caseless.has("set-cookie");if(Array.isArray(response.headers[headerName])){response.headers[headerName].forEach(addCookie)}else{addCookie(response.headers[headerName])}}var redirectTo=null;if(response.statusCode>=300&&response.statusCode<400&&response.caseless.has("location")){var location=response.caseless.get("location");debug("redirect",location);if(self.followAllRedirects){redirectTo=location}else if(self.followRedirects){switch(self.method){case"PATCH":case"PUT":case"POST":case"DELETE":break;default:redirectTo=location;break}}}else if(response.statusCode===401&&self._hasAuth&&!self._sentAuth){var authHeader=response.caseless.get("www-authenticate");var authVerb=authHeader&&authHeader.split(" ")[0].toLowerCase();debug("reauth",authVerb);switch(authVerb){case"basic":self.auth(self._user,self._pass,true);redirectTo=self.uri;break;case"bearer":self.auth(null,null,true,self._bearer);redirectTo=self.uri;break;case"digest":var challenge={};var re=/([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi;for(;;){var match=re.exec(authHeader);if(!match){break}challenge[match[1]]=match[2]||match[3]}var ha1=md5(self._user+":"+challenge.realm+":"+self._pass);var ha2=md5(self.method+":"+self.uri.path);var qop=/(^|,)\s*auth\s*($|,)/.test(challenge.qop)&&"auth";var nc=qop&&"00000001";var cnonce=qop&&uuid().replace(/-/g,"");var digestResponse=qop?md5(ha1+":"+challenge.nonce+":"+nc+":"+cnonce+":"+qop+":"+ha2):md5(ha1+":"+challenge.nonce+":"+ha2);var authValues={username:self._user,realm:challenge.realm,nonce:challenge.nonce,uri:self.uri.path,qop:qop,response:digestResponse,nc:nc,cnonce:cnonce,algorithm:challenge.algorithm,opaque:challenge.opaque};authHeader=[];for(var k in authValues){if(authValues[k]){if(k==="qop"||k==="nc"||k==="algorithm"){authHeader.push(k+"="+authValues[k])}else{authHeader.push(k+'="'+authValues[k]+'"')}}}authHeader="Digest "+authHeader.join(", ");self.setHeader("authorization",authHeader);self._sentAuth=true;redirectTo=self.uri;break}}if(redirectTo&&self.allowRedirect.call(self,response)){debug("redirect to",redirectTo);if(self._paused){response.resume()}if(self._redirectsFollowed>=self.maxRedirects){self.emit("error",new Error("Exceeded maxRedirects. Probably stuck in a redirect loop "+self.uri.href));return}self._redirectsFollowed+=1;if(!isUrl.test(redirectTo)){redirectTo=url.resolve(self.uri.href,redirectTo)}var uriPrev=self.uri;self.uri=url.parse(redirectTo);if(self.uri.protocol!==uriPrev.protocol){self._updateProtocol()}self.redirects.push({statusCode:response.statusCode,redirectUri:redirectTo});if(self.followAllRedirects&&response.statusCode!==401&&response.statusCode!==307){self.method="GET"}delete self.src;delete self.req;delete self.agent;delete self._started;if(response.statusCode!==401&&response.statusCode!==307){delete self.body;delete self._form;if(self.headers){self.removeHeader("host");self.removeHeader("content-type");self.removeHeader("content-length");if(self.uri.hostname!==self.originalHost.split(":")[0]){self.removeHeader("authorization")}}}self.emit("redirect");self.init();return}else{self._redirectsFollowed=self._redirectsFollowed||0;response.on("close",function(){if(!self._ended){self.response.emit("end")}});response.on("end",function(){self._ended=true});var dataStream;if(self.gzip){var contentEncoding=response.headers["content-encoding"]||"identity";contentEncoding=contentEncoding.trim().toLowerCase();if(contentEncoding==="gzip"){dataStream=zlib.createGunzip();response.pipe(dataStream)}else{if(contentEncoding!=="identity"){debug("ignoring unrecognized Content-Encoding "+contentEncoding)}dataStream=response}}else{dataStream=response}if(self.encoding){if(self.dests.length!==0){console.error("Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.")}else if(dataStream.setEncoding){dataStream.setEncoding(self.encoding)}else{dataStream=dataStream.pipe(stringstream(self.encoding))}}self.emit("response",response);self.dests.forEach(function(dest){self.pipeDest(dest)});dataStream.on("data",function(chunk){self._destdata=true;self.emit("data",chunk)});dataStream.on("end",function(chunk){self.emit("end",chunk)});dataStream.on("error",function(error){self.emit("error",error)});dataStream.on("close",function(){self.emit("close")});if(self.callback){var buffer=bl(),strings=[];self.on("data",function(chunk){if(Buffer.isBuffer(chunk)){buffer.append(chunk)}else{strings.push(chunk)}});self.on("end",function(){debug("end event",self.uri.href);if(self._aborted){debug("aborted",self.uri.href);return}if(buffer.length){debug("has body",self.uri.href,buffer.length);if(self.encoding===null){response.body=buffer.slice()}else{response.body=buffer.toString(self.encoding)}}else if(strings.length){if(self.encoding==="utf8"&&strings[0].length>0&&strings[0][0]===""){strings[0]=strings[0].substring(1)}response.body=strings.join("")}if(self._json){try{response.body=JSON.parse(response.body)}catch(e){}}debug("emitting complete",self.uri.href);if(typeof response.body==="undefined"&&!self._json){response.body=""}self.emit("complete",response,response.body)})}else{self.on("end",function(){if(self._aborted){debug("aborted",self.uri.href);return}self.emit("complete",response)})}}debug("finish init function",self.uri.href)};Request.prototype.abort=function(){var self=this;self._aborted=true;if(self.req){self.req.abort()}else if(self.response){self.response.abort()}self.emit("abort")};Request.prototype.pipeDest=function(dest){var self=this;var response=self.response;if(dest.headers&&!dest.headersSent){if(response.caseless.has("content-type")){var ctname=response.caseless.has("content-type");if(dest.setHeader){dest.setHeader(ctname,response.headers[ctname])}else{dest.headers[ctname]=response.headers[ctname]}}if(response.caseless.has("content-length")){var clname=response.caseless.has("content-length");if(dest.setHeader){dest.setHeader(clname,response.headers[clname])}else{dest.headers[clname]=response.headers[clname]}}}if(dest.setHeader&&!dest.headersSent){for(var i in response.headers){if(!self.gzip||i!=="content-encoding"){dest.setHeader(i,response.headers[i])}}dest.statusCode=response.statusCode}if(self.pipefilter){self.pipefilter(response,dest)}};Request.prototype.qs=function(q,clobber){var self=this;var base;if(!clobber&&self.uri.query){base=self.qsLib.parse(self.uri.query)}else{base={}}for(var i in q){base[i]=q[i]}if(self.qsLib.stringify(base)===""){return self}self.uri=url.parse(self.uri.href.split("?")[0]+"?"+self.qsLib.stringify(base));self.url=self.uri;self.path=self.uri.path;return self};Request.prototype.form=function(form){var self=this;if(form){self.setHeader("content-type","application/x-www-form-urlencoded");self.body=typeof form==="string"?form.toString("utf8"):self.qsLib.stringify(form).toString("utf8");return self}self._form=new FormData;return self._form};Request.prototype.multipart=function(multipart){var self=this;var chunked=multipart instanceof Array||multipart.chunked===undefined||multipart.chunked;multipart=multipart.data||multipart;
var items=chunked?new CombinedStream:[];function add(part){return chunked?items.append(part):items.push(new Buffer(part))}if(chunked){self.setHeader("transfer-encoding","chunked")}var headerName=self.hasHeader("content-type");if(!headerName||self.headers[headerName].indexOf("multipart")===-1){self.setHeader("content-type","multipart/related; boundary="+self.boundary)}else{self.setHeader(headerName,self.headers[headerName].split(";")[0]+"; boundary="+self.boundary)}if(!multipart.forEach){throw new Error("Argument error, options.multipart.")}if(self.preambleCRLF){add("\r\n")}multipart.forEach(function(part){var body=part.body;if(typeof body==="undefined"){throw new Error("Body attribute missing in multipart.")}var preamble="--"+self.boundary+"\r\n";Object.keys(part).forEach(function(key){if(key==="body"){return}preamble+=key+": "+part[key]+"\r\n"});preamble+="\r\n";add(preamble);add(body);add("\r\n")});add("--"+self.boundary+"--");if(self.postambleCRLF){add("\r\n")}self[chunked?"_multipart":"body"]=items;return self};Request.prototype.json=function(val){var self=this;if(!self.hasHeader("accept")){self.setHeader("accept","application/json")}self._json=true;if(typeof val==="boolean"){if(typeof self.body==="object"){self.body=safeStringify(self.body);if(!self.hasHeader("content-type")){self.setHeader("content-type","application/json")}}}else{self.body=safeStringify(val);if(!self.hasHeader("content-type")){self.setHeader("content-type","application/json")}}return self};Request.prototype.getHeader=function(name,headers){var self=this;var result,re,match;if(!headers){headers=self.headers}Object.keys(headers).forEach(function(key){if(key.length!==name.length){return}re=new RegExp(name,"i");match=key.match(re);if(match){result=headers[key]}});return result};var getHeader=Request.prototype.getHeader;Request.prototype.auth=function(user,pass,sendImmediately,bearer){var self=this;if(bearer!==undefined){self._bearer=bearer;self._hasAuth=true;if(sendImmediately||typeof sendImmediately==="undefined"){if(typeof bearer==="function"){bearer=bearer()}self.setHeader("authorization","Bearer "+bearer);self._sentAuth=true}return self}if(typeof user!=="string"||pass!==undefined&&typeof pass!=="string"){throw new Error("auth() received invalid user or password")}self._user=user;self._pass=pass;self._hasAuth=true;var header=typeof pass!=="undefined"?user+":"+pass:user;if(sendImmediately||typeof sendImmediately==="undefined"){self.setHeader("authorization","Basic "+toBase64(header));self._sentAuth=true}return self};Request.prototype.aws=function(opts,now){var self=this;if(!now){self._aws=opts;return self}var date=new Date;self.setHeader("date",date.toUTCString());var auth={key:opts.key,secret:opts.secret,verb:self.method.toUpperCase(),date:date,contentType:self.getHeader("content-type")||"",md5:self.getHeader("content-md5")||"",amazonHeaders:aws.canonicalizeHeaders(self.headers)};var path=self.uri.path;if(opts.bucket&&path){auth.resource="/"+opts.bucket+path}else if(opts.bucket&&!path){auth.resource="/"+opts.bucket}else if(!opts.bucket&&path){auth.resource=path}else if(!opts.bucket&&!path){auth.resource="/"}auth.resource=aws.canonicalizeResource(auth.resource);self.setHeader("authorization",aws.authorization(auth));return self};Request.prototype.httpSignature=function(opts){var self=this;httpSignature.signRequest({getHeader:function(header){return getHeader(header,self.headers)},setHeader:function(header,value){self.setHeader(header,value)},method:self.method,path:self.path},opts);debug("httpSignature authorization",self.getHeader("authorization"));return self};Request.prototype.hawk=function(opts){var self=this;self.setHeader("Authorization",hawk.client.header(self.uri,self.method,opts).field)};Request.prototype.oauth=function(_oauth){var self=this;var form,query;if(self.hasHeader("content-type")&&self.getHeader("content-type").slice(0,"application/x-www-form-urlencoded".length)==="application/x-www-form-urlencoded"){form=self.body}if(self.uri.query){query=self.uri.query}var oa={};for(var i in _oauth){oa["oauth_"+i]=_oauth[i]}if("oauth_realm"in oa){delete oa.oauth_realm}if(!oa.oauth_version){oa.oauth_version="1.0"}if(!oa.oauth_timestamp){oa.oauth_timestamp=Math.floor(Date.now()/1e3).toString()}if(!oa.oauth_nonce){oa.oauth_nonce=uuid().replace(/-/g,"")}if(!oa.oauth_signature_method){oa.oauth_signature_method="HMAC-SHA1"}var consumer_secret_or_private_key=oa.oauth_consumer_secret||oa.oauth_private_key;delete oa.oauth_consumer_secret;delete oa.oauth_private_key;var token_secret=oa.oauth_token_secret;delete oa.oauth_token_secret;var baseurl=self.uri.protocol+"//"+self.uri.host+self.uri.pathname;var params=self.qsLib.parse([].concat(query,form,self.qsLib.stringify(oa)).join("&"));var signature=oauth.sign(oa.oauth_signature_method,self.method,baseurl,params,consumer_secret_or_private_key,token_secret);var realm=_oauth.realm?'realm="'+_oauth.realm+'",':"";var authHeader="OAuth "+realm+Object.keys(oa).sort().map(function(i){return i+'="'+oauth.rfc3986(oa[i])+'"'}).join(",");authHeader+=',oauth_signature="'+oauth.rfc3986(signature)+'"';self.setHeader("Authorization",authHeader);return self};Request.prototype.jar=function(jar){var self=this;var cookies;if(self._redirectsFollowed===0){self.originalCookieHeader=self.getHeader("cookie")}if(!jar){cookies=false;self._disableCookies=true}else{var targetCookieJar=jar&&jar.getCookieString?jar:globalCookieJar;var urihref=self.uri.href;if(targetCookieJar){cookies=targetCookieJar.getCookieString(urihref)}}if(cookies&&cookies.length){if(self.originalCookieHeader){self.setHeader("cookie",self.originalCookieHeader+"; "+cookies)}else{self.setHeader("cookie",cookies)}}self._jar=jar;return self};Request.prototype.pipe=function(dest,opts){var self=this;if(self.response){if(self._destdata){throw new Error("You cannot pipe after data has been emitted from the response.")}else if(self._ended){throw new Error("You cannot pipe after the response has been ended.")}else{stream.Stream.prototype.pipe.call(self,dest,opts);self.pipeDest(dest);return dest}}else{self.dests.push(dest);stream.Stream.prototype.pipe.call(self,dest,opts);return dest}};Request.prototype.write=function(){var self=this;if(!self._started){self.start()}return self.req.write.apply(self.req,arguments)};Request.prototype.end=function(chunk){var self=this;if(chunk){self.write(chunk)}if(!self._started){self.start()}self.req.end()};Request.prototype.pause=function(){var self=this;if(!self.response){self._paused=true}else{self.response.pause.apply(self.response,arguments)}};Request.prototype.resume=function(){var self=this;if(!self.response){self._paused=false}else{self.response.resume.apply(self.response,arguments)}};Request.prototype.destroy=function(){var self=this;if(!self._ended){self.end()}else if(self.response){self.response.destroy()}};Request.defaultProxyHeaderWhiteList=defaultProxyHeaderWhiteList.slice();Request.defaultProxyHeaderExclusiveList=defaultProxyHeaderExclusiveList.slice();Request.prototype.toJSON=requestToJSON;module.exports=Request}).call(this,require("_process"),require("buffer").Buffer)},{"./lib/cookies":65,"./lib/copy":66,"./lib/debug":67,"./lib/helpers":68,_process:43,"aws-sign2":69,bl:70,buffer:18,caseless:81,"combined-stream":82,"forever-agent":84,"form-data":85,hawk:88,http:35,"http-signature":103,https:39,"mime-types":120,net:1,"node-uuid":123,"oauth-sign":124,qs:125,querystring:47,stream:60,stringstream:130,"tunnel-agent":135,url:62,util:64,zlib:17}],request:[function(require,module,exports){(function(process){"use strict";var extend=require("util")._extend,cookies=require("./lib/cookies"),helpers=require("./lib/helpers");var isFunction=helpers.isFunction,constructObject=helpers.constructObject,filterForCallback=helpers.filterForCallback,constructOptionsFrom=helpers.constructOptionsFrom,paramsHaveRequestBody=helpers.paramsHaveRequestBody;function initParams(uri,options,callback){callback=filterForCallback([options,callback]);options=constructOptionsFrom(uri,options);return constructObject().extend({callback:callback}).extend({options:options}).extend({uri:options.uri}).done()}function request(uri,options,callback){if(typeof uri==="undefined"){throw new Error("undefined is not a valid uri or options object.")}var params=initParams(uri,options,callback);options=params.options;options.callback=params.callback;options.uri=params.uri;return new request.Request(options)}function requester(params){if(typeof params.options._requester==="function"){return params.options._requester}return request}request.get=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="GET";return requester(params)(params.uri||null,params.options,params.callback)};request.head=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="HEAD";if(paramsHaveRequestBody(params)){throw new Error("HTTP HEAD requests MUST NOT include a request body.")}return requester(params)(params.uri||null,params.options,params.callback)};request.post=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="POST";return requester(params)(params.uri||null,params.options,params.callback)};request.put=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="PUT";return requester(params)(params.uri||null,params.options,params.callback)};request.patch=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="PATCH";return requester(params)(params.uri||null,params.options,params.callback)};request.del=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="DELETE";return requester(params)(params.uri||null,params.options,params.callback)};request.jar=function(store){return cookies.jar(store)};request.cookie=function(str){return cookies.parse(str)};request.defaults=function(options,requester){var self=this;var wrap=function(method){var headerlessOptions=function(options){options=extend({},options);delete options.headers;return options};var getHeaders=function(params,options){return constructObject().extend(options.headers).extend(params.options.headers).done()};return function(uri,opts,callback){var params=initParams(uri,opts,callback);params.options=extend(headerlessOptions(options),params.options);if(options.headers){params.options.headers=getHeaders(params,options)}if(isFunction(requester)){if(method===self){method=requester}else{params.options._requester=requester}}return method(params.options,params.callback)}};var defaults=wrap(self);defaults.get=wrap(self.get);defaults.patch=wrap(self.patch);defaults.post=wrap(self.post);defaults.put=wrap(self.put);defaults.head=wrap(self.head);defaults.del=wrap(self.del);defaults.cookie=wrap(self.cookie);defaults.jar=self.jar;defaults.defaults=self.defaults;return defaults};request.forever=function(agentOptions,optionsArg){var options=constructObject();if(optionsArg){options.extend(optionsArg)}if(agentOptions){options.agentOptions=agentOptions}options.extend({forever:true});return request.defaults(options.done())};module.exports=request;request.Request=require("./request");request.debug=process.env.NODE_DEBUG&&/\brequest\b/.test(process.env.NODE_DEBUG);request.initParams=initParams}).call(this,require("_process"))},{"./lib/cookies":65,"./lib/helpers":68,"./request":136,_process:43,util:64}]},{},[]);var request=require("request"),fs=require("fs");var getPostData=function(tag){return{url:"http://admin-ci-pz.herokuapp.com/bundles/upload",formData:{tag:tag,bundle_file:fs.createReadStream(__dirname+"/../dist.zip")}}};request.post(getPostData(tag),function(err,res,body){if(err){console.error("Upload failed :",err)}else{console.log("Upload successful: ",body)}done()});
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"request": "2.49.0"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment