/* automatically generated by JSCoverage - do not edit */
try {
  if (typeof top === 'object' && top !== null && typeof top.opener === 'object' && top.opener !== null) {
    // this is a browser window that was opened from another window

    if (! top.opener._$jscoverage) {
      top.opener._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null) {
    // this is a browser window

    try {
      if (typeof top.opener === 'object' && top.opener !== null && top.opener._$jscoverage) {
        top._$jscoverage = top.opener._$jscoverage;
      }
    }
    catch (e) {}

    if (! top._$jscoverage) {
      top._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null && top._$jscoverage) {
    _$jscoverage = top._$jscoverage;
  }
}
catch (e) {}
if (typeof _$jscoverage !== 'object') {
  _$jscoverage = {};
}
if (! _$jscoverage['plugins/removeformat.js']) {
  _$jscoverage['plugins/removeformat.js'] = [];
  _$jscoverage['plugins/removeformat.js'][22] = 0;
  _$jscoverage['plugins/removeformat.js'][23] = 0;
  _$jscoverage['plugins/removeformat.js'][24] = 0;
  _$jscoverage['plugins/removeformat.js'][28] = 0;
  _$jscoverage['plugins/removeformat.js'][31] = 0;
  _$jscoverage['plugins/removeformat.js'][36] = 0;
  _$jscoverage['plugins/removeformat.js'][39] = 0;
  _$jscoverage['plugins/removeformat.js'][40] = 0;
  _$jscoverage['plugins/removeformat.js'][41] = 0;
  _$jscoverage['plugins/removeformat.js'][43] = 0;
  _$jscoverage['plugins/removeformat.js'][46] = 0;
  _$jscoverage['plugins/removeformat.js'][47] = 0;
  _$jscoverage['plugins/removeformat.js'][48] = 0;
  _$jscoverage['plugins/removeformat.js'][49] = 0;
  _$jscoverage['plugins/removeformat.js'][50] = 0;
  _$jscoverage['plugins/removeformat.js'][53] = 0;
  _$jscoverage['plugins/removeformat.js'][56] = 0;
  _$jscoverage['plugins/removeformat.js'][58] = 0;
  _$jscoverage['plugins/removeformat.js'][60] = 0;
  _$jscoverage['plugins/removeformat.js'][61] = 0;
  _$jscoverage['plugins/removeformat.js'][62] = 0;
  _$jscoverage['plugins/removeformat.js'][66] = 0;
  _$jscoverage['plugins/removeformat.js'][67] = 0;
  _$jscoverage['plugins/removeformat.js'][68] = 0;
  _$jscoverage['plugins/removeformat.js'][69] = 0;
  _$jscoverage['plugins/removeformat.js'][72] = 0;
  _$jscoverage['plugins/removeformat.js'][73] = 0;
  _$jscoverage['plugins/removeformat.js'][74] = 0;
  _$jscoverage['plugins/removeformat.js'][80] = 0;
  _$jscoverage['plugins/removeformat.js'][82] = 0;
  _$jscoverage['plugins/removeformat.js'][85] = 0;
  _$jscoverage['plugins/removeformat.js'][86] = 0;
  _$jscoverage['plugins/removeformat.js'][88] = 0;
  _$jscoverage['plugins/removeformat.js'][90] = 0;
  _$jscoverage['plugins/removeformat.js'][92] = 0;
  _$jscoverage['plugins/removeformat.js'][93] = 0;
  _$jscoverage['plugins/removeformat.js'][94] = 0;
  _$jscoverage['plugins/removeformat.js'][95] = 0;
  _$jscoverage['plugins/removeformat.js'][99] = 0;
  _$jscoverage['plugins/removeformat.js'][101] = 0;
  _$jscoverage['plugins/removeformat.js'][102] = 0;
  _$jscoverage['plugins/removeformat.js'][103] = 0;
  _$jscoverage['plugins/removeformat.js'][106] = 0;
  _$jscoverage['plugins/removeformat.js'][108] = 0;
  _$jscoverage['plugins/removeformat.js'][109] = 0;
  _$jscoverage['plugins/removeformat.js'][110] = 0;
  _$jscoverage['plugins/removeformat.js'][111] = 0;
  _$jscoverage['plugins/removeformat.js'][112] = 0;
  _$jscoverage['plugins/removeformat.js'][113] = 0;
  _$jscoverage['plugins/removeformat.js'][116] = 0;
  _$jscoverage['plugins/removeformat.js'][120] = 0;
  _$jscoverage['plugins/removeformat.js'][121] = 0;
  _$jscoverage['plugins/removeformat.js'][122] = 0;
  _$jscoverage['plugins/removeformat.js'][123] = 0;
  _$jscoverage['plugins/removeformat.js'][129] = 0;
  _$jscoverage['plugins/removeformat.js'][134] = 0;
  _$jscoverage['plugins/removeformat.js'][135] = 0;
  _$jscoverage['plugins/removeformat.js'][136] = 0;
  _$jscoverage['plugins/removeformat.js'][138] = 0;
  _$jscoverage['plugins/removeformat.js'][139] = 0;
  _$jscoverage['plugins/removeformat.js'][140] = 0;
  _$jscoverage['plugins/removeformat.js'][142] = 0;
  _$jscoverage['plugins/removeformat.js'][144] = 0;
  _$jscoverage['plugins/removeformat.js'][147] = 0;
  _$jscoverage['plugins/removeformat.js'][148] = 0;
  _$jscoverage['plugins/removeformat.js'][149] = 0;
  _$jscoverage['plugins/removeformat.js'][152] = 0;
  _$jscoverage['plugins/removeformat.js'][153] = 0;
  _$jscoverage['plugins/removeformat.js'][155] = 0;
  _$jscoverage['plugins/removeformat.js'][156] = 0;
  _$jscoverage['plugins/removeformat.js'][159] = 0;
  _$jscoverage['plugins/removeformat.js'][160] = 0;
  _$jscoverage['plugins/removeformat.js'][161] = 0;
  _$jscoverage['plugins/removeformat.js'][162] = 0;
  _$jscoverage['plugins/removeformat.js'][163] = 0;
  _$jscoverage['plugins/removeformat.js'][164] = 0;
  _$jscoverage['plugins/removeformat.js'][166] = 0;
  _$jscoverage['plugins/removeformat.js'][175] = 0;
  _$jscoverage['plugins/removeformat.js'][176] = 0;
  _$jscoverage['plugins/removeformat.js'][177] = 0;
}
_$jscoverage['plugins/removeformat.js'].source = ["<span class=\"c\">/**</span>","<span class=\"c\"> * &#28165;&#38500;&#26684;&#24335;</span>","<span class=\"c\"> * @file</span>","<span class=\"c\"> * @since 1.2.6.1</span>","<span class=\"c\"> */</span>","","<span class=\"c\">/**</span>","<span class=\"c\"> * &#23545;&#22270;&#29255;&#23621;&#24038;&#23621;&#20013;&#23621;&#21491;&#25490;&#29256;</span>","<span class=\"c\"> * @command removeformat</span>","<span class=\"c\"> * @method execCommand</span>","<span class=\"c\"> * @param { String } cmd &#21629;&#20196;&#23383;&#31526;&#20018;</span>","<span class=\"c\"> * @param   {String}   tags     &#20197;&#36887;&#21495;&#38548;&#24320;&#30340;&#26631;&#31614;&#12290;&#22914;&#65306;span,a</span>","<span class=\"c\"> * @param   {String}   style    &#26679;&#24335;</span>","<span class=\"c\"> * @param   {String}   attrs    &#23646;&#24615;</span>","<span class=\"c\"> * @param   {String}   notIncluedA    &#26159;&#21542;&#25226;a&#26631;&#31614;&#20999;&#24320;</span>","<span class=\"c\"> * @example</span>","<span class=\"c\"> * ```javascript</span>","<span class=\"c\"> * editor.execCommand( 'removeformat', 'center' );</span>","<span class=\"c\"> * ```</span>","<span class=\"c\"> */</span>","","UE<span class=\"k\">.</span>plugins<span class=\"k\">[</span><span class=\"s\">'removeformat'</span><span class=\"k\">]</span> <span class=\"k\">=</span> <span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","    <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","    me<span class=\"k\">.</span>setOpt<span class=\"k\">(</span><span class=\"k\">{</span>","       <span class=\"s\">'removeFormatTags'</span><span class=\"k\">:</span> <span class=\"s\">'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'</span><span class=\"k\">,</span>","       <span class=\"s\">'removeFormatAttributes'</span><span class=\"k\">:</span><span class=\"s\">'class,style,lang,width,height,align,hspace,valign'</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    me<span class=\"k\">.</span>commands<span class=\"k\">[</span><span class=\"s\">'removeformat'</span><span class=\"k\">]</span> <span class=\"k\">=</span> <span class=\"k\">{</span>","        execCommand <span class=\"k\">:</span> <span class=\"k\">function</span><span class=\"k\">(</span> cmdName<span class=\"k\">,</span> tags<span class=\"k\">,</span> style<span class=\"k\">,</span> attrs<span class=\"k\">,</span>notIncludeA <span class=\"k\">)</span> <span class=\"k\">{</span>","","            <span class=\"k\">var</span> tagReg <span class=\"k\">=</span> <span class=\"k\">new</span> RegExp<span class=\"k\">(</span> <span class=\"s\">'^(?:'</span> <span class=\"k\">+</span> <span class=\"k\">(</span>tags <span class=\"k\">||</span> <span class=\"k\">this</span><span class=\"k\">.</span>options<span class=\"k\">.</span>removeFormatTags<span class=\"k\">).</span>replace<span class=\"k\">(</span> <span class=\"s\">/,/g</span><span class=\"k\">,</span> <span class=\"s\">'|'</span> <span class=\"k\">)</span> <span class=\"k\">+</span> <span class=\"s\">')$'</span><span class=\"k\">,</span> <span class=\"s\">'i'</span> <span class=\"k\">)</span> <span class=\"k\">,</span>","                removeFormatAttributes <span class=\"k\">=</span> style <span class=\"k\">?</span> <span class=\"k\">[]</span> <span class=\"k\">:</span> <span class=\"k\">(</span>attrs <span class=\"k\">||</span> <span class=\"k\">this</span><span class=\"k\">.</span>options<span class=\"k\">.</span>removeFormatAttributes<span class=\"k\">).</span>split<span class=\"k\">(</span> <span class=\"s\">','</span> <span class=\"k\">),</span>","                range <span class=\"k\">=</span> <span class=\"k\">new</span> dom<span class=\"k\">.</span>Range<span class=\"k\">(</span> <span class=\"k\">this</span><span class=\"k\">.</span>document <span class=\"k\">),</span>","                bookmark<span class=\"k\">,</span>node<span class=\"k\">,</span>parent<span class=\"k\">,</span>","                filter <span class=\"k\">=</span> <span class=\"k\">function</span><span class=\"k\">(</span> node <span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"k\">return</span> node<span class=\"k\">.</span>nodeType <span class=\"k\">==</span> <span class=\"s\">1</span><span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">;</span>","","            <span class=\"k\">function</span> isRedundantSpan <span class=\"k\">(</span>node<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>nodeType <span class=\"k\">==</span> <span class=\"s\">3</span> <span class=\"k\">||</span> node<span class=\"k\">.</span>tagName<span class=\"k\">.</span>toLowerCase<span class=\"k\">()</span> <span class=\"k\">!=</span> <span class=\"s\">'span'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">return</span> <span class=\"s\">0</span><span class=\"k\">;</span>","                <span class=\"k\">}</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>browser<span class=\"k\">.</span>ie<span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"c\">//ie &#19979;&#21028;&#26029;&#23454;&#25928;&#65292;&#25152;&#20197;&#21482;&#33021;&#31616;&#21333;&#29992;style&#26469;&#21028;&#26029;</span>","                    <span class=\"c\">//return node.style.cssText == '' ? 1 : 0;</span>","                    <span class=\"k\">var</span> attrs <span class=\"k\">=</span> node<span class=\"k\">.</span>attributes<span class=\"k\">;</span>","                    <span class=\"k\">if</span> <span class=\"k\">(</span> attrs<span class=\"k\">.</span>length <span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">for</span> <span class=\"k\">(</span> <span class=\"k\">var</span> i <span class=\"k\">=</span> <span class=\"s\">0</span><span class=\"k\">,</span>l <span class=\"k\">=</span> attrs<span class=\"k\">.</span>length<span class=\"k\">;</span> i<span class=\"k\">&lt;</span>l<span class=\"k\">;</span> i<span class=\"k\">++</span> <span class=\"k\">)</span> <span class=\"k\">{</span>","                            <span class=\"k\">if</span> <span class=\"k\">(</span> attrs<span class=\"k\">[</span>i<span class=\"k\">].</span>specified <span class=\"k\">)</span> <span class=\"k\">{</span>","                                <span class=\"k\">return</span> <span class=\"s\">0</span><span class=\"k\">;</span>","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                        <span class=\"k\">return</span> <span class=\"s\">1</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">return</span> <span class=\"k\">!</span>node<span class=\"k\">.</span>attributes<span class=\"k\">.</span>length<span class=\"k\">;</span>","            <span class=\"k\">}</span>","            <span class=\"k\">function</span> doRemove<span class=\"k\">(</span> range <span class=\"k\">)</span> <span class=\"k\">{</span>","","                <span class=\"k\">var</span> bookmark1 <span class=\"k\">=</span> range<span class=\"k\">.</span>createBookmark<span class=\"k\">();</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span> range<span class=\"k\">.</span>collapsed <span class=\"k\">)</span> <span class=\"k\">{</span>","                    range<span class=\"k\">.</span>enlarge<span class=\"k\">(</span> <span class=\"k\">true</span> <span class=\"k\">);</span>","                <span class=\"k\">}</span>","","                <span class=\"c\">//&#19981;&#33021;&#25226;a&#26631;&#31614;&#20999;&#20102;</span>","                <span class=\"k\">if</span><span class=\"k\">(!</span>notIncludeA<span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> aNode <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>range<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'a'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>aNode<span class=\"k\">)</span><span class=\"k\">{</span>","                        range<span class=\"k\">.</span>setStartBefore<span class=\"k\">(</span>aNode<span class=\"k\">);</span>","                    <span class=\"k\">}</span>","","                    aNode <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>range<span class=\"k\">.</span>endContainer<span class=\"k\">,</span><span class=\"s\">'a'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>aNode<span class=\"k\">)</span><span class=\"k\">{</span>","                        range<span class=\"k\">.</span>setEndAfter<span class=\"k\">(</span>aNode<span class=\"k\">);</span>","                    <span class=\"k\">}</span>","","                <span class=\"k\">}</span>","","","                bookmark <span class=\"k\">=</span> range<span class=\"k\">.</span>createBookmark<span class=\"k\">();</span>","","                node <span class=\"k\">=</span> bookmark<span class=\"k\">.</span>start<span class=\"k\">;</span>","","                <span class=\"c\">//&#20999;&#24320;&#22987;</span>","                <span class=\"k\">while</span> <span class=\"k\">(</span> <span class=\"k\">(</span>parent <span class=\"k\">=</span> node<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>domUtils<span class=\"k\">.</span>isBlockElm<span class=\"k\">(</span> parent <span class=\"k\">)</span> <span class=\"k\">)</span> <span class=\"k\">{</span>","                    domUtils<span class=\"k\">.</span>breakParent<span class=\"k\">(</span> node<span class=\"k\">,</span> parent <span class=\"k\">);</span>","","                    domUtils<span class=\"k\">.</span>clearEmptySibling<span class=\"k\">(</span> node <span class=\"k\">);</span>","                <span class=\"k\">}</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span> bookmark<span class=\"k\">.</span>end <span class=\"k\">)</span> <span class=\"k\">{</span>","                    <span class=\"c\">//&#20999;&#32467;&#26463;</span>","                    node <span class=\"k\">=</span> bookmark<span class=\"k\">.</span>end<span class=\"k\">;</span>","                    <span class=\"k\">while</span> <span class=\"k\">(</span> <span class=\"k\">(</span>parent <span class=\"k\">=</span> node<span class=\"k\">.</span>parentNode<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>domUtils<span class=\"k\">.</span>isBlockElm<span class=\"k\">(</span> parent <span class=\"k\">)</span> <span class=\"k\">)</span> <span class=\"k\">{</span>","                        domUtils<span class=\"k\">.</span>breakParent<span class=\"k\">(</span> node<span class=\"k\">,</span> parent <span class=\"k\">);</span>","                        domUtils<span class=\"k\">.</span>clearEmptySibling<span class=\"k\">(</span> node <span class=\"k\">);</span>","                    <span class=\"k\">}</span>","","                    <span class=\"c\">//&#24320;&#22987;&#21435;&#38500;&#26679;&#24335;</span>","                    <span class=\"k\">var</span> current <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>getNextDomNode<span class=\"k\">(</span> bookmark<span class=\"k\">.</span>start<span class=\"k\">,</span> <span class=\"k\">false</span><span class=\"k\">,</span> filter <span class=\"k\">),</span>","                        next<span class=\"k\">;</span>","                    <span class=\"k\">while</span> <span class=\"k\">(</span> current <span class=\"k\">)</span> <span class=\"k\">{</span>","                        <span class=\"k\">if</span> <span class=\"k\">(</span> current <span class=\"k\">==</span> bookmark<span class=\"k\">.</span>end <span class=\"k\">)</span> <span class=\"k\">{</span>","                            <span class=\"k\">break</span><span class=\"k\">;</span>","                        <span class=\"k\">}</span>","","                        next <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>getNextDomNode<span class=\"k\">(</span> current<span class=\"k\">,</span> <span class=\"k\">true</span><span class=\"k\">,</span> filter <span class=\"k\">);</span>","","                        <span class=\"k\">if</span> <span class=\"k\">(</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>current<span class=\"k\">.</span>tagName<span class=\"k\">.</span>toLowerCase<span class=\"k\">()]</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>domUtils<span class=\"k\">.</span>isBookmarkNode<span class=\"k\">(</span> current <span class=\"k\">)</span> <span class=\"k\">)</span> <span class=\"k\">{</span>","                            <span class=\"k\">if</span> <span class=\"k\">(</span> tagReg<span class=\"k\">.</span>test<span class=\"k\">(</span> current<span class=\"k\">.</span>tagName <span class=\"k\">)</span> <span class=\"k\">)</span> <span class=\"k\">{</span>","                                <span class=\"k\">if</span> <span class=\"k\">(</span> style <span class=\"k\">)</span> <span class=\"k\">{</span>","                                    domUtils<span class=\"k\">.</span>removeStyle<span class=\"k\">(</span> current<span class=\"k\">,</span> style <span class=\"k\">);</span>","                                    <span class=\"k\">if</span> <span class=\"k\">(</span> isRedundantSpan<span class=\"k\">(</span> current <span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> style <span class=\"k\">!=</span> <span class=\"s\">'text-decoration'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                        domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span> current<span class=\"k\">,</span> <span class=\"k\">true</span> <span class=\"k\">);</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                                    domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span> current<span class=\"k\">,</span> <span class=\"k\">true</span> <span class=\"k\">);</span>","                                <span class=\"k\">}</span>","                            <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                                <span class=\"c\">//trace:939  &#19981;&#33021;&#25226;list&#19978;&#30340;&#26679;&#24335;&#21435;&#25481;</span>","                                <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$tableContent<span class=\"k\">[</span>current<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$list<span class=\"k\">[</span>current<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                    domUtils<span class=\"k\">.</span>removeAttributes<span class=\"k\">(</span> current<span class=\"k\">,</span> removeFormatAttributes <span class=\"k\">);</span>","                                    <span class=\"k\">if</span> <span class=\"k\">(</span> isRedundantSpan<span class=\"k\">(</span> current <span class=\"k\">)</span> <span class=\"k\">)</span><span class=\"k\">{</span>","                                        domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span> current<span class=\"k\">,</span> <span class=\"k\">true</span> <span class=\"k\">);</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span>","","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                        current <span class=\"k\">=</span> next<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"c\">//trace:1035</span>","                <span class=\"c\">//trace:1096 &#19981;&#33021;&#25226;td&#19978;&#30340;&#26679;&#24335;&#21435;&#25481;&#65292;&#27604;&#22914;&#36793;&#26694;</span>","                <span class=\"k\">var</span> pN <span class=\"k\">=</span> bookmark<span class=\"k\">.</span>start<span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>domUtils<span class=\"k\">.</span>isBlockElm<span class=\"k\">(</span>pN<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$tableContent<span class=\"k\">[</span>pN<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$list<span class=\"k\">[</span>pN<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                    domUtils<span class=\"k\">.</span>removeAttributes<span class=\"k\">(</span>  pN<span class=\"k\">,</span>removeFormatAttributes <span class=\"k\">);</span>","                <span class=\"k\">}</span>","                pN <span class=\"k\">=</span> bookmark<span class=\"k\">.</span>end<span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>bookmark<span class=\"k\">.</span>end <span class=\"k\">&amp;&amp;</span> domUtils<span class=\"k\">.</span>isBlockElm<span class=\"k\">(</span>pN<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$tableContent<span class=\"k\">[</span>pN<span class=\"k\">.</span>tagName<span class=\"k\">]&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$list<span class=\"k\">[</span>pN<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                    domUtils<span class=\"k\">.</span>removeAttributes<span class=\"k\">(</span>  pN<span class=\"k\">,</span>removeFormatAttributes <span class=\"k\">);</span>","                <span class=\"k\">}</span>","                range<span class=\"k\">.</span>moveToBookmark<span class=\"k\">(</span> bookmark <span class=\"k\">).</span>moveToBookmark<span class=\"k\">(</span>bookmark1<span class=\"k\">);</span>","                <span class=\"c\">//&#28165;&#38500;&#20887;&#20313;&#30340;&#20195;&#30721; &lt;b&gt;&lt;bookmark&gt;&lt;/b&gt;</span>","                <span class=\"k\">var</span> node <span class=\"k\">=</span> range<span class=\"k\">.</span>startContainer<span class=\"k\">,</span>","                    tmp<span class=\"k\">,</span>","                    collapsed <span class=\"k\">=</span> range<span class=\"k\">.</span>collapsed<span class=\"k\">;</span>","                <span class=\"k\">while</span><span class=\"k\">(</span>node<span class=\"k\">.</span>nodeType <span class=\"k\">==</span> <span class=\"s\">1</span> <span class=\"k\">&amp;&amp;</span> domUtils<span class=\"k\">.</span>isEmptyNode<span class=\"k\">(</span>node<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> dtd<span class=\"k\">.</span>$removeEmpty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                    tmp <span class=\"k\">=</span> node<span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","                    range<span class=\"k\">.</span>setStartBefore<span class=\"k\">(</span>node<span class=\"k\">);</span>","                    <span class=\"c\">//trace:937</span>","                    <span class=\"c\">//&#26356;&#26032;&#32467;&#26463;&#36793;&#30028;</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>range<span class=\"k\">.</span>startContainer <span class=\"k\">===</span> range<span class=\"k\">.</span>endContainer<span class=\"k\">)</span><span class=\"k\">{</span>","                        range<span class=\"k\">.</span>endOffset<span class=\"k\">--;</span>","                    <span class=\"k\">}</span>","                    domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span>node<span class=\"k\">);</span>","                    node <span class=\"k\">=</span> tmp<span class=\"k\">;</span>","                <span class=\"k\">}</span>","","                <span class=\"k\">if</span><span class=\"k\">(!</span>collapsed<span class=\"k\">)</span><span class=\"k\">{</span>","                    node <span class=\"k\">=</span> range<span class=\"k\">.</span>endContainer<span class=\"k\">;</span>","                    <span class=\"k\">while</span><span class=\"k\">(</span>node<span class=\"k\">.</span>nodeType <span class=\"k\">==</span> <span class=\"s\">1</span> <span class=\"k\">&amp;&amp;</span> domUtils<span class=\"k\">.</span>isEmptyNode<span class=\"k\">(</span>node<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> dtd<span class=\"k\">.</span>$removeEmpty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                        tmp <span class=\"k\">=</span> node<span class=\"k\">.</span>parentNode<span class=\"k\">;</span>","                        range<span class=\"k\">.</span>setEndBefore<span class=\"k\">(</span>node<span class=\"k\">);</span>","                        domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span>node<span class=\"k\">);</span>","","                        node <span class=\"k\">=</span> tmp<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","","","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","","","","            range <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">();</span>","            doRemove<span class=\"k\">(</span> range <span class=\"k\">);</span>","            range<span class=\"k\">.</span>select<span class=\"k\">();</span>","","        <span class=\"k\">}</span>","","    <span class=\"k\">}</span><span class=\"k\">;</span>","","<span class=\"k\">}</span><span class=\"k\">;</span>"];
_$jscoverage['plugins/removeformat.js'][22]++;
UE.plugins.removeformat = (function () {
  _$jscoverage['plugins/removeformat.js'][23]++;
  var me = this;
  _$jscoverage['plugins/removeformat.js'][24]++;
  me.setOpt({"removeFormatTags": "b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var", "removeFormatAttributes": "class,style,lang,width,height,align,hspace,valign"});
  _$jscoverage['plugins/removeformat.js'][28]++;
  me.commands.removeformat = {execCommand: (function (cmdName, tags, style, attrs, notIncludeA) {
  _$jscoverage['plugins/removeformat.js'][31]++;
  var tagReg = new RegExp(("^(?:" + (tags || this.options.removeFormatTags).replace(/,/g, "|") + ")$"), "i"), removeFormatAttributes = (style? []: (attrs || this.options.removeFormatAttributes).split(",")), range = new (dom.Range)(this.document), bookmark, node, parent, filter = (function (node) {
  _$jscoverage['plugins/removeformat.js'][36]++;
  return (node.nodeType == 1);
});
  _$jscoverage['plugins/removeformat.js'][39]++;
  function isRedundantSpan(node) {
    _$jscoverage['plugins/removeformat.js'][40]++;
    if (((node.nodeType == 3) || (node.tagName.toLowerCase() != "span"))) {
      _$jscoverage['plugins/removeformat.js'][41]++;
      return 0;
    }
    _$jscoverage['plugins/removeformat.js'][43]++;
    if (browser.ie) {
      _$jscoverage['plugins/removeformat.js'][46]++;
      var attrs = node.attributes;
      _$jscoverage['plugins/removeformat.js'][47]++;
      if (attrs.length) {
        _$jscoverage['plugins/removeformat.js'][48]++;
        for (var i = 0, l = attrs.length; (i < l); (i++)) {
          _$jscoverage['plugins/removeformat.js'][49]++;
          if (attrs[i].specified) {
            _$jscoverage['plugins/removeformat.js'][50]++;
            return 0;
          }
}
        _$jscoverage['plugins/removeformat.js'][53]++;
        return 1;
      }
    }
    _$jscoverage['plugins/removeformat.js'][56]++;
    return (! node.attributes.length);
}
  _$jscoverage['plugins/removeformat.js'][58]++;
  function doRemove(range) {
    _$jscoverage['plugins/removeformat.js'][60]++;
    var bookmark1 = range.createBookmark();
    _$jscoverage['plugins/removeformat.js'][61]++;
    if (range.collapsed) {
      _$jscoverage['plugins/removeformat.js'][62]++;
      range.enlarge(true);
    }
    _$jscoverage['plugins/removeformat.js'][66]++;
    if ((! notIncludeA)) {
      _$jscoverage['plugins/removeformat.js'][67]++;
      var aNode = domUtils.findParentByTagName(range.startContainer, "a", true);
      _$jscoverage['plugins/removeformat.js'][68]++;
      if (aNode) {
        _$jscoverage['plugins/removeformat.js'][69]++;
        range.setStartBefore(aNode);
      }
      _$jscoverage['plugins/removeformat.js'][72]++;
      aNode = domUtils.findParentByTagName(range.endContainer, "a", true);
      _$jscoverage['plugins/removeformat.js'][73]++;
      if (aNode) {
        _$jscoverage['plugins/removeformat.js'][74]++;
        range.setEndAfter(aNode);
      }
    }
    _$jscoverage['plugins/removeformat.js'][80]++;
    bookmark = range.createBookmark();
    _$jscoverage['plugins/removeformat.js'][82]++;
    node = bookmark.start;
    _$jscoverage['plugins/removeformat.js'][85]++;
    while (((parent = node.parentNode) && (! domUtils.isBlockElm(parent)))) {
      _$jscoverage['plugins/removeformat.js'][86]++;
      domUtils.breakParent(node, parent);
      _$jscoverage['plugins/removeformat.js'][88]++;
      domUtils.clearEmptySibling(node);
}
    _$jscoverage['plugins/removeformat.js'][90]++;
    if (bookmark.end) {
      _$jscoverage['plugins/removeformat.js'][92]++;
      node = bookmark.end;
      _$jscoverage['plugins/removeformat.js'][93]++;
      while (((parent = node.parentNode) && (! domUtils.isBlockElm(parent)))) {
        _$jscoverage['plugins/removeformat.js'][94]++;
        domUtils.breakParent(node, parent);
        _$jscoverage['plugins/removeformat.js'][95]++;
        domUtils.clearEmptySibling(node);
}
      _$jscoverage['plugins/removeformat.js'][99]++;
      var current = domUtils.getNextDomNode(bookmark.start, false, filter), next;
      _$jscoverage['plugins/removeformat.js'][101]++;
      while (current) {
        _$jscoverage['plugins/removeformat.js'][102]++;
        if ((current == bookmark.end)) {
          _$jscoverage['plugins/removeformat.js'][103]++;
          break;
        }
        _$jscoverage['plugins/removeformat.js'][106]++;
        next = domUtils.getNextDomNode(current, true, filter);
        _$jscoverage['plugins/removeformat.js'][108]++;
        if (((! dtd.$empty[current.tagName.toLowerCase()]) && (! domUtils.isBookmarkNode(current)))) {
          _$jscoverage['plugins/removeformat.js'][109]++;
          if (tagReg.test(current.tagName)) {
            _$jscoverage['plugins/removeformat.js'][110]++;
            if (style) {
              _$jscoverage['plugins/removeformat.js'][111]++;
              domUtils.removeStyle(current, style);
              _$jscoverage['plugins/removeformat.js'][112]++;
              if ((isRedundantSpan(current) && (style != "text-decoration"))) {
                _$jscoverage['plugins/removeformat.js'][113]++;
                domUtils.remove(current, true);
              }
            }
            else {
              _$jscoverage['plugins/removeformat.js'][116]++;
              domUtils.remove(current, true);
            }
          }
          else {
            _$jscoverage['plugins/removeformat.js'][120]++;
            if (((! dtd.$tableContent[current.tagName]) && (! dtd.$list[current.tagName]))) {
              _$jscoverage['plugins/removeformat.js'][121]++;
              domUtils.removeAttributes(current, removeFormatAttributes);
              _$jscoverage['plugins/removeformat.js'][122]++;
              if (isRedundantSpan(current)) {
                _$jscoverage['plugins/removeformat.js'][123]++;
                domUtils.remove(current, true);
              }
            }
          }
        }
        _$jscoverage['plugins/removeformat.js'][129]++;
        current = next;
}
    }
    _$jscoverage['plugins/removeformat.js'][134]++;
    var pN = bookmark.start.parentNode;
    _$jscoverage['plugins/removeformat.js'][135]++;
    if ((domUtils.isBlockElm(pN) && (! dtd.$tableContent[pN.tagName]) && (! dtd.$list[pN.tagName]))) {
      _$jscoverage['plugins/removeformat.js'][136]++;
      domUtils.removeAttributes(pN, removeFormatAttributes);
    }
    _$jscoverage['plugins/removeformat.js'][138]++;
    pN = bookmark.end.parentNode;
    _$jscoverage['plugins/removeformat.js'][139]++;
    if ((bookmark.end && domUtils.isBlockElm(pN) && (! dtd.$tableContent[pN.tagName]) && (! dtd.$list[pN.tagName]))) {
      _$jscoverage['plugins/removeformat.js'][140]++;
      domUtils.removeAttributes(pN, removeFormatAttributes);
    }
    _$jscoverage['plugins/removeformat.js'][142]++;
    range.moveToBookmark(bookmark).moveToBookmark(bookmark1);
    _$jscoverage['plugins/removeformat.js'][144]++;
    var node = range.startContainer, tmp, collapsed = range.collapsed;
    _$jscoverage['plugins/removeformat.js'][147]++;
    while (((node.nodeType == 1) && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName])) {
      _$jscoverage['plugins/removeformat.js'][148]++;
      tmp = node.parentNode;
      _$jscoverage['plugins/removeformat.js'][149]++;
      range.setStartBefore(node);
      _$jscoverage['plugins/removeformat.js'][152]++;
      if ((range.startContainer === range.endContainer)) {
        _$jscoverage['plugins/removeformat.js'][153]++;
        (range.endOffset--);
      }
      _$jscoverage['plugins/removeformat.js'][155]++;
      domUtils.remove(node);
      _$jscoverage['plugins/removeformat.js'][156]++;
      node = tmp;
}
    _$jscoverage['plugins/removeformat.js'][159]++;
    if ((! collapsed)) {
      _$jscoverage['plugins/removeformat.js'][160]++;
      node = range.endContainer;
      _$jscoverage['plugins/removeformat.js'][161]++;
      while (((node.nodeType == 1) && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName])) {
        _$jscoverage['plugins/removeformat.js'][162]++;
        tmp = node.parentNode;
        _$jscoverage['plugins/removeformat.js'][163]++;
        range.setEndBefore(node);
        _$jscoverage['plugins/removeformat.js'][164]++;
        domUtils.remove(node);
        _$jscoverage['plugins/removeformat.js'][166]++;
        node = tmp;
}
    }
}
  _$jscoverage['plugins/removeformat.js'][175]++;
  range = this.selection.getRange();
  _$jscoverage['plugins/removeformat.js'][176]++;
  doRemove(range);
  _$jscoverage['plugins/removeformat.js'][177]++;
  range.select();
})};
});
