!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(D){D.extend(D.summernote.plugins,{specialchars:function(t){var p=this,m=D.summernote.ui,n=t.layoutInfo.editor,i=t.options,r=i.langInfo,h=38,g=40,v=37,b=39,y=13,q=15,k=0,w=0,C=0,x=0,e=[""","&","<",">","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","×","÷","ƒ","ˆ","˜","–","—","‘","’","‚","“","”","„","†","‡","•","…","‰","′","″","‹","›","‾","⁄","€","ℑ","℘","ℜ","™","ℵ","←","↑","→","↓","↔","↵","⇐","⇑","⇒","⇓","⇔","∀","∂","∃","∅","∇","∈","∉","∋","∏","∑","−","∗","√","∝","∞","∠","∧","∨","∩","∪","∫","∴","∼","≅","≈","≠","≡","≤","≥","⊂","⊃","⊄","⊆","⊇","⊕","⊗","⊥","⋅","⌈","⌉","⌊","⌋","◊","♠","♣","♥","♦"];t.memo("button.specialchars",function(){return m.button({contents:'',tooltip:r.specialChar.specialChar,click:function(){p.show()}}).render()}),this.makeSpecialCharSetTable=function(){var r=D("");return D.each(e,function(e,o){var t=D("
| ").addClass("note-specialchar-node"),n=e%q==0?D("
"):r.find("tr").last(),i=m.button({callback:function(e){e.html(o),e.attr("title",o),e.attr("data-value",encodeURIComponent(o)),e.css({width:35,"margin-right":"2px","margin-bottom":"2px"})}}).render();t.append(i),n.append(t),e%q==0&&r.append(n)}),x=r.find("tr").length,C=q,r},this.initialize=function(){var e=i.dialogsInBody?D(document.body):n,o=''+this.makeSpecialCharSetTable()[0].outerHTML+"
";this.$dialog=m.dialog({title:r.specialChar.select,body:o}).render().appendTo(e)},this.show=function(){var e=t.invoke("editor.getSelectedText");t.invoke("editor.saveRange"),this.showSpecialCharDialog(e).then(function(e){t.invoke("editor.restoreRange");var o=D("").html(e)[0];o&&t.invoke("editor.insertNode",o)}).fail(function(){t.invoke("editor.restoreRange")})},this.showSpecialCharDialog=function(f){return D.Deferred(function(t){var n=p.$dialog,a=n.find(".note-specialchar-node"),l=null,i=[h,g,v,b],r=y;function d(e){e&&(e.find("button").addClass("active"),l=e)}function u(e){e.find("button").removeClass("active"),l=null}function s(e){var o,t,n,i,r=a.length%C;v===e?1