{"version":3,"sources":["ngDoTA.js"],"names":["J","w","module","exports","document","window","this","M","l","a","f","indexOf","text","substring","c","closeTag","comment","d","e","g","m","k","b","p","h","v","slice","length","replace","toLowerCase","openTag","voidTag","console","Q","X","toUpperCase","N","getElementById","substr","setAttribute","String","prototype","trim","Object","watch","unwatch","x","createElement","G","diff","H","firstChild","nodeType","nodeValue","diff2","lastIndexOf","charAt","innerHTML","parentNode","replaceChild","insertBefore","createTextNode","appendChild","diff3","u","I","C","removeChild","getId","U","initCH","compile","match","fa","aa","L","push","da","T","ga","ea","loose","true","false","null","undefined","new","doTA","$index","S","F","$attr","K","Math","Date","Array","location","_","E","A","r","D","render","n","watchDiff","diffLevel","O","model","bind","ka","event","P","key","Z","params","la","ba","strip","encode","V",">","<","q","y","B","skip","z","t","refresh","split","elif","W","exec","style","value","R","id","ha","expand","join","optimize","ca","debug","Function","scroll","change","input","click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","keydown","keyup","keypress","submit","focus","blur","copy","cut","paste","forEach","call","reduce","pop","assign","apply","arguments","clearTimeout","setTimeout","hidden","nextSibling","target","srcElement","$eval","$event","$applyAsync","returnValue","cancelBubble","preventDefault","stopPropagation","$evalAsync","querySelectorAll","getElementsByClassName","de","attributes","name","ded","getAttribute","dm","type","addEventListener","checked","restrict","priority","terminal","controller","angular","noop","link","$on","na","db","ngModel","removeAttr","contentDocument","childNodes","oa","ja","attr","element","$destroy","$new","replaceWith","cacheDom","scope","ngController","hasOwnProperty","compileAll","onload","ngLoad","loaded","ia","inline","Y","cloneNode","$scope","controllerAs","data","children","ma","hasChildNodes","get","cache","success","documentMode","0","1","createDocumentFragment","debounce","throttle","addEvents","addNgModels","config","factory","directive","dotaInclude","html","contents","$watch","dotaTemplate","$inject"],"mappings":"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","file":"ngDoTA.min.js","sourcesContent":["(function(global, factory) {\n\n\tif (typeof module === \"object\" && typeof module.exports === \"object\") {\n\t\tmodule.exports = factory(global, global.document);\n\t} else {\n\t\tfactory(global, global.document);\n\t}\n\n}(typeof window !== 'undefined' ? window : this, function(window, document) {\n\n\t/* for ie8 */\n\tif (!String.prototype.trim) {\n\t\tString.prototype.trim = function() {\n\t\t\treturn this.replace(/^\\s+|\\s+$/g,'');\n\t\t};\n\t}\n\n\t/* no, thanks! firefox */\n\tif (Object.prototype.watch) {\n\t\tdelete Object.prototype.watch;\n\t\tdelete Object.prototype.unwatch;\n\t}\n\n\t//less memory usage with this, javascript is single threaded anyway\n\tvar newNode = document && document.createElement('div');\n\n\tvar doTA = {\n\t\tdiff: diff1,\n\t\tdiff2: diff2,\n\t\tdiff3: diff3,\n\t\tgetId: getUniqueId,\n\t\tinitCH: initCompileHash,\n\t\tcompile: compileHTML,\n\t\t// PS: parseStyle,\n\t\tC: {}, //Cached compiled functions\n\t\tD: {}, //Cached DOM to be used by ngDoTA, needed here to prevent unneccessary rendering\n\t\tH: {}, //HashMap for TextDiff\n\t\tW: {}, //Watched Functions\n\t\tU: {},\n\t\tN: newNode,\n\t\tX: 0\n\t};\n\n\t// pretty indent for debugging\n\tfunction indent(n, x) {\n\t\tvar ret = new Array(n + 2).join(' '); //4 spaces\n\t\treturn x ? ret.slice(0, -2 * x) : ret; //-2 spaces\n\t}\n\n\t// decode html entities\n\tfunction decodeEntities(text) {\n\t\treturn text.indexOf('&') < 0 ? text : text\n\t\t\t.replace(/>/g, '>').replace(/</g, '<')\n\t\t\t.replace(/&/g, '&').replace(/"/g, '\"');\n\t}\n\n\t// parse attributes from html open tag and make dict object\n\tfunction parseAttr(chunk, func) {\n\t\tvar attr = {}, tagName;\n\t\tvar pos = chunk.indexOf(' ');\n\t\tvar spPos;\n\t\tvar len, attrName, attrVal;\n\t\tvar valStart, valEndPos;\n\n\t\tif (pos !== -1) {\n\t\t\ttagName = chunk.slice(0, pos);\n\t\t\tlen = chunk.length;\n\n\t\t\t//console.log(222, [pos, chunk]);\n\t\t\twhile (++pos < len) {\n\t\t\t\tvar eqPos = chunk.indexOf('=', pos);\n\t\t\t\t// console.log('chunk', [chunk, pos, eqPos, chunk.slice(pos)]);\n\n\t\t\t\t// ** attribute without value (last attribute) **\n\t\t\t\tif (eqPos === -1) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tspPos = chunk.indexOf(' ', pos);\n\t\t\t\t\t\tif (spPos > 0) {\n\t\t\t\t\t\t\tattrName = chunk.slice(pos, spPos);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tattrName = chunk.slice(pos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// console.log('eqPos === -1', [attrName, pos, chunk])\n\t\t\t\t\t\tif (attrName !== '/') {\n\t\t\t\t\t\t\tattr[attrName] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpos = spPos + 1;\n\n\t\t\t\t\t} while (spPos > 0);\n\t\t\t\t\t//attr required will be required=\"\", while is valid syntax\n\t\t\t\t\t//http://www.w3.org/TR/html-markup/syntax.html#syntax-attr-empty\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\n\t\t\t\tspPos = chunk.indexOf(' ', pos);\n\t\t\t\t// console.log('chunk', [chunk, eqPos, pos, spPos, chunk.slice(pos, spPos)]);\n\n\t\t\t\tif (spPos > 0 && spPos < eqPos) {\n\t\t\t\t\tattr[chunk.slice(pos, spPos)] = \"\";\n\t\t\t\t\tpos = spPos;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t//console.log(33, [eqPos]);\n\t\t\t\tattrName = chunk.slice(pos, eqPos);\n\t\t\t\t//console.log(331, [attrName]);\n\n\t\t\t\tvalStart = chunk[eqPos + 1];\n\t\t\t\t//console.log(332, [valStart]);\n\n\t\t\t\t//if attribute value is start with quote\n\t\t\t\tif (valStart === '\"' || valStart === \"'\") {\n\t\t\t\t\tvalEndPos = chunk.indexOf(valStart, eqPos + 2);\n\t\t\t\t\tif (valEndPos < 0) { throw 'ERR:Invalid HTML: [' + chunk + ']'; }\n\n\t\t\t\t\tattrVal = chunk.slice(eqPos + 2, valEndPos);\n\t\t\t\t\tattr[attrName] =0>attrVal.indexOf(\"&\")?attrVal:attrVal.replace(/>/g,\">\").replace(/</g,\"<\").replace(/&/g,\"&\").replace(/"/g,'\"'); //INLINE;\n\t\t\t\t\tpos = valEndPos + 1;\n\t\t\t\t\t//console.log(311, [valEndPos, attrName, attrVal]);\n\t\t\t\t} else {\n\n\t\t\t\t\tvalEndPos = chunk.indexOf(' ', eqPos + 2);\n\n\t\t\t\t\t//when no more attributes\n\t\t\t\t\tif (valEndPos < 0) {\n\t\t\t\t\t\tattrVal = chunk.slice(eqPos + 1);\n\t\t\t\t\t\tattr[attrName] =0>attrVal.indexOf(\"&\")?attrVal:attrVal.replace(/>/g,\">\").replace(/</g,\"<\").replace(/&/g,\"&\").replace(/"/g,'\"'); //INLINE;\n\t\t\t\t\t\t//console.log(442, [attrVal]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tattrVal = chunk.slice(eqPos + 1, valEndPos);\n\t\t\t\t\t\tattr[attrName] =0>attrVal.indexOf(\"&\")?attrVal:attrVal.replace(/>/g,\">\").replace(/</g,\"<\").replace(/&/g,\"&\").replace(/"/g,'\"'); //INLINE;\n\t\t\t\t\t\t//console.log(313, [eqPos, valEndPos, attrVal]);\n\t\t\t\t\t\tpos = valEndPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar tagNameL = tagName.toLowerCase();\n\t\t\tif (tagNameL === 'input' || tagNameL === 'img' || tagNameL === 'hr') {\n\t\t\t\t//http://www.w3.org/TR/html-markup/syntax.html\n\t\t\t\t//area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr\n\t\t\t\tfunc.openTag(tagName, attr, 1);\n\t\t\t\tfunc.voidTag();\n\t\t\t} else if (attrName === '/') {\n\t\t\t\tfunc.openTag(tagName, attr);\n\t\t\t\tfunc.closeTag(tagName);\n\t\t\t} else {\n\t\t\t\tfunc.openTag(tagName, attr);\n\t\t\t}\n\n\t\t// no attributes\n\t\t} else {\n\n\t\t\t// self closing, explicit\n\t\t\tif (chunk[chunk.length - 1] === '/') {\n\t\t\t\ttagName = chunk.slice(0, -1).toLowerCase();\n\n\t\t\t\tif (tagName === 'br' || tagName === 'hr') {\n\t\t\t\t\tfunc.openTag(tagName, attr, 1);\n\t\t\t\t\tfunc.voidTag();\n\t\t\t\t} else {\n\t\t\t\t\tfunc.openTag(tagName, attr);\n\t\t\t\t\tfunc.closeTag(tagName);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttagName = chunk.toLowerCase();\n\n\t\t\t\t// self closing, implicit\n\t\t\t\tif (tagName === 'br' || tagName === 'hr') {\n\t\t\t\t\tfunc.openTag(tagName, attr, 1);\n\t\t\t\t\tfunc.voidTag();\n\t\t\t\t} else {\n\t\t\t\t\tfunc.openTag(tagName, attr);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//http://jsperf.com/object-key-vs-array-indexof-lookup/6\n\t//var events = ' scroll change click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste '\n\tvar EVENTS = {\n\t\tscroll: 1, change: 1, input: 1, click: 1, dblclick: 1,\n\t\tmousedown: 1, mouseup: 1, mouseover: 1, mouseout: 1, mousemove: 1, mouseenter: 1, mouseleave: 1,\n\t\tkeydown: 1, keyup: 1, keypress: 1,\n\t\tsubmit: 1, focus: 1, blur: 1,\n\t\tcopy: 1, cut: 1, paste: 1\n\t};\n\n\t//no unicode supportedgit\n\t// var valid_chr = '_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\t// var VALID_CHARS = {\"_\":1,\"$\":1,\"a\":1,\"b\":1,\"c\":1,\"d\":1,\"e\":1,\"f\":1,\"g\":1,\"h\":1,\"i\":1,\"j\":1,\"k\":1,\"l\":1,\"m\":1,\"n\":1,\"o\":1,\"p\":1,\"q\":1,\"r\":1,\"s\":1,\"t\":1,\"u\":1,\"v\":1,\"w\":1,\"x\":1,\"y\":1,\"z\":1,\"A\":1,\"B\":1,\"C\":1,\"D\":1,\"E\":1,\"F\":1,\"G\":1,\"H\":1,\"I\":1,\"J\":1,\"K\":1,\"L\":1,\"M\":1,\"N\":1,\"O\":1,\"P\":1,\"Q\":1,\"R\":1,\"S\":1,\"T\":1,\"U\":1,\"V\":1,\"W\":1,\"X\":1,\"Y\":1,\"Z\":1};\n\n\t// minimal stripped down html parser\n\tfunction parseHTML(html, func) {\n\t\tif (!html) { return; }\n\t\tvar prevPos = 0;\n\t\tif (html[1] === '?' && html[0] === '<') {\n\t\t\tprevPos = html.indexOf('?', 2);\n\t\t\tif (prevPos >= 1) {\n\t\t\t\tprevPos += 2;\n\t\t\t\tfunc.text(html.substring(0, prevPos));\n\t\t\t} else {\n\t\t\t\tprevPos = 0;\n\t\t\t}\n\t\t}\n\t\tvar pos = html.indexOf('<', prevPos);\n\t\tdo {\n\t\t\tif (html[pos] === '<') {\n\t\t\t\tpos++;\n\t\t\t\tif (html[pos] === '/') {\n\t\t\t\t\tprevPos = ++pos;\n\t\t\t\t\tpos = html.indexOf('>', prevPos);\n\t\t\t\t\t//close tag must be like , but not
\n\t\t\t\t\t// console.log(['closetag', prevPos, pos, html.substring(prevPos, pos)])\n\t\t\t\t\tfunc.closeTag(html.substring(prevPos, pos));\n\t\t\t\t} else if (html[pos] === '!') {\n\t\t\t\t\tprevPos = pos;\n\t\t\t\t\tpos = html.indexOf('-->', prevPos);\n\t\t\t\t\t//console.log(['comment', prevPos, pos, html.substring(prevPos, pos + 2)]);\n\t\t\t\t\tfunc.comment(html.substring(prevPos, pos + 2));\n\t\t\t\t\tpos += 2;\n\t\t\t\t} else {\n\t\t\t\t\tprevPos = pos;\n\t\t\t\t\tpos = html.indexOf('>', prevPos);\n\t\t\t\t\t// console.log(['opentag', prevPos, pos, html.substring(prevPos, pos), parseAttr(html.substring(prevPos, pos))])\n\t\t\t\t\tparseAttr(html.substring(prevPos, pos), func);\n\t\t\t\t}\n\t\t\t} else if (html[pos] === '>') { //&& html[pos + 1] !== '<'\n\t\t\t\tprevPos = ++pos;\n\t\t\t\tpos = html.indexOf('<', prevPos);\n\t\t\t\tif (pos > prevPos) {\n\t\t\t\t\t// console.log(['text', prevPos, pos, html.substring(prevPos, pos)])\n\t\t\t\t\tfunc.text(html.substring(prevPos, pos));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (prevPos === 0 && pos < 0 && html) {\n\t\t\t\t\tfunc.text(html);\n\t\t\t\t} else {\n\t\t\t\t\t/** */console.error('Parse ERR?', [prevPos, pos, html, html.substring(prevPos, pos), html.slice(pos)]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} while (pos > 0);\n\t}\n\n\t//diff and patch dom with exact same structure\n\tfunction diff1(prevKey, html2) {\n\t\tvar html1 = doTA.H[prevKey];\n\t\tvar prevPos1 = 0, pos1 = html1.indexOf('<');\n\t\tvar prevPos2 = 0, pos2 = html2.indexOf('<');\n\t\tvar tagId = '', elem, part1, part2;\n\t\tvar posx, endPosx;\n\n\t\tdo {\n\t\t\tif (html1[pos1] === \"<\") {\n\t\t\t\tpos1++;\n\t\t\t\tpos2++;\n\t\t\t\tif (html1[pos1] === \"/\" || html1[pos1] === \"!\") {\n\t\t\t\t\t//don't patch comment node and close tag.\n\t\t\t\t\tpos1 = html1.indexOf('>', pos1);\n\t\t\t\t\tpos2 = html2.indexOf('>', pos2);\n\t\t\t\t} else {\n\t\t\t\t\tprevPos1 = pos1;\n\t\t\t\t\tprevPos2 = pos2;\n\t\t\t\t\tpos1 = html1.indexOf('>', prevPos1);\n\t\t\t\t\tpos2 = html2.indexOf('>', prevPos2);\n\t\t\t\t\tpart1 = html1.substring(prevPos1, pos1);\n\t\t\t\t\tpart2 = html2.substring(prevPos2, pos2);\n\t\t\t\t\t//attributes\n\t\t\t\t\tif (part1 !== part2) {\n\t\t\t\t\t\t// console.log('openTag', [part1, part2])\n\t\t\t\t\t\ttagId = parsePatchAttr(part1, part2);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t//record id\n\t\t\t\t\t\t//tagId = getTagId(part1);\n\t\t\t\t\t\tposx = part1.indexOf(' id=\"');\n\t\t\t\t\t\t0 <= posx && (posx += 5, endPosx = part1.indexOf('\"', posx), tagId = part1.substring(posx, endPosx)); //jshint ignore: line\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t//text node\n\t\t\t} else if (html1[pos1] === '>') {\n\t\t\t\tprevPos1 = ++pos1;\n\t\t\t\tprevPos2 = ++pos2;\n\n\t\t\t\tpos1 = html1.indexOf('<', prevPos1);\n\t\t\t\tpos2 = html2.indexOf('<', prevPos2);\n\t\t\t\t//textNode, only support firstChild here\n\t\t\t\tif (pos2 > prevPos2) {\n\t\t\t\t\tvar text1 = html1.substring(prevPos1, pos1);\n\t\t\t\t\tvar text2 = html2.substring(prevPos2, pos2);\n\t\t\t\t\tif (text1 !== text2) {\n\t\t\t\t\t\telem = document.getElementById(tagId);\n\t\t\t\t\t\tif (elem) {\n\t\t\t\t\t\t\tif (elem.firstChild && elem.firstChild.nodeType === 3) {\n\t\t\t\t\t\t\t\t// console.log('textApplied', [text1, text2]);\n\t\t\t\t\t\t\t\telem.firstChild.nodeValue = text2;\n\t\t\t\t\t\t\t} //else to log something?\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log('tag not found', [tagId]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} while(pos1 > 0);\n\t}\n\n\t// find position of outerHTML end\n\t// this function will be inline during building\n\tfunction getOuterHTMLEnd(HTML, START_POS) {\n\t\tvar LVL = 1, POS = START_POS;\n\t\tfor(;;) {\n\t\t\tPOS = HTML.indexOf('>', POS);\n\t\t\tif (HTML[POS - 1] === '/') { //self closing\n\t\t\t\tLVL--;\n\t\t\t\tif (LVL <= 0) break;\n\t\t\t}\n\t\t\tPOS = HTML.indexOf('<', POS);\n\t\t\tif (HTML[POS + 1] === '/') {\n\t\t\t\tLVL--;\n\t\t\t\tif (LVL <= 0) {\n\t\t\t\t\tPOS = HTML.indexOf('>', POS + 2);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (HTML[POS + 1] !== '!') {\n\t\t\t\tLVL++;\n\t\t\t}\n\t\t\t// console.log('LVL', LVL);\n\t\t}\n\n\t\t// console.log('getOutHTML', tagName, [tagName, pos2, pos2, ])\n\t\treturn ++POS;\n\t}\n\n\t// FlatDOM: diff html as text and patch dom nodes\n\tfunction diff2(prevKey, html2) {\n\t\tvar html1 = doTA.H[prevKey];\n\t\tvar prevPos1 = 0, pos1 = html1.indexOf('<');\n\t\tvar prevPos2 = 0, pos2 = html2.indexOf('<');\n\t\tvar tagId1, tagId2, elem1, part1, part2;\n\t\t// var tagNo1 = 0, tagNo2 = 0;\n\t\tvar tagStartPos1, tagStartPos2;\n\t\tvar LVL; //this is needed for fnInline\n\t\t// console.log(html1);\n\t\t// console.log(html2);\n\n\t\tfor (;;) {\n\t\t\t// console.log('before', [dirty1, dirty2], [tagId1, tagId2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\tif (pos1 >= 0) {\n\t\t\t\tpos1 = html1.indexOf(' id=\"', pos1);\n\t\t\t\tif (pos1 > 0) {\n\t\t\t\t\tprevPos1 = pos1 + 5;\n\t\t\t\t\tpos1 = html1.indexOf('\"', prevPos1);\n\t\t\t\t\ttagId1 = html1.substring(prevPos1, pos1);\n\t\t\t\t\t// tagNo1 = tagId1^0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// console.log('middle', [tagId1, tagId2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\tif (pos2 >= 0) {\n\t\t\t\tpos2 = html2.indexOf(' id=\"', pos2);\n\t\t\t\tif (pos2 > 0) {\n\t\t\t\t\tprevPos2 = pos2 + 5;\n\t\t\t\t\tpos2 = html2.indexOf('\"', prevPos2);\n\t\t\t\t\ttagId2 = html2.substring(prevPos2, pos2);\n\t\t\t\t\t// tagNo2 = tagId2^0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// console.log('after', [dirty1, dirty2], [tagId1, tagId2],\n\t\t\t//\t [pos1, pos2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\t//exist inifite loop\n\t\t\tif (pos1 < 0 || pos2 < 0) break;\n\n\t\t\t//same node\n\t\t\tif (tagId1 === tagId2) {\n\t\t\t\ttagStartPos1 = ++pos1;\n\t\t\t\tpos1 = html1.indexOf('>', pos1);\n\t\t\t\tpart1 = html1.substring(tagStartPos1, pos1);\n\n\t\t\t\ttagStartPos2 = ++pos2;\n\t\t\t\tpos2 = html2.indexOf('>', pos2);\n\t\t\t\tpart2 = html2.substring(tagStartPos2, pos2);\n\n\t\t\t\t// console.log('same node', [part1, part2]);\n\n\t\t\t\t//attr really different\n\t\t\t\tif (part1 !== part2) {\n\t\t\t\t\telem1 = document.getElementById(tagId1);\n\t\t\t\t\tif (elem1) {\n\t\t\t\t\t\t//nodes to be inserted or deleted\n\t\t\t\t\t\tif ((part1.substr(1, 6) === 'hidden') !== (part2.substr(1, 6) === 'hidden')) {\n\t\t\t\t\t\t\ttagStartPos2 = html2.lastIndexOf('<', pos2 - 6);\n\t\t\t\t\t\t\tLVL=1,pos2=tagStartPos2;for(;;){pos2=html2.indexOf(\">\",pos2);if(\"/\"===html2.charAt(pos2-1)&&(LVL--,0>=LVL))break;pos2=html2.indexOf(\"<\",pos2);if(\"/\"===html2.charAt(pos2+1)){if(LVL--,0>=LVL){pos2=html2.indexOf(\">\",pos2+2);break}}else\"!\"!==html2.charAt(pos2+1)&&LVL++}pos2++; //INLINE\n\t\t\t\t\t\t\tnewNode.innerHTML = html2.substring(tagStartPos2, pos2);\n\n\t\t\t\t\t\t\t// tagStartPos1 = html1.lastIndexOf('<', pos1 - 6);\n\t\t\t\t\t\t\t// console.warn('replaceChild', [tagId2, tagId1], [\n\t\t\t\t\t\t\t//\t html2.substring(tagStartPos2, getOuterHTMLEnd(html2, tagStartPos2)),\n\t\t\t\t\t\t\t//\t html1.substring(tagStartPos1, getOuterHTMLEnd(html1, pos1))]);\n\n\t\t\t\t\t\t\telem1.parentNode.replaceChild(newNode.firstChild, elem1);\n\n\t\t\t\t\t\t\tLVL=1,pos1=pos1;for(;;){pos1=html1.indexOf(\">\",pos1);if(\"/\"===html1.charAt(pos1-1)&&(LVL--,0>=LVL))break;pos1=html1.indexOf(\"<\",pos1);if(\"/\"===html1.charAt(pos1+1)){if(LVL--,0>=LVL){pos1=html1.indexOf(\">\",pos1+2);break}}else\"!\"!==html1.charAt(pos1+1)&&LVL++}pos1++; //INLINE\n\n\t\t\t\t\t\t//only attribute changes\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tparsePatchAttr(part1, part2, elem1);\n\t\t\t\t\t\t\t// console.warn('patch node', [tagId1, tagId2], [pos1, pos2], [tagStartPos1, tagStartPos2], [part1, part2])\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('elem not found', [tagId1, tagId2], [part1, part2]);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t//clear node for textNode\n\t\t\t\t\telem1 = void 0;\n\t\t\t\t}\n\n\t\t\t\t//if blank text node, skip early\n\t\t\t\tif (html1[pos1 + 1] === '<' && html2[pos2 + 1] === '<') {\n\t\t\t\t\tpos1++;\n\t\t\t\t\tpos2++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tprevPos1 = pos1;\n\t\t\t\tpos1 = html1.indexOf('<', prevPos1);\n\t\t\t\tpart1 = html1.substring(prevPos1 + 1, pos1);\n\t\t\t\tprevPos2 = pos2;\n\t\t\t\tpos2 = html2.indexOf('<', prevPos2);\n\t\t\t\tpart2 = html2.substring(prevPos2 + 1, pos2);\n\n\t\t\t\t//for text node really diff\n\t\t\t\tif (part1 !== part2) {\n\t\t\t\t\t// console.log('text diff', [tagId1, tagId2], [part1, part2]);\n\t\t\t\t\tif (!elem1) {\n\t\t\t\t\t\telem1 = document.getElementById(tagId1);\n\t\t\t\t\t\tif (!elem1) {\n\t\t\t\t\t\t\tconsole.error('node not found', [tagId1, tagId2], [part1, part2], [html1.substr(pos1, 15), html2.substr(pos2, 15)], [html1, html2]);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('part1,2', [part1, part2]);\n\t\t\t\t\tif (elem1.firstChild) {\n\t\t\t\t\t\t//overwrite textNode value\n\t\t\t\t\t\tif (elem1.firstChild.nodeType === 3) {\n\t\t\t\t\t\t\telem1.firstChild.nodeValue = part2;\n\t\t\t\t\t\t\t// console.warn('textNode overwritten', elem1, elem1.firstChild)\n\n\t\t\t\t\t\t//not textNode, so, insertBefore\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem1.insertBefore(document.createTextNode(part2), elem1.firstChild);\n\t\t\t\t\t\t\t// console.warn('textNode inserted', elem1, elem1.firstChild)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t//no childNodes, so append one\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem1.appendChild(document.createTextNode(part2));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.error(\"different Id - not supported for now!\", [tagId1, tagId2]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t} //infinite loop\n\n\t}\n\n\t// diff3: no place holder nodes\n\tfunction diff3(prevKey, html2) {\n\t\tvar html1 = doTA.H[prevKey];\n\t\tvar part1, part2, elem1;\n\t\tvar prevPos1, lastPos1, pos1 = html1.indexOf('<');\n\t\tvar prevPos2, lastPos2, pos2 = html2.indexOf('<');\n\t\tvar tagId1, tagId2, prevTagId1, prevTagId2;\n\t\tvar tagNo1, tagNo2, subNo1, subNo2, dotPos1, dotPos2;\n\t\tvar tagStartPos1, tagStartPos2;\n\t\tvar LVL; // jshint ignore:line\n\t\t// console.log(html1);\n\t\t// console.log(html2);\n\t\t// var logger = [];\n\n\t\tfor (;;) {\n\t\t\t// console.log('before', [dirty1, dirty2], [tagId1, tagId2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\tif (pos1 >= 0) {\n\t\t\t\tlastPos1 = pos1;\n\t\t\t\tpos1 = html1.indexOf(' id=\"', pos1);\n\t\t\t\tif (pos1 > 0) {\n\t\t\t\t\tprevPos1 = pos1 + 5;\n\t\t\t\t\tpos1 = html1.indexOf('\"', prevPos1);\n\t\t\t\t\tprevTagId1 = tagId1;\n\t\t\t\t\ttagId1 = html1.substring(prevPos1, pos1);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// console.log('middle', [tagId1, tagId2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\tif (pos2 >= 0) {\n\t\t\t\tlastPos2 = pos2;\n\t\t\t\tpos2 = html2.indexOf(' id=\"', pos2);\n\t\t\t\tif (pos2 > 0) {\n\t\t\t\t\tprevPos2 = pos2 + 5;\n\t\t\t\t\tpos2 = html2.indexOf('\"', prevPos2);\n\t\t\t\t\tprevTagId2 = tagId2;\n\t\t\t\t\ttagId2 = html2.substring(prevPos2, pos2);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// console.log('after', [dirty1, dirty2], [tagId1, tagId2],\n\t\t\t//\t [pos1, pos2], [html1.substr(pos1, 20), html2.substr(pos2, 20)]);\n\n\t\t\t//exist infinite loop\n\t\t\tif (pos1 < 0 && pos2 < 0) break;\n\n\t\t\t//same node\n\t\t\tif (tagId1 === tagId2) {\n\t\t\t\ttagStartPos1 = ++pos1;\n\t\t\t\tpos1 = html1.indexOf('>', pos1);\n\t\t\t\tpart1 = html1.substring(tagStartPos1, pos1);\n\n\t\t\t\ttagStartPos2 = ++pos2;\n\t\t\t\tpos2 = html2.indexOf('>', pos2);\n\t\t\t\tpart2 = html2.substring(tagStartPos2, pos2);\n\n\t\t\t\t// console.log('same node', [part1, part2]);\n\n\t\t\t\t//attr really different\n\t\t\t\tif (part1 !== part2) {\n\t\t\t\t\telem1 = document.getElementById(tagId1);\n\t\t\t\t\tif (elem1) {\n\t\t\t\t\t\t//nodes to be inserted or deleted\n\t\t\t\t\t\tif ((part1.substr(1, 6) === 'hidden') !== (part2.substr(1, 6) === 'hidden')) {\n\t\t\t\t\t\t\ttagStartPos2 = html2.lastIndexOf('<', pos2 - 6);\n\t\t\t\t\t\t\tLVL=1,pos2=tagStartPos2;for(;;){pos2=html2.indexOf(\">\",pos2);if(\"/\"===html2.charAt(pos2-1)&&(LVL--,0>=LVL))break;pos2=html2.indexOf(\"<\",pos2);if(\"/\"===html2.charAt(pos2+1)){if(LVL--,0>=LVL){pos2=html2.indexOf(\">\",pos2+2);break}}else\"!\"!==html2.charAt(pos2+1)&&LVL++}pos2++; //INLINE\n\t\t\t\t\t\t\tnewNode.innerHTML = html2.substring(tagStartPos2, pos2);\n\n\t\t\t\t\t\t\t// tagStartPos1 = html1.lastIndexOf('<', pos1 - 6);\n\t\t\t\t\t\t\t// console.warn('replaceChild', [tagId2, tagId1], [\n\t\t\t\t\t\t\t//\t html2.substring(tagStartPos2, getOuterHTMLEnd(html2, tagStartPos2)),\n\t\t\t\t\t\t\t//\t html1.substring(tagStartPos1, getOuterHTMLEnd(html1, pos1))]);\n\n\t\t\t\t\t\t\telem1.parentNode.replaceChild(newNode.firstChild, elem1);\n\n\t\t\t\t\t\t\tLVL=1,pos1=pos1;for(;;){pos1=html1.indexOf(\">\",pos1);if(\"/\"===html1.charAt(pos1-1)&&(LVL--,0>=LVL))break;pos1=html1.indexOf(\"<\",pos1);if(\"/\"===html1.charAt(pos1+1)){if(LVL--,0>=LVL){pos1=html1.indexOf(\">\",pos1+2);break}}else\"!\"!==html1.charAt(pos1+1)&&LVL++}pos1++; //INLINE\n\n\t\t\t\t\t\t//only attribute changes\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tparsePatchAttr(part1, part2, elem1);\n\t\t\t\t\t\t\t// console.warn('patch node', [tagId1, tagId2], [pos1, pos2], [tagStartPos1, tagStartPos2], [part1, part2])\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('elem not found', [tagId1, tagId2], [part1, part2]);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t//clear node for textNode\n\t\t\t\t\telem1 = void 0;\n\t\t\t\t}\n\n\t\t\t\t//if blank text node, skip early\n\t\t\t\tif (html1[pos1 + 1] === '<' && html2[pos2 + 1] === '<') {\n\t\t\t\t\tpos1++;\n\t\t\t\t\tpos2++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tprevPos1 = pos1;\n\t\t\t\tpos1 = html1.indexOf('<', prevPos1);\n\t\t\t\tpart1 = html1.substring(prevPos1 + 1, pos1);\n\t\t\t\tprevPos2 = pos2;\n\t\t\t\tpos2 = html2.indexOf('<', prevPos2);\n\t\t\t\tpart2 = html2.substring(prevPos2 + 1, pos2);\n\n\t\t\t\t//for text node really diff\n\t\t\t\tif (part1 !== part2) {\n\t\t\t\t\t// console.log('text diff', [tagId1, tagId2], [part1, part2]);\n\t\t\t\t\tif (!elem1) {\n\t\t\t\t\t\telem1 = document.getElementById(tagId1);\n\t\t\t\t\t\tif (!elem1) {\n\t\t\t\t\t\t\tconsole.error('node not found', [tagId1, tagId2], [part1, part2], [html1.substr(pos1, 15), html2.substr(pos2, 15)], [html1, html2]);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// console.log('part1,2', [part1, part2]);\n\t\t\t\t\tif (elem1.firstChild) {\n\t\t\t\t\t\t//overwrite textNode value\n\t\t\t\t\t\tif (elem1.firstChild.nodeType === 3) {\n\t\t\t\t\t\t\telem1.firstChild.nodeValue = part2;\n\t\t\t\t\t\t\t// console.warn('textNode overwritten', elem1, elem1.firstChild)\n\n\t\t\t\t\t\t//not textNode, so, insertBefore\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem1.insertBefore(document.createTextNode(part2), elem1.firstChild);\n\t\t\t\t\t\t\t// console.warn('textNode inserted', elem1, elem1.firstChild)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t//no childNodes, so append one\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem1.appendChild(document.createTextNode(part2));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t//when id is different\n\t\t\t} else {\n\n\t\t\t\tdotPos1 = tagId1.indexOf('.');\n\t\t\t\ttagNo1 = tagId1.slice(0, dotPos1) ^ 0;\n\t\t\t\tdotPos2 = tagId1.indexOf('.', ++dotPos1);\n\t\t\t\tsubNo1 = dotPos2 > 0 && tagId1.slice(dotPos1, dotPos2) ^ 0;\n\n\t\t\t\tdotPos2 = tagId2.indexOf('.');\n\t\t\t\ttagNo2 = tagId2.slice(0, dotPos2) ^ 0;\n\t\t\t\tdotPos1 = tagId2.indexOf('.', ++dotPos2);\n\t\t\t\tsubNo2 = dotPos1 > 0 && tagId2.slice(dotPos2, dotPos1) ^ 0;\n\n\t\t\t\tif (prevTagId1 === prevTagId2 && pos1 > 0 && pos2 > 0) {\n\n\t\t\t\t\t//[\"6.1\", \"5.7.1\"] [\"5.6.1\", \"5.6.1\"]\n\t\t\t\t\t//horizontal scroll left to right, appending nodes\n\t\t\t\t\tif (tagNo1 > tagNo2) {\n\n\t\t\t\t\t\t//removeChild bottom down 111.1 [\"111.1\", \"16.1\"] [\"15.6.1\", \"15.6.1\"] [10070, 2106]\n\t\t\t\t\t\tif (subNo2) {\n\t\t\t\t\t\t\t//[\"146.1\", \"145.12681.1\"] [\"145.1\", \"145.1\"] [\"