var forwardTimeout, backwardTimeout;

$(document).ready(function() {

  if ($.cookie('recenttext')){
    $('#your-text').val($.cookie('recenttext'));
    var english = $('#your-text').val();
    $.cookie('recenttext', english, { expires: 365 });
    var fancytextguru = translate(english);
    $('#stylish-text').html(fancytextguru);
    $('#stylish-text-two').html(translateone(english));
    $('#stylish-text-three').html(translatetwo(english));
  }

    $('.container .your-text').on("input", function(e) {
        clearTimeout(forwardTimeout);
        forwardTimeout = setTimeout(function() {
            var english = $('#your-text').val();
            $.cookie('recenttext', english, { expires: 365 });
            var fancytextguru = translate(english);
            $('#stylish-text').html(fancytextguru);
            $('#stylish-text-two').html(translateone(english));
            $('#stylish-text-three').html(translatetwo(english));
        }, 200);
    });
});
var phrases1 = new Array();
var phrases2 = new Array();
var words1 = new Array();
var words2 = new Array();
var intraword1 = new Array();
var intraword2 = new Array();
var prefixes1 = new Array();
var prefixes2 = new Array();
var suffixes1 = new Array();
var suffixes2 = new Array();
var regex1 = new Array();
var regex2 = new Array();
var rev_regex1 = new Array();
var rev_regex2 = new Array();
var ordering1 = new Array();
var ordering2 = new Array();

function numRules() {
    return phrases1.length + phrases2.length + words1.length + words2.length + intraword1.length + intraword2.length + prefixes1.length + prefixes2.length + suffixes1.length + suffixes2.length + regex1.length + regex2.length + rev_regex1.length + rev_regex2.length + ordering1.length + ordering2.length;
}
var doneToken = "����}�";
var sentenceCount = 0;
var useWebWorker = false;

function translate(text, direction) {
    
    if (text == "") return "";
    var translatedText = "";
    if (!([].concat(phrases1, phrases2, words1, words2, intraword1, intraword2, prefixes1, prefixes2, suffixes1, suffixes2, regex1, regex2, rev_regex1, rev_regex2, ordering1, ordering2).join("").length === 0)) {
        sentenceCount = 0;
        sentenceArray = text.split(/(\.)/g);
        sentenceArray = sentenceArray.filter(function(s) {
            return s !== "";
        })
        
    } else {
        translatedText = text;
    }
    if (direction == "backward" && typeof backward === "function") {
        translatedText = backward(translatedText);
    } else if (typeof forward === "function") {
        translatedText = forward(translatedText);
    }
    return translatedText;
}
function translateone(text, direction) {
    
  if (text == "") return "";
  var translatedoneText = "";
  if (!([].concat(phrases1, phrases2, words1, words2, intraword1, intraword2, prefixes1, prefixes2, suffixes1, suffixes2, regex1, regex2, rev_regex1, rev_regex2, ordering1, ordering2).join("").length === 0)) {
      sentenceCount = 0;
      sentenceArray = text.split(/(\.)/g);
      sentenceArray = sentenceArray.filter(function(s) {
          return s !== "";
      })
      
  } else {
      translatedoneText = text;
  }
  if (direction == "backward" && typeof backward === "function") {
      translatedoneText = backward(translatedoneText);
  } else if (typeof forwardone === "function") {
      translatedoneText = forwardone(translatedoneText);
  }
  return translatedoneText;
}
function translatetwo(text, direction) {
    
  if (text == "") return "";
  var translatedtwoText = "";
  if (!([].concat(phrases1, phrases2, words1, words2, intraword1, intraword2, prefixes1, prefixes2, suffixes1, suffixes2, regex1, regex2, rev_regex1, rev_regex2, ordering1, ordering2).join("").length === 0)) {
      sentenceCount = 0;
      sentenceArray = text.split(/(\.)/g);
      sentenceArray = sentenceArray.filter(function(s) {
          return s !== "";
      })
      
  } else {
      translatedtwoText = text;
  }
  if (direction == "backward" && typeof backward === "function") {
      translatedtwoText = backward(translatedtwoText);
  } else if (typeof forwardthree === "function") {
      translatedtwoText = forwardthree(translatedtwoText);
  }
  return translatedtwoText;
}
var worker;
var workerStarted = false;
var waitingForTypingToFinish = false;
var translationInQueue = false;
var queuedTranslationDirection = false;
var translationInProgress = false;
var workerInitStarted = false;
var fancytextguruPlaceholderText = document.querySelector("#stylish-text").getAttribute("placeholder");
var englishPlaceholderText = document.querySelector("#your-text").getAttribute("placeholder");





            //try {
                var reverseIsDisabled = false;
                //<![CDATA[
                var luni = new Lunicode();
luni.tools.creepify.options.maxHeight = 10;

