/* 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/source.js']) {
  _$jscoverage['plugins/source.js'] = [];
  _$jscoverage['plugins/source.js'][7] = 0;
  _$jscoverage['plugins/source.js'][8] = 0;
  _$jscoverage['plugins/source.js'][10] = 0;
  _$jscoverage['plugins/source.js'][11] = 0;
  _$jscoverage['plugins/source.js'][13] = 0;
  _$jscoverage['plugins/source.js'][14] = 0;
  _$jscoverage['plugins/source.js'][15] = 0;
  _$jscoverage['plugins/source.js'][16] = 0;
  _$jscoverage['plugins/source.js'][17] = 0;
  _$jscoverage['plugins/source.js'][18] = 0;
  _$jscoverage['plugins/source.js'][21] = 0;
  _$jscoverage['plugins/source.js'][22] = 0;
  _$jscoverage['plugins/source.js'][24] = 0;
  _$jscoverage['plugins/source.js'][27] = 0;
  _$jscoverage['plugins/source.js'][30] = 0;
  _$jscoverage['plugins/source.js'][31] = 0;
  _$jscoverage['plugins/source.js'][32] = 0;
  _$jscoverage['plugins/source.js'][33] = 0;
  _$jscoverage['plugins/source.js'][34] = 0;
  _$jscoverage['plugins/source.js'][37] = 0;
  _$jscoverage['plugins/source.js'][38] = 0;
  _$jscoverage['plugins/source.js'][42] = 0;
  _$jscoverage['plugins/source.js'][44] = 0;
  _$jscoverage['plugins/source.js'][45] = 0;
  _$jscoverage['plugins/source.js'][46] = 0;
  _$jscoverage['plugins/source.js'][52] = 0;
  _$jscoverage['plugins/source.js'][58] = 0;
  _$jscoverage['plugins/source.js'][59] = 0;
  _$jscoverage['plugins/source.js'][60] = 0;
  _$jscoverage['plugins/source.js'][61] = 0;
  _$jscoverage['plugins/source.js'][62] = 0;
  _$jscoverage['plugins/source.js'][64] = 0;
  _$jscoverage['plugins/source.js'][67] = 0;
  _$jscoverage['plugins/source.js'][70] = 0;
  _$jscoverage['plugins/source.js'][73] = 0;
  _$jscoverage['plugins/source.js'][76] = 0;
  _$jscoverage['plugins/source.js'][77] = 0;
  _$jscoverage['plugins/source.js'][78] = 0;
  _$jscoverage['plugins/source.js'][84] = 0;
  _$jscoverage['plugins/source.js'][85] = 0;
  _$jscoverage['plugins/source.js'][86] = 0;
  _$jscoverage['plugins/source.js'][87] = 0;
  _$jscoverage['plugins/source.js'][88] = 0;
  _$jscoverage['plugins/source.js'][90] = 0;
  _$jscoverage['plugins/source.js'][92] = 0;
  _$jscoverage['plugins/source.js'][95] = 0;
  _$jscoverage['plugins/source.js'][96] = 0;
  _$jscoverage['plugins/source.js'][99] = 0;
  _$jscoverage['plugins/source.js'][101] = 0;
  _$jscoverage['plugins/source.js'][127] = 0;
  _$jscoverage['plugins/source.js'][130] = 0;
  _$jscoverage['plugins/source.js'][131] = 0;
  _$jscoverage['plugins/source.js'][132] = 0;
  _$jscoverage['plugins/source.js'][133] = 0;
  _$jscoverage['plugins/source.js'][134] = 0;
  _$jscoverage['plugins/source.js'][135] = 0;
  _$jscoverage['plugins/source.js'][138] = 0;
  _$jscoverage['plugins/source.js'][139] = 0;
  _$jscoverage['plugins/source.js'][142] = 0;
  _$jscoverage['plugins/source.js'][143] = 0;
  _$jscoverage['plugins/source.js'][144] = 0;
  _$jscoverage['plugins/source.js'][145] = 0;
  _$jscoverage['plugins/source.js'][146] = 0;
  _$jscoverage['plugins/source.js'][147] = 0;
  _$jscoverage['plugins/source.js'][151] = 0;
  _$jscoverage['plugins/source.js'][152] = 0;
  _$jscoverage['plugins/source.js'][153] = 0;
  _$jscoverage['plugins/source.js'][155] = 0;
  _$jscoverage['plugins/source.js'][156] = 0;
  _$jscoverage['plugins/source.js'][158] = 0;
  _$jscoverage['plugins/source.js'][164] = 0;
  _$jscoverage['plugins/source.js'][166] = 0;
  _$jscoverage['plugins/source.js'][168] = 0;
  _$jscoverage['plugins/source.js'][170] = 0;
  _$jscoverage['plugins/source.js'][171] = 0;
  _$jscoverage['plugins/source.js'][172] = 0;
  _$jscoverage['plugins/source.js'][173] = 0;
  _$jscoverage['plugins/source.js'][174] = 0;
  _$jscoverage['plugins/source.js'][175] = 0;
  _$jscoverage['plugins/source.js'][180] = 0;
  _$jscoverage['plugins/source.js'][181] = 0;
  _$jscoverage['plugins/source.js'][184] = 0;
  _$jscoverage['plugins/source.js'][185] = 0;
  _$jscoverage['plugins/source.js'][187] = 0;
  _$jscoverage['plugins/source.js'][188] = 0;
  _$jscoverage['plugins/source.js'][189] = 0;
  _$jscoverage['plugins/source.js'][191] = 0;
  _$jscoverage['plugins/source.js'][193] = 0;
  _$jscoverage['plugins/source.js'][194] = 0;
  _$jscoverage['plugins/source.js'][195] = 0;
  _$jscoverage['plugins/source.js'][197] = 0;
  _$jscoverage['plugins/source.js'][198] = 0;
  _$jscoverage['plugins/source.js'][200] = 0;
  _$jscoverage['plugins/source.js'][201] = 0;
  _$jscoverage['plugins/source.js'][202] = 0;
  _$jscoverage['plugins/source.js'][206] = 0;
  _$jscoverage['plugins/source.js'][208] = 0;
  _$jscoverage['plugins/source.js'][210] = 0;
  _$jscoverage['plugins/source.js'][211] = 0;
  _$jscoverage['plugins/source.js'][213] = 0;
  _$jscoverage['plugins/source.js'][215] = 0;
  _$jscoverage['plugins/source.js'][216] = 0;
  _$jscoverage['plugins/source.js'][217] = 0;
  _$jscoverage['plugins/source.js'][218] = 0;
  _$jscoverage['plugins/source.js'][219] = 0;
  _$jscoverage['plugins/source.js'][220] = 0;
  _$jscoverage['plugins/source.js'][221] = 0;
  _$jscoverage['plugins/source.js'][222] = 0;
  _$jscoverage['plugins/source.js'][228] = 0;
  _$jscoverage['plugins/source.js'][229] = 0;
  _$jscoverage['plugins/source.js'][234] = 0;
  _$jscoverage['plugins/source.js'][237] = 0;
  _$jscoverage['plugins/source.js'][241] = 0;
  _$jscoverage['plugins/source.js'][243] = 0;
  _$jscoverage['plugins/source.js'][244] = 0;
  _$jscoverage['plugins/source.js'][245] = 0;
  _$jscoverage['plugins/source.js'][247] = 0;
  _$jscoverage['plugins/source.js'][252] = 0;
  _$jscoverage['plugins/source.js'][255] = 0;
  _$jscoverage['plugins/source.js'][257] = 0;
  _$jscoverage['plugins/source.js'][258] = 0;
  _$jscoverage['plugins/source.js'][264] = 0;
  _$jscoverage['plugins/source.js'][265] = 0;
  _$jscoverage['plugins/source.js'][266] = 0;
  _$jscoverage['plugins/source.js'][270] = 0;
}
_$jscoverage['plugins/source.js'].source = ["<span class=\"c\">/**</span>","<span class=\"c\"> * &#28304;&#30721;&#32534;&#36753;&#25554;&#20214;</span>","<span class=\"c\"> * @file</span>","<span class=\"c\"> * @since 1.2.6.1</span>","<span class=\"c\"> */</span>","","<span class=\"k\">(</span><span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","    <span class=\"k\">var</span> sourceEditors <span class=\"k\">=</span> <span class=\"k\">{</span>","        textarea<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>editor<span class=\"k\">,</span> holder<span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> textarea <span class=\"k\">=</span> holder<span class=\"k\">.</span>ownerDocument<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'textarea'</span><span class=\"k\">);</span>","            textarea<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText <span class=\"k\">=</span> <span class=\"s\">'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;'</span><span class=\"k\">;</span>","            <span class=\"c\">// todo: IE&#19979;&#21482;&#26377;onresize&#23646;&#24615;&#21487;&#29992;... &#24456;&#32416;&#32467;</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">&lt;</span> <span class=\"s\">8</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                textarea<span class=\"k\">.</span>style<span class=\"k\">.</span>width <span class=\"k\">=</span> holder<span class=\"k\">.</span>offsetWidth <span class=\"k\">+</span> <span class=\"s\">'px'</span><span class=\"k\">;</span>","                textarea<span class=\"k\">.</span>style<span class=\"k\">.</span>height <span class=\"k\">=</span> holder<span class=\"k\">.</span>offsetHeight <span class=\"k\">+</span> <span class=\"s\">'px'</span><span class=\"k\">;</span>","                holder<span class=\"k\">.</span>onresize <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    textarea<span class=\"k\">.</span>style<span class=\"k\">.</span>width <span class=\"k\">=</span> holder<span class=\"k\">.</span>offsetWidth <span class=\"k\">+</span> <span class=\"s\">'px'</span><span class=\"k\">;</span>","                    textarea<span class=\"k\">.</span>style<span class=\"k\">.</span>height <span class=\"k\">=</span> holder<span class=\"k\">.</span>offsetHeight <span class=\"k\">+</span> <span class=\"s\">'px'</span><span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","            holder<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>textarea<span class=\"k\">);</span>","            <span class=\"k\">return</span> <span class=\"k\">{</span>","                setContent<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>content<span class=\"k\">)</span><span class=\"k\">{</span>","                    textarea<span class=\"k\">.</span>value <span class=\"k\">=</span> content<span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                getContent<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    <span class=\"k\">return</span> textarea<span class=\"k\">.</span>value<span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                select<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> range<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>","                        range <span class=\"k\">=</span> textarea<span class=\"k\">.</span>createTextRange<span class=\"k\">();</span>","                        range<span class=\"k\">.</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                        range<span class=\"k\">.</span>select<span class=\"k\">();</span>","                    <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                        <span class=\"c\">//todo: chrome&#19979;&#26080;&#27861;&#35774;&#32622;&#28966;&#28857;</span>","                        textarea<span class=\"k\">.</span>setSelectionRange<span class=\"k\">(</span><span class=\"s\">0</span><span class=\"k\">,</span> <span class=\"s\">0</span><span class=\"k\">);</span>","                        textarea<span class=\"k\">.</span>focus<span class=\"k\">();</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                dispose<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    holder<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>textarea<span class=\"k\">);</span>","                    <span class=\"c\">// todo</span>","                    holder<span class=\"k\">.</span>onresize <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    textarea <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    holder <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span><span class=\"k\">;</span>","        <span class=\"k\">}</span><span class=\"k\">,</span>","        codemirror<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>editor<span class=\"k\">,</span> holder<span class=\"k\">)</span><span class=\"k\">{</span>","","            <span class=\"k\">var</span> codeEditor <span class=\"k\">=</span> window<span class=\"k\">.</span>CodeMirror<span class=\"k\">(</span>holder<span class=\"k\">,</span> <span class=\"k\">{</span>","                mode<span class=\"k\">:</span> <span class=\"s\">\"text/html\"</span><span class=\"k\">,</span>","                tabMode<span class=\"k\">:</span> <span class=\"s\">\"indent\"</span><span class=\"k\">,</span>","                lineNumbers<span class=\"k\">:</span> <span class=\"k\">true</span><span class=\"k\">,</span>","                lineWrapping<span class=\"k\">:</span><span class=\"k\">true</span>","            <span class=\"k\">}</span><span class=\"k\">);</span>","            <span class=\"k\">var</span> dom <span class=\"k\">=</span> codeEditor<span class=\"k\">.</span>getWrapperElement<span class=\"k\">();</span>","            dom<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText <span class=\"k\">=</span> <span class=\"s\">'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,\"Courier new\",monospace;font-size:13px;'</span><span class=\"k\">;</span>","            codeEditor<span class=\"k\">.</span>getScrollerElement<span class=\"k\">().</span>style<span class=\"k\">.</span>cssText <span class=\"k\">=</span> <span class=\"s\">'position:absolute;left:0;top:0;width:100%;height:100%;'</span><span class=\"k\">;</span>","            codeEditor<span class=\"k\">.</span>refresh<span class=\"k\">();</span>","            <span class=\"k\">return</span> <span class=\"k\">{</span>","                getCodeMirror<span class=\"k\">:</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                    <span class=\"k\">return</span> codeEditor<span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                setContent<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">(</span>content<span class=\"k\">)</span><span class=\"k\">{</span>","                    codeEditor<span class=\"k\">.</span>setValue<span class=\"k\">(</span>content<span class=\"k\">);</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                getContent<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    <span class=\"k\">return</span> codeEditor<span class=\"k\">.</span>getValue<span class=\"k\">();</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                select<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    codeEditor<span class=\"k\">.</span>focus<span class=\"k\">();</span>","                <span class=\"k\">}</span><span class=\"k\">,</span>","                dispose<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                    holder<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>dom<span class=\"k\">);</span>","                    dom <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    codeEditor <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","","    UE<span class=\"k\">.</span>plugins<span class=\"k\">[</span><span class=\"s\">'source'</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>","        <span class=\"k\">var</span> opt <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>options<span class=\"k\">;</span>","        <span class=\"k\">var</span> sourceMode <span class=\"k\">=</span> <span class=\"k\">false</span><span class=\"k\">;</span>","        <span class=\"k\">var</span> sourceEditor<span class=\"k\">;</span>","","        opt<span class=\"k\">.</span>sourceEditor <span class=\"k\">=</span> browser<span class=\"k\">.</span>ie  <span class=\"k\">?</span> <span class=\"s\">'textarea'</span> <span class=\"k\">:</span> <span class=\"k\">(</span>opt<span class=\"k\">.</span>sourceEditor <span class=\"k\">||</span> <span class=\"s\">'codemirror'</span><span class=\"k\">);</span>","","        me<span class=\"k\">.</span>setOpt<span class=\"k\">(</span><span class=\"k\">{</span>","            sourceEditorFirst<span class=\"k\">:</span><span class=\"k\">false</span>","        <span class=\"k\">}</span><span class=\"k\">);</span>","        <span class=\"k\">function</span> createSourceEditor<span class=\"k\">(</span>holder<span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">return</span> sourceEditors<span class=\"k\">[</span>opt<span class=\"k\">.</span>sourceEditor <span class=\"k\">==</span> <span class=\"s\">'codemirror'</span> <span class=\"k\">&amp;&amp;</span> window<span class=\"k\">.</span>CodeMirror <span class=\"k\">?</span> <span class=\"s\">'codemirror'</span> <span class=\"k\">:</span> <span class=\"s\">'textarea'</span><span class=\"k\">](</span>me<span class=\"k\">,</span> holder<span class=\"k\">);</span>","        <span class=\"k\">}</span>","","        <span class=\"k\">var</span> bakCssText<span class=\"k\">;</span>","        <span class=\"c\">//&#35299;&#20915;&#22312;&#28304;&#30721;&#27169;&#24335;&#19979;getContent&#19981;&#33021;&#24471;&#21040;&#26368;&#26032;&#30340;&#20869;&#23481;&#38382;&#39064;</span>","        <span class=\"k\">var</span> oldGetContent <span class=\"k\">=</span> me<span class=\"k\">.</span>getContent<span class=\"k\">,</span>","            bakAddress<span class=\"k\">;</span>","","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#20999;&#25442;&#28304;&#30721;&#32534;&#36753;&#27169;&#24335;&#21644;&#21487;&#35270;&#21270;&#32534;&#36753;&#27169;&#24335;</span>","<span class=\"c\">         * @command source</span>","<span class=\"c\">         * @method execCommand</span>","<span class=\"c\">         * @param { String } cmd &#21629;&#20196;&#23383;&#31526;&#20018;</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * editor.execCommand( 'source');</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","","        <span class=\"c\">/**</span>","<span class=\"c\">         * &#26597;&#35810;&#24403;&#21069;&#32534;&#36753;&#21306;&#22495;&#30340;&#29366;&#24577;&#26159;&#28304;&#30721;&#27169;&#24335;&#36824;&#26159;&#21487;&#35270;&#21270;&#27169;&#24335;</span>","<span class=\"c\">         * @command source</span>","<span class=\"c\">         * @method queryCommandState</span>","<span class=\"c\">         * @param { String } cmd &#21629;&#20196;&#23383;&#31526;&#20018;</span>","<span class=\"c\">         * @return { int } &#22914;&#26524;&#24403;&#21069;&#26159;&#28304;&#30721;&#32534;&#36753;&#27169;&#24335;&#65292;&#36820;&#22238;1&#65292;&#21542;&#21017;&#36820;&#22238;0</span>","<span class=\"c\">         * @example</span>","<span class=\"c\">         * ```javascript</span>","<span class=\"c\">         * editor.queryCommandState( 'source' );</span>","<span class=\"c\">         * ```</span>","<span class=\"c\">         */</span>","        me<span class=\"k\">.</span>commands<span class=\"k\">[</span><span class=\"s\">'source'</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><span class=\"k\">{</span>","","                sourceMode <span class=\"k\">=</span> <span class=\"k\">!</span>sourceMode<span class=\"k\">;</span>","                <span class=\"k\">if</span> <span class=\"k\">(</span>sourceMode<span class=\"k\">)</span> <span class=\"k\">{</span>","                    bakAddress <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">().</span>createAddress<span class=\"k\">(</span><span class=\"k\">false</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","                    me<span class=\"k\">.</span>undoManger <span class=\"k\">&amp;&amp;</span> me<span class=\"k\">.</span>undoManger<span class=\"k\">.</span>save<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>gecko<span class=\"k\">)</span><span class=\"k\">{</span>","                        me<span class=\"k\">.</span>body<span class=\"k\">.</span>contentEditable <span class=\"k\">=</span> <span class=\"k\">false</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","","                    bakCssText <span class=\"k\">=</span> me<span class=\"k\">.</span>iframe<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText<span class=\"k\">;</span>","                    me<span class=\"k\">.</span>iframe<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText <span class=\"k\">+=</span> <span class=\"s\">'position:absolute;left:-32768px;top:-32768px;'</span><span class=\"k\">;</span>","","","                    me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'beforegetcontent'</span><span class=\"k\">);</span>","                    <span class=\"k\">var</span> root <span class=\"k\">=</span> UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>me<span class=\"k\">.</span>body<span class=\"k\">.</span>innerHTML<span class=\"k\">);</span>","                    me<span class=\"k\">.</span>filterOutputRule<span class=\"k\">(</span>root<span class=\"k\">);</span>","                    root<span class=\"k\">.</span>traversal<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\">if</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span><span class=\"k\">)</span> <span class=\"k\">{</span>","                            <span class=\"k\">switch</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>tagName<span class=\"k\">)</span> <span class=\"k\">{</span>","                                <span class=\"k\">case</span> <span class=\"s\">'td'</span><span class=\"k\">:</span>","                                <span class=\"k\">case</span> <span class=\"s\">'th'</span><span class=\"k\">:</span>","                                <span class=\"k\">case</span> <span class=\"s\">'caption'</span><span class=\"k\">:</span>","                                <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>children <span class=\"k\">&amp;&amp;</span> node<span class=\"k\">.</span>children<span class=\"k\">.</span>length <span class=\"k\">==</span> <span class=\"s\">1</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                    <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>firstChild<span class=\"k\">().</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span> <span class=\"k\">)</span><span class=\"k\">{</span>","                                        node<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>node<span class=\"k\">.</span>firstChild<span class=\"k\">())</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span><span class=\"k\">;</span>","                                <span class=\"k\">break</span><span class=\"k\">;</span>","                                <span class=\"k\">case</span> <span class=\"s\">'pre'</span><span class=\"k\">:</span>","                                    node<span class=\"k\">.</span>innerText<span class=\"k\">(</span>node<span class=\"k\">.</span>innerText<span class=\"k\">().</span>replace<span class=\"k\">(</span><span class=\"s\">/&amp;nbsp;/g</span><span class=\"k\">,</span><span class=\"s\">' '</span><span class=\"k\">))</span>","","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                    <span class=\"k\">}</span><span class=\"k\">);</span>","","                    me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'aftergetcontent'</span><span class=\"k\">);</span>","","                    <span class=\"k\">var</span> content <span class=\"k\">=</span> root<span class=\"k\">.</span>toHtml<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","","                    sourceEditor <span class=\"k\">=</span> createSourceEditor<span class=\"k\">(</span>me<span class=\"k\">.</span>iframe<span class=\"k\">.</span>parentNode<span class=\"k\">);</span>","","                    sourceEditor<span class=\"k\">.</span>setContent<span class=\"k\">(</span>content<span class=\"k\">);</span>","                    setTimeout<span class=\"k\">(</span><span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                        sourceEditor<span class=\"k\">.</span>select<span class=\"k\">();</span>","                        me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'fullscreenchanged'</span><span class=\"k\">,</span> <span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                            <span class=\"k\">try</span><span class=\"k\">{</span>","                                sourceEditor<span class=\"k\">.</span>getCodeMirror<span class=\"k\">().</span>refresh<span class=\"k\">()</span>","                            <span class=\"k\">}</span><span class=\"k\">catch</span><span class=\"k\">(</span>e<span class=\"k\">)</span><span class=\"k\">{}</span>","                        <span class=\"k\">}</span><span class=\"k\">);</span>","                    <span class=\"k\">}</span><span class=\"k\">);</span>","                    <span class=\"c\">//&#37325;&#32622;getContent&#65292;&#28304;&#30721;&#27169;&#24335;&#19979;&#21462;&#20540;&#20063;&#33021;&#26159;&#26368;&#26032;&#30340;&#25968;&#25454;</span>","                    me<span class=\"k\">.</span>getContent <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                        <span class=\"k\">return</span> sourceEditor<span class=\"k\">.</span>getContent<span class=\"k\">()</span> <span class=\"k\">||</span> <span class=\"s\">'&lt;p&gt;'</span> <span class=\"k\">+</span> <span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">?</span> <span class=\"s\">''</span> <span class=\"k\">:</span> <span class=\"s\">'&lt;br/&gt;'</span><span class=\"k\">)+</span><span class=\"s\">'&lt;/p&gt;'</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span><span class=\"k\">;</span>","                <span class=\"k\">}</span> <span class=\"k\">else</span> <span class=\"k\">{</span>","                    me<span class=\"k\">.</span>iframe<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText <span class=\"k\">=</span> bakCssText<span class=\"k\">;</span>","                    <span class=\"k\">var</span> cont <span class=\"k\">=</span> sourceEditor<span class=\"k\">.</span>getContent<span class=\"k\">()</span> <span class=\"k\">||</span> <span class=\"s\">'&lt;p&gt;'</span> <span class=\"k\">+</span> <span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">?</span> <span class=\"s\">''</span> <span class=\"k\">:</span> <span class=\"s\">'&lt;br/&gt;'</span><span class=\"k\">)+</span><span class=\"s\">'&lt;/p&gt;'</span><span class=\"k\">;</span>","                    <span class=\"c\">//&#22788;&#29702;&#25481;block&#33410;&#28857;&#21069;&#21518;&#30340;&#31354;&#26684;,&#26377;&#21487;&#33021;&#20250;&#35823;&#21629;&#20013;&#65292;&#26242;&#26102;&#19981;&#32771;&#34385;</span>","                    cont <span class=\"k\">=</span> cont<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"k\">new</span> RegExp<span class=\"k\">(</span><span class=\"s\">'[</span><span class=\"t\">\\\\</span><span class=\"s\">r</span><span class=\"t\">\\\\</span><span class=\"s\">t</span><span class=\"t\">\\\\</span><span class=\"s\">n ]*&lt;</span><span class=\"t\">\\/</span><span class=\"s\">?(</span><span class=\"t\">\\\\</span><span class=\"s\">w+)</span><span class=\"t\">\\\\</span><span class=\"s\">s*(?:[^&gt;]*)&gt;'</span><span class=\"k\">,</span><span class=\"s\">'g'</span><span class=\"k\">),</span> <span class=\"k\">function</span><span class=\"k\">(</span>a<span class=\"k\">,</span>b<span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>b <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>dtd<span class=\"k\">.</span>$inlineWithA<span class=\"k\">[</span>b<span class=\"k\">.</span>toLowerCase<span class=\"k\">()])</span><span class=\"k\">{</span>","                            <span class=\"k\">return</span> a<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/(^[\\n\\r\\t ]*)|([\\n\\r\\t ]*$)/g</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">);</span>","                        <span class=\"k\">}</span>","                        <span class=\"k\">return</span> a<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/(^[\\n\\r\\t]*)|([\\n\\r\\t]*$)/g</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">)</span>","                    <span class=\"k\">}</span><span class=\"k\">);</span>","                    me<span class=\"k\">.</span>setContent<span class=\"k\">(</span>cont<span class=\"k\">);</span>","                    sourceEditor<span class=\"k\">.</span>dispose<span class=\"k\">();</span>","                    sourceEditor <span class=\"k\">=</span> <span class=\"k\">null</span><span class=\"k\">;</span>","                    <span class=\"c\">//&#36824;&#21407;getContent&#26041;&#27861;</span>","                    me<span class=\"k\">.</span>getContent <span class=\"k\">=</span> oldGetContent<span class=\"k\">;</span>","                    <span class=\"k\">var</span> first <span class=\"k\">=</span> me<span class=\"k\">.</span>body<span class=\"k\">.</span>firstChild<span class=\"k\">;</span>","                    <span class=\"c\">//trace:1106 &#37117;&#21024;&#38500;&#31354;&#20102;&#65292;&#19979;&#36793;&#20250;&#25253;&#38169;&#65292;&#25152;&#20197;&#34917;&#20805;&#19968;&#20010;p&#21344;&#20301;</span>","                    <span class=\"k\">if</span><span class=\"k\">(!</span>first<span class=\"k\">)</span><span class=\"k\">{</span>","                        me<span class=\"k\">.</span>body<span class=\"k\">.</span>innerHTML <span class=\"k\">=</span> <span class=\"s\">'&lt;p&gt;'</span><span class=\"k\">+(</span>browser<span class=\"k\">.</span>ie<span class=\"k\">?</span><span class=\"s\">''</span><span class=\"k\">:</span><span class=\"s\">'&lt;br/&gt;'</span><span class=\"k\">)+</span><span class=\"s\">'&lt;/p&gt;'</span><span class=\"k\">;</span>","                        first <span class=\"k\">=</span> me<span class=\"k\">.</span>body<span class=\"k\">.</span>firstChild<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                    <span class=\"c\">//&#35201;&#22312;ifm&#20026;&#26174;&#31034;&#26102;ff&#25165;&#33021;&#21462;&#21040;selection,&#21542;&#21017;&#25253;&#38169;</span>","                    <span class=\"c\">//&#36825;&#37324;&#19981;&#33021;&#27604;&#36739;&#20301;&#32622;&#20102;</span>","                    me<span class=\"k\">.</span>undoManger <span class=\"k\">&amp;&amp;</span> me<span class=\"k\">.</span>undoManger<span class=\"k\">.</span>save<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","","                    <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>gecko<span class=\"k\">)</span><span class=\"k\">{</span>","","                        <span class=\"k\">var</span> input <span class=\"k\">=</span> document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'input'</span><span class=\"k\">);</span>","                        input<span class=\"k\">.</span>style<span class=\"k\">.</span>cssText <span class=\"k\">=</span> <span class=\"s\">'position:absolute;left:0;top:-32768px'</span><span class=\"k\">;</span>","","                        document<span class=\"k\">.</span>body<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>input<span class=\"k\">);</span>","","                        me<span class=\"k\">.</span>body<span class=\"k\">.</span>contentEditable <span class=\"k\">=</span> <span class=\"k\">false</span><span class=\"k\">;</span>","                        setTimeout<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                            domUtils<span class=\"k\">.</span>setViewportOffset<span class=\"k\">(</span>input<span class=\"k\">,</span> <span class=\"k\">{</span> left<span class=\"k\">:</span> <span class=\"k\">-</span><span class=\"s\">32768</span><span class=\"k\">,</span> top<span class=\"k\">:</span> <span class=\"s\">0</span> <span class=\"k\">}</span><span class=\"k\">);</span>","                            input<span class=\"k\">.</span>focus<span class=\"k\">();</span>","                            setTimeout<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                                me<span class=\"k\">.</span>body<span class=\"k\">.</span>contentEditable <span class=\"k\">=</span> <span class=\"k\">true</span><span class=\"k\">;</span>","                                me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">().</span>moveToAddress<span class=\"k\">(</span>bakAddress<span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                                domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span>input<span class=\"k\">);</span>","                            <span class=\"k\">}</span><span class=\"k\">);</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\">//ie&#19979;&#26377;&#21487;&#33021;&#25253;&#38169;&#65292;&#27604;&#22914;&#22312;&#20195;&#30721;&#39030;&#22836;&#30340;&#24773;&#20917;</span>","                        <span class=\"k\">try</span><span class=\"k\">{</span>","                            me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">().</span>moveToAddress<span class=\"k\">(</span>bakAddress<span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                        <span class=\"k\">}</span><span class=\"k\">catch</span><span class=\"k\">(</span>e<span class=\"k\">)</span><span class=\"k\">{}</span>","","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">this</span><span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'sourcemodechanged'</span><span class=\"k\">,</span> sourceMode<span class=\"k\">);</span>","            <span class=\"k\">}</span><span class=\"k\">,</span>","            queryCommandState<span class=\"k\">:</span> <span class=\"k\">function</span> <span class=\"k\">()</span><span class=\"k\">{</span>","                <span class=\"k\">return</span> sourceMode<span class=\"k\">|</span><span class=\"s\">0</span><span class=\"k\">;</span>","            <span class=\"k\">}</span><span class=\"k\">,</span>","            notNeedUndo <span class=\"k\">:</span> <span class=\"s\">1</span>","        <span class=\"k\">}</span><span class=\"k\">;</span>","        <span class=\"k\">var</span> oldQueryCommandState <span class=\"k\">=</span> me<span class=\"k\">.</span>queryCommandState<span class=\"k\">;</span>","","        me<span class=\"k\">.</span>queryCommandState <span class=\"k\">=</span> <span class=\"k\">function</span> <span class=\"k\">(</span>cmdName<span class=\"k\">)</span><span class=\"k\">{</span>","            cmdName <span class=\"k\">=</span> cmdName<span class=\"k\">.</span>toLowerCase<span class=\"k\">();</span>","            <span class=\"k\">if</span> <span class=\"k\">(</span>sourceMode<span class=\"k\">)</span> <span class=\"k\">{</span>","                <span class=\"c\">//&#28304;&#30721;&#27169;&#24335;&#19979;&#21487;&#20197;&#24320;&#21551;&#30340;&#21629;&#20196;</span>","                <span class=\"k\">return</span> cmdName <span class=\"k\">in</span> <span class=\"k\">{</span>","                    <span class=\"s\">'source'</span> <span class=\"k\">:</span> <span class=\"s\">1</span><span class=\"k\">,</span>","                    <span class=\"s\">'fullscreen'</span> <span class=\"k\">:</span> <span class=\"s\">1</span>","                <span class=\"k\">}</span> <span class=\"k\">?</span> <span class=\"s\">1</span> <span class=\"k\">:</span> <span class=\"k\">-</span><span class=\"s\">1</span>","            <span class=\"k\">}</span>","            <span class=\"k\">return</span> oldQueryCommandState<span class=\"k\">.</span>apply<span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">,</span> arguments<span class=\"k\">);</span>","        <span class=\"k\">}</span><span class=\"k\">;</span>","","        <span class=\"k\">if</span><span class=\"k\">(</span>opt<span class=\"k\">.</span>sourceEditor <span class=\"k\">==</span> <span class=\"s\">\"codemirror\"</span><span class=\"k\">)</span><span class=\"k\">{</span>","","            me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">\"ready\"</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                utils<span class=\"k\">.</span>loadFile<span class=\"k\">(</span>document<span class=\"k\">,</span><span class=\"k\">{</span>","                    src <span class=\"k\">:</span> opt<span class=\"k\">.</span>codeMirrorJsUrl <span class=\"k\">||</span> opt<span class=\"k\">.</span>UEDITOR_HOME_URL <span class=\"k\">+</span> <span class=\"s\">\"third-party/codemirror/codemirror.js\"</span><span class=\"k\">,</span>","                    tag <span class=\"k\">:</span> <span class=\"s\">\"script\"</span><span class=\"k\">,</span>","                    type <span class=\"k\">:</span> <span class=\"s\">\"text/javascript\"</span><span class=\"k\">,</span>","                    defer <span class=\"k\">:</span> <span class=\"s\">\"defer\"</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\">if</span><span class=\"k\">(</span>opt<span class=\"k\">.</span>sourceEditorFirst<span class=\"k\">)</span><span class=\"k\">{</span>","                        setTimeout<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","                            me<span class=\"k\">.</span>execCommand<span class=\"k\">(</span><span class=\"s\">\"source\"</span><span class=\"k\">);</span>","                        <span class=\"k\">}</span><span class=\"k\">,</span><span class=\"s\">0</span><span class=\"k\">);</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span><span class=\"k\">);</span>","                utils<span class=\"k\">.</span>loadFile<span class=\"k\">(</span>document<span class=\"k\">,</span><span class=\"k\">{</span>","                    tag <span class=\"k\">:</span> <span class=\"s\">\"link\"</span><span class=\"k\">,</span>","                    rel <span class=\"k\">:</span> <span class=\"s\">\"stylesheet\"</span><span class=\"k\">,</span>","                    type <span class=\"k\">:</span> <span class=\"s\">\"text/css\"</span><span class=\"k\">,</span>","                    href <span class=\"k\">:</span> opt<span class=\"k\">.</span>codeMirrorCssUrl <span class=\"k\">||</span> opt<span class=\"k\">.</span>UEDITOR_HOME_URL <span class=\"k\">+</span> <span class=\"s\">\"third-party/codemirror/codemirror.css\"</span>","                <span class=\"k\">}</span><span class=\"k\">);</span>","","            <span class=\"k\">}</span><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/source.js'][7]++;
(function () {
  _$jscoverage['plugins/source.js'][8]++;
  var sourceEditors = {textarea: (function (editor, holder) {
  _$jscoverage['plugins/source.js'][10]++;
  var textarea = holder.ownerDocument.createElement("textarea");
  _$jscoverage['plugins/source.js'][11]++;
  textarea.style.cssText = "position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;";
  _$jscoverage['plugins/source.js'][13]++;
  if ((browser.ie && (browser.version < 8))) {
    _$jscoverage['plugins/source.js'][14]++;
    textarea.style.width = (holder.offsetWidth + "px");
    _$jscoverage['plugins/source.js'][15]++;
    textarea.style.height = (holder.offsetHeight + "px");
    _$jscoverage['plugins/source.js'][16]++;
    holder.onresize = (function () {
  _$jscoverage['plugins/source.js'][17]++;
  textarea.style.width = (holder.offsetWidth + "px");
  _$jscoverage['plugins/source.js'][18]++;
  textarea.style.height = (holder.offsetHeight + "px");
});
  }
  _$jscoverage['plugins/source.js'][21]++;
  holder.appendChild(textarea);
  _$jscoverage['plugins/source.js'][22]++;
  return ({setContent: (function (content) {
  _$jscoverage['plugins/source.js'][24]++;
  textarea.value = content;
}), getContent: (function () {
  _$jscoverage['plugins/source.js'][27]++;
  return textarea.value;
}), select: (function () {
  _$jscoverage['plugins/source.js'][30]++;
  var range;
  _$jscoverage['plugins/source.js'][31]++;
  if (browser.ie) {
    _$jscoverage['plugins/source.js'][32]++;
    range = textarea.createTextRange();
    _$jscoverage['plugins/source.js'][33]++;
    range.collapse(true);
    _$jscoverage['plugins/source.js'][34]++;
    range.select();
  }
  else {
    _$jscoverage['plugins/source.js'][37]++;
    textarea.setSelectionRange(0, 0);
    _$jscoverage['plugins/source.js'][38]++;
    textarea.focus();
  }
}), dispose: (function () {
  _$jscoverage['plugins/source.js'][42]++;
  holder.removeChild(textarea);
  _$jscoverage['plugins/source.js'][44]++;
  holder.onresize = null;
  _$jscoverage['plugins/source.js'][45]++;
  textarea = null;
  _$jscoverage['plugins/source.js'][46]++;
  holder = null;
})});
}), codemirror: (function (editor, holder) {
  _$jscoverage['plugins/source.js'][52]++;
  var codeEditor = window.CodeMirror(holder, {mode: "text/html", tabMode: "indent", lineNumbers: true, lineWrapping: true});
  _$jscoverage['plugins/source.js'][58]++;
  var dom = codeEditor.getWrapperElement();
  _$jscoverage['plugins/source.js'][59]++;
  dom.style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,\"Courier new\",monospace;font-size:13px;";
  _$jscoverage['plugins/source.js'][60]++;
  codeEditor.getScrollerElement().style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;";
  _$jscoverage['plugins/source.js'][61]++;
  codeEditor.refresh();
  _$jscoverage['plugins/source.js'][62]++;
  return ({getCodeMirror: (function () {
  _$jscoverage['plugins/source.js'][64]++;
  return codeEditor;
}), setContent: (function (content) {
  _$jscoverage['plugins/source.js'][67]++;
  codeEditor.setValue(content);
}), getContent: (function () {
  _$jscoverage['plugins/source.js'][70]++;
  return codeEditor.getValue();
}), select: (function () {
  _$jscoverage['plugins/source.js'][73]++;
  codeEditor.focus();
}), dispose: (function () {
  _$jscoverage['plugins/source.js'][76]++;
  holder.removeChild(dom);
  _$jscoverage['plugins/source.js'][77]++;
  dom = null;
  _$jscoverage['plugins/source.js'][78]++;
  codeEditor = null;
})});
})};
  _$jscoverage['plugins/source.js'][84]++;
  UE.plugins.source = (function () {
  _$jscoverage['plugins/source.js'][85]++;
  var me = this;
  _$jscoverage['plugins/source.js'][86]++;
  var opt = this.options;
  _$jscoverage['plugins/source.js'][87]++;
  var sourceMode = false;
  _$jscoverage['plugins/source.js'][88]++;
  var sourceEditor;
  _$jscoverage['plugins/source.js'][90]++;
  opt.sourceEditor = (browser.ie? "textarea": (opt.sourceEditor || "codemirror"));
  _$jscoverage['plugins/source.js'][92]++;
  me.setOpt({sourceEditorFirst: false});
  _$jscoverage['plugins/source.js'][95]++;
  function createSourceEditor(holder) {
    _$jscoverage['plugins/source.js'][96]++;
    return (sourceEditors[(((opt.sourceEditor == "codemirror") && window.CodeMirror)? "codemirror": "textarea")])(me, holder);
}
  _$jscoverage['plugins/source.js'][99]++;
  var bakCssText;
  _$jscoverage['plugins/source.js'][101]++;
  var oldGetContent = me.getContent, bakAddress;
  _$jscoverage['plugins/source.js'][127]++;
  me.commands.source = {execCommand: (function () {
  _$jscoverage['plugins/source.js'][130]++;
  sourceMode = (! sourceMode);
  _$jscoverage['plugins/source.js'][131]++;
  if (sourceMode) {
    _$jscoverage['plugins/source.js'][132]++;
    bakAddress = me.selection.getRange().createAddress(false, true);
    _$jscoverage['plugins/source.js'][133]++;
    (me.undoManger && me.undoManger.save(true));
    _$jscoverage['plugins/source.js'][134]++;
    if (browser.gecko) {
      _$jscoverage['plugins/source.js'][135]++;
      me.body.contentEditable = false;
    }
    _$jscoverage['plugins/source.js'][138]++;
    bakCssText = me.iframe.style.cssText;
    _$jscoverage['plugins/source.js'][139]++;
    me.iframe.style.cssText += "position:absolute;left:-32768px;top:-32768px;";
    _$jscoverage['plugins/source.js'][142]++;
    me.fireEvent("beforegetcontent");
    _$jscoverage['plugins/source.js'][143]++;
    var root = UE.htmlparser(me.body.innerHTML);
    _$jscoverage['plugins/source.js'][144]++;
    me.filterOutputRule(root);
    _$jscoverage['plugins/source.js'][145]++;
    root.traversal((function (node) {
  _$jscoverage['plugins/source.js'][146]++;
  if ((node.type == "element")) {
    _$jscoverage['plugins/source.js'][147]++;
    switch (node.tagName) {
    case "td":
    case "th":
    case "caption":
      _$jscoverage['plugins/source.js'][151]++;
      if ((node.children && (node.children.length == 1))) {
        _$jscoverage['plugins/source.js'][152]++;
        if ((node.firstChild().tagName == "br")) {
          _$jscoverage['plugins/source.js'][153]++;
          node.removeChild(node.firstChild());
        }
      }
      _$jscoverage['plugins/source.js'][155]++;
      ;
      _$jscoverage['plugins/source.js'][156]++;
      break;
    case "pre":
      _$jscoverage['plugins/source.js'][158]++;
      node.innerText(node.innerText().replace(/&nbsp;/g, " "));
    }
  }
}));
    _$jscoverage['plugins/source.js'][164]++;
    me.fireEvent("aftergetcontent");
    _$jscoverage['plugins/source.js'][166]++;
    var content = root.toHtml(true);
    _$jscoverage['plugins/source.js'][168]++;
    sourceEditor = createSourceEditor(me.iframe.parentNode);
    _$jscoverage['plugins/source.js'][170]++;
    sourceEditor.setContent(content);
    _$jscoverage['plugins/source.js'][171]++;
    setTimeout((function () {
  _$jscoverage['plugins/source.js'][172]++;
  sourceEditor.select();
  _$jscoverage['plugins/source.js'][173]++;
  me.addListener("fullscreenchanged", (function () {
  _$jscoverage['plugins/source.js'][174]++;
  try {
    _$jscoverage['plugins/source.js'][175]++;
    sourceEditor.getCodeMirror().refresh();
  }
  catch (e) {
  }
}));
}));
    _$jscoverage['plugins/source.js'][180]++;
    me.getContent = (function () {
  _$jscoverage['plugins/source.js'][181]++;
  return (sourceEditor.getContent() || ("<p>" + (browser.ie? "": "<br/>") + "</p>"));
});
  }
  else {
    _$jscoverage['plugins/source.js'][184]++;
    me.iframe.style.cssText = bakCssText;
    _$jscoverage['plugins/source.js'][185]++;
    var cont = (sourceEditor.getContent() || ("<p>" + (browser.ie? "": "<br/>") + "</p>"));
    _$jscoverage['plugins/source.js'][187]++;
    cont = cont.replace(new RegExp("[\\r\\t\\n ]*</?(\\w+)\\s*(?:[^>]*)>", "g"), (function (a, b) {
  _$jscoverage['plugins/source.js'][188]++;
  if ((b && (! dtd.$inlineWithA[b.toLowerCase()]))) {
    _$jscoverage['plugins/source.js'][189]++;
    return a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g, "");
  }
  _$jscoverage['plugins/source.js'][191]++;
  return a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g, "");
}));
    _$jscoverage['plugins/source.js'][193]++;
    me.setContent(cont);
    _$jscoverage['plugins/source.js'][194]++;
    sourceEditor.dispose();
    _$jscoverage['plugins/source.js'][195]++;
    sourceEditor = null;
    _$jscoverage['plugins/source.js'][197]++;
    me.getContent = oldGetContent;
    _$jscoverage['plugins/source.js'][198]++;
    var first = me.body.firstChild;
    _$jscoverage['plugins/source.js'][200]++;
    if ((! first)) {
      _$jscoverage['plugins/source.js'][201]++;
      me.body.innerHTML = ("<p>" + (browser.ie? "": "<br/>") + "</p>");
      _$jscoverage['plugins/source.js'][202]++;
      first = me.body.firstChild;
    }
    _$jscoverage['plugins/source.js'][206]++;
    (me.undoManger && me.undoManger.save(true));
    _$jscoverage['plugins/source.js'][208]++;
    if (browser.gecko) {
      _$jscoverage['plugins/source.js'][210]++;
      var input = document.createElement("input");
      _$jscoverage['plugins/source.js'][211]++;
      input.style.cssText = "position:absolute;left:0;top:-32768px";
      _$jscoverage['plugins/source.js'][213]++;
      document.body.appendChild(input);
      _$jscoverage['plugins/source.js'][215]++;
      me.body.contentEditable = false;
      _$jscoverage['plugins/source.js'][216]++;
      setTimeout((function () {
  _$jscoverage['plugins/source.js'][217]++;
  domUtils.setViewportOffset(input, {left: -32768, top: 0});
  _$jscoverage['plugins/source.js'][218]++;
  input.focus();
  _$jscoverage['plugins/source.js'][219]++;
  setTimeout((function () {
  _$jscoverage['plugins/source.js'][220]++;
  me.body.contentEditable = true;
  _$jscoverage['plugins/source.js'][221]++;
  me.selection.getRange().moveToAddress(bakAddress).select(true);
  _$jscoverage['plugins/source.js'][222]++;
  domUtils.remove(input);
}));
}));
    }
    else {
      _$jscoverage['plugins/source.js'][228]++;
      try {
        _$jscoverage['plugins/source.js'][229]++;
        me.selection.getRange().moveToAddress(bakAddress).select(true);
      }
      catch (e) {
      }
    }
  }
  _$jscoverage['plugins/source.js'][234]++;
  this.fireEvent("sourcemodechanged", sourceMode);
}), queryCommandState: (function () {
  _$jscoverage['plugins/source.js'][237]++;
  return (sourceMode | 0);
}), notNeedUndo: 1};
  _$jscoverage['plugins/source.js'][241]++;
  var oldQueryCommandState = me.queryCommandState;
  _$jscoverage['plugins/source.js'][243]++;
  me.queryCommandState = (function (cmdName) {
  _$jscoverage['plugins/source.js'][244]++;
  cmdName = cmdName.toLowerCase();
  _$jscoverage['plugins/source.js'][245]++;
  if (sourceMode) {
    _$jscoverage['plugins/source.js'][247]++;
    return ((cmdName in {"source": 1, "fullscreen": 1})? 1: -1);
  }
  _$jscoverage['plugins/source.js'][252]++;
  return oldQueryCommandState.apply(this, arguments);
});
  _$jscoverage['plugins/source.js'][255]++;
  if ((opt.sourceEditor == "codemirror")) {
    _$jscoverage['plugins/source.js'][257]++;
    me.addListener("ready", (function () {
  _$jscoverage['plugins/source.js'][258]++;
  utils.loadFile(document, {src: (opt.codeMirrorJsUrl || (opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.js")), tag: "script", type: "text/javascript", defer: "defer"}, (function () {
  _$jscoverage['plugins/source.js'][264]++;
  if (opt.sourceEditorFirst) {
    _$jscoverage['plugins/source.js'][265]++;
    setTimeout((function () {
  _$jscoverage['plugins/source.js'][266]++;
  me.execCommand("source");
}), 0);
  }
}));
  _$jscoverage['plugins/source.js'][270]++;
  utils.loadFile(document, {tag: "link", rel: "stylesheet", type: "text/css", href: (opt.codeMirrorCssUrl || (opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.css"))});
}));
  }
});
})();
