(function(){function e(n,t){var i=function(){};i.prototype=t.prototype;n.super_=t;n.prototype=new i;n.prototype.constructor=n}function n(n,t){this._options=t?t:{};this._validateBuilder(n);var i=this;this._builder=n;this.reset()}function r(n,t){this.reset();this._options=t?t:{};this._options.ignoreWhitespace===undefined&&(this._options.ignoreWhitespace=!1);this._options.includeLocation===undefined&&(this._options.includeLocation=!1);this._options.verbose===undefined&&(this._options.verbose=!0);this._options.enforceEmptyTags===undefined&&(this._options.enforceEmptyTags=!0);this._options.caseSensitiveTags===undefined&&(this._options.caseSensitiveTags=!1);this._options.caseSensitiveAttr===undefined&&(this._options.caseSensitiveAttr=!1);typeof n=="function"&&(this._callback=n)}function f(n){f.super_.call(this,n,{ignoreWhitespace:!0,verbose:!1,enforceEmptyTags:!1,caseSensitiveTags:!0})}var u,t,i;if(typeof module!="undefined"&&typeof module.exports!="undefined")u=module.exports;else{if(u={},this.Tautologistics||(this.Tautologistics={}),this.Tautologistics.NodeHtmlParser)return;this.Tautologistics.NodeHtmlParser=u}t={Text:"text",Tag:"tag",Attr:"attr",CData:"cdata",Comment:"comment"};n.prototype.reset=function(){this._state={mode:t.Text,pos:0,data:null,pendingText:null,pendingWrite:null,lastTag:null,isScript:!1,needData:!1,output:[],done:!1};this._builder.reset()};n.prototype.parseChunk=function(n){for(this._state.needData=!1,this._state.data=this._state.data!==null?this._state.data.substr(this.pos)+n:n;this._state.pos<this._state.data.length&&!this._state.needData;)this._parse(this._state)};n.prototype.parseComplete=function(n){this.reset();this.parseChunk(n);this.done()};n.prototype.done=function(){this._state.done=!0;this._parse(this._state);this._flushWrite();this._builder.done()};n.prototype._validateBuilder=function(n){if(typeof n!="object")throw new Error("Builder is not an object");if(typeof n.reset!="function")throw new Error("Builder method 'reset' is invalid");if(typeof n.done!="function")throw new Error("Builder method 'done' is invalid");if(typeof n.write!="function")throw new Error("Builder method 'write' is invalid");if(typeof n.error!="function")throw new Error("Builder method 'error' is invalid");};n.prototype._parse=function(){switch(this._state.mode){case t.Text:return this._parseText(this._state);case t.Tag:return this._parseTag(this._state);case t.Attr:return this._parseAttr(this._state);case t.CData:return this._parseCData(this._state);case t.Comment:return this._parseComment(this._state)}};n.prototype._writePending=function(n){this._state.pendingWrite||(this._state.pendingWrite=[]);this._state.pendingWrite.push(n)};n.prototype._flushWrite=function(){var n,t,i;if(this._state.pendingWrite){for(n=0,t=this._state.pendingWrite.length;n<t;n++)i=this._state.pendingWrite[n],this._builder.write(i);this._state.pendingWrite=null}};n.prototype._write=function(n){this._flushWrite();this._builder.write(n)};n._re_parseText_scriptClose=/<\s*\/\s*script/ig;n.prototype._parseText=function(){var i=this._state,r,u;if(i.isScript?(n._re_parseText_scriptClose.lastIndex=i.pos,r=n._re_parseText_scriptClose.exec(i.data),r=r?r.index:-1):r=i.data.indexOf("<",i.pos),u=r===-1?i.data.substring(i.pos,i.data.length):i.data.substring(i.pos,r),r<0&&i.done&&(r=i.data.length),r<0){if(i.isScript){i.needData=!0;return}i.pendingText||(i.pendingText=[]);i.pendingText.push(i.data.substring(i.pos,i.data.length));i.pos=i.data.length}else i.pendingText?(i.pendingText.push(i.data.substring(i.pos,r)),u=i.pendingText.join(""),i.pendingText=null):u=i.data.substring(i.pos,r),u!==""&&this._write({type:t.Text,data:u}),i.pos=r+1,i.mode=t.Tag};n.re_parseTag=/\s*(\/?)\s*([^\s>\/]+)(\s*)\??(>?)/g;n.prototype._parseTag=function(){var i=this._state,r,f,u;if(n.re_parseTag.lastIndex=i.pos,r=n.re_parseTag.exec(i.data),r){if(!r[1]&&r[2].substr(0,3)==="!--"){i.mode=t.Comment;i.pos+=3;return}if(!r[1]&&r[2].substr(0,8)==="![CDATA["){i.mode=t.CData;i.pos+=8;return}if(!i.done&&i.pos+r[0].length===i.data.length){i.needData=!0;return}r[4]===">"?(i.mode=t.Text,f=r[0].substr(0,r[0].length-1)):(i.mode=t.Attr,f=r[0]);i.pos+=r[0].length;u={type:t.Tag,name:r[1]+r[2],raw:f};i.mode===t.Attr&&(i.lastTag=u);u.name.toLowerCase()==="script"?i.isScript=!0:u.name.toLowerCase()==="/script"&&(i.isScript=!1);i.mode===t.Attr?this._writePending(u):this._write(u)}else i.needData=!0};n.re_parseAttr_findName=/\s*([^=<>\s'"\/]+)\s*/g;n.prototype._parseAttr_findName=function(){n.re_parseAttr_findName.lastIndex=this._state.pos;var t=n.re_parseAttr_findName.exec(this._state.data);return t?this._state.pos+t[0].length!==n.re_parseAttr_findName.lastIndex?null:{match:t[0],name:t[1]}:null};n.re_parseAttr_findValue=/\s*=\s*(?:'([^']*)'|"([^"]*)"|([^'"\s\/>]+))\s*/g;n.re_parseAttr_findValue_last=/\s*=\s*['"]?(.*)$/g;n.prototype._parseAttr_findValue=function(){var i=this._state,t;return(n.re_parseAttr_findValue.lastIndex=i.pos,t=n.re_parseAttr_findValue.exec(i.data),!t)?i.done?(n.re_parseAttr_findValue_last.lastIndex=i.pos,t=n.re_parseAttr_findValue_last.exec(i.data),!t)?null:{match:t[0],value:t[1]!==""?t[1]:null}:null:i.pos+t[0].length!==n.re_parseAttr_findValue.lastIndex?null:{match:t[0],value:t[1]||t[2]||t[3]}};n.re_parseAttr_splitValue=/\s*=\s*['"]?/g;n.re_parseAttr_selfClose=/(\s*\/\s*)(>?)/g;n.prototype._parseAttr=function(){var i=this._state,r=this._parseAttr_findName(i),u,e,f;if(!r||r.name==="?"){if(n.re_parseAttr_selfClose.lastIndex=i.pos,u=n.re_parseAttr_selfClose.exec(i.data),u&&u.index===i.pos){if(!i.done&&!u[2]&&i.pos+u[0].length===i.data.length){i.needData=!0;return}i.lastTag.raw+=u[1];this._write({type:t.Tag,name:"/"+i.lastTag.name,raw:null});i.pos+=u[1].length}if(e=i.data.indexOf(">",i.pos),e<0){if(i.done){i.lastTag.raw+=i.data.substr(i.pos);i.pos=i.data.length;return}i.needData=!0}else i.pos=e+1,i.mode=t.Text;return}if(!i.done&&i.pos+r.match.length===i.data.length)return i.needData=!0,null;if(i.pos+=r.match.length,f=this._parseAttr_findValue(i),f){if(!i.done&&i.pos+f.match.length===i.data.length){i.needData=!0;i.pos-=r.match.length;return}i.pos+=f.match.length}else{if(n.re_parseAttr_splitValue.lastIndex=i.pos,n.re_parseAttr_splitValue.exec(i.data)){i.needData=!0;i.pos-=r.match.length;return}f={match:"",value:null}}i.lastTag.raw+=r.match+f.match;this._writePending({type:t.Attr,name:r.name,data:f.value})};n.re_parseCData_findEnding=/\]{1,2}$/;n.prototype._parseCData=function(){var i=this._state,r=i.data.indexOf("]\]>",i.pos),f,u;if(r<0&&i.done&&(r=i.data.length),r<0){if(n.re_parseCData_findEnding.lastIndex=i.pos,f=n.re_parseCData_findEnding.exec(i.data),f){i.needData=!0;return}i.pendingText||(i.pendingText=[]);i.pendingText.push(i.data.substr(i.pos,i.data.length));i.pos=i.data.length;i.needData=!0}else i.pendingText?(i.pendingText.push(i.data.substring(i.pos,r)),u=i.pendingText.join(""),i.pendingText=null):u=i.data.substring(i.pos,r),this._write({type:t.CData,data:u}),i.mode=t.Text,i.pos=r+3};n.re_parseComment_findEnding=/\-{1,2}$/;n.prototype._parseComment=function(){var i=this._state,r=i.data.indexOf("-->",i.pos),f,u;if(r<0&&i.done&&(r=i.data.length),r<0){if(n.re_parseComment_findEnding.lastIndex=i.pos,f=n.re_parseComment_findEnding.exec(i.data),f){i.needData=!0;return}i.pendingText||(i.pendingText=[]);i.pendingText.push(i.data.substr(i.pos,i.data.length));i.pos=i.data.length;i.needData=!0}else i.pendingText?(i.pendingText.push(i.data.substring(i.pos,r)),u=i.pendingText.join(""),i.pendingText=null):u=i.data.substring(i.pos,r),this._write({type:t.Comment,data:u}),i.mode=t.Text,i.pos=r+3};r._emptyTags={area:1,base:1,basefont:1,br:1,col:1,frame:1,hr:1,img:1,input:1,isindex:1,link:1,meta:1,param:1,embed:1,"?xml":1};r.reWhitespace=/^\s*$/;r.prototype.dom=null;r.prototype.reset=function(){this.dom=[];this._done=!1;this._tagStack=[];this._lastTag=null;this._tagStack.last=function(){return this.length?this[this.length-1]:null};this._line=1;this._col=1};r.prototype.done=function(){this._done=!0;this.handleCallback(null)};r.prototype.error=function(n){this.handleCallback(n)};r.prototype.handleCallback=function(n){if(typeof this._callback!="function")if(n)throw n;else return;this._callback(n,this.dom)};r.prototype.isEmptyTag=function(n){var t=n.name.toLowerCase();return t.charAt(0)=="?"?!0:(t.charAt(0)=="/"&&(t=t.substring(1)),this._options.enforceEmptyTags&&!!r._emptyTags[t])};r.prototype._getLocation=function(){return{line:this._line,col:this._col}};r.prototype._updateLocation=function(n){var r=n.type===t.Tag?n.raw:n.data,i;r!==null&&(i=r.split("\n"),this._line+=i.length-1,i.length>1&&(this._col=1),this._col+=i[i.length-1].length,n.type===t.Tag?this._col+=2:n.type===t.Comment?this._col+=7:n.type===t.CData&&(this._col+=12))};r.prototype._copyElement=function(n){var i={type:n.type};if(this._options.verbose&&n.raw!==undefined&&(i.raw=n.raw),n.name!==undefined)switch(n.type){case t.Tag:i.name=this._options.caseSensitiveTags?n.name:n.name.toLowerCase();break;case t.Attr:i.name=this._options.caseSensitiveAttr?n.name:n.name.toLowerCase();break;default:i.name=this._options.caseSensitiveTags?n.name:n.name.toLowerCase()}return n.data!==undefined&&(i.data=n.data),n.location&&(i.location={line:n.location.line,col:n.location.col}),i};r.prototype.write=function(n){var i,u,e,f;if(this._done&&this.handleCallback(new Error("Writing to the builder after done() called is not allowed without a reset()")),this._options.includeLocation&&n.type!==t.Attr&&(n.location=this._getLocation(),this._updateLocation(n)),n.type!==t.Text||!this._options.ignoreWhitespace||!r.reWhitespace.test(n.data))if(this._tagStack.last())if(n.type===t.Tag)if(n.name.charAt(0)=="/"){if(e=this._options.caseSensitiveTags?n.name.substring(1):n.name.substring(1).toLowerCase(),!this.isEmptyTag(n)){for(f=this._tagStack.length-1;f>-1&&this._tagStack[f--].name!=e;);if(f>-1||this._tagStack[0].name==e)while(f<this._tagStack.length-1)this._tagStack.pop()}}else i=this._tagStack.last(),n.type===t.Attr?(i.attributes||(i.attributes={}),i.attributes[this._options.caseSensitiveAttr?n.name:n.name.toLowerCase()]=n.data):(u=this._copyElement(n),i.children||(i.children=[]),i.children.push(u),this.isEmptyTag(u)||this._tagStack.push(u),n.type===t.Tag&&(this._lastTag=u));else i=this._tagStack.last(),n.type===t.Attr?(i.attributes||(i.attributes={}),i.attributes[this._options.caseSensitiveAttr?n.name:n.name.toLowerCase()]=n.data):(i.children||(i.children=[]),i.children.push(this._copyElement(n)));else n.type===t.Tag?n.name.charAt(0)!="/"&&(u=this._copyElement(n),this.dom.push(u),this.isEmptyTag(u)||this._tagStack.push(u),this._lastTag=u):n.type===t.Attr&&this._lastTag?(this._lastTag.attributes||(this._lastTag.attributes={}),this._lastTag.attributes[this._options.caseSensitiveAttr?n.name:n.name.toLowerCase()]=n.data):this.dom.push(this._copyElement(n))};r.prototype._options=null;r.prototype._callback=null;r.prototype._done=!1;r.prototype._tagStack=null;e(f,r);f.prototype.done=function(){var n={},t,r=i.getElementsByTagName(function(n){return n=="rss"||n=="feed"},this.dom,!1);if(r.length&&(t=r[0]),t){if(t.name=="rss"){n.type="rss";t=t.children[0];n.id="";try{n.title=i.getElementsByTagName("title",t.children,!1)[0].children[0].data}catch(u){}try{n.link=i.getElementsByTagName("link",t.children,!1)[0].children[0].data}catch(u){}try{n.description=i.getElementsByTagName("description",t.children,!1)[0].children[0].data}catch(u){}try{n.updated=new Date(i.getElementsByTagName("lastBuildDate",t.children,!1)[0].children[0].data)}catch(u){}try{n.author=i.getElementsByTagName("managingEditor",t.children,!1)[0].children[0].data}catch(u){}n.items=[];i.getElementsByTagName("item",t.children).forEach(function(t){var r={};try{r.id=i.getElementsByTagName("guid",t.children,!1)[0].children[0].data}catch(u){}try{r.title=i.getElementsByTagName("title",t.children,!1)[0].children[0].data}catch(u){}try{r.link=i.getElementsByTagName("link",t.children,!1)[0].children[0].data}catch(u){}try{r.description=i.getElementsByTagName("description",t.children,!1)[0].children[0].data}catch(u){}try{r.pubDate=new Date(i.getElementsByTagName("pubDate",t.children,!1)[0].children[0].data)}catch(u){}n.items.push(r)})}else{n.type="atom";try{n.id=i.getElementsByTagName("id",t.children,!1)[0].children[0].data}catch(u){}try{n.title=i.getElementsByTagName("title",t.children,!1)[0].children[0].data}catch(u){}try{n.link=i.getElementsByTagName("link",t.children,!1)[0].attributes.href}catch(u){}try{n.description=i.getElementsByTagName("subtitle",t.children,!1)[0].children[0].data}catch(u){}try{n.updated=new Date(i.getElementsByTagName("updated",t.children,!1)[0].children[0].data)}catch(u){}try{n.author=i.getElementsByTagName("email",t.children,!0)[0].children[0].data}catch(u){}n.items=[];i.getElementsByTagName("entry",t.children).forEach(function(t){var r={};try{r.id=i.getElementsByTagName("id",t.children,!1)[0].children[0].data}catch(u){}try{r.title=i.getElementsByTagName("title",t.children,!1)[0].children[0].data}catch(u){}try{r.link=i.getElementsByTagName("link",t.children,!1)[0].attributes.href}catch(u){}try{r.description=i.getElementsByTagName("summary",t.children,!1)[0].children[0].data}catch(u){}try{r.pubDate=new Date(i.getElementsByTagName("updated",t.children,!1)[0].children[0].data)}catch(u){}n.items.push(r)})}this.dom=n}f.super_.prototype.done.call(this)};i={testElement:function(n,i){if(!i)return!1;for(var r in n)if(n.hasOwnProperty(r))if(r=="tag_name"){if(i.type!==t.Tag||!n.tag_name(i.name))return!1}else if(r=="tag_type"){if(!n.tag_type(i.type))return!1}else if(r=="tag_contains"){if(i.type!==t.Text&&i.type!==t.Comment&&i.type!==t.CData||!n.tag_contains(i.data))return!1}else if(!i.attributes||!n[r](i.attributes[r]))return!1;return!0},getElements:function(n,t,r,u){function h(n){return function(t){return t==n}}var f,e,o,s;if(r=r===undefined||r===null||!!r,u=isNaN(parseInt(u))?-1:parseInt(u),!t)return[];f=[];for(o in n)typeof n[o]!="function"&&(n[o]=h(n[o]));if(i.testElement(n,t)&&f.push(t),u>=0&&f.length>=u)return f;if(r&&t.children)e=t.children;else if(t instanceof Array)e=t;else return f;for(s=0;s<e.length;s++)if(f=f.concat(i.getElements(n,e[s],r,u)),u>=0&&f.length>=u)break;return f},getElementById:function(n,t,r){var u=i.getElements({id:n},t,r,1);return u.length?u[0]:null},getElementsByTagName:function(n,t,r,u){return i.getElements({tag_name:n},t,r,u)},getElementsByTagType:function(n,t,r,u){return i.getElements({tag_type:n},t,r,u)}};u.Parser=n;u.HtmlBuilder=r;u.RssBuilder=f;u.ElementType=t;u.DomUtils=i})(),function(){function n(n,i){var s;n=n||"";i=i||{};for(s in t)t.hasOwnProperty(s)&&(i.autoFix&&(i["fix_"+s]=!0),i.fix=i.fix||i["fix_"+s]);var v=function(t){n+=t},c=function(t){n=t+n},l={comment:/^<!--/,endTag:/^<\//,atomicTag:/^<\s*(script|style|noscript|iframe|textarea)[\s>]/i,startTag:/^</,chars:/^[^<]/},a={comment:function(){var t=n.indexOf("-->");if(t>=0)return{content:n.substr(4,t),length:t+3}},endTag:function(){var t=n.match(f);if(t)return{tagName:t[1],length:t[0].length}},atomicTag:function(){var t=a.startTag(),r,i;if(t&&(r=n.slice(t.length),r.match(new RegExp("<\/\\s*"+t.tagName+"\\s*>","i"))&&(i=r.match(new RegExp("([\\s\\S]*?)<\/\\s*"+t.tagName+"\\s*>","i")),i)))return{tagName:t.tagName,attrs:t.attrs,content:i[1],length:i[0].length+t.length}},startTag:function(){var t=n.match(u),i;if(t)return i={},t[2].replace(e,function(n,t){var r=arguments[2]||arguments[3]||arguments[4]||o.test(t)&&t||null;i[t]=r}),{tagName:t[1],attrs:i,unary:!!t[3],length:t[0].length}},chars:function(){var t=n.indexOf("<");return{length:t>=0?t:n.length}}},h=function(){var i,t;for(i in l)if(l[i].test(n))return(r&&console.log("suspected "+i),t=a[i](),t)?(r&&console.log("parsed "+i,t),t.type=t.type||i,t.text=n.substr(0,t.length),n=n.slice(t.length),t):null},y=function(n){for(var t;t=h();)if(n[t.type]&&n[t.type](t)===!1)return},p=function(){var t=n;return n="",t},w=function(){return n};return i.fix&&function(){var s=/^(AREA|BASE|BASEFONT|BR|COL|FRAME|HR|IMG|INPUT|ISINDEX|LINK|META|PARAM|EMBED)$/i,l=/^(COLGROUP|DD|DT|LI|OPTIONS|P|TD|TFOOT|TH|THEAD|TR)$/i,t=[];t.last=function(){return this[this.length-1]};t.lastTagNameEq=function(n){var t=this.last();return t&&t.tagName&&t.tagName.toUpperCase()===n.toUpperCase()};t.containsTagName=function(n){for(var t=0,i;i=this[t];t++)if(i.tagName===n)return!0;return!1};var f=function(n){return n&&n.type==="startTag"&&(n.unary=s.test(n.tagName)||n.unary),n},u=h,a=function(){var t=n,i=f(u());return n=t,i},e=function(){var n=t.pop();c("<\/"+n.tagName+">")},o={startTag:function(n){var u=n.tagName;u.toUpperCase()==="TR"&&t.lastTagNameEq("TABLE")?(c("<TBODY>"),r()):i.fix_selfClose&&l.test(u)&&t.containsTagName(u)?t.lastTagNameEq(u)?e():(c("<\/"+n.tagName+">"),r()):n.unary||t.push(n)},endTag:function(n){var r=t.last();r?i.fix_tagSoup&&!t.lastTagNameEq(n.tagName)?e():t.pop():i.fix_tagSoup&&v()}},v=function(){u();r()},r=function(){var n=a();n&&o[n.type]&&o[n.type](n)};h=function(){return r(),f(u())}}(),{append:v,readToken:h,readTokens:y,clear:p,rest:w,stack:[]}}var t=function(){var t={},i,n=this.document.createElement("div");return i="<P><I><\/P><\/I>",n.innerHTML=i,t.tagSoup=n.innerHTML!==i,n.innerHTML="<P><i><P><\/P><\/i><\/P>",t.selfClose=n.childNodes.length===2,t}(),u=/^<([\-A-Za-z0-9_]+)((?:\s+[\w\-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,f=/^<\/([\-A-Za-z0-9_]+)[^>]*>/,e=/([\-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,o=/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noresize|noshade|nowrap|readonly|selected)$/i,r=!1,i;n.supports=t;n.tokenToString=function(n){var t={comment:function(n){return"<--"+n.content+"-->"},endTag:function(n){return"<\/"+n.tagName+">"},atomicTag:function(n){return console.log(n),t.startTag(n)+n.content+t.endTag(n)},startTag:function(n){var r="<"+n.tagName,t,i;for(t in n.attrs)i=n.attrs[t],r+=" "+t+'="'+(i?i.replace(/(^|[^\\])"/g,'$1\\"'):"")+'"';return r+(n.unary?"/>":">")},chars:function(n){return n.text}};return t[n.type](n)};n.escapeAttributes=function(n){var r={},t,i;for(t in n)i=n[t],r[t]=i&&i.replace(/(^|[^\\])"/g,'$1\\"');return r};for(i in t)n.browserHasFlaw=n.browserHasFlaw||!t[i]&&i;this.htmlParser=n}(),function(){function n(){}function s(n){return"function"==typeof n}function h(n,t,i){for(var u=n&&n.length||0,r=0;r<u;r++)t.call(i,n[r],r)}function u(n,t,i){for(var r in n)n.hasOwnProperty(r)&&t.call(i,r,n[r])}function t(n,t){return u(t,function(t,i){n[t]=i}),n}function l(n,t){return n=n||{},u(t,function(t,i){n[t]==null&&(n[t]=i)}),n}function f(n){try{return o.call(n)}catch(i){var t=[];return h(n,function(n){t.push(n)}),t}}function a(n){return/^script$/i.test(n.tagName)}var i=this,r,o,e,c;i.postscribe||(r=!1,o=Array.prototype.slice,e=function(){function e(n,t,i){var u=o+t,r;if(arguments.length===2)return r=n.getAttribute(u),r==null?r:String(r);i!=null&&i!==""?n.setAttribute(u,i):n.removeAttribute(u)}function n(n,r){var u=n.ownerDocument;t(this,{root:n,options:r,win:u.defaultView||u.parentWindow,doc:u,parser:i.htmlParser("",{autoFix:!0}),actuals:[n],proxyHistory:"",proxyRoot:u.createElement(n.nodeName),scriptStack:[],writeQueue:[]});e(this.proxyRoot,"proxyof",0)}var o="data-ps-";return n.prototype.write=function(){[].push.apply(this.writeQueue,arguments);for(var n;!this.deferredRemote&&this.writeQueue.length;)n=this.writeQueue.shift(),s(n)?this.callFunction(n):this.writeImpl(n)},n.prototype.callFunction=function(n){var t={type:"function",value:n.name||n.toString()};this.onScriptStart(t);n.call(this.win,this.doc);this.onScriptDone(t)},n.prototype.writeImpl=function(n){this.parser.append(n);for(var t,i=[];(t=this.parser.readToken())&&!a(t);)i.push(t);this.writeStaticTokens(i);t&&this.handleScriptToken(t)},n.prototype.writeStaticTokens=function(n){var t=this.buildChunk(n);if(t.actual)return t.html=this.proxyHistory+t.actual,this.proxyHistory+=t.proxy,this.proxyRoot.innerHTML=t.html,r&&(t.proxyInnerHTML=this.proxyRoot.innerHTML),this.walkChunk(),r&&(t.actualInnerHTML=this.root.innerHTML),t},n.prototype.buildChunk=function(n){var u=this.actuals.length,r=[],t=[],i=[];return h(n,function(n){if(r.push(n.text),n.attrs){if(!/^noscript$/i.test(n.tagName)){var f=u++;t.push(n.text.replace(/(\/?>)/," "+o+"id="+f+" $1"));n.attrs.id!=="ps-script"&&i.push(n.type==="atomicTag"?"":"<"+n.tagName+" "+o+"proxyof="+f+(n.unary?" />":">"))}}else t.push(n.text),i.push(n.type==="endTag"?n.text:"")}),{tokens:n,raw:r.join(""),actual:t.join(""),proxy:i.join("")}},n.prototype.walkChunk=function(){for(var n,t=[this.proxyRoot],i,u,r;(n=t.shift())!=null;)i=n.nodeType===1,u=i&&e(n,"proxyof"),u||(i&&(this.actuals[e(n,"id")]=n,e(n,"id",null)),r=n.parentNode&&e(n.parentNode,"proxyof"),r&&this.actuals[r].appendChild(n)),t.unshift.apply(t,f(n.childNodes))},n.prototype.handleScriptToken=function(n){var t=this.parser.clear(),i;if(t&&this.writeQueue.unshift(t),n.src=n.attrs.src||n.attrs.SRC,n.src&&this.scriptStack.length)this.deferredRemote=n;else this.onScriptStart(n);i=this;this.writeScriptToken(n,function(){i.onScriptDone(n)})},n.prototype.onScriptStart=function(n){n.outerWrites=this.writeQueue;this.writeQueue=[];this.scriptStack.unshift(n)},n.prototype.onScriptDone=function(n){if(n!==this.scriptStack[0]){this.options.error({message:"Bad script nesting or script finished twice"});return}if(this.scriptStack.shift(),this.write.apply(this,n.outerWrites),!this.scriptStack.length&&this.deferredRemote){this.onScriptStart(this.deferredRemote);this.deferredRemote=null}},n.prototype.writeScriptToken=function(n,t){var i=this.buildScript(n),r=this.shouldRelease(i),u=this.options.afterAsync;n.src&&(i.src=n.src,this.scriptLoadHandler(i,r?u:function(){t();u()}));try{this.insertScript(i);(!n.src||r)&&t()}catch(f){this.options.error(f);t()}},n.prototype.buildScript=function(n){var t=this.doc.createElement(n.tagName);return u(n.attrs,function(n,i){t.setAttribute(n,i)}),n.content&&(t.text=n.content),t},n.prototype.insertScript=function(n){this.writeImpl('<span id="ps-script"/>');var t=this.doc.getElementById("ps-script");t.parentNode.replaceChild(n,t)},n.prototype.scriptLoadHandler=function(n,i){function r(){n=n.onload=n.onreadystatechange=n.onerror=null;i()}var u=this.options.error;t(n,{onload:function(){r()},onreadystatechange:function(){/^(loaded|complete)$/.test(n.readyState)&&r()},onerror:function(){u({message:"remote script failed "+n.src});r()}})},n.prototype.shouldRelease=function(n){var t=/^script$/i.test(n.nodeName);return!t||!!(this.options.releaseAsync&&n.src&&n.hasAttribute("async"))},n}(),c=function(){function o(){var n=u.shift();n&&(n.stream=a.apply(null,n))}function a(i,u,s){function y(n){n=s.beforeWrite(n);r.write(n);s.afterWrite(n)}var l,v,a;return r=new e(i,s),r.id=c++,r.name=s.name||r.id,h.streams[r.name]=r,l=i.ownerDocument,v={write:l.write,writeln:l.writeln},t(l,{write:function(){return y(f(arguments).join(""))},writeln:function(){return y(f(arguments).join("")+"\n")}}),a=r.win.onerror||n,r.win.onerror=function(n,t,i){s.error({msg:n+" - "+t+":"+i});a.apply(r.win,arguments)},r.write(u,function(){t(l,v);r.win.onerror=a;s.done();r=null;o()}),r}function h(t,f,e){s(e)&&(e={done:e});e=l(e,{releaseAsync:!1,afterAsync:n,done:n,error:function(n){throw n;},beforeWrite:function(n){return n},afterWrite:n});t=/^#/.test(t)?i.document.getElementById(t.substr(1)):t.jquery?t[0]:t;var h=[t,f,e];return t.postscribe={cancel:function(){h.stream?h.stream.abort():h[1]=n}},u.push(h),r||o(),t.postscribe}var c=0,u=[],r=null;return t(h,{streams:{},queue:u,WriteStream:e})}(),i.postscribe=c)}()