function backward(text) {
  return $("#your-text").val();
}



    function createMap(chars) {
      var alphanum = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
      var i = 0;
      var map = {};
      for(var c of chars) {
        map[ alphanum[i] ] = c;
        i++;
      }
      return JSON.stringify(map);
    }
    //createMap("𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡")

    

    function forward(text) {
      text = text.trim();
      if(text === "") {
        return "";
      }
      var finalText = "";

      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squaresCharMap, text) + ' </p></div>';

      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(oldEnglishCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.flip.encode(text) + ' </p></div>';

      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(medievalCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(invertedSquaresCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(wideTextCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.tiny.encode(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(cursiveCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.roundsquares.encode(text) + ' </p></div>';

      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+scriptify(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(doubleStruckCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.mirror.encode(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)" style="padding:50px 0">'+luni.tools.creepify.encode(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(subscriptCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(superscriptCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(bentTextCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(neonCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(futureAlienCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+strikeThrough(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+tildeStrikeThrough(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+slashThrough(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+underline(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+doubleUnderline(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.bubbles.encode(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggleCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggle2CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggle3CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggle4CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggle5CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(squiggle6CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(boldCharMap, text) + ' </p></div>';
      return finalText.trim();
    }
    
    function forwardone(text) {
      text = text.trim();
      if(text === "") {
        return "";
      }
      var finalText = "";
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+luni.tools.squares.encode(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(italicCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(boldItalicCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(monospaceCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(upperAnglesCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(greekCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(symbolsCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(currencyCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(asianStyleCharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+applyCharMap(asianStyle2CharMap, text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+thickBlockFramed(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+diametricAngleFrame(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+wavyJoiner(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+dottyJoiner(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+kirbyHug(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+littleSparkles(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+weirdBox(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+firework(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+stinky(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+heartsBetween(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+arrowBelow(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crossAboveBelow(text) + ' </p></div>';
      finalText += vaporwaveText(text);
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+"Wingdings: "+wingdings(text) + ' </p></div>';
      
      
      return finalText.trim();
    }
    function forwardthree(text) {
      text = text.trim();
      if(text === "") {
        return "";
      }
      var finalText = "";
      
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+cuteText(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+cuteText(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+cuteText(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+cuteText(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+cuteText(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+crazyWithFlourishOrSymbols(text) + ' </p></div>';
      finalText += '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+fullCrazy(text) + ' </p></div>';
    
      
      return finalText.trim();
    }

    function crazyWithFlourishOrSymbols(text) {
      if(Math.random() < 0.7) return wrapInSymbols(crazifyText(text), 2);
      else return wrapInFlourish(crazifyText(text), 2);
    }
    
    function strikeThrough(text) {
      return text.split("").join("&#822;")+"&#822;"; 
    }
    function tildeStrikeThrough(text) {
      return text.split("").join("&#820;")+"&#820;";
    }
    function underline(text) {
      return text.split("").join("&#818;")+"&#818;";
    }
    function doubleUnderline(text) {
      return text.split("").join("&#819;")+"&#819;";
    }
    function slashThrough(text) {
      return text.split("").join("&#823;")+"&#823;";
    }
    function stinky(text) {
      return text.split("").join("&#830;")+"&#830;"
    }
    function heartsBetween(text) {
      return text.split("").join("&#9829;");
    }
    function arrowBelow(text) {
      return text.split("").join("&#846;")+"&#846;";
    }
    function crossAboveBelow(text) {
      return text.split("").join("&#829;&#851;")+"&#829;&#851;";
    }
    
      const wingdingsCharMap =
 {"0":"📁&#65038;","1":"📂&#65038;","2":"📄&#65038;","3":"🗏&#65038;","4":"🗐&#65038;","5":"🗄&#65038;","6":"&#8987;&#65038;","7":"🖮&#65038;","8":"🖰&#65038;","9":"🖲&#65038;","!":"&#9999;&#65038;","\"":"&#9986;&#65038;","#":"&#9985;&#65038;","$":"👓&#65038;","%":"🕭&#65038;","&":"🕮&#65038;","'":"🕯&#65038;","(":"🕿&#65038;",")":"&#9990;&#65038;","*":"🖂&#65038;","+":"🖃&#65038;",",":"📪&#65038;","-":"📫&#65038;",".":"📬&#65038;","/":"📭&#65038;",":":"🖳&#65038;",";":"🖴&#65038;","<":"🖫&#65038;","=":"🖬&#65038;",">":"&#9991;&#65038;","?":"&#9997;&#65038;","A":"&#9996;&#65038;","B":"👌&#65038;","C":"👍&#65038;","D":"👎&#65038;","E":"&#9756;&#65038;","F":"&#9758;&#65038;","G":"&#9757;&#65038;","H":"&#9759;&#65038;","I":"&#9995;&#65038;","J":"&#9786;&#65038;","K":"😐&#65038;","L":"&#9785;&#65038;","M":"💣&#65038;","N":"&#9760;&#65038;","O":"&#9872;&#65038;","P":"🏱&#65038;","Q":"&#9992;&#65038;","R":"&#9788;&#65038;","S":"💧&#65038;","T":"&#10052;&#65038;","U":"🕆&#65038;","V":"&#10014;&#65038;","W":"🕈&#65038;","X":"&#10016;&#65038;","Y":"&#10017;&#65038;","Z":"&#9770;&#65038;","[":"&#9775;&#65038;","\\":"ॐ&#65038;","]":"&#9784;&#65038;","^":"&#9800;&#65038;","_":"&#9801;&#65038;","`":"&#9802;&#65038;","a":"&#9803;&#65038;","b":"&#9804;&#65038;","c":"&#9805;&#65038;","d":"&#9806;&#65038;","e":"&#9807;&#65038;","f":"&#9808;&#65038;","g":"&#9809;&#65038;","h":"&#9810;&#65038;","i":"&#9811;&#65038;","j":"🙰","k":"🙵","l":"&#9679;&#65038;","m":"&#10061;&#65038;","n":"&#9632;&#65038;","o":"&#9633;&#65038;","p":"&#9723;&#65038;","q":"&#10065;&#65038;","r":"&#10066;&#65038;","s":"&#11047;&#65038;","t":"&#10731;&#65038;","u":"&#9670;&#65038;","v":"&#10070;&#65038;","w":"&#11045;&#65038;","x":"&#8999;&#65038;","y":"&#9043;&#65038;","z":"&#8984;&#65038;","{":"&#10048;&#65038;","|":"&#10047;&#65038;","}":"&#10077;&#65038;","~":"&#10078;&#65038;"," ":"&#9647;&#65038;","&#8364;":"&#9450;&#65038;"," ":"&#9312;&#65038;","&#8218;":"&#9313;&#65038;","ƒ":"&#9314;&#65038;","&#8222;":"&#9315;&#65038;","&#8230;":"&#9316;&#65038;","&#8224;":"&#9317;&#65038;","&#8225;":"&#9318;&#65038;","ˆ":"&#9319;&#65038;","&#8240;":"&#9320;&#65038;","Š":"&#9321;&#65038;","&#8249;":"&#9471;&#65038;","Œ":"&#10102;&#65038;"," ":"&#10103;&#65038;","Ž":"&#10104;&#65038;"," ":"&#10105;&#65038;"," ":"&#10106;&#65038;","&#8216;":"&#10107;&#65038;","&#8217;":"&#10108;&#65038;","&#8220;":"&#10109;&#65038;","&#8221;":"&#10110;&#65038;","&#8226;":"&#10111;&#65038;","&#8211;":"&#9723;&#65038;","&#8212;":"&#9723;&#65038;","&#732;":"&#9723;&#65038;","&#8482;":"&#9723;&#65038;","š":"&#9723;&#65038;","&#8250;":"&#9723;&#65038;","œ":"&#9723;&#65038;"," ":"&#9723;&#65038;","ž":"&#183;&#65038;","Ÿ":"&#8226;&#65038;","&#161;":"&#9675;&#65038;","&#162;":"&#11093;&#65038;","&#163;":"&#9723;&#65038;","&#164;":"&#9673;&#65038;","&#165;":"&#9678;&#65038;","&#166;":"&#9723;&#65038;","&#167;":"&#9642;&#65038;","&#168;":"&#9723;&#65038;","&#169;":"&#9723;&#65038;","ª":"&#10022;&#65038;","&#171;":"&#9733;&#65038;","&#172;":"&#10038;&#65038;","&#174;":"&#10041;&#65038;","&#175;":"&#10037;&#65038;","&#176;":"&#9723;&#65038;","&#177;":"&#8982;&#65038;","&#178;":"&#10209;&#65038;","&#179;":"&#8977;&#65038;","&#180;":"&#9723;&#65038;","µ":"&#10026;&#65038;","&#182;":"&#10032;&#65038;","&#183;":"🕐&#65038;","&#184;":"🕑&#65038;","&#185;":"🕒&#65038;","º":"🕓&#65038;","&#187;":"🕔&#65038;","&#188;":"🕕&#65038;","&#189;":"🕖&#65038;","&#190;":"🕗&#65038;","&#191;":"🕘&#65038;","À":"🕙&#65038;","Á":"🕚&#65038;","Â":"🕛&#65038;","Ã":"&#9723;&#65038;","Ä":"&#9723;&#65038;","Å":"&#9723;&#65038;","Æ":"&#9723;&#65038;","Ç":"&#9723;&#65038;","È":"&#9723;&#65038;","É":"&#9723;&#65038;","Ê":"&#9723;&#65038;","Ë":"&#9723;&#65038;","Ì":"&#9723;&#65038;","Í":"&#9723;&#65038;","Î":"&#9723;&#65038;","Ï":"&#9723;&#65038;","Ð":"&#9723;&#65038;","Ñ":"&#9723;&#65038;","Ò":"&#9723;&#65038;","Ó":"&#9723;&#65038;","Ô":"&#9723;&#65038;","Õ":"&#9003;&#65038;","Ö":"&#8998;&#65038;","&#215;":"&#9723;&#65038;","Ø":"&#10146;&#65038;","Ù":"&#9723;&#65038;","Ú":"&#9723;&#65038;","Û":"&#9723;&#65038;","Ü":"&#10162;&#65038;","Ý":"&#9723;&#65038;","Þ":"&#9723;&#65038;","ß":"&#9723;&#65038;","à":"&#9723;&#65038;","á":"&#9723;&#65038;","â":"&#9723;&#65038;","ã":"&#9723;&#65038;","ä":"&#9723;&#65038;","å":"&#9723;&#65038;","æ":"&#9723;&#65038;","ç":"&#9723;&#65038;","è":"&#10132;&#65038;","é":"&#9723;&#65038;","ê":"&#9723;&#65038;","ë":"&#9723;&#65038;","ì":"&#9723;&#65038;","í":"&#9723;&#65038;","î":"&#9723;&#65038;","ï":"&#8678;&#65038;","ð":"&#8680;&#65038;","ñ":"&#8679;&#65038;","ò":"&#8681;&#65038;","ó":"&#11012;&#65038;","ô":"&#8691;&#65038;","õ":"&#11008;&#65038;","ö":"&#11009;&#65038;","&#247;":"&#11011;&#65038;","ø":"&#11010;&#65038;","ù":"&#9645;&#65038;","ú":"&#9643;&#65038;","û":"&#10007;&#65038;","ü":"&#10003;&#65038;","ý":"&#9746;&#65038;","þ":"&#9745;&#65038;","ÿ":"&#9723;&#65038;"};
    function wingdings(text) {
      return text.split("").map(function(a) {return wingdingsCharMap[a] ? wingdingsCharMap[a] : a}).join("");
    }
    
    const vaporwaveCharMap = {" ":"&#12288;", "`" : "`","1" : "1","2" : "2","3" : "3","4" : "4","5" : "5","6" : "6","7" : "7","8" : "8","9" : "9","0" : "0","-" : "&#65293;","=" : "&#65309;","~" : "~","!" : "&#65281;","@" : "&#65312;","#" : "&#65283;","$" : "&#65284;","%" : "&#65285;","^" : "^","&" : "&#65286;","*" : "&#65290;","(" : "&#65288;",")" : "&#65289;","_" : "_","+" : "&#65291;","q" : "q","w" : "w","e" : "e","r" : "r","t" : "t","y" : "y","u" : "u","i" : "i","o" : "o","p" : "p","[" : "[","]" : "]","\\" : "\\","Q" : "Q","W" : "W","E" : "E","R" : "R","T" : "T","Y" : "Y","U" : "U","I" : "I","O" : "O","P" : "P","{" : "{","}" : "}","|" : "|","a" : "a","s" : "s","d" : "d","f" : "f","g" : "g","h" : "h","j" : "j","k" : "k","l" : "l",";" : "&#65307;","'" : "&#65287;","A" : "A","S" : "S","D" : "D","F" : "F","G" : "G","H" : "H","J" : "J","K" : "K","L" : "L",":" : "&#65306;","\"" : "\"","z" : "z","x" : "x","c" : "c","v" : "v","b" : "b","n" : "n","m" : "m","," : "&#65292;","." : "&#65294;","/" : "&#65295;","Z" : "Z","X" : "X","C" : "C","V" : "V","B" : "B","N" : "N","M" : "M","<" : "<",">" : ">","?" : "&#65311;"};
    function vaporwaveText(text) {
      var numSpaces = text.split(" ").length;
      text = applyCharMap(vaporwaveCharMap, text);
      var asianChars = getAsianChars(Math.max(3, numSpaces));
      if(numSpaces > 6) asianChars = asianChars.split("").map(c => c+["",""][Math.round(Math.random()*0.6)]).join("");
      var outputs = [];
      outputs.push( '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+ text+'</p></div>');
      outputs.push( '<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+text.replace(/&#12288;/g, "&#9617;").replace(/ae/, "æ").replace(/A/g, "Λ").replace(/E/g, function() { return Math.random() > 0.5 ? "Ξ" : "Σ"; }).replace(/O/g, "&#9826;")+'</p></div>');
      outputs.push('<div class="yt-prakash"><p onclick="select_all_and_copy(this)">'+"&#12304;&#65279;"+text+"&#12305;"+'</p></div>');
      return outputs.join();
    }

    function getAsianChars(n) {
      if(!n) n = 1;
      var chars = "リサフランク現代のコンピュ竹内 まりや若者が履く流行のスニーカー真夜中のドアホットドッグマスターストライカーソニーブギ新しい日の誕生ライフ - ヒスイ蒸気波 無線&#12448;ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ&#12539;ーヽヾヿぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ&#12441;&#12442;&#12443;&#12444;ゝゞゟ亜哀挨愛曖悪握圧扱宛嵐安案暗以衣位囲医依委威為畏胃尉異移萎偉椅彙意違維慰遺緯域育壱逸茨芋引印因咽姻員院淫陰飲隠韻右宇羽雨唄鬱畝浦運雲永泳英映栄営詠影鋭衛易疫益液駅悦越謁閲円延沿炎怨宴媛援園煙猿遠鉛塩演縁艶汚王凹央応往押旺欧殴桜翁奥横岡屋億憶臆虞乙俺卸音恩温穏下化火加可仮何花佳価果河苛科";
      var str = "";
      for(var i = 0; i < n; i++) {
        str += chars[Math.floor(Math.random()*chars.length)];
      }
      return str;
    }
    
    
    const flourishArray = ["&#9733;&#183;.&#183;&#180;&#175;`&#183;.&#183;&#9733; [[text]] &#9733;&#183;.&#183;&#180;&#175;`&#183;.&#183;&#9733;", "&#9601; &#9602; &#9604; &#9605; &#9606; &#9607; &#9608; [[text]] &#9608; &#9607; &#9606; &#9605; &#9604; &#9602; &#9601;", "&#176;&#176;&#176;&#183;.&#176;&#183;..&#183;&#176;&#175;&#176;&#183;._.&#183; [[text]] &#183;._.&#183;&#176;&#175;&#176;&#183;.&#183;&#176; .&#183;&#176;&#176;&#176;", "&#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184;&#184;,ø&#164;º&#176; [[text]] &#176;º&#164;ø,&#184;&#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184;", "ıllıllı [[text]] ıllıllı", "&#8226;?((&#175;&#176;&#183;._.&#8226; [[text]] &#8226;._.&#183;&#176;&#175;))&#1567;&#8226;", "&#9612;&#9474;&#9608;&#9553;&#9612;&#9553;&#9612;&#9553; [[text]] &#9553;&#9612;&#9553;&#9612;&#9553;&#9608;&#9474;&#9612;", "&#215;º&#176;&#8221;&#732;`&#8221;&#176;º&#215; [[text]] &#215;º&#176;&#8221;&#732;`&#8221;&#176;º&#215;", "&#8226;]&#8226;&#8226;&#180;º&#180;&#8226;&#187; [[text]] &#171;&#8226;&#180;º&#180;&#8226;&#8226;[&#8226;", "*&#8226;.&#184;&#9825; [[text]] &#9825;&#184;.&#8226;*", "&#9584;&#9734;&#9734; [[text]] &#9734;&#9734;&#9582;", ".&#8226;&#176;&#164;*(&#175;`&#9733;&#180;&#175;)*&#164;&#176; [[text]] &#176;&#164;*(&#175;&#180;&#9733;`&#175;)*&#164;&#176;&#8226;.", "(&#175;&#180;&#8226;._.&#8226; [[text]] &#8226;._.&#8226;&#180;&#175;)", "&#184;&#8222;.-&#8226;~&#185;&#176;&#8221;ˆ&#732;&#168; [[text]] &#168;&#732;ˆ&#8221;&#176;&#185;~&#8226;-.&#8222;&#184;", "&#9617;&#9618;&#9619;&#9608; [[text]] &#9608;&#9619;&#9618;&#9617;", "&#9617;&#9618;&#9619;&#9608;&#9658;&#9472;&#9552;  [[text]] &#9552;&#9472;&#9668;&#9608;&#9619;&#9618;&#9617;", "&#9733;彡 [[text]] 彡&#9733;", "&#8226;&#180;&#175;`&#8226;. [[text]] .&#8226;&#180;&#175;`&#8226;", "&#167;.&#8226;&#180;&#168;'&#176;&#247;&#8226;..&#215; [[text]] &#215;,.&#8226;&#180;&#168;'&#176;&#247;&#8226;..&#167;", "&#8226;&#176;&#175;`&#8226;&#8226; [[text]] &#8226;&#8226;&#180;&#175;&#176;&#8226;", "(&#175;`*&#8226;.&#184;,&#164;&#176;&#180;&#10047;.&#65377;.:* [[text]] *.:&#65377;.&#10047;`&#176;&#164;,&#184;.&#8226;*&#180;&#175;)", "|!&#164;*'~``~'*&#164;!| [[text]] |!&#164;*'~``~'*&#164;!|", "&#8226;._.&#8226;&#8226;&#180;&#175;``&#8226;.&#184;&#184;.&#8226;` [[text]] `&#8226;.&#184;&#184;.&#8226;&#180;&#180;&#175;`&#8226;&#8226;._.&#8226;", "&#184;&#8222;.-&#8226;~&#185;&#176;&#8221;ˆ&#732;&#168; [[text]] &#168;&#732;ˆ&#8221;&#176;&#185;~&#8226;-.&#8222;&#184;", "(&#175;&#180;&#8226;._.&#8226; [[text]] &#8226;._.&#8226;&#180;&#175;)", "&#8226;&#8226;&#164;(`&#215;[&#164; [[text]] &#164;]&#215;&#180;)&#164;&#8226;&#8226;", "&#8226;&#180;&#175;`&#8226;&#187; [[text]] &#171;&#8226;&#180;&#175;`&#8226;", " .o0&#215;X&#215;0o. [[text]] .o0&#215;X&#215;0o.", "&#164;&#184;&#184;.&#8226;&#180;&#175;`&#8226;&#184;&#184;.&#8226;..>> [[text]] <<..&#8226;.&#184;&#184;&#8226;&#180;&#175;`&#8226;.&#184;&#184;&#164;", "&#8212;(&#8226;&#8226;&#247;[ [[text]] ]&#247;&#8226;&#8226;)&#8212;", "&#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184; [[text]] &#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184;", "`&#8226;.&#184;&#184;.&#8226;&#180;&#180;&#175;`&#8226;&#8226;._.&#8226; [[text]] &#8226;._.&#8226;&#8226;`&#175;&#180;&#180;&#8226;.&#184;&#184;.&#8226;`", ",-*' ^ '~*-.,_,.-*~ [[text]] ~*-.,_,.-*~' ^ '*-,", "`&#8226;.,&#184;&#184;,.&#8226;&#180;&#175; [[text]] &#175;`&#8226;.,&#184;&#184;,.&#8226;&#180;", "&#8612;&#8612;&#8612;&#8612;&#8612; [[text]] &#8614;&#8614;&#8614;&#8614;&#8614;", "&#10166;&#10166;&#10166;&#10166;&#10166; [[text]] &#10167;&#10167;&#10167;&#10167;&#10167;", "&#8619;&#8619;&#8619;&#8619;&#8619; [[text]] &#8620;&#8620;&#8620;&#8620;&#8620;", "&#183;.&#184;&#184;.&#183;&#9833;&#9834;&#9835; [[text]] &#9835;&#9834;&#9833;&#183;.&#184;&#184;.&#183;", "&#12304;&#65377;_&#65377;&#12305; [[text]] &#12304;&#65377;_&#65377;&#12305;", "]|I{&#8226;------&#187; [[text]] &#171;------&#8226;}I|[", "&#9600;&#9604;&#9600;&#9604;&#9600;&#9604; [[text]] &#9604;&#9600;&#9604;&#9600;&#9604;&#9600;", "(-_-) [[text]] (-_-)", "&#8226;&#180;&#175;`&#8226;. [[text]] .&#8226;&#180;&#175;`&#8226;", "-漫~*'&#168;&#175;&#168;'*&#183;舞~ [[text]] ~舞*'&#168;&#175;&#168;'*&#183;~漫-", "๑&#1758;๑,&#184;&#184;,ø&#164;º&#176;`&#176;๑&#1769; [[text]] ๑&#1769; ,&#184;&#184;,ø&#164;º&#176;`&#176;๑&#1758;๑", ".&#8226;&#176;&#164;*(&#175;`&#9733;&#180;&#175;)*&#164;&#176; [[text]] &#176;&#164;*(&#175;&#180;&#9733;`&#175;)*&#164;&#176;&#8226;.", "&#8226;&#8226;.&#8226;&#180;&#175;`&#8226;.&#8226;&#8226; [[text]] &#8226;&#8226;.&#8226;&#180;&#175;`&#8226;.&#8226;&#8226;", "&#164;&#184;&#184;.&#8226;&#180;&#175;`&#8226;&#184;&#184;.&#8226;..>> [[text]] <<..&#8226;.&#184;&#184;&#8226;&#180;&#175;`&#8226;.&#184;&#184;&#164;", "&#9702;&#8226;&#9679;&#9673;&#10047; [[text]] &#10047;&#9673;&#9679;&#8226;&#9702;", "&#9562;&#187;&#9733;&#171;&#9565; [[text]] &#9562;&#187;&#9733;&#171;&#9565;", "-&#183;=&#187;&#8225;&#171;=&#183;- [[text]] -&#183;=&#187;&#8225;&#171;=&#183;-", "&#8729;&#8729;&#183;&#9643;&#9643;ᵒᴼᵒ&#9643;ₒₒ&#9643;ᵒᴼᵒ&#9643;ₒₒ&#9643;ᵒᴼᵒ [[text]] ᵒᴼᵒ&#9643;ₒₒ&#9643;ᵒᴼᵒ&#9643;ₒₒ&#9643;ᵒᴼᵒ&#9643;&#9643;&#183;&#8729;&#8729;", "&#184;&#184;&#9836;&#183;&#175;&#183;&#9833;&#184;&#184;&#9834;&#183;&#175;&#183;&#9835;&#184;&#184; [[text]] &#184;&#184;&#9835;&#183;&#175;&#183;&#9834;&#184;&#184;&#9833;&#183;&#175;&#183;&#9836;&#184;&#184;", "ஜ&#1769;&#1758;&#1769;ஜ [[text]] ஜ&#1769;&#1758;&#1769;ஜ", "&#164; (&#175;&#180;&#9734;&#10029;.&#184;_)&#164; [[text]] &#164;(_&#184;.&#10029;&#9734;&#180;&#175;) &#164;", "(&#175;`&#183;.&#184;&#184;.&#183;&#180;&#175;`&#183;.&#184;&#184;.-> [[text]] <-.&#184;&#184;.&#183;&#180;&#175;`&#183;.&#184;&#184;.&#183;&#180;&#175;)", "&#10047;.&#65377;.:* &#9734;:**:. [[text]] .:**:.&#9734;*.:&#65377;.&#10047;", ".&#8226;&#9835;&#8226;&#9836;&#8226; [[text]] &#8226;&#9836;&#8226;&#9835;&#8226;.", "ღ(&#175;`&#9685;&#8255;&#9685;&#180;&#175;) &#9835; &#9834; &#9835; [[text]] &#9835; &#9834; &#9835; (&#175;`&#9685;&#8255;&#9685;&#180;&#175;)ღ", "&#171;-(&#175;`v&#180;&#175;)-&#171; [[text]] &#187;-(&#175;`v&#180;&#175;)-&#187;"];
    function wrapInFlourish(text) {
      return flourishArray[Math.floor(Math.random()*flourishArray.length)].replace("[[text]]", text);
    }
    
    function wrapInSymbols(text, number) {
      return randomSymbols(number) +"  "+ text +"  "+ randomSymbols(number)
    }



    function firework(text) {
      return text.split("").join("&#1161;")+ "&#1161;";
    }




    function weirdBox(text) {
      return text.replace(/([^\s])/g,"[&#773;&#818;$1]");
    }




    function littleSparkles(text) {
      return "&#732;&#8221;*&#176;&#8226;.&#732;&#8221;*&#176;&#8226; "+text+" &#8226;&#176;*&#8221;&#732;.&#8226;&#176;*&#8221;&#732;";
    }




    function kirbyHug(text) {
      return "(っ&#9684;&#9697;&#9684;)っ &#9829; " + text + " &#9829;"
    }




    function dottyJoiner(text) {
      return "&#9617;" + text.split("").join("&#9617;") + "&#9617;";
    }




    function wavyJoiner(text) {
      return "&#8779;" + text.split("").join("&#8779;") + "&#8779;";
    }




    function diametricAngleFrame(text) {
      return text.replace(/([^\s])/g,"&#12302;$1&#12303;");
    }




    function thickBlockFramed(text) {
      return text.replace(/([^\s])/g,"&#12304;$1&#12305;");
    }
    
    function applyCharMap(map, text) {
      let out = "";
       for(let c of text.split("")) {
         if(map[c] !== undefined) out += map[c];
         else if(map[c.toLowerCase()] !== undefined) out += map[c.toLowerCase()];
         else out += c;
       }
      return out;
    }
     
    
    /* eslint-disable */
    const futureAlienCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ᗩ","b":"ᗷ","c":"ᑢ","d":"ᕲ","e":"ᘿ","f":"ᖴ","g":"ᘜ","h":"ᕼ","i":"ᓰ","j":"ᒚ","k":"ᖽᐸ","l":"ᒪ","m":"ᘻ","n":"ᘉ","o":"ᓍ","p":"ᕵ","q":"ᕴ","r":"ᖇ","s":"S","t":"ᖶ","u":"ᑘ","v":"ᐺ","w":"ᘺ","x":"&#5741;","y":"ᖻ","z":"ᗱ","A":"ᗩ","B":"ᗷ","C":"ᑢ","D":"ᕲ","E":"ᘿ","F":"ᖴ","G":"ᘜ","H":"ᕼ","I":"ᓰ","J":"ᒚ","K":"ᖽᐸ","L":"ᒪ","M":"ᘻ","N":"ᘉ","O":"ᓍ","P":"ᕵ","Q":"ᕴ","R":"ᖇ","S":"S","T":"ᖶ","U":"ᑘ","V":"ᐺ","W":"ᘺ","X":"&#5741;","Y":"ᖻ","Z":"ᗱ"};
    const squiggle6CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ค","b":"๖","c":"&#162;","d":"໓","e":"ē","f":"f","g":"ງ","h":"h","i":"i","j":"ว","k":"k","l":"l","m":"๓","n":"ຖ","o":"໐","p":"p","q":"๑","r":"r","s":"Ş","t":"t","u":"น","v":"ง","w":"ຟ","x":"x","y":"ฯ","z":"ຊ","A":"ค","B":"๖","C":"&#162;","D":"໓","E":"ē","F":"f","G":"ງ","H":"h","I":"i","J":"ว","K":"k","L":"l","M":"๓","N":"ຖ","O":"໐","P":"p","Q":"๑","R":"r","S":"Ş","T":"t","U":"น","V":"ง","W":"ຟ","X":"x","Y":"ฯ","Z":"ຊ"};
    const squiggle5CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ą","b":"ც","c":"ƈ","d":"ɖ","e":"ɛ","f":"ʄ","g":"ɠ","h":"ɧ","i":"ı","j":"ʝ","k":"ƙ","l":"Ɩ","m":"ɱ","n":"ŋ","o":"ơ","p":"&#8472;","q":"զ","r":"ཞ","s":"ʂ","t":"ɬ","u":"ų","v":"۷","w":"ῳ","x":"ҳ","y":"ყ","z":"ʑ","A":"ą","B":"ც","C":"ƈ","D":"ɖ","E":"ɛ","F":"ʄ","G":"ɠ","H":"ɧ","I":"ı","J":"ʝ","K":"ƙ","L":"Ɩ","M":"ɱ","N":"ŋ","O":"ơ","P":"&#8472;","Q":"զ","R":"ཞ","S":"ʂ","T":"ɬ","U":"ų","V":"۷","W":"ῳ","X":"ҳ","Y":"ყ","Z":"ʑ"};
    const asianStyle2CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ム","b":"乃","c":"ᄃ","d":"り","e":"乇","f":"キ","g":"ム","h":"ん","i":"ノ","j":"フ","k":"ズ","l":"レ","m":"ᄊ","n":"刀","o":"の","p":"ア","q":"ゐ","r":"尺","s":"丂","t":"イ","u":"ひ","v":"&#8730;","w":"W","x":"メ","y":"リ","z":"乙","A":"ム","B":"乃","C":"ᄃ","D":"り","E":"乇","F":"キ","G":"ム","H":"ん","I":"ノ","J":"フ","K":"ズ","L":"レ","M":"ᄊ","N":"刀","O":"の","P":"ア","Q":"ゐ","R":"尺","S":"丂","T":"イ","U":"ひ","V":"&#8730;","W":"W","X":"メ","Y":"リ","Z":"乙"};
    const asianStyleCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"卂","b":"乃","c":"匚","d":"ᗪ","e":"乇","f":"千","g":"Ꮆ","h":"卄","i":"丨","j":"フ","k":"Ҝ","l":"ㄥ","m":"爪","n":"几","o":"ㄖ","p":"卩","q":"Ɋ","r":"尺","s":"丂","t":"ㄒ","u":"ㄩ","v":"ᐯ","w":"山","x":"乂","y":"ㄚ","z":"乙","A":"卂","B":"乃","C":"匚","D":"ᗪ","E":"乇","F":"千","G":"Ꮆ","H":"卄","I":"丨","J":"フ","K":"Ҝ","L":"ㄥ","M":"爪","N":"几","O":"ㄖ","P":"卩","Q":"Ɋ","R":"尺","S":"丂","T":"ㄒ","U":"ㄩ","V":"ᐯ","W":"山","X":"乂","Y":"ㄚ","Z":"乙"};
    const squaresCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"🄰","b":"🄱","c":"🄲","d":"🄳","e":"🄴","f":"🄵","g":"🄶","h":"🄷","i":"🄸","j":"🄹","k":"🄺","l":"🄻","m":"🄼","n":"🄽","o":"🄾","p":"🄿","q":"🅀","r":"🅁","s":"🅂","t":"🅃","u":"🅄","v":"🅅","w":"🅆","x":"🅇","y":"🅈","z":"🅉","A":"🄰","B":"🄱","C":"🄲","D":"🄳","E":"🄴","F":"🄵","G":"🄶","H":"🄷","I":"🄸","J":"🄹","K":"🄺","L":"🄻","M":"🄼","N":"🄽","O":"🄾","P":"🄿","Q":"🅀","R":"🅁","S":"🅂","T":"🅃","U":"🅄","V":"🅅","W":"🅆","X":"🅇","Y":"🅈","Z":"🅉"};
    const squiggle4CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"Ꮧ","b":"Ᏸ","c":"ፈ","d":"Ꮄ","e":"Ꮛ","f":"Ꭶ","g":"Ꮆ","h":"Ꮒ","i":"Ꭵ","j":"Ꮰ","k":"Ꮶ","l":"Ꮭ","m":"Ꮇ","n":"Ꮑ","o":"Ꭷ","p":"Ꭾ","q":"Ꭴ","r":"Ꮢ","s":"Ꮥ","t":"Ꮦ","u":"Ꮼ","v":"Ꮙ","w":"Ꮗ","x":"ጀ","y":"Ꭹ","z":"ፚ","A":"Ꮧ","B":"Ᏸ","C":"ፈ","D":"Ꮄ","E":"Ꮛ","F":"Ꭶ","G":"Ꮆ","H":"Ꮒ","I":"Ꭵ","J":"Ꮰ","K":"Ꮶ","L":"Ꮭ","M":"Ꮇ","N":"Ꮑ","O":"Ꭷ","P":"Ꭾ","Q":"Ꭴ","R":"Ꮢ","S":"Ꮥ","T":"Ꮦ","U":"Ꮼ","V":"Ꮙ","W":"Ꮗ","X":"ጀ","Y":"Ꭹ","Z":"ፚ"};
    const neonCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ᗩ","b":"ᗷ","c":"ᑕ","d":"ᗪ","e":"E","f":"ᖴ","g":"G","h":"ᕼ","i":"I","j":"ᒍ","k":"K","l":"ᒪ","m":"ᗰ","n":"ᑎ","o":"O","p":"ᑭ","q":"ᑫ","r":"ᖇ","s":"ᔕ","t":"T","u":"ᑌ","v":"ᐯ","w":"ᗯ","x":"&#5741;","y":"Y","z":"ᘔ","A":"ᗩ","B":"ᗷ","C":"ᑕ","D":"ᗪ","E":"E","F":"ᖴ","G":"G","H":"ᕼ","I":"I","J":"ᒍ","K":"K","L":"ᒪ","M":"ᗰ","N":"ᑎ","O":"O","P":"ᑭ","Q":"ᑫ","R":"ᖇ","S":"ᔕ","T":"T","U":"ᑌ","V":"ᐯ","W":"ᗯ","X":"&#5741;","Y":"Y","Z":"ᘔ"};
    const squiggle3CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ǟ","b":"ɮ","c":"ƈ","d":"ɖ","e":"ɛ","f":"ʄ","g":"ɢ","h":"ɦ","i":"ɨ","j":"ʝ","k":"ӄ","l":"ʟ","m":"ʍ","n":"ռ","o":"օ","p":"ք","q":"զ","r":"ʀ","s":"ֆ","t":"ȶ","u":"ʊ","v":"ʋ","w":"ա","x":"Ӽ","y":"ʏ","z":"ʐ","A":"ǟ","B":"ɮ","C":"ƈ","D":"ɖ","E":"ɛ","F":"ʄ","G":"ɢ","H":"ɦ","I":"ɨ","J":"ʝ","K":"ӄ","L":"ʟ","M":"ʍ","N":"ռ","O":"օ","P":"ք","Q":"զ","R":"ʀ","S":"ֆ","T":"ȶ","U":"ʊ","V":"ʋ","W":"ա","X":"Ӽ","Y":"ʏ","Z":"ʐ"};
    const monospaceCharMap = {"0":"𝟶","1":"𝟷","2":"𝟸","3":"𝟹","4":"𝟺","5":"𝟻","6":"𝟼","7":"𝟽","8":"𝟾","9":"𝟿","a":"𝚊","b":"𝚋","c":"𝚌","d":"𝚍","e":"𝚎","f":"𝚏","g":"𝚐","h":"𝚑","i":"𝚒","j":"𝚓","k":"𝚔","l":"𝚕","m":"𝚖","n":"𝚗","o":"𝚘","p":"𝚙","q":"𝚚","r":"𝚛","s":"𝚜","t":"𝚝","u":"𝚞","v":"𝚟","w":"𝚠","x":"𝚡","y":"𝚢","z":"𝚣","A":"𝙰","B":"𝙱","C":"𝙲","D":"𝙳","E":"𝙴","F":"𝙵","G":"𝙶","H":"𝙷","I":"𝙸","J":"𝙹","K":"𝙺","L":"𝙻","M":"𝙼","N":"𝙽","O":"𝙾","P":"𝙿","Q":"𝚀","R":"𝚁","S":"𝚂","T":"𝚃","U":"𝚄","V":"𝚅","W":"𝚆","X":"𝚇","Y":"𝚈","Z":"𝚉"};
    const boldItalicCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"𝙖","b":"𝙗","c":"𝙘","d":"𝙙","e":"𝙚","f":"𝙛","g":"𝙜","h":"𝙝","i":"𝙞","j":"𝙟","k":"𝙠","l":"𝙡","m":"𝙢","n":"𝙣","o":"𝙤","p":"𝙥","q":"𝙦","r":"𝙧","s":"𝙨","t":"𝙩","u":"𝙪","v":"𝙫","w":"𝙬","x":"𝙭","y":"𝙮","z":"𝙯","A":"𝘼","B":"𝘽","C":"𝘾","D":"𝘿","E":"𝙀","F":"𝙁","G":"𝙂","H":"𝙃","I":"𝙄","J":"𝙅","K":"𝙆","L":"𝙇","M":"𝙈","N":"𝙉","O":"𝙊","P":"𝙋","Q":"𝙌","R":"𝙍","S":"𝙎","T":"𝙏","U":"𝙐","V":"𝙑","W":"𝙒","X":"𝙓","Y":"𝙔","Z":"𝙕"};
    const boldCharMap = {"0":"𝟎","1":"𝟏","2":"𝟐","3":"𝟑","4":"𝟒","5":"𝟓","6":"𝟔","7":"𝟕","8":"𝟖","9":"𝟗","a":"𝐚","b":"𝐛","c":"𝐜","d":"𝐝","e":"𝐞","f":"𝐟","g":"𝐠","h":"𝐡","i":"𝐢","j":"𝐣","k":"𝐤","l":"𝐥","m":"𝐦","n":"𝐧","o":"𝐨","p":"𝐩","q":"𝐪","r":"𝐫","s":"𝐬","t":"𝐭","u":"𝐮","v":"𝐯","w":"𝐰","x":"𝐱","y":"𝐲","z":"𝐳","A":"𝐀","B":"𝐁","C":"𝐂","D":"𝐃","E":"𝐄","F":"𝐅","G":"𝐆","H":"𝐇","I":"𝐈","J":"𝐉","K":"𝐊","L":"𝐋","M":"𝐌","N":"𝐍","O":"𝐎","P":"𝐏","Q":"𝐐","R":"𝐑","S":"𝐒","T":"𝐓","U":"𝐔","V":"𝐕","W":"𝐖","X":"𝐗","Y":"𝐘","Z":"𝐙"};
    const italicCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"𝘢","b":"𝘣","c":"𝘤","d":"𝘥","e":"𝘦","f":"𝘧","g":"𝘨","h":"𝘩","i":"𝘪","j":"𝘫","k":"𝘬","l":"𝘭","m":"𝘮","n":"𝘯","o":"𝘰","p":"𝘱","q":"𝘲","r":"𝘳","s":"𝘴","t":"𝘵","u":"𝘶","v":"𝘷","w":"𝘸","x":"𝘹","y":"𝘺","z":"𝘻","A":"𝘈","B":"𝘉","C":"𝘊","D":"𝘋","E":"𝘌","F":"𝘍","G":"𝘎","H":"𝘏","I":"𝘐","J":"𝘑","K":"𝘒","L":"𝘓","M":"𝘔","N":"𝘕","O":"𝘖","P":"𝘗","Q":"𝘘","R":"𝘙","S":"𝘚","T":"𝘛","U":"𝘜","V":"𝘝","W":"𝘞","X":"𝘟","Y":"𝘠","Z":"𝘡"};
    const squiggle2CharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"α","b":"Ⴆ","c":"ƈ","d":"ԃ","e":"ҽ","f":"ϝ","g":"ɠ","h":"ԋ","i":"ι","j":"ʝ","k":"ƙ","l":"ʅ","m":"ɱ","n":"ɳ","o":"σ","p":"ρ","q":"ϙ","r":"ɾ","s":"ʂ","t":"ƚ","u":"υ","v":"ʋ","w":"ɯ","x":"x","y":"ყ","z":"ȥ","A":"A","B":"B","C":"C","D":"D","E":"E","F":"F","G":"G","H":"H","I":"I","J":"J","K":"K","L":"L","M":"M","N":"N","O":"O","P":"P","Q":"Q","R":"R","S":"S","T":"T","U":"U","V":"V","W":"W","X":"X","Y":"Y","Z":"Z"};
    const currencyCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"&#8371;","b":"&#3647;","c":"&#8373;","d":"Đ","e":"Ɇ","f":"&#8355;","g":"&#8370;","h":"Ⱨ","i":"ł","j":"J","k":"&#8365;","l":"Ⱡ","m":"&#8357;","n":"&#8358;","o":"Ø","p":"&#8369;","q":"Q","r":"Ɽ","s":"&#8372;","t":"&#8366;","u":"Ʉ","v":"V","w":"&#8361;","x":"Ӿ","y":"Ɏ","z":"Ⱬ","A":"&#8371;","B":"&#3647;","C":"&#8373;","D":"Đ","E":"Ɇ","F":"&#8355;","G":"&#8370;","H":"Ⱨ","I":"ł","J":"J","K":"&#8365;","L":"Ⱡ","M":"&#8357;","N":"&#8358;","O":"Ø","P":"&#8369;","Q":"Q","R":"Ɽ","S":"&#8372;","T":"&#8366;","U":"Ʉ","V":"V","W":"&#8361;","X":"Ӿ","Y":"Ɏ","Z":"Ⱬ"};
    const symbolsCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"å","b":"ß","c":"&#162;","d":"Ð","e":"ê","f":"&#163;","g":"g","h":"h","i":"ï","j":"j","k":"k","l":"l","m":"m","n":"ñ","o":"ð","p":"þ","q":"q","r":"r","s":"&#167;","t":"&#8224;","u":"µ","v":"v","w":"w","x":"x","y":"&#165;","z":"z","A":"Ä","B":"ß","C":"Ç","D":"Ð","E":"È","F":"&#163;","G":"G","H":"H","I":"Ì","J":"J","K":"K","L":"L","M":"M","N":"ñ","O":"Ö","P":"þ","Q":"Q","R":"R","S":"&#167;","T":"&#8224;","U":"Ú","V":"V","W":"W","X":"&#215;","Y":"&#165;","Z":"Z"};
    const greekCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"α","b":"в","c":"&#162;","d":"&#8706;","e":"є","f":"ƒ","g":"g","h":"н","i":"ι","j":"נ","k":"к","l":"ℓ","m":"м","n":"η","o":"σ","p":"ρ","q":"q","r":"я","s":"ѕ","t":"т","u":"υ","v":"ν","w":"ω","x":"χ","y":"у","z":"z","A":"α","B":"в","C":"&#162;","D":"&#8706;","E":"є","F":"ƒ","G":"g","H":"н","I":"ι","J":"נ","K":"к","L":"ℓ","M":"м","N":"η","O":"σ","P":"ρ","Q":"q","R":"я","S":"ѕ","T":"т","U":"υ","V":"ν","W":"ω","X":"χ","Y":"у","Z":"z"};
    const bentTextCharMap = {"0":"&#8856;","1":"𝟙","2":"ϩ","3":"Ӡ","4":"५","5":"Ƽ","6":"Ϭ","7":"7","8":"𝟠","9":"९","a":"ą","b":"ҍ","c":"ç","d":"ժ","e":"ҽ","f":"ƒ","g":"ց","h":"հ","i":"ì","j":"ʝ","k":"ҟ","l":"Ӏ","m":"ʍ","n":"ղ","o":"օ","p":"ք","q":"զ","r":"ɾ","s":"ʂ","t":"է","u":"մ","v":"ѵ","w":"ա","x":"&#215;","y":"վ","z":"Հ","A":"Ⱥ","B":"β","C":"&#8635;","D":"Ꭰ","E":"Ɛ","F":"Ƒ","G":"Ɠ","H":"Ƕ","I":"į","J":"ل","K":"Ҡ","L":"Ꝉ","M":"Ɱ","N":"ហ","O":"ට","P":"φ","Q":"Ҩ","R":"འ","S":"Ϛ","T":"Ͳ","U":"Ա","V":"Ỽ","W":"చ","X":"ჯ","Y":"Ӌ","Z":"ɀ"};
    const upperAnglesCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"Λ","b":"B","c":"ᄃ","d":"D","e":"Σ","f":"F","g":"G","h":"Ή","i":"I","j":"J","k":"K","l":"ᄂ","m":"M","n":"П","o":"Ө","p":"P","q":"Q","r":"Я","s":"Ƨ","t":"Ƭ","u":"Ц","v":"V","w":"Щ","x":"X","y":"Y","z":"Z","A":"Λ","B":"B","C":"ᄃ","D":"D","E":"Σ","F":"F","G":"G","H":"Ή","I":"I","J":"J","K":"K","L":"ᄂ","M":"M","N":"П","O":"Ө","P":"P","Q":"Q","R":"Я","S":"Ƨ","T":"Ƭ","U":"Ц","V":"V","W":"Щ","X":"X","Y":"Y","Z":"Z"};
    const subscriptCharMap = {"0":"&#8320;","1":"&#8321;","2":"&#8322;","3":"&#8323;","4":"&#8324;","5":"&#8325;","6":"&#8326;","7":"&#8327;","8":"&#8328;","9":"&#8329;","a":"ₐ","b":"b","c":"c","d":"d","e":"ₑ","f":"f","g":"g","h":"ₕ","i":"ᵢ","j":"ⱼ","k":"ₖ","l":"ₗ","m":"ₘ","n":"ₙ","o":"ₒ","p":"ₚ","q":"q","r":"ᵣ","s":"ₛ","t":"ₜ","u":"ᵤ","v":"ᵥ","w":"w","x":"ₓ","y":"y","z":"z","A":"ₐ","B":"B","C":"C","D":"D","E":"ₑ","F":"F","G":"G","H":"ₕ","I":"ᵢ","J":"ⱼ","K":"ₖ","L":"ₗ","M":"ₘ","N":"ₙ","O":"ₒ","P":"ₚ","Q":"Q","R":"ᵣ","S":"ₛ","T":"ₜ","U":"ᵤ","V":"ᵥ","W":"W","X":"ₓ","Y":"Y","Z":"Z","+":"&#8330;","-":"&#8331;","=":"&#8332;","(":"&#8333;",")":"&#8334;"};
    const superscriptCharMap = {"0":"&#8304;","1":"&#185;","2":"&#178;","3":"&#179;","4":"&#8308;","5":"&#8309;","6":"&#8310;","7":"&#8311;","8":"&#8312;","9":"&#8313;","a":"ᵃ","b":"ᵇ","c":"ᶜ","d":"ᵈ","e":"ᵉ","f":"ᶠ","g":"ᵍ","h":"ʰ","i":"ⁱ","j":"ʲ","k":"ᵏ","l":"ˡ","m":"ᵐ","n":"ⁿ","o":"ᵒ","p":"ᵖ","q":"q","r":"ʳ","s":"ˢ","t":"ᵗ","u":"ᵘ","v":"ᵛ","w":"ʷ","x":"ˣ","y":"ʸ","z":"ᶻ","A":"ᴬ","B":"ᴮ","C":"ᶜ","D":"ᴰ","E":"ᴱ","F":"ᶠ","G":"ᴳ","H":"ᴴ","I":"ᴵ","J":"ᴶ","K":"ᴷ","L":"ᴸ","M":"ᴹ","N":"ᴺ","O":"ᴼ","P":"ᴾ","Q":"Q","R":"ᴿ","S":"ˢ","T":"ᵀ","U":"ᵁ","V":"ⱽ","W":"ᵂ","X":"ˣ","Y":"ʸ","Z":"ᶻ","+":"&#8314;","-":"&#8315;","=":"&#8316;","(":"&#8317;",")":"&#8318;"};
    const squiggleCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"ค","b":"๒","c":"ς","d":"๔","e":"є","f":"Ŧ","g":"ﻮ","h":"ђ","i":"เ","j":"ן","k":"к","l":"ɭ","m":"๓","n":"ภ","o":"&#3663;","p":"ק","q":"ợ","r":"г","s":"ร","t":"Շ","u":"ย","v":"ש","w":"ฬ","x":"א","y":"ץ","z":"չ","A":"ค","B":"๒","C":"ς","D":"๔","E":"є","F":"Ŧ","G":"ﻮ","H":"ђ","I":"เ","J":"ן","K":"к","L":"ɭ","M":"๓","N":"ภ","O":"&#3663;","P":"ק","Q":"ợ","R":"г","S":"ร","T":"Շ","U":"ย","V":"ש","W":"ฬ","X":"א","Y":"ץ","Z":"չ"};
    const doubleStruckCharMap = {"0":"𝟘","1":"𝟙","2":"𝟚","3":"𝟛","4":"𝟜","5":"𝟝","6":"𝟞","7":"𝟟","8":"𝟠","9":"𝟡","a":"𝕒","b":"𝕓","c":"𝕔","d":"𝕕","e":"𝕖","f":"𝕗","g":"𝕘","h":"𝕙","i":"𝕚","j":"𝕛","k":"𝕜","l":"𝕝","m":"𝕞","n":"𝕟","o":"𝕠","p":"𝕡","q":"𝕢","r":"𝕣","s":"𝕤","t":"𝕥","u":"𝕦","v":"𝕧","w":"𝕨","x":"𝕩","y":"𝕪","z":"𝕫","A":"𝔸","B":"𝔹","C":"ℂ","D":"𝔻","E":"𝔼","F":"𝔽","G":"𝔾","H":"ℍ","I":"𝕀","J":"𝕁","K":"𝕂","L":"𝕃","M":"𝕄","N":"ℕ","O":"𝕆","P":"ℙ","Q":"ℚ","R":"ℝ","S":"𝕊","T":"𝕋","U":"𝕌","V":"𝕍","W":"𝕎","X":"𝕏","Y":"𝕐","Z":"ℤ"};
    const medievalCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"𝖆","b":"𝖇","c":"𝖈","d":"𝖉","e":"𝖊","f":"𝖋","g":"𝖌","h":"𝖍","i":"𝖎","j":"𝖏","k":"𝖐","l":"𝖑","m":"𝖒","n":"𝖓","o":"𝖔","p":"𝖕","q":"𝖖","r":"𝖗","s":"𝖘","t":"𝖙","u":"𝖚","v":"𝖛","w":"𝖜","x":"𝖝","y":"𝖞","z":"𝖟","A":"𝕬","B":"𝕭","C":"𝕮","D":"𝕯","E":"𝕰","F":"𝕱","G":"𝕲","H":"𝕳","I":"𝕴","J":"𝕵","K":"𝕶","L":"𝕷","M":"𝕸","N":"𝕹","O":"𝕺","P":"𝕻","Q":"𝕼","R":"𝕽","S":"𝕾","T":"𝕿","U":"𝖀","V":"𝖁","W":"𝖂","X":"𝖃","Y":"𝖄","Z":"𝖅"};
    const invertedSquaresCharMap = {q:"🆀",w:"🆆",e:"🅴",r:"🆁",t:"🆃",y:"🆈",u:"🆄",i:"🅸",o:"🅾",p:"🅿",a:"🅰",s:"🆂",d:"🅳",f:"🅵",g:"🅶",h:"🅷",j:"🅹",k:"🅺",l:"🅻",z:"🆉",x:"🆇",c:"🅲",v:"🆅",b:"🅱",n:"🅽",m:"🅼"} 
    const cursiveCharMap = {"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","a":"𝓪","b":"𝓫","c":"𝓬","d":"𝓭","e":"𝓮","f":"𝓯","g":"𝓰","h":"𝓱","i":"𝓲","j":"𝓳","k":"𝓴","l":"𝓵","m":"𝓶","n":"𝓷","o":"𝓸","p":"𝓹","q":"𝓺","r":"𝓻","s":"𝓼","t":"𝓽","u":"𝓾","v":"𝓿","w":"𝔀","x":"𝔁","y":"𝔂","z":"𝔃","A":"𝓐","B":"𝓑","C":"𝓒","D":"𝓓","E":"𝓔","F":"𝓕","G":"𝓖","H":"𝓗","I":"𝓘","J":"𝓙","K":"𝓚","L":"𝓛","M":"𝓜","N":"𝓝","O":"𝓞","P":"𝓟","Q":"𝓠","R":"𝓡","S":"𝓢","T":"𝓣","U":"𝓤","V":"𝓥","W":"𝓦","X":"𝓧","Y":"𝓨","Z":"𝓩"};
    const oldEnglishCharMap = {"a":"𝔞","b":"𝔟","c":"𝔠","d":"𝔡","e":"𝔢","f":"𝔣","g":"𝔤","h":"𝔥","i":"𝔦","j":"𝔧","k":"𝔨","l":"𝔩","m":"𝔪","n":"𝔫","o":"𝔬","p":"𝔭","q":"𝔮","r":"𝔯","s":"𝔰","t":"𝔱","u":"𝔲","v":"𝔳","w":"𝔴","x":"𝔵","y":"𝔶","z":"𝔷","A":"𝔄","B":"𝔅","C":"ℭ","D":"𝔇","E":"𝔈","F":"𝔉","G":"𝔊","H":"ℌ","I":"ℑ","J":"𝔍","K":"𝔎","L":"𝔏","M":"𝔐","N":"𝔑","O":"𝔒","P":"𝔓","Q":"𝔔","R":"ℜ","S":"𝔖","T":"𝔗","U":"𝔘","V":"𝔙","W":"𝔚","X":"𝔛","Y":"𝔜","Z":"ℨ"};
    const wideTextCharMap = {"`" : "`","1" : "1","2" : "2","3" : "3","4" : "4","5" : "5","6" : "6","7" : "7","8" : "8","9" : "9","0" : "0","-" : "&#65293;","=" : "&#65309;","~" : "~","!" : "&#65281;","@" : "&#65312;","#" : "&#65283;","$" : "&#65284;","%" : "&#65285;","^" : "^","&" : "&#65286;","*" : "&#65290;","(" : "&#65288;",")" : "&#65289;","_" : "_","+" : "&#65291;","q" : "q","w" : "w","e" : "e","r" : "r","t" : "t","y" : "y","u" : "u","i" : "i","o" : "o","p" : "p","[" : "[","]" : "]","\\" : "\\","Q" : "Q","W" : "W","E" : "E","R" : "R","T" : "T","Y" : "Y","U" : "U","I" : "I","O" : "O","P" : "P","{" : "{","}" : "}","|" : "|","a" : "a","s" : "s","d" : "d","f" : "f","g" : "g","h" : "h","j" : "j","k" : "k","l" : "l",";" : "&#65307;","'" : "&#65287;","A" : "A","S" : "S","D" : "D","F" : "F","G" : "G","H" : "H","J" : "J","K" : "K","L" : "L",":" : "&#65306;","\"" : "\"","z" : "z","x" : "x","c" : "c","v" : "v","b" : "b","n" : "n","m" : "m","," : "&#65292;","." : "&#65294;","/" : "&#65295;","Z" : "Z","X" : "X","C" : "C","V" : "V","B" : "B","N" : "N","M" : "M","<" : "<",">" : ">","?" : "&#65311;"}

    // Lunicode.js
    // from lunicode.com
    // on GitHub: https://github.com/combatwombat/Lunicode.js
    // Copyright &#169; 2012 Robert Gerlach - robsite.net
    function Lunicode(){this.tools={flip:{init:function(){for(i in this.map)this.map[this.map[i]]=i},encode:function(i){for(var r,t=[],o=0,h=i.length;h>o;o++)r=i.charAt(o),o>0&&("&#804;"==r||"&#791;"==r||"&#790;"==r||"&#814;"==r)?(r=this.map[i.charAt(o-1)+r],t.pop()):(r=this.map[r],"undefined"==typeof r&&(r=i.charAt(o))),t.push(r);return t.reverse().join("")},decode:function(i){for(var r,t=[],o=0,h=i.length;h>o;o++)r=i.charAt(o),o>0&&("&#804;"==r||"&#791;"==r||"&#790;"==r||"&#814;"==r)?(r=this.map[i.charAt(o-1)+r],t.pop()):(r=this.map[r],"undefined"==typeof r&&(r=i.charAt(o))),t.push(r);return t.reverse().join("")},map:{a:"ɐ",b:"q",c:"ɔ",d:"p",e:"ǝ",f:"ɟ",g:"ɓ",h:"ɥ",i:"ı",j:"ɾ",k:"ʞ",l:"l",m:"ɯ",n:"u",r:"ɹ",t:"ʇ",v:"ʌ",w:"ʍ",y:"ʎ",A:"&#8704;",B:"ᙠ",C:"Ɔ",D:"ᗡ",E:"Ǝ",F:"Ⅎ",G:"&#8513;",J:"ſ",K:"&#8906;",L:"&#741;",M:"W",P:"Ԁ",Q:"Ό",R:"ᴚ",T:"&#8869;",U:"&#8745;",V:"Λ",Y:"&#8516;",1:"&#8642;",2:"ᄅ",3:"Ɛ",4:"ㄣ",5:"ގ",6:"9",7:"ㄥ","&":"&#8523;",".":"&#729;",'"':"&#8222;",";":"&#1563;","[":"]","(":")","{":"}","?":"&#191;","!":"&#161;","'":",","<":">","&#8254;":"_","&#175;":"_","&#8255;":"&#8256;","&#8261;":"&#8262;","&#8756;":"&#8757;","\r":"\n","ß":"ᙠ","&#776;":"&#804;","ä":"ɐ&#804;","ö":"o&#804;","ü":"n&#804;","Ä":"&#8704;&#804;","Ö":"O&#804;","Ü":"&#8745;&#804;","&#180;":" &#791;","é":"ǝ&#791;","á":"ɐ&#791;","ó":"o&#791;","ú":"n&#791;","É":"Ǝ&#791;","Á":"&#8704;&#791;","Ó":"O&#791;","Ú":"&#8745;&#791;","`":" &#790;","è":"ǝ&#790;","à":"ɐ&#790;","ò":"o&#790;","ù":"n&#790;","È":"Ǝ&#790;","À":"&#8704;&#790;","Ò":"O&#790;","Ù":"&#8745;&#790;","^":" &#814;","ê":"ǝ&#814;","â":"ɐ&#814;","ô":"o&#814;","û":"n&#814;","Ê":"Ǝ&#814;","Â":"&#8704;&#814;","Ô":"O&#814;","Û":"&#8745;&#814;"}},mirror:{init:function(){for(i in this.map)this.map[this.map[i]]=i},encode:function(i){for(var r,t=[],o=[],h=0,n=i.length;n>h;h++)r=i.charAt(h),h>0&&("&#776;"==r||"&#768;"==r||"&#769;"==r||"&#770;"==r)?(r=this.map[i.charAt(h-1)+r],t.pop()):(r=this.map[r],"undefined"==typeof r&&(r=i.charAt(h))),"\n"==r?(o.push(t.reverse().join("")),t=[]):t.push(r);return o.push(t.reverse().join("")),o.join("\n")},decode:function(i){for(var r,t=[],o=[],h=0,n=i.length;n>h;h++)r=i.charAt(h),h>0&&("&#776;"==r||"&#768;"==r||"&#769;"==r||"&#770;"==r)?(r=this.map[i.charAt(h-1)+r],t.pop()):(r=this.map[r],"undefined"==typeof r&&(r=i.charAt(h))),"\n"==r?(o.push(t.reverse().join("")),t=[]):t.push(r);return o.push(t.reverse().join("")),o.join("\n")},map:{a:"ɒ",b:"d",c:"ɔ",e:"ɘ",f:"Ꮈ",g:"ǫ",h:"ʜ",j:"ꞁ",k:"ʞ",l:"|",n:"ᴎ",p:"q",r:"ɿ",s:"ꙅ",t:"ƚ",y:"ʏ",z:"ƹ",B:"ᙠ",C:"Ɔ",D:"ᗡ",E:"Ǝ",F:"ꟻ",G:"Ꭾ",J:"Ⴑ",K:"&#8906;",L:"&#8515;",N:"Ͷ",P:"ꟼ",Q:"Ọ",R:"Я",S:"Ꙅ",Z:"Ƹ",1:"",2:"",3:"",4:"",5:"",6:"",7:"","&":"",";":"","[":"]","(":")","{":"}","?":"&#11822;","<":">","ä":"ɒ&#776;","ß":"ᙠ","&#180;":"`","é":"ɘ&#768;","á":"ɒ&#768;","ó":"ò","ú":"ù","É":"Ǝ&#768;","Á":"À","Ó":"Ò","Ú":"Ù","`":"&#180;","è":"ɘ&#769;","à":"ɒ&#769;","È":"Ǝ&#769;","ê":"ɘ&#770;","â":"ɒ&#770;","Ê":"Ǝ&#770;","Ø":"ᴓ","ø":"ᴓ"}},creepify:{init:function(){for(var i=768;789>=i;i++)this.diacriticsTop.push(String.fromCharCode(i));for(var i=790;819>=i;i++)794!=i&&795!=i&&this.diacriticsBottom.push(String.fromCharCode(i));this.diacriticsTop.push(String.fromCharCode(794)),this.diacriticsTop.push(String.fromCharCode(795));for(var i=820;824>=i;i++)this.diacriticsMiddle.push(String.fromCharCode(i));for(var i=825;828>=i;i++)this.diacriticsBottom.push(String.fromCharCode(i));for(var i=829;836>=i;i++)this.diacriticsTop.push(String.fromCharCode(i));this.diacriticsTop.push(String.fromCharCode(836)),this.diacriticsBottom.push(String.fromCharCode(837)),this.diacriticsTop.push(String.fromCharCode(838)),this.diacriticsBottom.push(String.fromCharCode(839)),this.diacriticsBottom.push(String.fromCharCode(840)),this.diacriticsBottom.push(String.fromCharCode(841)),this.diacriticsTop.push(String.fromCharCode(842)),this.diacriticsTop.push(String.fromCharCode(843)),this.diacriticsTop.push(String.fromCharCode(844)),this.diacriticsBottom.push(String.fromCharCode(845)),this.diacriticsBottom.push(String.fromCharCode(846)),this.diacriticsTop.push(String.fromCharCode(848)),this.diacriticsTop.push(String.fromCharCode(849)),this.diacriticsTop.push(String.fromCharCode(850)),this.diacriticsBottom.push(String.fromCharCode(851)),this.diacriticsBottom.push(String.fromCharCode(852)),this.diacriticsBottom.push(String.fromCharCode(853)),this.diacriticsBottom.push(String.fromCharCode(854)),this.diacriticsTop.push(String.fromCharCode(855)),this.diacriticsTop.push(String.fromCharCode(856)),this.diacriticsBottom.push(String.fromCharCode(857)),this.diacriticsBottom.push(String.fromCharCode(858)),this.diacriticsTop.push(String.fromCharCode(859)),this.diacriticsBottom.push(String.fromCharCode(860)),this.diacriticsTop.push(String.fromCharCode(861)),this.diacriticsTop.push(String.fromCharCode(861)),this.diacriticsBottom.push(String.fromCharCode(863)),this.diacriticsTop.push(String.fromCharCode(864)),this.diacriticsTop.push(String.fromCharCode(865))},encode:function(r){var t,o="";for(i in r){if(t=r[i],this.options.middle&&(t+=this.diacriticsMiddle[Math.floor(Math.random()*this.diacriticsMiddle.length)]),this.options.top)for(var h=this.diacriticsTop.length-1,n=0,a=this.options.maxHeight-Math.random()*(this.options.randomization/100*this.options.maxHeight);a>n;n++)t+=this.diacriticsTop[Math.floor(Math.random()*h)];if(this.options.bottom)for(var s=this.diacriticsBottom.length-1,n=0,a=this.options.maxHeight-Math.random()*(this.options.randomization/100*this.options.maxHeight);a>n;n++)t+=this.diacriticsBottom[Math.floor(Math.random()*s)];o+=t}return o},decode:function(r){var t,o="";for(i in r)t=r[i].charCodeAt(0),(768>t||t>865)&&(o+=r[i]);return o},diacriticsTop:[],diacriticsMiddle:[],diacriticsBottom:[],options:{top:!0,middle:!0,bottom:!0,maxHeight:15,randomization:100}},bubbles:{init:function(){for(var i=49;57>=i;i++)this.map[String.fromCharCode(i)]=String.fromCharCode(i+9263);this.map[0]="&#9450;";for(var i=65;90>=i;i++)this.map[String.fromCharCode(i)]=String.fromCharCode(i+9333);for(var i=97;122>=i;i++)this.map[String.fromCharCode(i)]=String.fromCharCode(i+9327);for(i in this.map)this.mapInverse[this.map[i]]=i},encode:function(r){var t,o="",h=!0;for(i in r)t=this.map[r[i]],"undefined"==typeof t&&(r[i].charCodeAt(0)>=33?(t=r[i]+String.fromCharCode(8413),h||(t=String.fromCharCode(8239)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(8239)+t)):t=r[i]),o+=t,h="\n"==t;return o},decode:function(r){var t,o="",h="";for(i in r)t=this.mapInverse[r[i]],o+="undefined"==typeof t?r[i]:t;for(i in o)t=o[i].charCodeAt(0),160!=t&&8239!=t&&8413!=t&&(h+=o[i]);return h},map:{},mapInverse:{}},squares:{init:function(){},encode:function(r){var t,o="",h=!0;for(i in r)r[i].charCodeAt(0)>=33?(t=r[i]+String.fromCharCode(8414),h||(t=String.fromCharCode(8239)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(8239)+t)):t=r[i],o+=t,h="\n"==t;return o},decode:function(r){var t,o="";for(i in r)t=r[i].charCodeAt(0),160!=t&&8239!=t&&8414!=t&&(o+=r[i]);return o}},roundsquares:{init:function(){},encode:function(r){var t,o="",h=!0;for(i in r)r[i].charCodeAt(0)>=33?(t=r[i]+String.fromCharCode(8419),h||(t=String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+t)):t=r[i],o+=t,h="\n"==t;return o},decode:function(r){var t,o="";for(i in r)t=r[i].charCodeAt(0),160!=t&&8239!=t&&8419!=t&&(o+=r[i]);return o}},bent:{init:function(){for(i in this.map)this.map[this.map[i]]=i},encode:function(i){for(var r,t="",o=0,h=i.length;h>o;o++)r=this.map[i.charAt(o)],"undefined"==typeof r&&(r=i.charAt(o)),t+=r;return t},decode:function(i){for(var r,t="",o=0,h=i.length;h>o;o++)r=this.map[i.charAt(o)],"undefined"==typeof r&&(r=i.charAt(o)),t+=r;return t},map:{a:"ą",b:"ҍ",c:"ç",d:"ժ",e:"ҽ",f:"ƒ",g:"ց",h:"հ",i:"ì",j:"ʝ",k:"ҟ",l:"Ӏ",m:"ʍ",n:"ղ",o:"օ",p:"ք",q:"զ",r:"ɾ",s:"ʂ",t:"է",u:"մ",v:"ѵ",w:"ա",x:"&#215;",y:"վ",z:"Հ",A:"Ⱥ",B:"β",C:"&#8635;",D:"Ꭰ",E:"Ɛ",F:"Ƒ",G:"Ɠ",H:"Ƕ",I:"į",J:"ل",K:"Ҡ",L:"Ꝉ",M:"Ɱ",N:"ហ",O:"ට",P:"φ",Q:"Ҩ",R:"འ",S:"Ϛ",T:"Ͳ",U:"Ա",V:"Ỽ",W:"చ",X:"ჯ",Y:"Ӌ",Z:"ɀ",0:"&#8856;",1:"&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;",2:"ϩ",3:"Ӡ",4:"५",5:"Ƽ",6:"Ϭ",7:"7",8:"&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;",9:"९","&":"&#8523;","(":"{",")":"}","{":"(","}":")","ä":"ą&#776;","ö":"օ&#776;","ü":"մ&#776;","Ä":"Ⱥ&#776;","Ö":"ට&#776;","Ü":"Ա&#776;","é":"ҽ&#769;","á":"ą&#769;","ó":"օ&#769;","ú":"մ&#769;","É":"Ɛ&#769;","Á":"Ⱥ&#769;","Ó":"ට&#769;","Ú":"Ա&#769;","è":"ҽ&#768;","à":"ą&#768;","ò":"օ&#768;","ù":"մ&#768;","È":"Ɛ&#768;","À":"Ⱥ&#768;","Ò":"ට&#768;","Ù":"Ա&#768;","ê":"ҽ&#770;","â":"ą&#770;","ô":"օ&#770;","û":"մ&#770;","Ê":"Ɛ&#770;","Â":"Ⱥ&#770;","Ô":"ට&#770;","Û":"Ա&#770;"}},tiny:{init:function(){for(i in this.map)this.map[this.map[i]]=i},encode:function(i){var r,t="";i=i.toUpperCase();for(var o=0,h=i.length;h>o;o++)r=this.map[i.charAt(o)],"undefined"==typeof r&&(r=i.charAt(o)),t+=r;return t},decode:function(i){for(var r,t="",o=0,h=i.length;h>o;o++)r=this.map[i.charAt(o)],"undefined"==typeof r&&(r=i.charAt(o)),t+=r;return t},map:{A:"ᴀ",B:"ʙ",C:"ᴄ",D:"ᴅ",E:"ᴇ",F:"ꜰ",G:"ɢ",H:"ʜ",I:"ɪ",J:"ᴊ",K:"ᴋ",L:"ʟ",M:"ᴍ",N:"ɴ",O:"ᴏ",P:"ᴘ",Q:"Q",R:"ʀ",S:"ꜱ",T:"ᴛ",U:"ᴜ",V:"ᴠ",W:"ᴡ",X:"x",Y:"ʏ",Z:"ᴢ"}}};for(i in this.tools)this.tools[i].init();this.getHTML=function(i){for(var r,t="",o=!0,h=0,n=0,a=0,s=i.length;s>a;a++)r=i.charCodeAt(a),10==r||13==r?(t+="<br>\n",o=!0):32==r?o?(t+=" ",o=!1):(t+=" ",o=!0):(r>=55296&&56319>=r?(h=r,n=0):h>0?(r>=56320&&57343>=r&&(n=1024*(h-55296)+(r-56320)+65536),h=0):n=r,0!=n&&(t+="&#x"+n.toString(16)+";",o=!0));return t}}


    
    // CUTE TEXT:
    function cuteText(text) {
      if(text.trim() === "") return "";
      qi = -1;
      var bounds = boundingString(Math.floor(Math.random()*2)+1);
      return bounds + "  🎀  " + text.split(/([!?.]+)/gi).map(cuteSentence).join("") + "  🎀  " + esrever.reverse(bounds);
    }
    function cuteSentence(sentence) {
      return sentence.split(/([\s,]+)/gi).map(cuteWord).join("");
    }
    function cuteWord(word) {
      //remember to handle exclamations, empty strings, commas etc. etc.!!
      if(word === "" || /[[!?.\s,]+]/gi.test(word)) return word;
      //TODO: random turn o's into flowers, turn quotes into unicode and ! and ?
      word = roundReplace(word);
      word = punctReplace(word);
      word = emojiReplace(word);
      return scriptify(word);
    }
    var qi = -1;
    var qa = ["&#10077;","&#10078;"];
    function quotes() {
      qi++;
      if(qi === 2) qi = 0;
      return qa[qi];
    }
    function punctReplace(word) {
      return word.split("").map(function(a) {
          if(a === "!") return randomElement(["&#10083;","&#10082;"]);
          else if(a === "?") return randomElement(["&#191;","?"]);
          else if(a === "\"") return quotes();
          else return a;
        }).join("");
    }
    function emojiReplace(word) {
      return word
      .replace(":)", randomElement(emoji[":)"]))
      .replace("(:", randomElement(emoji[":)"]))
      .replace("^^", randomElement(emoji["^^"]))
      .replace(":P", randomElement(emoji[":p"]))
      .replace(":p", randomElement(emoji[":p"]))
      .replace(":D", randomElement(emoji[":D"]))
      .replace("<3", randomElement(emoji["<3"]))
      .replace("(y)", randomElement(emoji["(y)"]))
      .replace("(Y)", randomElement(emoji["(y)"]));
    }
    function roundReplace(text) {
      return text.split("").map(function(a) { if(a.toLowerCase() === "o" || a === "0") { return randomElement(round); } else { return a; } }).join("");
    }
    var emoji = {
      ":)" : ["٩(&#728;&#9697;&#728;)۶","(&#8226;&#9697;&#8226;)","(ɔ&#9684;&#8255;&#9684;)ɔ","&#10048;&#9685;&#8255;&#9685;&#10048;","(&#65377;&#9685;&#8255;&#9685;&#65377;)","&#9679;&#8255;&#9679;","&#9685;&#8255;&#9685;","😍","ツ","(&#10047;ヘᴥヘ)","🌘&#8255;🌘","(づ&#65377;&#9685;&#8255;&#8255;&#9685;&#65377;)づ","(/&#9684;&#9697;&#9684;)/","s(^&#8255;^)-b","(人&#9685;&#8255;&#9685;)","(&#10047;&#9593;&#9697;&#9593;)","&#9684;&#9697;&#9684;"],
      "^^" : ["(^&#9661;^)","(&#10047;^&#9661;^)","ᵔ&#8995;ᵔ","ᵔᴥᵔ","(&#8807;&#9697;&#8806;)","^ㅅ^","^ㅂ^","(&#8978;&#8255;&#8978;)","&#9696;&#9697;&#9696;","&#8256;&#8255;&#8256;",""],
      ":p" : [":Þ",""],
      ":D" : ["(ノ&#9685;ヮ&#9685;)ノ*:&#65381;゚&#10023;","(&#10047;&#9685;ᗜ&#9685;)&#9473;&#9835;.*&#65381;&#65377;゚","ᕕ(ᐛ)ᕗ"],
      "<3" : ["&#9825;","&#10084;","&#9829;","&#10085;","💘","💙","💗","💖","💕","💓","💞","💝","💟"],
      "(y)" : ["👍","👌"],
    };
    var round = ["&#10049;","🌺","&#10048;","💮","🏵","🌸","&#9775;","😍","&#9825;","🍩","🍬","💙","🌞","💍","🍪","&#10084;","💗","🍑","💞"];
    var food = ["🍬","🍭","🍒","🍎","🍉","🍇","🍓","🍌","🍑","🍰","🎂","🍩","🍪","🍧","🍦","🍫","🍡"];
    var flowers = ["&#10047;","&#9880;","&#10086;","&#10087;","&#10046;","&#10049;","&#10048;","💐","🌸","💮","🏵","🌹","🌺","🌻","🌷","&#9752;","🌱","🌲","🌳","🌴","🌿","🍂"];
    var twinkles = ["&#9883;","🌌","🌠","*",":","&#65377;","&#65381;゚","&#10023;","&#10030;","&#9733;","&#10025;","&#8902;",".","&#176;","`","&#10036;","&#65377;","&#10036;","&#8902;","&#10035;","&#10038;","&#10039;","&#10056;"];
    var animals = ["🐯","🐎","🐖","🐷","🐏","🐑","🐐","🐫","🐘","🐭","🐁","🐀","🐹","🐰","🐇","🐿","🐻","🐨","🐼","🐾","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊","🐸","🐢","🐳","🐋","🐬","🐟","🐠","🐡","🐙","🐚","🐌","🐞"];
    var plants = ["&#10047;","&#9880;","&#10086;","&#10087;","&#10046;","&#10049;","&#10048;","💐","🌸","💮","🏵","🌹","🌺","🌻","🌷","&#9752;","🌱","🌲","🌳","🌴","🌿","🍂"];
    var misc = ["🌌","🌠","🎉","🎊","🎈","💌","🎎","🎁","🎀","🕯","🔮","🛀","🎖","🏆","🏅","👑","💍","👶","👼","👸","👯","👒","👻"];
    var music = ["&#9835;","&#9836;","&#9834;","&#9833;","&#176;","&#65377;","&#10023;","🎻","🎺","🎸","🎷","📯"];
    var flourish = ["&#8226;?((&#175;&#176;&#183;._.&#8226; ","ıllıllı ","&#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184;&#184;,ø&#164;º&#176; ","&#176;&#176;&#176;&#183;.&#176;&#183;..&#183;&#176;&#175;&#176;&#183;._.&#183; ","&#8226;&#180;&#175;`&#8226;. ","&#215;º&#176;&#8221;&#732;`&#8221;&#176;º&#215; ","&#8226;]&#8226;&#8226;&#180;º&#180;&#8226;&#187; ","]|I{&#8226;------&#187; ","&#167;.&#8226;&#180;&#168;'&#176;&#247;&#8226;..&#215; ","&#8226;&#176;&#175;`&#8226;&#8226; ","(&#175;`&#183;.&#184;&#184;.&#183;&#180;&#175;`&#183;.&#184;&#184;.-> ","*&#180;&#175;`*.&#184;&#184;.*&#180;&#175;`* ","(&#175;`&#183;.&#184;&#184;.-> &#176;º ","&#176;&#183;.&#184;.&#183;&#176;&#175;&#176;&#183;.&#184;.&#183;&#176;&#175;&#176;&#183;.&#184;.-> ","&#8226;._.&#8226;&#8226;&#180;&#175;``&#8226;.&#184;&#184;.&#8226;` ","&#184;&#8222;.-&#8226;~&#185;&#176;&#8221;ˆ&#732;&#168; ","(&#175;&#180;&#8226;._.&#8226; ","&#8226;&#8226;&#164;(`&#215;","&#8226;&#180;&#175;`&#8226;&#187; ","`&#8226;.,&#184;&#184;,.&#8226;&#180;&#175; ","&#184;,ø&#164;º&#176;`&#176;º&#164;ø,&#184; ",".o0&#215;X&#215;0o. ",",-*'^'~*-.,_,.-*~ ","`&#8226;.&#184;&#184;.&#8226;&#180;&#180;&#175;`&#8226;&#8226;._.&#8226; ","&#8212;(&#8226;&#8226;&#247;","&#164;&#184;&#184;.&#8226;&#180;&#175;`&#8226;&#184;&#184;.&#8226;..>> ","&#8226;&#8226;.&#8226;&#180;&#175;`&#8226;.&#8226;&#8226; ",".&#8226;&#176;&#164;*(&#175;`&#9733;&#180;&#175;)*&#164;&#176; ","๑&#1758;๑,&#184;&#184;,ø&#164;º&#176;`&#176;๑&#1769; ","-漫~*'&#168;&#175;&#168;'*&#183;舞~ ","&#9733;&#183;.&#183;&#180;&#175;`&#183;.&#183;&#9733; ","&#9601; &#9602; &#9604; &#9605; &#9606; &#9607; &#9608; ","&#9600;&#9604;&#9600;&#9604;&#9600;&#9604; ","&#9612;&#9474;&#9608;&#9553;&#9612;&#9553;&#9612;&#9553; "];
    function boundingString(n) {
      return randomElement([foodString,twinkleString,animalString,flourishString])(n);
    }
    function foodString(n) {
      return new Array(n+1).join('0').split('').map(function(a){ return randomElement(food); }).join(' &#8902; ');
    }
    function twinkleString(n) {
      return new Array(n+1).join('0').split('').map(function(){ return randomElement(twinkles); }).join("");
    }
    function animalString(n) {
      return new Array(n+1).join('0').split('').map(function(a){ return randomElement(animals); }).join(' &#8902; ');
    }
    function flourishString(n) {
      return randomElement(flourish);
    }
    function scriptify(text) {
      var map = {"0":"𝟢","1":"𝟣","2":"𝟤","3":"𝟥","4":"𝟦","5":"𝟧","6":"𝟨","7":"𝟩","8":"𝟪","9":"𝟫","a":"𝒶","b":"𝒷","c":"𝒸","d":"𝒹","e":"𝑒","f":"𝒻","g":"𝑔","h":"𝒽","i":"𝒾","j":"𝒿","k":"𝓀","l":"𝓁","m":"𝓂","n":"𝓃","o":"𝑜","p":"𝓅","q":"𝓆","r":"𝓇","s":"𝓈","t":"𝓉","u":"𝓊","v":"𝓋","w":"𝓌","x":"𝓍","y":"𝓎","z":"𝓏","A":"𝒜","B":"𝐵","C":"𝒞","D":"𝒟","E":"𝐸","F":"𝐹","G":"𝒢","H":"𝐻","I":"𝐼","J":"𝒥","K":"𝒦","L":"𝐿","M":"𝑀","N":"𝒩","O":"𝒪","P":"𝒫","Q":"𝒬","R":"𝑅","S":"𝒮","T":"𝒯","U":"𝒰","V":"𝒱","W":"𝒲","X":"𝒳","Y":"𝒴","Z":"𝒵"};
      var charArray = text.split("");
      for(var i = 0; i < charArray.length; i++) {
        if( map[charArray[i].toLowerCase()] ) {
          charArray[i] = map[charArray[i]];
        }
      }
      text = charArray.join("");
      return text;
    }
    function shuffleArray(array) {
      var currentIndex = array.length, temporaryValue, randomIndex;
      // While there remain elements to shuffle...
      while (0 !== currentIndex) {
        // Pick a remaining element...
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;
        // And swap it with the current element.
        temporaryValue = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex] = temporaryValue;
      }
      return array;
    }
    function randomElement(a) {
      return a[Math.floor(Math.random()*a.length)];
    }
    //https://github.com/mathiasbynens/esrever
    !function(e){var o="object"==typeof exports&&exports,r="object"==typeof module&&module&&module.exports==o&&module,n="object"==typeof global&&global;(n.global===n||n.window===n)&&(e=n);var t=/(<%= allExceptCombiningMarks %>)(<%= combiningMarks %>+)/g,i=/([\uD800-\uDBFF])([\uDC00-\uDFFF])/g,f=function(e){e=e.replace(t,function(e,o,r){return f(r)+o}).replace(i,"$2$1");for(var o="",r=e.length;r--;)o+=e.charAt(r);return o},l={version:"<%= version %>",reverse:f};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return l});else if(o&&!o.nodeType)if(r)r.exports=l;else for(var a in l)l.hasOwnProperty(a)&&(o[a]=l[a]);else e.esrever=l}(this);
















    // CRAZY TEXT
    function fullCrazy(text) {
      if(text.trim() === "") return "";
      return randomSymbols(2) +"  "+ crazifyText(text) +"  "+ randomSymbols(2)
    }
    function crazifyText(text) {
      text = text.split("");
      for(var i = 0; i < text.length; i++) { text[i] =  crazifyCharacter(text[i]); }
      return text.join("");
    }
    function crazifyCharacter(c) {
      c = c.toLowerCase();
      var map = {"&":"&#8523;","%":["&#8525;","&#8448;","&#8449;","&#8454;","&#8453;"],"0":["0","Ѳ","ʘ"],"1":["&#10112;","&#10102;","1"],"2":["2","&#10103;","&#10113;"],"3":["3","&#10104;","&#10114;"],"4":["4","&#10105;","&#10115;"],"5":["&#10106;","&#10116;","5"],"6":["6","&#10107;","&#10117;"],"7":["7","&#10108;","&#10118;"],"8":["8","&#10119;","&#10109;"],"9":["&#10120;","&#10110;","9"],"<":["&#8828;","&#8826;","&#8810;","&#9790;","&#8830;","&#8924;","&#8926;","&#8912;","&#8834;","&#8847;","&#8849;","&#12298;","&#65308;","&#10094;","&#10096;","&#10999;"],">":"&#9789;&#8811;&#8827;&#8829;&#8831;&#8925;&#8927;&#8913;&#8835;&#8848;&#8850;&#11000;&#12299;&#65310;&#10095;&#10097;","[":"&#12304;&#12310;&#12312;&#12314;&#65339;","]":"&#12305;&#12311;&#12313;&#12315;&#65341;","*":"&#10024;&#10025;&#10026;&#10027;&#10028;&#10029;&#10030;&#10031;&#10032;&#10022;&#10033;&#10034;&#10035;&#10036;&#10037;&#10038;&#10039;&#1421;&#1422;&#10040;&#10041;&#10042;&#10043;&#10044;&#10045;&#10046;&#10047;&#10048;&#10049;&#10050;&#10051;&#10052;&#9733;&#9734;&#65290;","a":["&#9398;","&#9424;","α","A","a","ᗩ","卂","Δ","ค","α","ά","Ã","𝔞","𝓪","𝒶","𝓐","𝐀","𝐚","𝔸","𝕒","ᵃ"],"b":["&#9399;","&#9425;","в","B","乃","b","ᗷ","β","๒","в","в","β","𝔟","𝓫","𝒷","𝓑","𝐁","𝐛","𝔹","𝕓","ᵇ"],"c":["&#9400;","&#9426;","匚","&#162;","C","c","ᑕ","Ć","ς","c","ς","Č","&#8451;","𝔠","𝓬","𝒸","𝓒","𝐂","𝐜","ℂ","𝕔","ᶜ"],"d":["&#9401;","&#9427;","&#8706;","D","d","ᗪ","Đ","๔","&#8706;","đ","Ď","𝔡","𝓭","𝒹","𝓓","𝐃","ᗪ","𝐝","𝔻","𝕕","ᵈ"],"e":["&#9402;","乇","&#9428;","є","E","e","ᗴ","&#8364;","є","ε","έ","Ẹ","𝔢","𝒆","𝑒","𝓔","𝐄","𝐞","𝔼","𝕖","ᵉ"],"f":["&#9403;","&#9429;","ƒ","F","f","千","ᖴ","ℱ","Ŧ","ғ","ғ","Ƒ","𝔣","𝒇","𝒻","𝓕","𝐅","𝐟","𝔽","𝕗","ᶠ"],"g":["&#9404;","&#9430;","ق","g","G","g","Ǥ","Ꮆ","ﻮ","g","ģ","Ğ","𝔤","𝓰","𝑔","𝓖","𝐆","𝐠","𝔾","𝕘","ᵍ","Ꮆ"],"h":["&#9405;","卄","&#9431;","н","H","h","ᕼ","Ħ","ђ","н","ħ","Ĥ","𝔥","𝓱","𝒽","𝓗","𝐇","𝐡","ℍ","𝕙","ʰ"],"i":["&#9406;","&#9432;","ι","I","i","Ꭵ","丨","Ɨ","เ","ι","ί","Į","𝔦","𝓲","𝒾","𝓘","𝐈","𝐢","𝕀","𝕚","ᶤ"],"j":["&#9407;","&#9433;","נ","J","ڶ","j","ᒎ","Ĵ","ן","נ","ј","Ĵ","𝔧","𝓳","𝒿","𝓙","𝐉","𝐣","𝕁","𝕛","ʲ"],"k":["&#9408;","&#9434;","к","K","k","ᛕ","Ҝ","к","к","ķ","Ќ","𝔨","𝓴","𝓀","𝓚","𝐊","𝐤","𝕂","𝕜","ᵏ","Ҝ"],"l":["&#9409;","&#9435;","ℓ","ㄥ","L","l","ᒪ","Ł","l","ℓ","Ļ","Ĺ","𝔩","𝓵","𝓁","𝓛","𝐋","𝐥","𝕃","𝕝","ˡ"],"m":["&#9410;","&#9436;","м","M","m","ᗰ","Μ","๓","м","м","ϻ","𝔪","𝓶","𝓂","𝓜","𝐌","𝐦","𝕄","𝕞","ᵐ","爪"],"n":["&#9411;","几","&#9437;","η","N","n","ᑎ","Ň","ภ","η","ή","Ň","𝔫","𝓷","𝓃","𝓝","𝐍","𝐧","ℕ","𝕟","ᶰ"],"o":["&#9412;","ㄖ","&#9438;","σ","O","o","ᗝ","Ø","&#3663;","σ","ό","Ỗ","𝔬","𝓸","𝑜","𝓞","𝐎","𝐨","𝕆","𝕠","ᵒ"],"p":["&#9413;","&#9439;","ρ","P","p","卩","ᑭ","Ƥ","ק","ρ","ρ","Ƥ","𝔭","𝓹","𝓅","𝓟","𝐏","𝐩","ℙ","𝕡","ᵖ"],"q":["&#9414;","&#9440;","q","Q","q","Ɋ","Ω","ợ","q","q","Ǫ","𝔮","𝓺","𝓆","𝓠","𝐐","𝐪","ℚ","𝕢","ᵠ"],"r":["&#9415;","&#9441;","я","尺","R","r","ᖇ","Ř","г","я","ŕ","Ř","𝔯","𝓻","𝓇","𝓡","𝐑","𝐫","ℝ","𝕣","ʳ"],"s":["&#9416;","&#9442;","ѕ","S","丂","s","ᔕ","Ş","ร","s","ş","Ŝ","𝔰","𝓼","𝓈","𝓢","𝐒","𝐬","𝕊","𝕤","ˢ"],"t":["&#9417;","&#9443;","т","T","t","丅","Ŧ","t","т","ţ","Ť","𝔱","𝓽","𝓉","𝓣","𝐓","𝐭","𝕋","𝕥","ᵗ"],"u":["&#9418;","&#9444;","υ","U","u","ᑌ","Ữ","ย","υ","ù","Ǘ","𝔲","𝓾","𝓊","𝓤","𝐔","𝐮","𝕌","𝕦","ᵘ"],"v":["&#9419;","&#9445;","ν","V","v","ᐯ","V","ש","v","ν","Ѷ","𝔳","𝓿","𝓋","𝓥","𝐕","𝐯","𝕍","𝕧","ᵛ"],"w":["&#9420;","&#9446;","ω","W","w","ᗯ","Ŵ","ฬ","ω","ώ","Ŵ","𝔴","𝔀","𝓌","𝓦","𝐖","𝐰","𝕎","𝕨","ʷ","山"],"x":["&#9421;","&#9447;","χ","X","乂","x","&#5741;","Ж","א","x","x","Ж","𝔵","𝔁","𝓍","𝓧","𝐗","𝐱","𝕏","𝕩","ˣ"],"y":["&#9422;","ㄚ","&#9448;","у","Y","y","Ƴ","&#165;","ץ","ү","ч","Ў","𝔶","𝔂","𝓎","𝓨","𝐘","𝐲","𝕐","𝕪","ʸ"],"z":["&#9423;","&#9449;","z","乙","Z","z","Ƶ","Ž","z","z","ž","Ż","𝔷","𝔃","𝓏","𝓩","𝐙","𝐳","ℤ","𝕫","ᶻ"]};
      if(map[c]) { return randomElement(map[c]); }
      else { return c; }
    }
    function randomElement(array) {
      return array[Math.floor(Math.random() * array.length)]
    }
    function randomSymbols(n) {
      var symbols = ["🐙","🐉","🐊","🐒","🐝","🐜","🐚","🐲","🐳","🐸","👑","👹","👺","👤","💲","💣","💙","💚","💛","💜","💝","💗","💘","💞","💔","💥","🐯","🐼","🐻","🐺","👌","🐍","🐧","🐟","🐠","🐨","🎯","🏆","🎁","🎀","🎉","🎈","🍮","🍭","🍬","🍫","🍪","🍧","🌷","🍓","😺","😾","&#9998;","😎","😝","😂","😈","😡","😲","😳","🍔","🍟","🍩","🎃","🎄","🎅","🐣","🐤","👍","👊","👻","👽","👮","💎","💋","👣","💀","💢","🔥","&#9812;","&#9813;","&#9814;","&#9815;","&#9816;","&#9817;","&#9818;","&#9819;","&#9820;","&#9821;","&#9822;","&#9823;","&#9824;","&#9825;","&#9826;","&#9827;","&#9828;","&#9829;","&#9830;","&#9831;","&#9832;","&#9833;","&#9834;","&#9836;","&#9733;","&#9734;","&#9786;","&#9785;","&#9775;","&#9774;","&#9762;","&#9760;","&#9759;","&#9758;","&#9757;","&#9756;","&#9996;","&#9995;","&#9994;","&#9973;","ൠ","&#9996;","ඏ"];
      var s = [];
      for(var i = 0; i < n; i++) s.push( randomElement(symbols) );
      return s.join("");
    }
    function randInt(min, max) {
      return min + Math.floor(Math.random()*(max-min+1));
}

                
reverseIsDisabled = true;
function backward(text) { return $('#your-text').val(); }           
            

			try {
			

			var jsonData = {"phrases1":"","phrases2":"","words1":"","words2":"","intraword1":"","intraword2":"","prefixes1":"","prefixes2":"","suffixes1":"","suffixes2":"","regex1":"","regex2":"","rev_regex1":"","rev_regex2":"","ordering1":"","ordering2":""};
			phrases1 = jsonData.phrases1.split("\n");
			phrases2 = jsonData.phrases2.split("\n");
			words1 = jsonData.words1.split("\n");
			words2 = jsonData.words2.split("\n");
			intraword1 = jsonData.intraword1.split("\n");
			intraword2 = jsonData.intraword2.split("\n");
			prefixes1 = jsonData.prefixes1.split("\n");
			prefixes2 = jsonData.prefixes2.split("\n");
			suffixes1 = jsonData.suffixes1.split("\n");
			suffixes2 = jsonData.suffixes2.split("\n");
			regex1 = jsonData.regex1.split("\n");
			regex2 = jsonData.regex2.split("\n");
			rev_regex1 = jsonData.rev_regex1.split("\n");
			rev_regex2 = jsonData.rev_regex2.split("\n");
            ordering1 = jsonData.ordering1.split("\n");
            ordering2 = jsonData.ordering2.split("\n");

			} catch(err) {
				alert("Ahh an error! Please contact me via hello@josephrocca.com and I'll fix it asap. Error log: "+err.message);
			}

			evenUpSizes(phrases1,phrases2);
			evenUpSizes(words1,words2);
			evenUpSizes(intraword1,intraword2);
			evenUpSizes(prefixes1,prefixes2);
			evenUpSizes(suffixes1,suffixes2);

			//fix for mysql trailing newline deletion problem
			function evenUpSizes(a,b) {
				if(a.length > b.length) {
					while(a.length > b.length) b.push("");
				} else if(b.length > a.length) {
					while(b.length > a.length) a.push("");
				}
			}

			
			/* Initial translate for default text */
			if($('#your-text').val() != "") {
				var english = $('#your-text').val();
				var fancytextguru = translate(english);
				$('#stylish-text').val(fancytextguru);
      }
      

$(document).on("click", ".yt-prakash p", function () {
       
        

        $(".copied").fadeOut(1000);
    });
$(document).on("click", ".input-group", function () {
      $(this).append('<span class="copied"></span>');
         // select_all_and_copy($('.input-group input').val());
          $(".copied").fadeOut(2000);
      });


      function select_all_and_copy(el) 
      {
          // Copy textarea, pre, div, etc.
        if (document.body.createTextRange) {
              // IE 
              var textRange = document.body.createTextRange();
              textRange.moveToElementText(el);
              textRange.select();
              textRange.execCommand("Copy");   
          //tooltip(el, "Copied!");  
          }
        else if (window.getSelection && document.createRange) {
              // non-IE
              var editable = el.contentEditable; // Record contentEditable status of element
              var readOnly = el.readOnly; // Record readOnly status of element
               el.contentEditable = true; // iOS will only select text on non-form elements if contentEditable = true;
               el.readOnly = true; // iOS will not select in a read only form element // Version 1.2c - Changed from false to true; Prevents keyboard from appearing when copying from textarea
              var range = document.createRange();
              range.selectNodeContents(el);
              var sel = window.getSelection();
              sel.removeAllRanges();
              sel.addRange(range); // Does not work for Firefox if a textarea or input
              if (el.nodeName == "TEXTAREA" || el.nodeName == "INPUT") 
                el.select(); // Firefox will only select a form element with select()
              //if (el.setSelectionRange && navigator.userAgent.match(/ipad|ipod|iphone/i)) // Version 1.2c - iOS 12 might be defaulting to desktop mode so removed
              if (el.setSelectionRange) // Version 1.2c - iOS 12 might be defaulting to desktop mode and no longer has iphone in user agent
                el.setSelectionRange(0, 999999); // iOS only selects "form" elements with SelectionRange
              el.contentEditable = editable; // Restore previous contentEditable status
              el.readOnly = readOnly; // Restore previous readOnly status 
            if (document.queryCommandSupported("copy"))
            {
            var successful = document.execCommand('copy');  
              if (successful) console.log("Copied to clipboard.");
              else console.log(el, "Press CTRL+C to copy");
          }
          else
          {
            if (!navigator.userAgent.match(/ipad|ipod|iphone|android|silk/i))
              tooltip(el, "Press CTRL+C to copy");	
          }
          }
      } 
      
      function make_copy_button(el)
      {
       
        var copy_btn = document.createElement('span');
        copy_btn.style.border = "1px solid black";
        copy_btn.style.padding = "5px";
        copy_btn.style.cursor = "pointer";
        copy_btn.style.display = "inline-block";
        copy_btn.style.background = "lightgrey";
        copy_btn.setAttribute("role", "button");
        copy_btn.setAttribute("tabindex", 0);
        
        el.parentNode.insertBefore(copy_btn, el.nextSibling);
        copy_btn.onclick = function() { select_all_and_copy(el); };
        
        if (document.queryCommandSupported("copy"))
        {
         
          copy_btn.innerHTML = "Copy to Clipboard";
        }	
        else
        {
          
          copy_btn.innerHTML = "Select All";
              
        }
      }

      



$( "#load-more" ).click(function() {

  $(".lds-circle").fadeIn();
  clearTimeout(forwardTimeout);
      forwardTimeout = setTimeout(function() {
          var english = $('#your-text').val();
          var fancytextguru = translate(english);
          $('#stylish-text-three').append(translatetwo(english));
      }, 200);
      $(".lds-circle").fadeOut(1000);

});

$(document).ready(function() {
  var url = window.location.href;
var params = url.split('?=');

                    
strings = params[1];

if (strings){
  //alert(decodeURIComponent(strings));
  clearTimeout(forwardTimeout);
        forwardTimeout = setTimeout(function() {
            var english = decodeURIComponent(strings);
            var fancytextguru = translate(english);
            $('#stylish-text').html(fancytextguru);
            $('#stylish-text-two').html(translateone(english));
            $('#stylish-text-three').html(translatetwo(english));
            $('#your-text').val(english);
        }, 200);
}
});

var windowWidth = $(window).width();
    if (windowWidth > 1040) {$(document).ready(function () {$(".your-text").sticky({ topSpacing: 0 });$(".your-age").sticky({ topSpacing: 130 });});
    }

    $(document).ready(function() {
      $(".lds-circle").hide();
  });


  $(document).ready(function(){ 
    $(window).scroll(function(){ 
        if ($(this).scrollTop() > 100) { 
            $('#scroll').fadeIn(); 
        } else { 
            $('#scroll').fadeOut(); 
        } 
    }); 
    $('#scroll').click(function(){ 
        $("html, body").animate({ scrollTop: 0 }, 600); 
        return false; 
    }); 
});

document.addEventListener("DOMContentLoaded", function () {
  var lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));

  if ("IntersectionObserver" in window) {
    let lazyImageObserver = new IntersectionObserver(function (entries, observer) {
      entries.forEach(function (entry) {
        if (entry.isIntersecting) {
          let lazyImage = entry.target;
          lazyImage.src = lazyImage.dataset.src;
          lazyImage.classList.remove("lazy");
          lazyImageObserver.unobserve(lazyImage);
        }
      });
    });

    lazyImages.forEach(function (lazyImage) {
      lazyImageObserver.observe(lazyImage);
    });
  } else {
    // Possibly fall back to a more compatible method here
  }
});