/*! For license information please see 78beec2e_v1.0.0.js.LICENSE.txt */
(()=>{var e={26:(e,t,o)=>{!function(){var t;t=void 0!==e.exports?o(186):window.PNGlib;var i=function(e,t){if("string"!=typeof e||e.length<15)throw"A hash of at least 15 characters is required.";this.defaults={background:[240,240,240,255],margin:.08,size:64,saturation:.7,brightness:.5,format:"png"},this.options="object"==typeof t?t:this.defaults,"number"==typeof arguments[1]&&(this.options.size=arguments[1]),arguments[2]&&(this.options.margin=arguments[2]),this.hash=e,this.background=this.options.background||this.defaults.background,this.size=this.options.size||this.defaults.size,this.format=this.options.format||this.defaults.format,this.margin=void 0!==this.options.margin?this.options.margin:this.defaults.margin;var o=parseInt(this.hash.substr(-7),16)/268435455,i=this.options.saturation||this.defaults.saturation,r=this.options.brightness||this.defaults.brightness;this.foreground=this.options.foreground||this.hsl2rgb(o,i,r)};i.prototype={background:null,foreground:null,hash:null,margin:null,size:null,format:null,image:function(){return this.isSvg()?new r(this.size,this.foreground,this.background):new t(this.size,this.size,256)},render:function(){var e,t,o=this.image(),i=this.size,r=Math.floor(i*this.margin),s=Math.floor((i-2*r)/5),n=Math.floor((i-5*s)/2),a=o.color.apply(o,this.background),c=o.color.apply(o,this.foreground);for(e=0;e<15;e++)t=parseInt(this.hash.charAt(e),16)%2?a:c,e<5?this.rectangle(2*s+n,e*s+n,s,s,t,o):e<10?(this.rectangle(1*s+n,(e-5)*s+n,s,s,t,o),this.rectangle(3*s+n,(e-5)*s+n,s,s,t,o)):e<15&&(this.rectangle(0*s+n,(e-10)*s+n,s,s,t,o),this.rectangle(4*s+n,(e-10)*s+n,s,s,t,o));return o},rectangle:function(e,t,o,i,r,s){var n,a;if(this.isSvg())s.rectangles.push({x:e,y:t,w:o,h:i,color:r});else for(n=e;n<e+o;n++)for(a=t;a<t+i;a++)s.buffer[s.index(n,a)]=r},hsl2rgb:function(e,t,o){return[255*(t=[o+=t*=o<.5?o:1-o,o-(e*=6)%1*t*2,o-=t*=2,o,o+e%1*t,o+t])[~~e%6],255*t[(16|e)%6],255*t[(8|e)%6]]},toString:function(e){return e?this.render().getDump():this.render().getBase64()},isSvg:function(){return this.format.match(/svg/i)}};var r=function(e,t,o){this.size=e,this.foreground=this.color.apply(this,t),this.background=this.color.apply(this,o),this.rectangles=[]};r.prototype={size:null,foreground:null,background:null,rectangles:null,color:function(e,t,o,i){var r=[e,t,o].map(Math.round);return r.push(i>=0&&i<=255?i/255:1),"rgba("+r.join(",")+")"},getDump:function(){var e,t,o,i=this.foreground,r=this.background,s=.005*this.size;for(t="<svg xmlns='http://www.w3.org/2000/svg' width='"+this.size+"' height='"+this.size+"' style='background-color:"+r+";'><g style='fill:"+i+"; stroke:"+i+"; stroke-width:"+s+";'>",e=0;e<this.rectangles.length;e++)(o=this.rectangles[e]).color!=r&&(t+="<rect  x='"+o.x+"' y='"+o.y+"' width='"+o.w+"' height='"+o.h+"'/>");return t+="</g></svg>"},getBase64:function(){if("function"==typeof btoa)return btoa(this.getDump());if(Buffer)return new Buffer(this.getDump(),"binary").toString("base64");throw"Cannot generate base64 output"}},void 0!==e.exports?e.exports=i:window.Identicon=i}()},186:e=>{!function(){function t(e,t){for(var o=2;o<arguments.length;o++)for(var i=0;i<arguments[o].length;i++)e[t++]=arguments[o].charAt(i)}function o(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)}function i(e){return String.fromCharCode(255&e,e>>8&255)}var r=function(e,r,s){this.width=e,this.height=r,this.depth=s,this.pix_size=r*(e+1),this.data_size=2+this.pix_size+5*Math.floor((65534+this.pix_size)/65535)+4,this.ihdr_offs=0,this.ihdr_size=25,this.plte_offs=this.ihdr_offs+this.ihdr_size,this.plte_size=8+3*s+4,this.trns_offs=this.plte_offs+this.plte_size,this.trns_size=8+s+4,this.idat_offs=this.trns_offs+this.trns_size,this.idat_size=8+this.data_size+4,this.iend_offs=this.idat_offs+this.idat_size,this.iend_size=12,this.buffer_size=this.iend_offs+this.iend_size,this.buffer=new Array,this.palette=new Object,this.pindex=0;for(var n=new Array,a=0;a<this.buffer_size;a++)this.buffer[a]="\0";t(this.buffer,this.ihdr_offs,o(this.ihdr_size-12),"IHDR",o(e),o(r),"\b"),t(this.buffer,this.plte_offs,o(this.plte_size-12),"PLTE"),t(this.buffer,this.trns_offs,o(this.trns_size-12),"tRNS"),t(this.buffer,this.idat_offs,o(this.idat_size-12),"IDAT"),t(this.buffer,this.iend_offs,o(this.iend_size-12),"IEND");var c,l=30912;l+=31-l%31,t(this.buffer,this.idat_offs+8,(c=l,String.fromCharCode(c>>8&255,255&c)));for(a=0;(a<<16)-1<this.pix_size;a++){var h,u;a+65535<this.pix_size?(h=65535,u="\0"):(h=this.pix_size-(a<<16)-a,u=""),t(this.buffer,this.idat_offs+8+2+(a<<16)+(a<<2),u,i(h),i(~h))}for(a=0;a<256;a++){for(var d=a,m=0;m<8;m++)d=1&d?-306674912^d>>1&2147483647:d>>1&2147483647;n[a]=d}this.index=function(e,t){var o=t*(this.width+1)+e+1;return this.idat_offs+8+2+5*Math.floor(o/65535+1)+o},this.color=function(e,t,o,i){var r=(((i=i>=0?i:255)<<8|e)<<8|t)<<8|o;if(void 0===this.palette[r]){if(this.pindex==this.depth)return"\0";var s=this.plte_offs+8+3*this.pindex;this.buffer[s+0]=String.fromCharCode(e),this.buffer[s+1]=String.fromCharCode(t),this.buffer[s+2]=String.fromCharCode(o),this.buffer[this.trns_offs+8+this.pindex]=String.fromCharCode(i),this.palette[r]=String.fromCharCode(this.pindex++)}return this.palette[r]},this.getBase64=function(){var e,t,o,i,r,s,n,a=this.getDump(),c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=a.length,h=0,u="";do{i=(e=a.charCodeAt(h))>>2,r=(3&e)<<4|(t=a.charCodeAt(h+1))>>4,o=a.charCodeAt(h+2),s=l<h+2?64:(15&t)<<2|o>>6,n=l<h+3?64:63&o,u+=c.charAt(i)+c.charAt(r)+c.charAt(s)+c.charAt(n)}while((h+=3)<l);return u},this.getDump=function(){for(var e=65521,i=1,r=0,s=5552,a=0;a<this.height;a++)for(var c=-1;c<this.width;c++)r+=i+=this.buffer[this.index(c,a)].charCodeAt(0),0==(s-=1)&&(i%=e,r%=e,s=5552);function l(e,i,r){for(var s=-1,a=4;a<r-4;a+=1)s=n[255&(s^e[i+a].charCodeAt(0))]^s>>8&16777215;t(e,i+r-4,o(~s))}return i%=e,r%=e,t(this.buffer,this.idat_offs+this.idat_size-8,o(r<<16|i)),l(this.buffer,this.ihdr_offs,this.ihdr_size),l(this.buffer,this.plte_offs,this.plte_size),l(this.buffer,this.trns_offs,this.trns_size),l(this.buffer,this.idat_offs,this.idat_size),l(this.buffer,this.iend_offs,this.iend_size),"PNG\r\n\n"+this.buffer.join("")}};void 0!==e.exports?e.exports=r:window.PNGlib=r}()},697:(e,t,o)=>{"use strict";o.r(t)},177:e=>{e.exports=function e(t,o,i){function r(n,a){if(!o[n]){if(!t[n]){if(s)return s(n,!0);throw new Error("Cannot find module '"+n+"'")}a=o[n]={exports:{}},t[n][0].call(a.exports,(function(e){return r(t[n][1][e]||e)}),a,a.exports,e,t,o,i)}return o[n].exports}for(var s=void 0,n=0;n<i.length;n++)r(i[n]);return r}({1:[function(e,t,o){(function(i,r,s,n,a,c,l,h,u){"use strict";var d=e("crypto");function m(e,t){var o;return void 0===(o="passthrough"!==(t=f(e,t)).algorithm?d.createHash(t.algorithm):new w).write&&(o.write=o.update,o.end=o.update),v(t,o).dispatch(e),o.update||o.end(""),o.digest?o.digest("buffer"===t.encoding?void 0:t.encoding):(e=o.read(),"buffer"!==t.encoding?e.toString(t.encoding):e)}(o=t.exports=m).sha1=function(e){return m(e)},o.keys=function(e){return m(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},o.MD5=function(e){return m(e,{algorithm:"md5",encoding:"hex"})},o.keysMD5=function(e){return m(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var p=d.getHashes?d.getHashes().slice():["sha1","md5"],g=(p.push("passthrough"),["buffer","hex","binary","base64"]);function f(e,t){var o={};if(o.algorithm=(t=t||{}).algorithm||"sha1",o.encoding=t.encoding||"hex",o.excludeValues=!!t.excludeValues,o.algorithm=o.algorithm.toLowerCase(),o.encoding=o.encoding.toLowerCase(),o.ignoreUnknown=!0===t.ignoreUnknown,o.respectType=!1!==t.respectType,o.respectFunctionNames=!1!==t.respectFunctionNames,o.respectFunctionProperties=!1!==t.respectFunctionProperties,o.unorderedArrays=!0===t.unorderedArrays,o.unorderedSets=!1!==t.unorderedSets,o.unorderedObjects=!1!==t.unorderedObjects,o.replacer=t.replacer||void 0,o.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error("Object argument required.");for(var i=0;i<p.length;++i)p[i].toLowerCase()===o.algorithm.toLowerCase()&&(o.algorithm=p[i]);if(-1===p.indexOf(o.algorithm))throw new Error('Algorithm "'+o.algorithm+'"  not supported. supported values: '+p.join(", "));if(-1===g.indexOf(o.encoding)&&"passthrough"!==o.algorithm)throw new Error('Encoding "'+o.encoding+'"  not supported. supported values: '+g.join(", "));return o}function y(e){if("function"==typeof e)return null!=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e))}function v(e,t,o){function i(e){return t.update?t.update(e,"utf8"):t.write(e,"utf8")}return o=o||[],{dispatch:function(t){return this["_"+(null===(t=e.replacer?e.replacer(t):t)?"null":typeof t)](t)},_object:function(t){var r,n=Object.prototype.toString.call(t),a=/\[object (.*)\]/i.exec(n);if(a=(a=a?a[1]:"unknown:["+n+"]").toLowerCase(),0<=(n=o.indexOf(t)))return this.dispatch("[CIRCULAR:"+n+"]");if(o.push(t),void 0!==s&&s.isBuffer&&s.isBuffer(t))return i("buffer:"),i(t);if("object"===a||"function"===a||"asyncfunction"===a)return n=Object.keys(t),e.unorderedObjects&&(n=n.sort()),!1===e.respectType||y(t)||n.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(n=n.filter((function(t){return!e.excludeKeys(t)}))),i("object:"+n.length+":"),r=this,n.forEach((function(o){r.dispatch(o),i(":"),e.excludeValues||r.dispatch(t[o]),i(",")}));if(!this["_"+a]){if(e.ignoreUnknown)return i("["+a+"]");throw new Error('Unknown object type "'+a+'"')}this["_"+a](t)},_array:function(t,r){r=void 0!==r?r:!1!==e.unorderedArrays;var s=this;if(i("array:"+t.length+":"),!r||t.length<=1)return t.forEach((function(e){return s.dispatch(e)}));var n=[];return r=t.map((function(t){var i=new w,r=o.slice();return v(e,i,r).dispatch(t),n=n.concat(r.slice(o.length)),i.read().toString()})),o=o.concat(n),r.sort(),this._array(r,!1)},_date:function(e){return i("date:"+e.toJSON())},_symbol:function(e){return i("symbol:"+e.toString())},_error:function(e){return i("error:"+e.toString())},_boolean:function(e){return i("bool:"+e.toString())},_string:function(e){i("string:"+e.length+":"),i(e.toString())},_function:function(t){i("fn:"),y(t)?this.dispatch("[native]"):this.dispatch(t.toString()),!1!==e.respectFunctionNames&&this.dispatch("function-name:"+String(t.name)),e.respectFunctionProperties&&this._object(t)},_number:function(e){return i("number:"+e.toString())},_xml:function(e){return i("xml:"+e.toString())},_null:function(){return i("Null")},_undefined:function(){return i("Undefined")},_regexp:function(e){return i("regex:"+e.toString())},_uint8array:function(e){return i("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return i("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return i("int8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return i("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return i("int16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return i("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return i("int32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return i("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return i("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return i("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return i("url:"+e.toString())},_map:function(t){return i("map:"),t=Array.from(t),this._array(t,!1!==e.unorderedSets)},_set:function(t){return i("set:"),t=Array.from(t),this._array(t,!1!==e.unorderedSets)},_file:function(e){return i("file:"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(e.ignoreUnknown)return i("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return i("domwindow")},_bigint:function(e){return i("bigint:"+e.toString())},_process:function(){return i("process")},_timer:function(){return i("timer")},_pipe:function(){return i("pipe")},_tcp:function(){return i("tcp")},_udp:function(){return i("udp")},_tty:function(){return i("tty")},_statwatcher:function(){return i("statwatcher")},_securecontext:function(){return i("securecontext")},_connection:function(){return i("connection")},_zlib:function(){return i("zlib")},_context:function(){return i("context")},_nodescript:function(){return i("nodescript")},_httpparser:function(){return i("httpparser")},_dataview:function(){return i("dataview")},_signal:function(){return i("signal")},_fsevent:function(){return i("fsevent")},_tlswrap:function(){return i("tlswrap")}}}function w(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}o.writeToStream=function(e,t,o){return void 0===o&&(o=t,t={}),v(t=f(e,t),o).dispatch(e)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_9a5aa49d.js","/")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(e,t,o){(function(e,t,i,r,s,n,a,c,l){!function(e){"use strict";var t="undefined"!=typeof Uint8Array?Uint8Array:Array,o="+".charCodeAt(0),i="/".charCodeAt(0),r="0".charCodeAt(0),s="a".charCodeAt(0),n="A".charCodeAt(0),a="-".charCodeAt(0),c="_".charCodeAt(0);function l(e){return(e=e.charCodeAt(0))===o||e===a?62:e===i||e===c?63:e<r?-1:e<r+10?e-r+26+26:e<n+26?e-n:e<s+26?e-s+26:void 0}e.toByteArray=function(e){var o,i;if(0<e.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.length,s=(r="="===e.charAt(r-2)?2:"="===e.charAt(r-1)?1:0,new t(3*e.length/4-r)),n=0<r?e.length-4:e.length,a=0;function c(e){s[a++]=e}for(o=0;o<n;o+=4,0)c((16711680&(i=l(e.charAt(o))<<18|l(e.charAt(o+1))<<12|l(e.charAt(o+2))<<6|l(e.charAt(o+3))))>>16),c((65280&i)>>8),c(255&i);return 2==r?c(255&(i=l(e.charAt(o))<<2|l(e.charAt(o+1))>>4)):1==r&&(c((i=l(e.charAt(o))<<10|l(e.charAt(o+1))<<4|l(e.charAt(o+2))>>2)>>8&255),c(255&i)),s},e.fromByteArray=function(e){var t,o,i,r,s=e.length%3,n="";function a(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,i=e.length-s;t<i;t+=3)n+=a((r=o=(e[t]<<16)+(e[t+1]<<8)+e[t+2])>>18&63)+a(r>>12&63)+a(r>>6&63)+a(63&r);switch(s){case 1:n=(n+=a((o=e[e.length-1])>>2))+a(o<<4&63)+"==";break;case 2:n=(n=(n+=a((o=(e[e.length-2]<<8)+e[e.length-1])>>10))+a(o>>4&63))+a(o<<2&63)+"="}return n}}(void 0===o?this.base64js={}:o)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(e,t,o){(function(t,i,r,s,n,a,c,l,h){var u=e("base64-js"),d=e("ieee754");function r(e,t,o){if(!(this instanceof r))return new r(e,t,o);var i,s,n,a,c=typeof e;if("base64"===t&&"string"==c)for(e=(a=e).trim?a.trim():a.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==c)i=I(e);else if("string"==c)i=r.byteLength(e,t);else{if("object"!=c)throw new Error("First argument needs to be a number, array or string.");i=I(e.length)}if(r._useTypedArrays?s=r._augment(new Uint8Array(i)):((s=this).length=i,s._isBuffer=!0),r._useTypedArrays&&"number"==typeof e.byteLength)s._set(e);else if(A(a=e)||r.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(n=0;n<i;n++)r.isBuffer(e)?s[n]=e.readUInt8(n):s[n]=e[n];else if("string"==c)s.write(e,0,t);else if("number"==c&&!r._useTypedArrays&&!o)for(n=0;n<i;n++)s[n]=0;return s}function m(e,t,o,i){return r._charsWritten=M(function(e){for(var t=[],o=0;o<e.length;o++)t.push(255&e.charCodeAt(o));return t}(t),e,o,i)}function p(e,t,o,i){return r._charsWritten=M(function(e){for(var t,o,i=[],r=0;r<e.length;r++)t=(o=e.charCodeAt(r))>>8,o%=256,i.push(o),i.push(t);return i}(t),e,o,i)}function g(e,t,o){var i="";o=Math.min(e.length,o);for(var r=t;r<o;r++)i+=String.fromCharCode(e[r]);return i}function f(e,t,o,i){var r;if(i||(V("boolean"==typeof o,"missing or invalid endian"),V(null!=t,"missing offset"),V(t+1<e.length,"Trying to read beyond buffer length")),!((i=e.length)<=t))return o?(r=e[t],t+1<i&&(r|=e[t+1]<<8)):(r=e[t]<<8,t+1<i&&(r|=e[t+1])),r}function y(e,t,o,i){var r;if(i||(V("boolean"==typeof o,"missing or invalid endian"),V(null!=t,"missing offset"),V(t+3<e.length,"Trying to read beyond buffer length")),!((i=e.length)<=t))return o?(t+2<i&&(r=e[t+2]<<16),t+1<i&&(r|=e[t+1]<<8),r|=e[t],t+3<i&&(r+=e[t+3]<<24>>>0)):(t+1<i&&(r=e[t+1]<<16),t+2<i&&(r|=e[t+2]<<8),t+3<i&&(r|=e[t+3]),r+=e[t]<<24>>>0),r}function v(e,t,o,i){if(i||(V("boolean"==typeof o,"missing or invalid endian"),V(null!=t,"missing offset"),V(t+1<e.length,"Trying to read beyond buffer length")),!(e.length<=t))return 32768&(i=f(e,t,o,!0))?-1*(65535-i+1):i}function w(e,t,o,i){if(i||(V("boolean"==typeof o,"missing or invalid endian"),V(null!=t,"missing offset"),V(t+3<e.length,"Trying to read beyond buffer length")),!(e.length<=t))return 2147483648&(i=y(e,t,o,!0))?-1*(4294967295-i+1):i}function b(e,t,o,i){return i||(V("boolean"==typeof o,"missing or invalid endian"),V(t+3<e.length,"Trying to read beyond buffer length")),d.read(e,t,o,23,4)}function _(e,t,o,i){return i||(V("boolean"==typeof o,"missing or invalid endian"),V(t+7<e.length,"Trying to read beyond buffer length")),d.read(e,t,o,52,8)}function j(e,t,o,i,r){if(r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+1<e.length,"trying to write beyond buffer length"),T(t,65535)),!((r=e.length)<=o))for(var s=0,n=Math.min(r-o,2);s<n;s++)e[o+s]=(t&255<<8*(i?s:1-s))>>>8*(i?s:1-s)}function C(e,t,o,i,r){if(r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+3<e.length,"trying to write beyond buffer length"),T(t,4294967295)),!((r=e.length)<=o))for(var s=0,n=Math.min(r-o,4);s<n;s++)e[o+s]=t>>>8*(i?s:3-s)&255}function k(e,t,o,i,r){r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+1<e.length,"Trying to write beyond buffer length"),D(t,32767,-32768)),e.length<=o||j(e,0<=t?t:65535+t+1,o,i,r)}function x(e,t,o,i,r){r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+3<e.length,"Trying to write beyond buffer length"),D(t,2147483647,-2147483648)),e.length<=o||C(e,0<=t?t:4294967295+t+1,o,i,r)}function E(e,t,o,i,r){r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+3<e.length,"Trying to write beyond buffer length"),R(t,34028234663852886e22,-34028234663852886e22)),e.length<=o||d.write(e,t,o,i,23,4)}function S(e,t,o,i,r){r||(V(null!=t,"missing value"),V("boolean"==typeof i,"missing or invalid endian"),V(null!=o,"missing offset"),V(o+7<e.length,"Trying to write beyond buffer length"),R(t,17976931348623157e292,-17976931348623157e292)),e.length<=o||d.write(e,t,o,i,52,8)}o.Buffer=r,o.SlowBuffer=r,o.INSPECT_MAX_BYTES=50,r.poolSize=8192,r._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(e){return!1}}(),r.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},r.isBuffer=function(e){return!(null==e||!e._isBuffer)},r.byteLength=function(e,t){var o;switch(e+="",t||"utf8"){case"hex":o=e.length/2;break;case"utf8":case"utf-8":o=F(e).length;break;case"ascii":case"binary":case"raw":o=e.length;break;case"base64":o=B(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":o=2*e.length;break;default:throw new Error("Unknown encoding")}return o},r.concat=function(e,t){if(V(A(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new r(0);if(1===e.length)return e[0];if("number"!=typeof t)for(s=t=0;s<e.length;s++)t+=e[s].length;for(var o=new r(t),i=0,s=0;s<e.length;s++){var n=e[s];n.copy(o,i),i+=n.length}return o},r.prototype.write=function(e,t,o,i){isFinite(t)?isFinite(o)||(i=o,o=void 0):(l=i,i=t,t=o,o=l),t=Number(t)||0;var s,n,a,c,l=this.length-t;switch((!o||l<(o=Number(o)))&&(o=l),i=String(i||"utf8").toLowerCase()){case"hex":s=function(e,t,o,i){o=Number(o)||0;var s=e.length-o;(!i||s<(i=Number(i)))&&(i=s),V((s=t.length)%2==0,"Invalid hex string"),s/2<i&&(i=s/2);for(var n=0;n<i;n++){var a=parseInt(t.substr(2*n,2),16);V(!isNaN(a),"Invalid hex string"),e[o+n]=a}return r._charsWritten=2*n,n}(this,e,t,o);break;case"utf8":case"utf-8":n=this,a=t,c=o,s=r._charsWritten=M(F(e),n,a,c);break;case"ascii":case"binary":s=m(this,e,t,o);break;case"base64":n=this,a=t,c=o,s=r._charsWritten=M(B(e),n,a,c);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":s=p(this,e,t,o);break;default:throw new Error("Unknown encoding")}return s},r.prototype.toString=function(e,t,o){var i,r,s,n,a=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,(o=void 0!==o?Number(o):a.length)===t)return"";switch(e){case"hex":i=function(e,t,o){var i=e.length;(!t||t<0)&&(t=0),(!o||o<0||i<o)&&(o=i);for(var r="",s=t;s<o;s++)r+=P(e[s]);return r}(a,t,o);break;case"utf8":case"utf-8":i=function(e,t,o){var i="",r="";o=Math.min(e.length,o);for(var s=t;s<o;s++)e[s]<=127?(i+=$(r)+String.fromCharCode(e[s]),r=""):r+="%"+e[s].toString(16);return i+$(r)}(a,t,o);break;case"ascii":case"binary":i=g(a,t,o);break;case"base64":r=a,n=o,i=0===(s=t)&&n===r.length?u.fromByteArray(r):u.fromByteArray(r.slice(s,n));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":i=function(e,t,o){for(var i=e.slice(t,o),r="",s=0;s<i.length;s+=2)r+=String.fromCharCode(i[s]+256*i[s+1]);return r}(a,t,o);break;default:throw new Error("Unknown encoding")}return i},r.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},r.prototype.copy=function(e,t,o,i){if(t=t||0,(i=i||0===i?i:this.length)!==(o=o||0)&&0!==e.length&&0!==this.length){V(o<=i,"sourceEnd < sourceStart"),V(0<=t&&t<e.length,"targetStart out of bounds"),V(0<=o&&o<this.length,"sourceStart out of bounds"),V(0<=i&&i<=this.length,"sourceEnd out of bounds"),i>this.length&&(i=this.length);var s=(i=e.length-t<i-o?e.length-t+o:i)-o;if(s<100||!r._useTypedArrays)for(var n=0;n<s;n++)e[n+t]=this[n+o];else e._set(this.subarray(o,o+s),t)}},r.prototype.slice=function(e,t){var o=this.length;if(e=L(e,o,0),t=L(t,o,o),r._useTypedArrays)return r._augment(this.subarray(e,t));for(var i=t-e,s=new r(i,void 0,!0),n=0;n<i;n++)s[n]=this[n+e];return s},r.prototype.get=function(e){return this.readUInt8(e)},r.prototype.set=function(e,t){return this.writeUInt8(e,t)},r.prototype.readUInt8=function(e,t){if(t||(V(null!=e,"missing offset"),V(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return this[e]},r.prototype.readUInt16LE=function(e,t){return f(this,e,!0,t)},r.prototype.readUInt16BE=function(e,t){return f(this,e,!1,t)},r.prototype.readUInt32LE=function(e,t){return y(this,e,!0,t)},r.prototype.readUInt32BE=function(e,t){return y(this,e,!1,t)},r.prototype.readInt8=function(e,t){if(t||(V(null!=e,"missing offset"),V(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},r.prototype.readInt16LE=function(e,t){return v(this,e,!0,t)},r.prototype.readInt16BE=function(e,t){return v(this,e,!1,t)},r.prototype.readInt32LE=function(e,t){return w(this,e,!0,t)},r.prototype.readInt32BE=function(e,t){return w(this,e,!1,t)},r.prototype.readFloatLE=function(e,t){return b(this,e,!0,t)},r.prototype.readFloatBE=function(e,t){return b(this,e,!1,t)},r.prototype.readDoubleLE=function(e,t){return _(this,e,!0,t)},r.prototype.readDoubleBE=function(e,t){return _(this,e,!1,t)},r.prototype.writeUInt8=function(e,t,o){o||(V(null!=e,"missing value"),V(null!=t,"missing offset"),V(t<this.length,"trying to write beyond buffer length"),T(e,255)),t>=this.length||(this[t]=e)},r.prototype.writeUInt16LE=function(e,t,o){j(this,e,t,!0,o)},r.prototype.writeUInt16BE=function(e,t,o){j(this,e,t,!1,o)},r.prototype.writeUInt32LE=function(e,t,o){C(this,e,t,!0,o)},r.prototype.writeUInt32BE=function(e,t,o){C(this,e,t,!1,o)},r.prototype.writeInt8=function(e,t,o){o||(V(null!=e,"missing value"),V(null!=t,"missing offset"),V(t<this.length,"Trying to write beyond buffer length"),D(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,o):this.writeUInt8(255+e+1,t,o))},r.prototype.writeInt16LE=function(e,t,o){k(this,e,t,!0,o)},r.prototype.writeInt16BE=function(e,t,o){k(this,e,t,!1,o)},r.prototype.writeInt32LE=function(e,t,o){x(this,e,t,!0,o)},r.prototype.writeInt32BE=function(e,t,o){x(this,e,t,!1,o)},r.prototype.writeFloatLE=function(e,t,o){E(this,e,t,!0,o)},r.prototype.writeFloatBE=function(e,t,o){E(this,e,t,!1,o)},r.prototype.writeDoubleLE=function(e,t,o){S(this,e,t,!0,o)},r.prototype.writeDoubleBE=function(e,t,o){S(this,e,t,!1,o)},r.prototype.fill=function(e,t,o){if(t=t||0,o=o||this.length,V("number"==typeof(e="string"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),"value is not a number"),V(t<=o,"end < start"),o!==t&&0!==this.length){V(0<=t&&t<this.length,"start out of bounds"),V(0<=o&&o<=this.length,"end out of bounds");for(var i=t;i<o;i++)this[i]=e}},r.prototype.inspect=function(){for(var e=[],t=this.length,i=0;i<t;i++)if(e[i]=P(this[i]),i===o.INSPECT_MAX_BYTES){e[i+1]="...";break}return"<Buffer "+e.join(" ")+">"},r.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(r._useTypedArrays)return new r(this).buffer;for(var e=new Uint8Array(this.length),t=0,o=e.length;t<o;t+=1)e[t]=this[t];return e.buffer};var z=r.prototype;function L(e,t,o){return"number"!=typeof e?o:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function I(e){return(e=~~Math.ceil(+e))<0?0:e}function A(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function P(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e){for(var t=[],o=0;o<e.length;o++){var i=e.charCodeAt(o);if(i<=127)t.push(e.charCodeAt(o));else for(var r=o,s=(55296<=i&&i<=57343&&o++,encodeURIComponent(e.slice(r,o+1)).substr(1).split("%")),n=0;n<s.length;n++)t.push(parseInt(s[n],16))}return t}function B(e){return u.toByteArray(e)}function M(e,t,o,i){for(var r=0;r<i&&!(r+o>=t.length||r>=e.length);r++)t[r+o]=e[r];return r}function $(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function T(e,t){V("number"==typeof e,"cannot write a non-number as a number"),V(0<=e,"specified a negative value for writing an unsigned value"),V(e<=t,"value is larger than maximum value for type"),V(Math.floor(e)===e,"value has a fractional component")}function D(e,t,o){V("number"==typeof e,"cannot write a non-number as a number"),V(e<=t,"value larger than maximum allowed value"),V(o<=e,"value smaller than minimum allowed value"),V(Math.floor(e)===e,"value has a fractional component")}function R(e,t,o){V("number"==typeof e,"cannot write a non-number as a number"),V(e<=t,"value larger than maximum allowed value"),V(o<=e,"value smaller than minimum allowed value")}function V(e,t){if(!e)throw new Error(t||"Failed assertion")}r._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=z.get,e.set=z.set,e.write=z.write,e.toString=z.toString,e.toLocaleString=z.toString,e.toJSON=z.toJSON,e.copy=z.copy,e.slice=z.slice,e.readUInt8=z.readUInt8,e.readUInt16LE=z.readUInt16LE,e.readUInt16BE=z.readUInt16BE,e.readUInt32LE=z.readUInt32LE,e.readUInt32BE=z.readUInt32BE,e.readInt8=z.readInt8,e.readInt16LE=z.readInt16LE,e.readInt16BE=z.readInt16BE,e.readInt32LE=z.readInt32LE,e.readInt32BE=z.readInt32BE,e.readFloatLE=z.readFloatLE,e.readFloatBE=z.readFloatBE,e.readDoubleLE=z.readDoubleLE,e.readDoubleBE=z.readDoubleBE,e.writeUInt8=z.writeUInt8,e.writeUInt16LE=z.writeUInt16LE,e.writeUInt16BE=z.writeUInt16BE,e.writeUInt32LE=z.writeUInt32LE,e.writeUInt32BE=z.writeUInt32BE,e.writeInt8=z.writeInt8,e.writeInt16LE=z.writeInt16LE,e.writeInt16BE=z.writeInt16BE,e.writeInt32LE=z.writeInt32LE,e.writeInt32BE=z.writeInt32BE,e.writeFloatLE=z.writeFloatLE,e.writeFloatBE=z.writeFloatBE,e.writeDoubleLE=z.writeDoubleLE,e.writeDoubleBE=z.writeDoubleBE,e.fill=z.fill,e.inspect=z.inspect,e.toArrayBuffer=z.toArrayBuffer,e}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(e,t,o){(function(o,i,r,s,n,a,c,l,h){r=e("buffer").Buffer;var u=4,d=new r(u);d.fill(0),t.exports={hash:function(e,t,o,i){for(var s=t(function(e,t){e.length%u!=0&&(o=e.length+(u-e.length%u),e=r.concat([e,d],o));for(var o,i=[],s=t?e.readInt32BE:e.readInt32LE,n=0;n<e.length;n+=u)i.push(s.call(e,n));return i}(e=r.isBuffer(e)?e:new r(e),i),8*e.length),n=(t=i,new r(o)),a=t?n.writeInt32BE:n.writeInt32LE,c=0;c<s.length;c++)a.call(n,s[c],4*c,!0);return n}}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],5:[function(e,t,o){(function(t,i,r,s,n,a,c,l,h){r=e("buffer").Buffer;var u=e("./sha"),d=e("./sha256"),m=e("./rng"),p={sha1:u,sha256:d,md5:e("./md5")},g=64,f=new r(g);function y(e,t){var o=p[e=e||"sha1"],i=[];return o||v("algorithm:",e,"is not yet supported"),{update:function(e){return r.isBuffer(e)||(e=new r(e)),i.push(e),e.length,this},digest:function(e){var s=r.concat(i);return s=t?function(e,t,o){r.isBuffer(t)||(t=new r(t)),r.isBuffer(o)||(o=new r(o)),t.length>g?t=e(t):t.length<g&&(t=r.concat([t,f],g));for(var i=new r(g),s=new r(g),n=0;n<g;n++)i[n]=54^t[n],s[n]=92^t[n];return o=e(r.concat([i,o])),e(r.concat([s,o]))}(o,t,s):o(s),i=null,e?s.toString(e):s}}}function v(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}f.fill(0),o.createHash=function(e){return y(e)},o.createHmac=y,o.randomBytes=function(e,t){if(!t||!t.call)return new r(m(e));try{t.call(this,void 0,new r(m(e)))}catch(e){t(e)}};var w,b=["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],_=function(e){o[e]=function(){v("sorry,",e,"is not implemented yet")}};for(w in b)_(b[w],w)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:11}],6:[function(e,t,o){(function(o,i,r,s,n,a,c,l,h){var u=e("./helpers");function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var o=1732584193,i=-271733879,r=-1732584194,s=271733878,n=0;n<e.length;n+=16){var a=o,c=i,l=r,h=s;o=p(o,i,r,s,e[n+0],7,-680876936),s=p(s,o,i,r,e[n+1],12,-389564586),r=p(r,s,o,i,e[n+2],17,606105819),i=p(i,r,s,o,e[n+3],22,-1044525330),o=p(o,i,r,s,e[n+4],7,-176418897),s=p(s,o,i,r,e[n+5],12,1200080426),r=p(r,s,o,i,e[n+6],17,-1473231341),i=p(i,r,s,o,e[n+7],22,-45705983),o=p(o,i,r,s,e[n+8],7,1770035416),s=p(s,o,i,r,e[n+9],12,-1958414417),r=p(r,s,o,i,e[n+10],17,-42063),i=p(i,r,s,o,e[n+11],22,-1990404162),o=p(o,i,r,s,e[n+12],7,1804603682),s=p(s,o,i,r,e[n+13],12,-40341101),r=p(r,s,o,i,e[n+14],17,-1502002290),o=g(o,i=p(i,r,s,o,e[n+15],22,1236535329),r,s,e[n+1],5,-165796510),s=g(s,o,i,r,e[n+6],9,-1069501632),r=g(r,s,o,i,e[n+11],14,643717713),i=g(i,r,s,o,e[n+0],20,-373897302),o=g(o,i,r,s,e[n+5],5,-701558691),s=g(s,o,i,r,e[n+10],9,38016083),r=g(r,s,o,i,e[n+15],14,-660478335),i=g(i,r,s,o,e[n+4],20,-405537848),o=g(o,i,r,s,e[n+9],5,568446438),s=g(s,o,i,r,e[n+14],9,-1019803690),r=g(r,s,o,i,e[n+3],14,-187363961),i=g(i,r,s,o,e[n+8],20,1163531501),o=g(o,i,r,s,e[n+13],5,-1444681467),s=g(s,o,i,r,e[n+2],9,-51403784),r=g(r,s,o,i,e[n+7],14,1735328473),o=f(o,i=g(i,r,s,o,e[n+12],20,-1926607734),r,s,e[n+5],4,-378558),s=f(s,o,i,r,e[n+8],11,-2022574463),r=f(r,s,o,i,e[n+11],16,1839030562),i=f(i,r,s,o,e[n+14],23,-35309556),o=f(o,i,r,s,e[n+1],4,-1530992060),s=f(s,o,i,r,e[n+4],11,1272893353),r=f(r,s,o,i,e[n+7],16,-155497632),i=f(i,r,s,o,e[n+10],23,-1094730640),o=f(o,i,r,s,e[n+13],4,681279174),s=f(s,o,i,r,e[n+0],11,-358537222),r=f(r,s,o,i,e[n+3],16,-722521979),i=f(i,r,s,o,e[n+6],23,76029189),o=f(o,i,r,s,e[n+9],4,-640364487),s=f(s,o,i,r,e[n+12],11,-421815835),r=f(r,s,o,i,e[n+15],16,530742520),o=y(o,i=f(i,r,s,o,e[n+2],23,-995338651),r,s,e[n+0],6,-198630844),s=y(s,o,i,r,e[n+7],10,1126891415),r=y(r,s,o,i,e[n+14],15,-1416354905),i=y(i,r,s,o,e[n+5],21,-57434055),o=y(o,i,r,s,e[n+12],6,1700485571),s=y(s,o,i,r,e[n+3],10,-1894986606),r=y(r,s,o,i,e[n+10],15,-1051523),i=y(i,r,s,o,e[n+1],21,-2054922799),o=y(o,i,r,s,e[n+8],6,1873313359),s=y(s,o,i,r,e[n+15],10,-30611744),r=y(r,s,o,i,e[n+6],15,-1560198380),i=y(i,r,s,o,e[n+13],21,1309151649),o=y(o,i,r,s,e[n+4],6,-145523070),s=y(s,o,i,r,e[n+11],10,-1120210379),r=y(r,s,o,i,e[n+2],15,718787259),i=y(i,r,s,o,e[n+9],21,-343485551),o=v(o,a),i=v(i,c),r=v(r,l),s=v(s,h)}return Array(o,i,r,s)}function m(e,t,o,i,r,s){return v((t=v(v(t,e),v(i,s)))<<r|t>>>32-r,o)}function p(e,t,o,i,r,s,n){return m(t&o|~t&i,e,t,r,s,n)}function g(e,t,o,i,r,s,n){return m(t&i|o&~i,e,t,r,s,n)}function f(e,t,o,i,r,s,n){return m(t^o^i,e,t,r,s,n)}function y(e,t,o,i,r,s,n){return m(o^(t|~i),e,t,r,s,n)}function v(e,t){var o=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(o>>16)<<16|65535&o}t.exports=function(e){return u.hash(e,d,16)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,t,o){(function(e,o,i,r,s,n,a,c,l){var h;t.exports=h||function(e){for(var t,o=new Array(e),i=0;i<e;i++)!(3&i)&&(t=4294967296*Math.random()),o[i]=t>>>((3&i)<<3)&255;return o}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(e,t,o){(function(o,i,r,s,n,a,c,l,h){var u=e("./helpers");function d(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var o,i,r,s=Array(80),n=1732584193,a=-271733879,c=-1732584194,l=271733878,h=-1009589776,u=0;u<e.length;u+=16){for(var d=n,g=a,f=c,y=l,v=h,w=0;w<80;w++){s[w]=w<16?e[u+w]:p(s[w-3]^s[w-8]^s[w-14]^s[w-16],1);var b=m(m(p(n,5),(b=a,i=c,r=l,(o=w)<20?b&i|~b&r:!(o<40)&&o<60?b&i|b&r|i&r:b^i^r)),m(m(h,s[w]),(o=w)<20?1518500249:o<40?1859775393:o<60?-1894007588:-899497514));h=l,l=c,c=p(a,30),a=n,n=b}n=m(n,d),a=m(a,g),c=m(c,f),l=m(l,y),h=m(h,v)}return Array(n,a,c,l,h)}function m(e,t){var o=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(o>>16)<<16|65535&o}function p(e,t){return e<<t|e>>>32-t}t.exports=function(e){return u.hash(e,d,20,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(e,t,o){(function(o,i,r,s,n,a,c,l,h){function u(e,t){var o=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(o>>16)<<16|65535&o}function d(e,t){var o,i=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),r=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),s=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var n,a,c=0;c<e.length;c+=16){for(var l=r[0],h=r[1],d=r[2],m=r[3],f=r[4],y=r[5],v=r[6],w=r[7],b=0;b<64;b++)s[b]=b<16?e[b+c]:u(u(u((a=s[b-2],p(a,17)^p(a,19)^g(a,10)),s[b-7]),(a=s[b-15],p(a,7)^p(a,18)^g(a,3))),s[b-16]),o=u(u(u(u(w,p(a=f,6)^p(a,11)^p(a,25)),f&y^~f&v),i[b]),s[b]),n=u(p(n=l,2)^p(n,13)^p(n,22),l&h^l&d^h&d),w=v,v=y,y=f,f=u(m,o),m=d,d=h,h=l,l=u(o,n);r[0]=u(l,r[0]),r[1]=u(h,r[1]),r[2]=u(d,r[2]),r[3]=u(m,r[3]),r[4]=u(f,r[4]),r[5]=u(y,r[5]),r[6]=u(v,r[6]),r[7]=u(w,r[7])}return r}var m=e("./helpers"),p=function(e,t){return e>>>t|e<<32-t},g=function(e,t){return e>>>t};t.exports=function(e){return m.hash(e,d,32,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,o){(function(e,t,i,r,s,n,a,c,l){o.read=function(e,t,o,i,r){var s,n,a=8*r-i-1,c=(1<<a)-1,l=c>>1,h=-7,u=o?r-1:0,d=o?-1:1;for(r=e[t+u],u+=d,s=r&(1<<-h)-1,r>>=-h,h+=a;0<h;s=256*s+e[t+u],u+=d,h-=8);for(n=s&(1<<-h)-1,s>>=-h,h+=i;0<h;n=256*n+e[t+u],u+=d,h-=8);if(0===s)s=1-l;else{if(s===c)return n?NaN:1/0*(r?-1:1);n+=Math.pow(2,i),s-=l}return(r?-1:1)*n*Math.pow(2,s-i)},o.write=function(e,t,o,i,r,s){var n,a,c=8*s-r-1,l=(1<<c)-1,h=l>>1,u=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,m=i?1:-1;for(s=t<0||0===t&&1/t<0?1:0,t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,n=l):(n=Math.floor(Math.log(t)/Math.LN2),t*(i=Math.pow(2,-n))<1&&(n--,i*=2),2<=(t+=1<=n+h?u/i:u*Math.pow(2,1-h))*i&&(n++,i/=2),l<=n+h?(a=0,n=l):1<=n+h?(a=(t*i-1)*Math.pow(2,r),n+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),n=0));8<=r;e[o+d]=255&a,d+=m,a/=256,r-=8);for(n=n<<r|a,c+=r;0<c;e[o+d]=255&n,d+=m,n/=256,c-=8);e[o+d-m]|=128*s}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/ieee754")},{buffer:3,lYpoI2:11}],11:[function(e,t,o){(function(e,o,i,r,s,n,a,c,l){var h,u,d;function m(){}(e=t.exports={}).nextTick=(u="undefined"!=typeof window&&window.setImmediate,d="undefined"!=typeof window&&window.postMessage&&window.addEventListener,u?function(e){return window.setImmediate(e)}:d?(h=[],window.addEventListener("message",(function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),0<h.length&&h.shift()())}),!0),function(e){h.push(e),window.postMessage("process-tick","*")}):function(e){setTimeout(e,0)}),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=m,e.addListener=m,e.once=m,e.off=m,e.removeListener=m,e.removeAllListeners=m,e.emit=m,e.binding=function(e){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(e){throw new Error("process.chdir is not supported")}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:11}]},{},[1])(1)},947:(e,t,o)=>{"use strict";o.r(t),o.d(t,{EmojiPicker:()=>At,Events:()=>Le,FocusTrap:()=>U,InMemoryProvider:()=>Ot,InMemoryStoreFactory:()=>M,IndexedDbStoreFactory:()=>ge,LocalStorageProvider:()=>_e,NativeRenderer:()=>de,RecentsProvider:()=>ve,Renderer:()=>he,SessionStorageProvider:()=>Ut,animate:()=>w,autoTheme:()=>K,caseInsensitiveIncludes:()=>f,computeHash:()=>_,createDatabase:()=>Ht,createPicker:()=>Vt,createStyleInjector:()=>Mt,darkTheme:()=>H,debounce:()=>v,deleteDatabase:()=>N,empty:()=>k,en:()=>me,getEmojiForEvent:()=>p,getOptions:()=>Ce,getPrefixedClasses:()=>j,globalConfig:()=>Ie,i18n:()=>Nt,isLocalStorageAvailable:()=>z,isSessionStorageAvailable:()=>S,lightTheme:()=>O,prefixClassName:()=>C,replaceChildren:()=>x,shouldAnimate:()=>g,throttle:()=>y,toElement:()=>b});var i=(e,t,o)=>{if(!t.has(e))throw TypeError("Cannot "+o)},r=(e,t,o)=>(i(e,t,"read from private field"),o?o.call(e):t.get(e)),s=(e,t,o)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,o)},n=(e,t,o,r)=>(i(e,t,"write to private field"),r?r.call(e,o):t.set(e,o),o),a=(e,t,o)=>(i(e,t,"access private method"),o);async function c(e,t={}){const{local:o=!1,version:i="latest",cdnUrl:r,...s}=t,n=function(e,t,o){let i=`https://cdn.jsdelivr.net/npm/emojibase-data@${t}/${e}`;return"function"==typeof o?i=o(e,t):"string"==typeof o&&(i=`${o}/${e}`),i}(e,i,r),a=o?localStorage:sessionStorage,c=`emojibase/${i}/${e}`,l=a.getItem(c);if(l)return Promise.resolve(JSON.parse(l));const h=await fetch(n,{credentials:"omit",mode:"cors",redirect:"error",...s});if(!h.ok)throw new Error("Failed to load Emojibase dataset.");const u=await h.json();try{a.setItem(c,JSON.stringify(u))}catch{}return u}const l={discord:"joypixels",slack:"iamcal"};async function h(e,t,o){var i;return c(`${e}/shortcodes/${null!==(i=l[t])&&void 0!==i?i:t}.json`,o)}function u(e,t){if(0===t.length)return e;const o=new Set(e.shortcodes);return t.forEach((t=>{const i=t[e.hexcode];Array.isArray(i)?i.forEach((e=>o.add(e))):i&&o.add(i)})),e.shortcodes=[...o],e.skins&&e.skins.forEach((e=>{u(e,t)})),e}async function d(e,t={}){const{compact:o=!1,flat:i=!1,shortcodes:r=[],...s}=t,n=await c(`${e}/${o?"compact":"data"}.json`,s);let a=[];return r.length>0&&(a=await Promise.all(r.map((t=>{let o;if(t.includes("/")){const[e,i]=t.split("/");o=h(e,i,s)}else o=h(e,t,s);return o.catch((()=>({})))})))),i?function(e,t=[]){const o=[];return e.forEach((e=>{if(e.skins){const{skins:i,...r}=e;o.push(u(r,t)),i.forEach((e=>{const i={...e};r.tags&&(i.tags=[...r.tags]),o.push(u(i,t))}))}else o.push(u(e,t))})),o}(n,a):function(e,t){return 0===t.length||e.forEach((e=>{u(e,t)})),e}(n,a)}async function m(e,t){return c(`${e}/messages.json`,t)}function p(e,t){const o=e.target.closest("[data-emoji]");if(o){const e=t.find((e=>e.emoji===o.dataset.emoji));if(e)return e}return null}function g(e){var t;const o=null==(t=window.matchMedia)?void 0:t.call(window,"(prefers-reduced-motion: reduce)");return e.animate&&!(null!=o&&o.matches)}function f(e,t){return e.toLowerCase().includes(t.toLowerCase())}function y(e,t){let o=null;return()=>{o||(o=window.setTimeout((()=>{e(),o=null}),t))}}function v(e,t){let o=null;return(...i)=>{o&&window.clearTimeout(o),o=window.setTimeout((()=>{e(...i),o=null}),t)}}function w(e,t,o,i){if(g(i)&&e.animate)return e.animate(t,o).finished;const r="normal"===o.direction?1:0,s=Object.entries(t).reduce(((e,[t,o])=>({...e,[t]:o[r]})),{});return Object.assign(e.style,s),Promise.resolve()}function b(e){var t;const o=document.createElement("template");return o.innerHTML=e,null==(t=o.content)?void 0:t.firstElementChild}async function _(e){const t=(new TextEncoder).encode(e),o=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(o)).map((e=>e.toString(16).padStart(2,"0"))).join("")}function j(...e){return e.reduce(((e,t)=>({...e,[t]:C(t)})),{})}function C(e){return`picmo__${e}`}function k(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function x(e,...t){k(e).append(...t)}function E(e){try{return window[e].length,!0}catch{return!1}}function S(){return E("sessionStorage")}function z(){return E("localStorage")}function L(e){var t;return{emoji:e.emoji,label:e.label,tags:e.tags,skins:null==(t=e.skins)?void 0:t.map((e=>L(e))),order:e.order,custom:!1,hexcode:e.hexcode,version:e.version}}function I(e,t,o){var i;return!(o&&!o.some((t=>t.order===e.group)))&&(f(e.label,t)||(null==(i=e.tags)?void 0:i.some((e=>f(e,t)))))}class A{constructor(e="en"){this.locale=e}}const P=[(e,t)=>("1F91D"===e.hexcode&&t<14&&(e.skins=[]),e),(e,t)=>(e.skins&&(e.skins=e.skins.filter((e=>!e.version||e.version<=t))),e)];function F(e,t){return e.filter((e=>null!==function(e,t){return P.some((o=>null===o(e,t)))?null:e}(e,t)))}const B={};function M(e){return B[e]||(B[e]=new $(e)),B[e]}M.deleteDatabase=e=>{};class $ extends A{open(){return Promise.resolve()}delete(){return Promise.resolve()}close(){}isPopulated(){return Promise.resolve(!1)}getEmojiCount(){return Promise.resolve(this.emojis.length)}getEtags(){return Promise.resolve({foo:"bar"})}getHash(){return Promise.resolve("")}populate(e){return this.categories=e.groups,this.emojis=e.emojis,Promise.resolve()}getCategories(e){var t;let o=this.categories.filter((e=>"component"!==e.key));if(e.showRecents&&o.unshift({key:"recents",order:-1}),null!=(t=e.custom)&&t.length&&o.push({key:"custom",order:10}),e.categories){const t=e.categories;o=o.filter((e=>t.includes(e.key))),o.sort(((e,o)=>t.indexOf(e.key)-t.indexOf(o.key)))}else o.sort(((e,t)=>e.order-t.order));return Promise.resolve(o)}getEmojis(e,t){const o=this.emojis.filter((t=>t.group===e.order)).filter((e=>e.version<=t)).sort(((e,t)=>null!=e.order&&null!=t.order?e.order-t.order:0)).map(L);return Promise.resolve(F(o,t))}searchEmojis(e,t,o,i){const r=this.emojis.filter((t=>I(t,e,i)&&t.version<=o)).map(L),s=t.filter((t=>I(t,e,i))),n=[...F(r,o),...s];return Promise.resolve(n)}setMeta(e){this.meta=e}}async function T(e){try{return(await fetch(e,{method:"HEAD"})).headers.get("etag")}catch{return null}}async function D(e,t,o){let i=o||t(e);try{await i.open()}catch{console.warn("[picmo] IndexedDB not available, falling back to InMemoryStoreFactory"),i=M(e)}return i}async function R(e,t,o){if(!S()&&typeof window<"u")throw new Error("Session storage is required to use CDN emoji data.");const i=await D(e,t,o),[r,s]=await function(e){const{emojisUrl:t,messagesUrl:o}=function(e,t){const o=`https://cdn.jsdelivr.net/npm/emojibase-data@${"latest"}/${t}`;return{emojisUrl:`${o}/data.json`,messagesUrl:`${o}/messages.json`}}(0,e);try{return Promise.all([T(t),T(o)])}catch{return Promise.all([null,null])}}(e);if(await i.isPopulated())r&&s&&await async function(e,t,o){let i;try{i=await e.getEtags()}catch{i={}}const{storedEmojisEtag:r,storedMessagesEtag:s}=i;if(o!==s||t!==r){const[i,r]=await Promise.all([m(e.locale),d(e.locale)]);await e.populate({groups:i.groups,emojis:r,emojisEtag:t,messagesEtag:o})}}(i,r,s);else{const[t,o]=await Promise.all([m(e),d(e)]);await i.populate({groups:t.groups,emojis:o,emojisEtag:r,messagesEtag:s})}return i}async function V(e,t,o,i,r){return o&&i?async function(e,t,o,i,r){const s=await D(e,t,r),n=await _(i);return(!await s.isPopulated()||await async function(e,t){return t!==await e.getHash()}(s,n))&&await s.populate({groups:o.groups,emojis:i,hash:n}),s}(e,t,o,i,r):R(e,t,r)}function N(e,t){e.deleteDatabase(t)}class U{constructor(){this.handleKeyDown=this.handleKeyDown.bind(this)}activate(e){this.rootElement=e,this.rootElement.addEventListener("keydown",this.handleKeyDown)}deactivate(){var e;null==(e=this.rootElement)||e.removeEventListener("keydown",this.handleKeyDown)}get focusableElements(){return this.rootElement.querySelectorAll('input, [tabindex="0"]')}get lastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}get firstFocusableElement(){return this.focusableElements[0]}checkFocus(e,t,o){e.target===t&&(o.focus(),e.preventDefault())}handleKeyDown(e){"Tab"===e.key&&this.checkFocus(e,e.shiftKey?this.firstFocusableElement:this.lastFocusableElement,e.shiftKey?this.lastFocusableElement:this.firstFocusableElement)}}const{light:O,dark:H,auto:K}=j("light","dark","auto");class q{constructor({template:e,classes:t,parent:o}){this.isDestroyed=!1,this.appEvents={},this.uiEvents=[],this.uiElements={},this.ui={},this.template=e,this.classes=t,this.parent=o,this.keyBindingHandler=this.keyBindingHandler.bind(this)}initialize(){this.bindAppEvents()}setCustomEmojis(e){this.customEmojis=e}setEvents(e){this.events=e}setPickerId(e){this.pickerId=e}emit(e,...t){this.events.emit(e,...t)}setI18n(e){this.i18n=e}setRenderer(e){this.renderer=e}setEmojiData(e){this.emojiDataPromise=e,e.then((e=>{this.emojiData=e}))}updateEmojiData(e){this.emojiData=e,this.emojiDataPromise=Promise.resolve(e)}setOptions(e){this.options=e}renderSync(e={}){return this.el=this.template.renderSync({classes:this.classes,i18n:this.i18n,pickerId:this.pickerId,...e}),this.postRender(),this.el}async render(e={}){return await this.emojiDataPromise,this.el=await this.template.renderAsync({classes:this.classes,i18n:this.i18n,pickerId:this.pickerId,...e}),this.postRender(),this.el}postRender(){this.bindUIElements(),this.bindKeyBindings(),this.bindUIEvents(),this.scheduleShowAnimation()}bindAppEvents(){Object.keys(this.appEvents).forEach((e=>{this.events.on(e,this.appEvents[e],this)})),this.events.on("data:ready",this.updateEmojiData,this)}unbindAppEvents(){Object.keys(this.appEvents).forEach((e=>{this.events.off(e,this.appEvents[e])})),this.events.off("data:ready",this.updateEmojiData)}keyBindingHandler(e){const t=this.keyBindings[e.key];t&&t.call(this,e)}bindKeyBindings(){this.keyBindings&&this.el.addEventListener("keydown",this.keyBindingHandler)}unbindKeyBindings(){this.keyBindings&&this.el.removeEventListener("keydown",this.keyBindingHandler)}bindUIElements(){this.ui=Object.keys(this.uiElements).reduce(((e,t)=>({...e,[t]:this.el.querySelector(this.uiElements[t])})),{})}bindUIEvents(){this.uiEvents.forEach((e=>{e.handler=e.handler.bind(this),(e.target?this.ui[e.target]:this.el).addEventListener(e.event,e.handler,e.options)}))}unbindUIEvents(){this.uiEvents.forEach((e=>{(e.target?this.ui[e.target]:this.el).removeEventListener(e.event,e.handler)}))}destroy(){this.unbindAppEvents(),this.unbindUIEvents(),this.unbindKeyBindings(),this.el.remove(),this.isDestroyed=!0}scheduleShowAnimation(){if(this.parent){const e=new MutationObserver((t=>{const[o]=t;"childList"===o.type&&o.addedNodes[0]===this.el&&(g(this.options)&&this.animateShow&&this.animateShow(),e.disconnect)}));e.observe(this.parent,{childList:!0})}}static childEvent(e,t,o,i={}){return{target:e,event:t,handler:o,options:i}}static uiEvent(e,t,o={}){return{event:e,handler:t,options:o}}static byClass(e){return`.${e}`}}const W={clock:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512zM232 256C232 264 236 271.5 242.7 275.1L338.7 339.1C349.7 347.3 364.6 344.3 371.1 333.3C379.3 322.3 376.3 307.4 365.3 300L280 243.2V120C280 106.7 269.3 96 255.1 96C242.7 96 231.1 106.7 231.1 120L232 256z"/></svg>',flag:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M64 496C64 504.8 56.75 512 48 512h-32C7.25 512 0 504.8 0 496V32c0-17.75 14.25-32 32-32s32 14.25 32 32V496zM476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87C160.9 .3055 131.6 4.867 96 15.75v350.5c32-9.984 59.87-14.1 84.85-14.1c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0z"/></svg>',frown:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM176.4 240C194 240 208.4 225.7 208.4 208C208.4 190.3 194 176 176.4 176C158.7 176 144.4 190.3 144.4 208C144.4 225.7 158.7 240 176.4 240zM336.4 176C318.7 176 304.4 190.3 304.4 208C304.4 225.7 318.7 240 336.4 240C354 240 368.4 225.7 368.4 208C368.4 190.3 354 176 336.4 176zM259.9 369.4C288.8 369.4 316.2 375.2 340.6 385.5C352.9 390.7 366.7 381.3 361.4 369.1C344.8 330.9 305.6 303.1 259.9 303.1C214.3 303.1 175.1 330.8 158.4 369.1C153.1 381.3 166.1 390.6 179.3 385.4C203.7 375.1 231 369.4 259.9 369.4L259.9 369.4z"/></svg>',gamepad:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M448 64H192C85.96 64 0 149.1 0 256s85.96 192 192 192h256c106 0 192-85.96 192-192S554 64 448 64zM247.1 280h-32v32c0 13.2-10.78 24-23.98 24c-13.2 0-24.02-10.8-24.02-24v-32L136 279.1C122.8 279.1 111.1 269.2 111.1 256c0-13.2 10.85-24.01 24.05-24.01L167.1 232v-32c0-13.2 10.82-24 24.02-24c13.2 0 23.98 10.8 23.98 24v32h32c13.2 0 24.02 10.8 24.02 24C271.1 269.2 261.2 280 247.1 280zM431.1 344c-22.12 0-39.1-17.87-39.1-39.1s17.87-40 39.1-40s39.1 17.88 39.1 40S454.1 344 431.1 344zM495.1 248c-22.12 0-39.1-17.87-39.1-39.1s17.87-40 39.1-40c22.12 0 39.1 17.88 39.1 40S518.1 248 495.1 248z"/></svg>',lightbulb:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>',mug:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M512 32H120c-13.25 0-24 10.75-24 24L96.01 288c0 53 43 96 96 96h192C437 384 480 341 480 288h32c70.63 0 128-57.38 128-128S582.6 32 512 32zM512 224h-32V96h32c35.25 0 64 28.75 64 64S547.3 224 512 224zM560 416h-544C7.164 416 0 423.2 0 432C0 458.5 21.49 480 48 480h480c26.51 0 48-21.49 48-48C576 423.2 568.8 416 560 416z"/></svg>',plane:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M482.3 192C516.5 192 576 221 576 256C576 292 516.5 320 482.3 320H365.7L265.2 495.9C259.5 505.8 248.9 512 237.4 512H181.2C170.6 512 162.9 501.8 165.8 491.6L214.9 320H112L68.8 377.6C65.78 381.6 61.04 384 56 384H14.03C6.284 384 0 377.7 0 369.1C0 368.7 .1818 367.4 .5398 366.1L32 256L.5398 145.9C.1818 144.6 0 143.3 0 142C0 134.3 6.284 128 14.03 128H56C61.04 128 65.78 130.4 68.8 134.4L112 192H214.9L165.8 20.4C162.9 10.17 170.6 0 181.2 0H237.4C248.9 0 259.5 6.153 265.2 16.12L365.7 192H482.3z"/></svg>',robot:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M9.375 233.4C3.375 239.4 0 247.5 0 256v128c0 8.5 3.375 16.62 9.375 22.62S23.5 416 32 416h32V224H32C23.5 224 15.38 227.4 9.375 233.4zM464 96H352V32c0-17.62-14.38-32-32-32S288 14.38 288 32v64H176C131.8 96 96 131.8 96 176V448c0 35.38 28.62 64 64 64h320c35.38 0 64-28.62 64-64V176C544 131.8 508.3 96 464 96zM256 416H192v-32h64V416zM224 296C201.9 296 184 278.1 184 256S201.9 216 224 216S264 233.9 264 256S246.1 296 224 296zM352 416H288v-32h64V416zM448 416h-64v-32h64V416zM416 296c-22.12 0-40-17.88-40-40S393.9 216 416 216S456 233.9 456 256S438.1 296 416 296zM630.6 233.4C624.6 227.4 616.5 224 608 224h-32v192h32c8.5 0 16.62-3.375 22.62-9.375S640 392.5 640 384V256C640 247.5 636.6 239.4 630.6 233.4z"/></svg>',sad:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n  <defs>\n    <radialGradient gradientUnits="userSpaceOnUse" cy="10%" id="gradient-0">\n      <stop offset="0" stop-color="hsl(50, 100%, 50%)" />\n      <stop offset="1" stop-color="hsl(50, 100%, 60%)" />\n    </radialGradient>\n  </defs>\n  \x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e\n  <ellipse stroke="#000" fill="rgba(0, 0, 0, 0.6)" cx="172.586" cy="207.006" rx="39.974" ry="39.974"/>\n  <ellipse stroke="#000" fill="rgba(0, 0, 0, 0.6)" cx="334.523" cy="207.481" rx="39.974" ry="39.974"/>\n  <ellipse stroke="#000" fill="rgba(0, 0, 0, 0.6)" cx="313.325" cy="356.208" rx="91.497" ry="59.893"/>\n  <path fill="#55a7ff" d="M 159.427 274.06 L 102.158 363.286 L 124.366 417.011 L 160.476 423.338 L 196.937 414.736 L 218.502 375.214"></path>\n  <path fill="url(#gradient-0)" d="M256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM256 352C290.9 352 323.2 367.8 348.3 394.9C354.3 401.4 364.4 401.7 370.9 395.7C377.4 389.7 377.7 379.6 371.7 373.1C341.6 340.5 301 320 256 320C247.2 320 240 327.2 240 336C240 344.8 247.2 352 256 352H256zM208 369C208 349 179.6 308.6 166.4 291.3C163.2 286.9 156.8 286.9 153.6 291.3C140.6 308.6 112 349 112 369C112 395 133.5 416 160 416C186.5 416 208 395 208 369H208zM303.6 208C303.6 225.7 317.1 240 335.6 240C353.3 240 367.6 225.7 367.6 208C367.6 190.3 353.3 176 335.6 176C317.1 176 303.6 190.3 303.6 208zM207.6 208C207.6 190.3 193.3 176 175.6 176C157.1 176 143.6 190.3 143.6 208C143.6 225.7 157.1 240 175.6 240C193.3 240 207.6 225.7 207.6 208z" />\n</svg>',search:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"/></svg>',smiley:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256.3 331.8C208.9 331.8 164.1 324.9 124.5 312.8C112.2 309 100.2 319.7 105.2 331.5C130.1 390.6 188.4 432 256.3 432C324.2 432 382.4 390.6 407.4 331.5C412.4 319.7 400.4 309 388.1 312.8C348.4 324.9 303.7 331.8 256.3 331.8H256.3zM176.4 176C158.7 176 144.4 190.3 144.4 208C144.4 225.7 158.7 240 176.4 240C194 240 208.4 225.7 208.4 208C208.4 190.3 194 176 176.4 176zM336.4 240C354 240 368.4 225.7 368.4 208C368.4 190.3 354 176 336.4 176C318.7 176 304.4 190.3 304.4 208C304.4 225.7 318.7 240 336.4 240z"/></svg>',symbols:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M500.3 7.251C507.7 13.33 512 22.41 512 31.1V175.1C512 202.5 483.3 223.1 447.1 223.1C412.7 223.1 383.1 202.5 383.1 175.1C383.1 149.5 412.7 127.1 447.1 127.1V71.03L351.1 90.23V207.1C351.1 234.5 323.3 255.1 287.1 255.1C252.7 255.1 223.1 234.5 223.1 207.1C223.1 181.5 252.7 159.1 287.1 159.1V63.1C287.1 48.74 298.8 35.61 313.7 32.62L473.7 .6198C483.1-1.261 492.9 1.173 500.3 7.251H500.3zM74.66 303.1L86.5 286.2C92.43 277.3 102.4 271.1 113.1 271.1H174.9C185.6 271.1 195.6 277.3 201.5 286.2L213.3 303.1H239.1C266.5 303.1 287.1 325.5 287.1 351.1V463.1C287.1 490.5 266.5 511.1 239.1 511.1H47.1C21.49 511.1-.0019 490.5-.0019 463.1V351.1C-.0019 325.5 21.49 303.1 47.1 303.1H74.66zM143.1 359.1C117.5 359.1 95.1 381.5 95.1 407.1C95.1 434.5 117.5 455.1 143.1 455.1C170.5 455.1 191.1 434.5 191.1 407.1C191.1 381.5 170.5 359.1 143.1 359.1zM440.3 367.1H496C502.7 367.1 508.6 372.1 510.1 378.4C513.3 384.6 511.6 391.7 506.5 396L378.5 508C372.9 512.1 364.6 513.3 358.6 508.9C352.6 504.6 350.3 496.6 353.3 489.7L391.7 399.1H336C329.3 399.1 323.4 395.9 321 389.6C318.7 383.4 320.4 376.3 325.5 371.1L453.5 259.1C459.1 255 467.4 254.7 473.4 259.1C479.4 263.4 481.6 271.4 478.7 278.3L440.3 367.1zM116.7 219.1L19.85 119.2C-8.112 90.26-6.614 42.31 24.85 15.34C51.82-8.137 93.26-3.642 118.2 21.83L128.2 32.32L137.7 21.83C162.7-3.642 203.6-8.137 231.6 15.34C262.6 42.31 264.1 90.26 236.1 119.2L139.7 219.1C133.2 225.6 122.7 225.6 116.7 219.1H116.7z"/></svg>',tree:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M413.8 447.1L256 448l0 31.99C256 497.7 241.8 512 224.1 512c-17.67 0-32.1-14.32-32.1-31.99l0-31.99l-158.9-.0099c-28.5 0-43.69-34.49-24.69-56.4l68.98-79.59H62.22c-25.41 0-39.15-29.8-22.67-49.13l60.41-70.85H89.21c-21.28 0-32.87-22.5-19.28-37.31l134.8-146.5c10.4-11.3 28.22-11.3 38.62-.0033l134.9 146.5c13.62 14.81 2.001 37.31-19.28 37.31h-10.77l60.35 70.86c16.46 19.34 2.716 49.12-22.68 49.12h-15.2l68.98 79.59C458.7 413.7 443.1 447.1 413.8 447.1z"/></svg>',users:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M224 256c70.7 0 128-57.31 128-128S294.7 0 224 0C153.3 0 96 57.31 96 128S153.3 256 224 256zM274.7 304H173.3c-95.73 0-173.3 77.6-173.3 173.3C0 496.5 15.52 512 34.66 512H413.3C432.5 512 448 496.5 448 477.3C448 381.6 370.4 304 274.7 304zM479.1 320h-73.85C451.2 357.7 480 414.1 480 477.3C480 490.1 476.2 501.9 470 512h138C625.7 512 640 497.6 640 479.1C640 391.6 568.4 320 479.1 320zM432 256C493.9 256 544 205.9 544 144S493.9 32 432 32c-25.11 0-48.04 8.555-66.72 22.51C376.8 76.63 384 101.4 384 128c0 35.52-11.93 68.14-31.59 94.71C372.7 243.2 400.8 256 432 256z"/></svg>',warning:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n  <defs>\n    <radialGradient id="radial" cy="85%">\n      <stop offset="20%" stop-color="var(--color-secondary)" />\n      <stop offset="100%" stop-color="var(--color-primary)" />\n    </radialGradient>\n  </defs>\n  \x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e\n  <path fill="url(\'#radial\')" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z" />\n</svg>',xmark:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">\x3c!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --\x3e<path d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>'},Y={recents:"clock","smileys-emotion":"smiley","people-body":"users","animals-nature":"tree","food-drink":"mug",activities:"gamepad","travel-places":"plane",objects:"lightbulb",symbols:"symbols",flags:"flag",custom:"robot"};function G(e,t){if(!(e in W))return console.warn(`Unknown icon: "${e}"`),document.createElement("div");const o=function(e,t){const o=b(t);return o.dataset.icon=e,o.classList.add(C("icon")),o}(e,W[e]);return t&&o.classList.add(C(`icon-${t}`)),o}const J="sync";var Z,X,Q,ee,te,oe,ie,re;class se{constructor(e,t={}){s(this,Q),s(this,te),s(this,ie),s(this,Z,void 0),s(this,X,void 0),n(this,Z,e),n(this,X,t.mode||J)}renderSync(e={}){const t=b(r(this,Z).call(this,e));return a(this,ie,re).call(this,t,e),a(this,te,oe).call(this,t),a(this,Q,ee).call(this,t,e),t}async renderAsync(e={}){const t=b(r(this,Z).call(this,e));return a(this,ie,re).call(this,t,e),a(this,te,oe).call(this,t),await a(this,Q,ee).call(this,t,e),t}render(e){return"sync"===r(this,X)?this.renderSync(e):this.renderAsync(e)}}Z=new WeakMap,X=new WeakMap,Q=new WeakSet,ee=async function(e,t){const o=e.querySelectorAll("[data-view]"),i=[];for(const e of o){const o=t[e.dataset.view];o?"sync"!==e.dataset.render?i.push(o.render().then((t=>(e.replaceWith(t),t)))):e.replaceWith(o.renderSync()):e.remove()}return Promise.all(i)},te=new WeakSet,oe=function(e){e.querySelectorAll("i[data-icon]").forEach((e=>{const{icon:t,size:o}=e.dataset;e.replaceWith(G(t,o))}))},ie=new WeakSet,re=function(e,t){return e.querySelectorAll("[data-placeholder]").forEach((e=>{const o=e.dataset.placeholder;if(o&&t[o]){const i=t[o];e.replaceWith(...[i].flat())}else console.warn(`Missing placeholder element for key "${o}"`)})),e};const ne=j("imagePlaceholder","placeholder"),ae=new se((({classes:e})=>`\n  <div class="${e.placeholder} ${e.imagePlaceholder}"></div>\n`));class ce extends q{constructor({classNames:e}={}){super({template:ae,classes:ne}),this.classNames=e}load(e){const t=document.createElement("img");this.classNames&&(t.className=this.classNames),t.addEventListener("load",(()=>{this.el.replaceWith(t)}),{once:!0}),Promise.resolve(e).then((e=>t.src=e))}renderSync(){return super.renderSync(),this.classNames&&this.classNames.split(" ").forEach((e=>this.el.classList.add(e))),this.el}}const le=j("customEmoji");class he{renderElement(e){return{content:e}}renderImage(e="",t){const o=new ce({classNames:e});return o.renderSync(),{content:o,resolver:()=>(o.load(t()),o.el)}}doRender(e,t,o){if(e.custom)return this.renderCustom(e,t,o);const{content:i,resolver:r}=this.render(e,o),s=i instanceof Element?i:i.el;return r&&r(),s}doEmit(e){return e.custom?this.emitCustom(e):this.emit(e)}emitCustom({url:e,label:t,emoji:o,data:i}){return{url:e,label:t,emoji:o,data:i}}renderCustom(e,t,o=""){const i=[le.customEmoji,o].join(" ").trim(),{content:r,resolver:s}=this.renderImage(i,(()=>e.url)),n=r instanceof Element?r:r.el;return s&&s(),n}}const ue=new se((({emoji:e})=>`<span>${e}</span>`));class de extends he{render(e){return this.renderElement(ue.renderSync({emoji:e.emoji}))}emit({emoji:e,hexcode:t,label:o}){return{emoji:e,hexcode:t,label:o}}}const me={"categories.activities":"Activities","categories.animals-nature":"Animals & Nature","categories.custom":"Custom","categories.flags":"Flags","categories.food-drink":"Food & Drink","categories.objects":"Objects","categories.people-body":"People & Body","categories.recents":"Recently Used","categories.smileys-emotion":"Smileys & Emotion","categories.symbols":"Symbols","categories.travel-places":"Travel & Places","error.load":"Failed to load emojis","recents.clear":"Clear recent emojis","recents.none":"You haven't selected any emojis yet.",retry:"Try again","search.clear":"Clear search","search.error":"Failed to search emojis","search.notFound":"No results found",search:"Search emojis..."},pe="PicMo";function ge(e){return new fe(e)}ge.deleteDatabase=e=>new Promise(((t,o)=>{const i=indexedDB.deleteDatabase(`${pe}-${e}`);i.addEventListener("success",t),i.addEventListener("error",o)}));class fe extends A{async open(){const e=indexedDB.open(`${pe}-${this.locale}`);return new Promise(((t,o)=>{e.addEventListener("success",(e=>{var o;this.db=null==(o=e.target)?void 0:o.result,t()})),e.addEventListener("error",o),e.addEventListener("upgradeneeded",(async e=>{var t;this.db=null==(t=e.target)?void 0:t.result,this.db.createObjectStore("category",{keyPath:"order"});const o=this.db.createObjectStore("emoji",{keyPath:"emoji"});o.createIndex("category","group"),o.createIndex("version","version"),this.db.createObjectStore("meta")}))}))}async delete(){this.close();const e=indexedDB.deleteDatabase(`${pe}-${this.locale}`);await this.waitForRequest(e)}close(){this.db.close()}async getEmojiCount(){const e=this.db.transaction("emoji","readonly").objectStore("emoji");return(await this.waitForRequest(e.count())).target.result}async getEtags(){const e=this.db.transaction("meta","readonly").objectStore("meta"),[t,o]=await Promise.all([this.waitForRequest(e.get("emojisEtag")),this.waitForRequest(e.get("messagesEtag"))]);return{storedEmojisEtag:t.target.result,storedMessagesEtag:o.target.result}}async setMeta(e){const t=this.db.transaction("meta","readwrite"),o=t.objectStore("meta");return new Promise((i=>{t.oncomplete=i,Object.keys(e).filter(Boolean).forEach((t=>{o.put(e[t],t)}))}))}async getHash(){const e=this.db.transaction("meta","readonly").objectStore("meta");return(await this.waitForRequest(e.get("hash"))).target.result}async isPopulated(){const e=this.db.transaction("category","readonly").objectStore("category");return(await this.waitForRequest(e.count())).target.result>0}async populate({groups:e,emojis:t,emojisEtag:o,messagesEtag:i,hash:r}){await this.removeAllObjects("category","emoji");const s=[this.addObjects("category",e),this.addObjects("emoji",t),this.setMeta({emojisEtag:o,messagesEtag:i,hash:r})];await Promise.all(s)}async getCategories(e){var t;const o=this.db.transaction("category","readonly").objectStore("category");let i=(await this.waitForRequest(o.getAll())).target.result.filter((e=>"component"!==e.key));if(e.showRecents&&i.unshift({key:"recents",order:-1}),null!=(t=e.custom)&&t.length&&i.push({key:"custom",order:10}),e.categories){const t=e.categories;i=i.filter((e=>t.includes(e.key))),i.sort(((e,o)=>t.indexOf(e.key)-t.indexOf(o.key)))}else i.sort(((e,t)=>e.order-t.order));return i}async getEmojis(e,t){const o=this.db.transaction("emoji","readonly").objectStore("emoji").index("category");return F((await this.waitForRequest(o.getAll(e.order))).target.result.filter((e=>e.version<=t)).sort(((e,t)=>null!=e.order&&null!=t.order?e.order-t.order:0)).map(L),t)}async searchEmojis(e,t,o,i){const r=[];return new Promise(((s,n)=>{const a=this.db.transaction("emoji","readonly").objectStore("emoji").openCursor();a.addEventListener("success",(n=>{var a;const c=null==(a=n.target)?void 0:a.result;if(!c)return s([...F(r,o),...t.filter((t=>I(t,e)))]);const l=c.value;I(l,e,i)&&l.version<=o&&r.push(L(l)),c.continue()})),a.addEventListener("error",(e=>{n(e)}))}))}async waitForRequest(e){return new Promise(((t,o)=>{e.onsuccess=t,e.onerror=o}))}withTransaction(e,t="readwrite",o){return new Promise(((i,r)=>{const s=this.db.transaction(e,t);s.oncomplete=i,s.onerror=r,o(s)}))}async removeAllObjects(...e){const t=this.db.transaction(e,"readwrite"),o=e.map((e=>t.objectStore(e)));await Promise.all(o.map((e=>this.waitForRequest(e.clear()))))}async addObjects(e,t){return this.withTransaction(e,"readwrite",(o=>{const i=o.objectStore(e);t.forEach((e=>{i.add(e)}))}))}}function ye(){let e={};return{getItem:t=>e[t],setItem:(t,o)=>e[t]=o,length:Object.keys(e).length,clear:()=>e={},key:t=>Object.keys(e)[t],removeItem:t=>delete e[t]}}class ve{}const we="PicMo:recents";class be extends ve{constructor(e){super(),this.storage=e}clear(){this.storage.removeItem(we)}getRecents(e){var t;try{return JSON.parse(null!=(t=this.storage.getItem(we))?t:"[]").slice(0,e)}catch{return[]}}addOrUpdateRecent(e,t){const o=[e,...this.getRecents(t).filter((t=>t.hexcode!==e.hexcode))].slice(0,t);try{this.storage.setItem(we,JSON.stringify(o))}catch{console.warn("storage is not available, recent emojis will not be saved")}}}class _e extends be{constructor(){super(z()?localStorage:ye())}}const je={dataStore:ge,theme:O,animate:!0,showCategoryTabs:!0,showPreview:!0,showRecents:!0,showSearch:!0,showVariants:!0,emojisPerRow:8,visibleRows:6,emojiVersion:"auto",i18n:me,locale:"en",maxRecents:50,custom:[]};function Ce(e={}){return{...je,...e,renderer:e.renderer||new de,recentsProvider:e.recentsProvider||new _e}}var ke,xe,Ee,Se,ze;class Le{constructor(){s(this,xe),s(this,Se),s(this,ke,new Map)}on(e,t,o){a(this,Se,ze).call(this,e,t,o)}once(e,t,o){a(this,Se,ze).call(this,e,t,o,!0)}off(e,t){const o=a(this,xe,Ee).call(this,e);r(this,ke).set(e,o.filter((e=>e.handler!==t)))}emit(e,...t){a(this,xe,Ee).call(this,e).forEach((o=>{o.handler.apply(o.context,t),o.once&&this.off(e,o.handler)}))}removeAll(){r(this,ke).clear()}}ke=new WeakMap,xe=new WeakSet,Ee=function(e){return r(this,ke).has(e)||r(this,ke).set(e,[]),r(this,ke).get(e)},Se=new WeakSet,ze=function(e,t,o,i=!1){a(this,xe,Ee).call(this,e).push({context:o,handler:t,once:i})};const Ie={injectStyles:!0};class Ae extends Le{}class Pe extends Le{}const Fe=j("emojiCategory","categoryName","noRecents","recentEmojis");class Be extends q{constructor({template:e,category:t,showVariants:o,lazyLoader:i}){super({template:e,classes:Fe}),this.baseUIElements={categoryName:q.byClass(Fe.categoryName)},this.category=t,this.showVariants=o,this.lazyLoader=i}setActive(e,t,o){this.emojiContainer.setActive(e,t,o)}}const Me=new se((({classes:e,emoji:t})=>`\n  <button\n    type="button"\n    class="${e.emojiButton}"\n    title="${t.label}"\n    data-emoji="${t.emoji}"\n    tabindex="-1">\n    <div data-placeholder="emojiContent"></div>\n  </button>\n`)),$e=j("emojiButton");class Te extends q{constructor({emoji:e,lazyLoader:t,category:o}){super({template:Me,classes:$e}),this.emoji=e,this.lazyLoader=t,this.category=o}initialize(){this.uiEvents=[q.uiEvent("focus",this.handleFocus)],super.initialize()}handleFocus(){this.category&&this.events.emit("focus:change",this.category)}activateFocus(e){this.el.tabIndex=0,e&&this.el.focus()}deactivateFocus(){this.el.tabIndex=-1}renderSync(){return super.renderSync({emoji:this.emoji,emojiContent:this.renderer.doRender(this.emoji,this.lazyLoader)})}}class De{constructor(e,t,o=0,i=0,r=!1){this.events=new Le,this.keyHandlers={ArrowLeft:this.focusPrevious.bind(this),ArrowRight:this.focusNext.bind(this),ArrowUp:this.focusUp.bind(this),ArrowDown:this.focusDown.bind(this)},this.rowCount=Math.ceil(t/e),this.columnCount=e,this.focusedRow=o,this.focusedColumn=i,this.emojiCount=t,this.wrap=r,this.handleKeyDown=this.handleKeyDown.bind(this)}destroy(){this.events.removeAll()}on(e,t){this.events.on(e,t)}handleKeyDown(e){e.key in this.keyHandlers&&(e.preventDefault(),this.keyHandlers[e.key]())}setCell(e,t,o=!0){const i=this.getIndex();this.focusedRow=e,void 0!==t&&(this.focusedColumn=Math.min(this.columnCount,t)),(this.focusedRow>=this.rowCount||this.getIndex()>=this.emojiCount)&&(this.focusedRow=this.rowCount-1,this.focusedColumn=this.emojiCount%this.columnCount-1),this.events.emit("focus:change",{from:i,to:this.getIndex(),performFocus:o})}setFocusedIndex(e,t=!0){const o=Math.floor(e/this.columnCount),i=e%this.columnCount;this.setCell(o,i,t)}focusNext(){this.focusedColumn<this.columnCount-1&&this.getIndex()<this.emojiCount-1?this.setCell(this.focusedRow,this.focusedColumn+1):this.focusedRow<this.rowCount-1?this.setCell(this.focusedRow+1,0):this.wrap?this.setCell(0,0):this.events.emit("focus:overflow",0)}focusPrevious(){this.focusedColumn>0?this.setCell(this.focusedRow,this.focusedColumn-1):this.focusedRow>0?this.setCell(this.focusedRow-1,this.columnCount-1):this.wrap?this.setCell(this.rowCount-1,this.columnCount-1):this.events.emit("focus:underflow",this.columnCount-1)}focusUp(){this.focusedRow>0?this.setCell(this.focusedRow-1,this.focusedColumn):this.events.emit("focus:underflow",this.focusedColumn)}focusDown(){this.focusedRow<this.rowCount-1?this.setCell(this.focusedRow+1,this.focusedColumn):this.events.emit("focus:overflow",this.focusedColumn)}focusToIndex(e){this.setCell(Math.floor(e/this.columnCount),e%this.columnCount)}getIndex(){return this.focusedRow*this.columnCount+this.focusedColumn}getCell(){return{row:this.focusedRow,column:this.focusedColumn}}getRowCount(){return this.rowCount}}const Re=new se((({classes:e})=>`\n  <div class="${e.emojiContainer}">\n    <div data-placeholder="emojis"></div>\n  </div>\n`)),Ve=j("emojiContainer");class Ne extends q{constructor({emojis:e,showVariants:t,preview:o=!0,lazyLoader:i,category:r,fullHeight:s=!1}){super({template:Re,classes:Ve}),this.fullHeight=!1,this.showVariants=t,this.lazyLoader=i,this.preview=o,this.emojis=e,this.category=r,this.fullHeight=s,this.setFocus=this.setFocus.bind(this),this.triggerNextCategory=this.triggerNextCategory.bind(this),this.triggerPreviousCategory=this.triggerPreviousCategory.bind(this)}initialize(){this.grid=new De(this.options.emojisPerRow,this.emojiCount,0,0,!this.category),this.grid.on("focus:change",this.setFocus),this.grid.on("focus:overflow",this.triggerNextCategory),this.grid.on("focus:underflow",this.triggerPreviousCategory),this.uiEvents=[q.uiEvent("click",this.selectEmoji),q.uiEvent("keydown",this.grid.handleKeyDown)],this.preview&&this.uiEvents.push(q.uiEvent("mouseover",this.showPreview),q.uiEvent("mouseout",this.hidePreview),q.uiEvent("focus",this.showPreview,{capture:!0}),q.uiEvent("blur",this.hidePreview,{capture:!0})),super.initialize()}setFocusedView(e,t){if(e)if("string"==typeof e){const t=this.emojis.findIndex((t=>t.emoji===e));this.grid.setFocusedIndex(t,!1),setTimeout((()=>{var e,o,i,r;const s=this.emojiViews[t].el;s.scrollIntoView();const n=null==(e=s.parentElement)?void 0:e.previousElementSibling;(null==(i=null==(o=s.parentElement)?void 0:o.parentElement)?void 0:i.parentElement).scrollTop-=null!=(r=null==n?void 0:n.offsetHeight)?r:0}))}else"first"===e.row||0===e.row?this.grid.setCell(0,e.offset,t):"last"===e.row&&this.grid.setCell(this.grid.getRowCount()-1,e.offset,t)}setActive(e,t,o){var i;e?this.setFocusedView(t,o):null==(i=this.emojiViews[this.grid.getIndex()])||i.deactivateFocus()}renderSync(){return this.emojiViews=this.emojis.map((e=>this.viewFactory.create(Te,{emoji:e,category:this.category,lazyLoader:this.lazyLoader,renderer:this.renderer}))),this.emojiElements=this.emojiViews.map((e=>e.renderSync())),super.renderSync({emojis:this.emojiElements,i18n:this.i18n})}destroy(){super.destroy(),this.emojiViews.forEach((e=>e.destroy())),this.grid.destroy()}triggerPreviousCategory(e){this.events.emit("category:previous",e)}triggerNextCategory(e){this.category&&this.events.emit("category:next",e)}setFocus({from:e,to:t,performFocus:o}){var i,r;null==(i=this.emojiViews[e])||i.deactivateFocus(),null==(r=this.emojiViews[t])||r.activateFocus(o)}selectEmoji(e){e.stopPropagation();const t=p(e,this.emojis);t&&this.events.emit("emoji:select",{emoji:t,showVariants:this.showVariants})}showPreview(e){const t=e.target.closest("button"),o=null==t?void 0:t.firstElementChild,i=p(e,this.emojis);i&&this.events.emit("preview:show",i,null==o?void 0:o.cloneNode(!0))}hidePreview(e){p(e,this.emojis)&&this.events.emit("preview:hide")}get emojiCount(){return this.emojis.length}}const Ue=new se((({classes:e,category:t,pickerId:o,icon:i,i18n:r})=>`\n  <section class="${e.emojiCategory}" role="tabpanel" aria-labelledby="${o}-category-${t.key}">\n    <h3 data-category="${t.key}" class="${e.categoryName}">\n      <i data-icon="${i}"></i>\n      ${r.get(`categories.${t.key}`,t.message||t.key)}\n    </h3>\n    <div data-view="emojis" data-render="sync"></div>\n  </section>\n`));class Oe extends Be{constructor({category:e,showVariants:t,lazyLoader:o,emojiVersion:i}){super({category:e,showVariants:t,lazyLoader:o,template:Ue}),this.showVariants=t,this.lazyLoader=o,this.emojiVersion=i}initialize(){this.uiElements={...this.baseUIElements},super.initialize()}async render(){await this.emojiDataPromise;const e=await this.emojiData.getEmojis(this.category,this.emojiVersion);return this.emojiContainer=this.viewFactory.create(Ne,{emojis:e,showVariants:this.showVariants,lazyLoader:this.lazyLoader,category:this.category.key}),super.render({category:this.category,emojis:this.emojiContainer,emojiCount:e.length,icon:Y[this.category.key]})}}class He extends Ne{constructor({category:e,emojis:t,preview:o=!0,lazyLoader:i}){super({category:e,emojis:t,showVariants:!1,preview:o,lazyLoader:i})}async addOrUpdate(e){const t=this.el.querySelector(`[data-emoji="${e.emoji}"]`);t&&(this.el.removeChild(t),this.emojis=this.emojis.filter((t=>t!==e)));const o=this.viewFactory.create(Te,{emoji:e});if(this.el.insertBefore(o.renderSync(),this.el.firstChild),this.emojis=[e,...this.emojis.filter((t=>t!==e))],this.emojis.length>this.options.maxRecents){this.emojis=this.emojis.slice(0,this.options.maxRecents);const e=this.el.childElementCount-this.options.maxRecents;for(let t=0;t<e;t++)this.el.lastElementChild&&this.el.removeChild(this.el.lastElementChild)}}}const Ke=new se((({emojiCount:e,classes:t,category:o,pickerId:i,icon:r,i18n:s})=>`\n  <section class="${t.emojiCategory}" role="tabpanel" aria-labelledby="${i}-category-${o.key}">\n    <h3 data-category="${o.key}" class="${t.categoryName}">\n      <i data-icon="${r}"></i>\n      ${s.get(`categories.${o.key}`,o.message||o.key)}\n    </h3>\n    <div data-empty="${0===e}" class="${t.recentEmojis}">\n      <div data-view="emojis" data-render="sync"></div>\n    </div>\n    <div class="${t.noRecents}">\n      ${s.get("recents.none")}\n    </div>\n  </section>\n`),{mode:"async"});const qe=new se((({classes:e,category:t,pickerId:o,icon:i,i18n:r})=>`\n  <section class="${e.emojiCategory}" role="tabpanel" aria-labelledby="${o}-category-${t.key}">\n    <h3 data-category="${t.key}" class="${e.categoryName}">\n      <i data-icon="${i}"></i>\n      ${r.get(`categories.${t.key}`,t.message||t.key)}\n    </h3>\n    <div data-view="emojis" data-render="sync"></div>\n  </section>\n`));class We{constructor(){this.elements=new Map}lazyLoad(e,t){return this.elements.set(e,t),e}observe(e){if(window.IntersectionObserver){const t=new IntersectionObserver((e=>{e.filter((e=>e.intersectionRatio>0)).map((e=>e.target)).forEach((e=>{const o=this.elements.get(e);null==o||o(),t.unobserve(e)}))}),{root:e});this.elements.forEach(((e,o)=>{t.observe(o)}))}else this.elements.forEach((e=>{e()}))}}const Ye=j("emojiArea"),Ge=new se((({classes:e})=>`\n  <div class="${e.emojiArea}">\n    <div data-placeholder="emojis"></div>\n  </div>\n`),{mode:"async"}),Je={recents:class extends Be{constructor({category:e,lazyLoader:t,provider:o}){super({category:e,showVariants:!1,lazyLoader:t,template:Ke}),this.provider=o}initialize(){this.uiElements={...this.baseUIElements,recents:q.byClass(Fe.recentEmojis)},this.appEvents={"recent:add":this.addRecent},super.initialize()}async addRecent(e){await this.emojiContainer.addOrUpdate(e),this.ui.recents.dataset.empty="false"}async render(){var e;const t=null==(e=this.provider)?void 0:e.getRecents(this.options.maxRecents);return this.emojiContainer=this.viewFactory.create(He,{emojis:t,showVariants:!1,lazyLoader:this.lazyLoader,category:this.category.key}),await super.render({category:this.category,emojis:this.emojiContainer,emojiCount:t.length,icon:Y[this.category.key]}),this.el}},custom:class extends Be{constructor({category:e,lazyLoader:t}){super({template:qe,showVariants:!1,lazyLoader:t,category:e})}initialize(){this.uiElements={...this.baseUIElements},super.initialize()}async render(){return this.emojiContainer=this.viewFactory.create(Ne,{emojis:this.customEmojis,showVariants:this.showVariants,lazyLoader:this.lazyLoader,category:this.category.key}),super.render({category:this.category,emojis:this.emojiContainer,emojiCount:this.customEmojis.length,icon:Y[this.category.key]})}}};class Ze extends q{constructor({categoryTabs:e,categories:t,emojiVersion:o}){super({template:Ge,classes:Ye}),this.selectedCategory=0,this.scrollListenerState="active",this.lazyLoader=new We,this.categoryTabs=e,this.categories=t,this.emojiVersion=o,this.handleScroll=y(this.handleScroll.bind(this),100)}initialize(){this.appEvents={"category:select":this.handleCategorySelect,"category:previous":this.focusPreviousCategory,"category:next":this.focusNextCategory,"focus:change":this.updateFocusedCategory},this.uiElements={emojis:q.byClass(Ye.emojiArea)},this.uiEvents=[q.uiEvent("scroll",this.handleScroll)],super.initialize()}get focusableEmoji(){return this.el.querySelector('[tabindex="0"]')}async render(){this.emojiCategories=this.categories.map(this.createCategory,this);const e={};return this.categories.forEach(((t,o)=>{e[`emojis-${t.key}`]=this.emojiCategories[o]})),await super.render({emojis:await Promise.all(this.emojiCategories.map((e=>e.render())))}),this.lazyLoader.observe(this.el),this.el}destroy(){super.destroy(),this.emojiCategories.forEach((e=>{var t;null==(t=this.observer)||t.unobserve(e.el),e.destroy()}))}handleCategorySelect(e,t){this.el.style.overflow="hidden",this.selectCategory(e,t),this.el.style.overflow="auto"}createCategory(e){const t=Je[e.key]||Oe;return this.viewFactory.create(t,{category:e,showVariants:!0,lazyLoader:this.lazyLoader,emojiVersion:this.emojiVersion,provider:this.options.recentsProvider})}determineInitialCategory(){var e;return this.options.initialCategory&&this.categories.find((e=>e.key===this.options.initialCategory))?this.options.initialCategory:null==(e=this.categories.find((e=>"recents"!==e.key)))?void 0:e.key}determineFocusTarget(e){const t=this.emojiCategories.find((t=>t.category.key===e));return this.options.initialEmoji&&(null==t?void 0:t.el.querySelector(`[data-emoji="${this.options.initialEmoji}"]`))?this.options.initialEmoji:"button"}reset(e=!0){this.events.emit("preview:hide");const t=this.determineInitialCategory();t&&(this.selectCategory(t,{focus:this.determineFocusTarget(t),performFocus:e,scroll:"jump"}),this.selectedCategory=this.getCategoryIndex(t))}getCategoryIndex(e){return this.categories.findIndex((t=>t.key===e))}focusPreviousCategory(e){this.selectedCategory>0&&this.focusCategory(this.selectedCategory-1,{row:"last",offset:null!=e?e:this.options.emojisPerRow})}focusNextCategory(e){this.selectedCategory<this.categories.length-1&&this.focusCategory(this.selectedCategory+1,{row:"first",offset:null!=e?e:0})}focusCategory(e,t){this.selectCategory(e,{focus:t,performFocus:!0})}async selectCategory(e,t={}){var o;this.scrollListenerState="suspend";const{focus:i,performFocus:r,scroll:s}={performFocus:!1,...t};this.emojiCategories[this.selectedCategory].setActive(!1);const n=this.selectedCategory="number"==typeof e?e:this.getCategoryIndex(e);null==(o=this.categoryTabs)||o.setActiveTab(this.selectedCategory,{performFocus:r,scroll:"button"===i});const a=this.emojiCategories[n].el.offsetTop;var c;this.emojiCategories[n].setActive(!0,(c=i)&&"button"!==c?c:{row:"first",offset:0},"button"!==i&&r),s&&(this.el.scrollTop=a),this.scrollListenerState="resume"}updateFocusedCategory(e){var t;this.categories[this.selectedCategory].key!==e&&(this.scrollListenerState="suspend",this.selectedCategory=this.getCategoryIndex(e),null==(t=this.categoryTabs)||t.setActiveTab(this.selectedCategory,{changeFocusable:!1,performFocus:!1}),this.scrollListenerState="resume")}handleScroll(){if("suspend"===this.scrollListenerState||!this.categoryTabs)return;if("resume"===this.scrollListenerState)return void(this.scrollListenerState="active");const e=this.el.scrollTop,t=this.el.scrollHeight-this.el.offsetHeight,o=this.emojiCategories.findIndex(((t,o)=>{var i;return e<(null==(i=this.emojiCategories[o+1])?void 0:i.el.offsetTop)})),i={changeFocusable:!1,performFocus:!1,scroll:!1};0===e?this.categoryTabs.setActiveTab(0,i):Math.floor(e)===Math.floor(t)||o<0?this.categoryTabs.setActiveTab(this.categories.length-1,i):this.categoryTabs.setActiveTab(o,i)}}const Xe=new se((({classList:e,classes:t,icon:o,message:i})=>`\n<div class="${e}" role="alert">\n  <div class="${t.iconContainer}"><i data-size="10x" data-icon="${o}"></i></div>\n  <h3 class="${t.title}">${i}</h3>\n</div>\n`)),Qe=j("error","iconContainer","title");class et extends q{constructor({message:e,icon:t="warning",template:o=Xe,className:i}){super({template:o,classes:Qe}),this.message=e,this.icon=t,this.className=i}renderSync(){const e=[Qe.error,this.className].join(" ").trim();return super.renderSync({message:this.message,icon:this.icon,classList:e})}}const tt=new se((({classList:e,classes:t,icon:o,i18n:i,message:r})=>`\n  <div class="${e}" role="alert">\n    <div class="${t.icon}"><i data-size="10x" data-icon="${o}"></i></div>\n    <h3 class="${t.title}">${r}</h3>\n    <button type="button">${i.get("retry")}</button>\n  </div>\n`)),ot=j("dataError");class it extends et{constructor({message:e}){super({message:e,template:tt,className:ot.dataError})}initialize(){this.uiElements={retryButton:"button"},this.uiEvents=[q.childEvent("retryButton","click",this.onRetry)],super.initialize()}async onRetry(){this.emojiData?await this.emojiData.delete():await this.options.dataStore.deleteDatabase(this.options.locale),this.events.emit("reinitialize");const e=await V(this.options.locale,this.options.dataStore,this.options.messages,this.options.emojiData,this.emojiData);this.viewFactory.setEmojiData(e),this.events.emit("data:ready",e)}}const rt=j("preview","previewEmoji","previewName","tagList","tag"),st=new se((({classes:e,tag:t})=>`\n  <li class="${e.tag}">${t}</li>\n`)),nt=new se((({classes:e})=>`\n  <div class="${e.preview}">\n    <div class="${e.previewEmoji}"></div>\n    <div class="${e.previewName}"></div>\n    <ul class="${e.tagList}"></ul>\n  </div>\n`));class at extends q{constructor(){super({template:nt,classes:rt})}initialize(){this.uiElements={emoji:q.byClass(rt.previewEmoji),name:q.byClass(rt.previewName),tagList:q.byClass(rt.tagList)},this.appEvents={"preview:show":this.showPreview,"preview:hide":this.hidePreview},super.initialize()}showPreview(e,t){if(x(this.ui.emoji,t),this.ui.name.textContent=e.label,e.tags){this.ui.tagList.style.display="flex";const t=e.tags.map((e=>st.renderSync({tag:e,classes:rt})));x(this.ui.tagList,...t)}}hidePreview(){k(this.ui.emoji),k(this.ui.name),k(this.ui.tagList)}}const ct=new se((({classes:e,i18n:t})=>`\n  <button title="${t.get("search.clear")}" class="${e.clearSearchButton}">\n    <i data-icon="xmark"></i>\n  </button>\n`)),lt=new se((({classes:e,i18n:t})=>`\n<div class="${e.searchContainer}">\n  <input class="${e.searchField}" placeholder="${t.get("search")}">\n  <span class="${e.searchAccessory}"></span>\n</div>\n`),{mode:"async"}),ht=j("searchContainer","searchField","clearButton","searchAccessory","clearSearchButton","notFound");class ut extends q{constructor({categories:e,emojiVersion:t}){super({template:lt,classes:ht}),this.categories=e.filter((e=>"recents"!==e.key)),this.emojiVersion=t,this.search=v(this.search.bind(this),100)}initialize(){this.uiElements={searchField:q.byClass(ht.searchField),searchAccessory:q.byClass(ht.searchAccessory)},this.uiEvents=[q.childEvent("searchField","keydown",this.onKeyDown),q.childEvent("searchField","input",this.onSearchInput)],super.initialize()}async render(){return await super.render(),this.searchIcon=G("search"),this.notFoundMessage=this.viewFactory.create(et,{message:this.i18n.get("search.notFound"),className:ht.notFound,icon:"sad"}),this.notFoundMessage.renderSync(),this.errorMessage=this.viewFactory.create(et,{message:this.i18n.get("search.error")}),this.errorMessage.renderSync(),this.clearSearchButton=ct.render({classes:ht,i18n:this.i18n}),this.clearSearchButton.addEventListener("click",(e=>this.onClearSearch(e))),this.searchField=this.ui.searchField,this.showSearchIcon(),this.el}showSearchIcon(){this.showSearchAccessory(this.searchIcon)}showClearSearchButton(){this.showSearchAccessory(this.clearSearchButton)}showSearchAccessory(e){x(this.ui.searchAccessory,e)}clear(){this.searchField.value="",this.showSearchIcon()}focus(){this.searchField.focus()}onClearSearch(e){var t;e.stopPropagation(),this.searchField.value="",null==(t=this.resultsContainer)||t.destroy(),this.resultsContainer=null,this.showSearchIcon(),this.events.emit("content:show"),this.searchField.focus()}handleResultsKeydown(e){this.resultsContainer&&"Escape"===e.key&&this.onClearSearch(e)}onKeyDown(e){var t;"Escape"===e.key&&this.searchField.value?this.onClearSearch(e):("Enter"===e.key||"ArrowDown"===e.key)&&this.resultsContainer&&(e.preventDefault(),null==(t=this.resultsContainer.el.querySelector('[tabindex="0"]'))||t.focus())}onSearchInput(e){this.searchField.value?(this.showClearSearchButton(),this.search()):this.onClearSearch(e)}async search(){var e;if(this.searchField.value)try{const t=await this.emojiData.searchEmojis(this.searchField.value,this.customEmojis,this.emojiVersion,this.categories);if(this.events.emit("preview:hide"),t.length){const o=new We;this.resultsContainer=this.viewFactory.create(Ne,{emojis:t,fullHeight:!0,showVariants:!0,lazyLoader:o}),this.resultsContainer.renderSync(),null!=(e=this.resultsContainer)&&e.el&&(o.observe(this.resultsContainer.el),this.resultsContainer.setActive(!0,{row:0,offset:0},!1),this.resultsContainer.el.addEventListener("keydown",(e=>this.handleResultsKeydown(e))),this.events.emit("content:show",this.resultsContainer))}else this.events.emit("content:show",this.notFoundMessage)}catch{this.events.emit("content:show",this.errorMessage)}}}const dt=new se((({classes:e})=>`\n  <div class="${e.variantOverlay}">\n    <div class="${e.variantPopup}">\n      <div data-view="emojis" data-render="sync"></div>\n    </div>\n  </div>\n`)),mt=j("variantOverlay","variantPopup"),pt={easing:"ease-in-out",duration:250,fill:"both"},gt={opacity:[0,1]},ft={opacity:[0,1],transform:["scale3d(0.8, 0.8, 0.8)","scale3d(1, 1, 1)"]};class yt extends q{constructor({emoji:e,parent:t}){super({template:dt,classes:mt,parent:t}),this.focusedEmojiIndex=0,this.focusTrap=new U,this.animateShow=()=>Promise.all([w(this.el,gt,pt,this.options),w(this.ui.popup,ft,pt,this.options)]),this.emoji=e}initialize(){this.uiElements={popup:q.byClass(mt.variantPopup)},this.uiEvents=[q.uiEvent("click",this.handleClick),q.uiEvent("keydown",this.handleKeydown)],super.initialize()}animateHide(){const e={...pt,direction:"reverse"};return Promise.all([w(this.el,gt,e,this.options),w(this.ui.popup,ft,e,this.options)])}async hide(){await this.animateHide(),this.events.emit("variantPopup:hide")}handleKeydown(e){"Escape"===e.key&&(this.hide(),e.stopPropagation())}handleClick(e){this.ui.popup.contains(e.target)||this.hide()}getEmoji(e){return this.renderedEmojis[e]}setFocusedEmoji(e){this.getEmoji(this.focusedEmojiIndex).tabIndex=-1,this.focusedEmojiIndex=e;const t=this.getEmoji(this.focusedEmojiIndex);t.tabIndex=0,t.focus()}destroy(){this.emojiContainer.destroy(),this.focusTrap.deactivate(),super.destroy()}renderSync(){const e=[{...this.emoji,skins:null},...(this.emoji.skins||[]).map((e=>({...e,label:this.emoji.label,tags:this.emoji.tags})))];return this.emojiContainer=this.viewFactory.create(Ne,{emojis:e,preview:!1}),super.renderSync({emojis:this.emojiContainer}),e.length<this.options.emojisPerRow&&this.el.style.setProperty("--emojis-per-row",e.length.toString()),this.el}activate(){this.emojiContainer.setActive(!0,{row:0,offset:0},!0),this.focusTrap.activate(this.el)}}const vt=new se((({classes:e,i18n:t,category:o,pickerId:i,icon:r})=>`\n<li class="${e.categoryTab}">\n  <button\n    aria-selected="false"\n    role="tab"\n    class="${e.categoryButton}"\n    tabindex="-1"\n    title="${t.get(`categories.${o.key}`,o.message||o.key)}"\n    type="button"\n    data-category="${o.key}"\n    id="${i}-category-${o.key}"\n  >\n    <i data-icon="${r}"></i>\n</li>\n`)),wt=j("categoryTab","categoryTabActive","categoryButton");class bt extends q{constructor({category:e,icon:t}){super({template:vt,classes:wt}),this.isActive=!1,this.category=e,this.icon=t}initialize(){this.uiElements={button:q.byClass(wt.categoryButton)},this.uiEvents=[q.childEvent("button","click",this.selectCategory),q.childEvent("button","focus",this.selectCategory)],super.initialize()}renderSync(){return super.renderSync({category:this.category,icon:this.icon}),this.ui.button.ariaSelected="false",this.el}setActive(e,t={}){const{changeFocusable:o,performFocus:i,scroll:r}={changeFocusable:!0,performFocus:!0,scroll:!0,...t};this.el.classList.toggle(wt.categoryTabActive,e),o&&(this.ui.button.tabIndex=e?0:-1,this.ui.button.ariaSelected=e.toString()),e&&i&&(this.ui.button.focus(),r&&this.events.emit("category:select",this.category.key,{scroll:"animate",focus:"button",performFocus:!1})),this.isActive=e}selectCategory(){this.isActive||this.events.emit("category:select",this.category.key,{scroll:"animate",focus:"button",performFocus:!0})}}const _t=new se((({classes:e})=>`\n  <div class="${e.categoryButtonsContainer}">\n    <ul role="tablist" class="${e.categoryButtons}">\n      <div data-placeholder="tabs"></div>\n    </ul>\n  </div>\n`)),jt=j("categoryButtons","categoryButtonsContainer");class Ct extends q{constructor({categories:e}){super({template:_t,classes:jt}),this.activeCategoryIndex=0,this.categories=e}initialize(){this.keyBindings={ArrowLeft:this.stepSelectedTab(-1),ArrowRight:this.stepSelectedTab(1)},this.uiEvents=[q.uiEvent("scroll",this.checkOverflow)],super.initialize()}checkOverflow(){const e=Math.abs(this.el.scrollLeft-(this.el.scrollWidth-this.el.offsetWidth))>1,t=this.el.scrollLeft>0;this.el.className="categoryButtonsContainer",t&&e?this.el.classList.add("has-overflow-both"):t?this.el.classList.add("has-overflow-left"):e&&this.el.classList.add("has-overflow-right")}renderSync(){return this.tabViews=this.categories.map((e=>this.viewFactory.create(bt,{category:e,icon:Y[e.key]}))),super.renderSync({tabs:this.tabViews.map((e=>e.renderSync()))}),this.el}get currentCategory(){return this.categories[this.activeCategoryIndex]}get currentTabView(){return this.tabViews[this.activeCategoryIndex]}setActiveTab(e,t={}){this.checkOverflow();const o=this.currentTabView,i=this.tabViews[e];o.setActive(!1,t),i.setActive(!0,t),this.activeCategoryIndex=e}getTargetCategory(e){return e<0?this.categories.length-1:e>=this.categories.length?0:e}stepSelectedTab(e){return()=>{const t=this.activeCategoryIndex+e;this.setActiveTab(this.getTargetCategory(t),{changeFocusable:!0,performFocus:!0})}}}const kt=[{version:15,emoji:String.fromCodePoint(129768)},{version:14,emoji:String.fromCodePoint(128733)},{version:13,emoji:String.fromCodePoint(129729)},{version:12,emoji:String.fromCodePoint(129449)},{version:11,emoji:String.fromCodePoint(129463)},{version:5,emoji:String.fromCodePoint(129322)},{version:4,emoji:String.fromCodePoint(9877)},{version:3,emoji:String.fromCodePoint(129314)},{version:2,emoji:String.fromCodePoint(128488)},{version:1,emoji:String.fromCodePoint(128512)}];function xt(){var e;const t=kt.find((e=>function(e){const t=document.createElement("canvas").getContext("2d");if(t)return t.textBaseline="top",t.font="32px Arial",t.fillText(e,0,0),0!==t.getImageData(16,16,1,1).data[0]}(e.emoji)));return null!=(e=null==t?void 0:t.version)?e:1}function Et(e,t){return Array.from({length:e},(()=>t)).join("")}function St(e){const{emojiCount:t,classes:o,theme:i,className:r,categoryCount:s}=e;return`\n    <div class="picmo__picker ${o.skeleton} ${o.picker} ${i} ${r}">\n      ${(({showHeader:t,classes:o})=>t?`\n    <header class="${o.headerSkeleton}">\n      ${(({showSearch:e,classes:t})=>e?`\n    <div class="${t.searchSkeleton}">\n      <div class="${t.searchInput} ${t.placeholder}"></div>\n    </div>\n  `:"")(e)}\n      ${(({showCategoryTabs:e,classes:t})=>e?`\n    <div class="${t.categoryTabsSkeleton}">\n      ${Et(s,`<div class="${t.placeholder} ${t.categoryTab}"></div>`)}\n    </div>\n  `:"")(e)}\n    </header>\n  `:"")(e)}\n      <div class="${o.contentSkeleton}">\n        <div class="${o.placeholder} ${o.categoryName}"></div>\n        <div class="${o.emojiGrid}">\n          ${Et(t,`<div class="${o.placeholder} ${o.emoji}"></div>`)}\n        </div>\n      </div>\n      ${(({showPreview:e,classes:t})=>e?`\n    <div class="${t.previewSkeleton}">\n      <div class="${t.placeholder} ${t.previewEmoji}"></div>\n      <div class="${t.placeholder} ${t.previewName}"></div>\n      <ul class="${t.tagList}">\n        ${Et(3,`<li class="${t.placeholder} ${t.tag}"></li>`)}\n      </ul>\n    </div>\n  `:"")(e)}\n    </div>\n  `}const zt=new se((e=>e.isLoaded?function(e){const{classes:t,theme:o,className:i=""}=e;return`\n    <div class="picmo__picker ${t.picker} ${o} ${i}">\n      ${function({showHeader:e,classes:t}){return e?`\n    <header class="${t.header}">\n      <div data-view="search"></div>\n      <div data-view="categoryTabs" data-render="sync"></div>\n    </header>\n  `:""}(e)}\n      <div class="${t.content}">\n        <div data-view="emojiArea"></div>\n      </div>\n      <div data-view="preview"></div>\n    </div>\n  `}(e):St(e))),Lt=j("picker","skeleton","placeholder","searchSkeleton","searchInput","categoryTabsSkeleton","headerSkeleton","categoryTab","contentSkeleton","categoryName","emojiGrid","emoji","previewSkeleton","previewEmoji","previewName","tagList","tag","overlay","content","fullHeight","pluginContainer","header"),It={emojisPerRow:"--emojis-per-row",visibleRows:"--row-count",emojiSize:"--emoji-size"};class At extends q{constructor(){super({template:zt,classes:Lt}),this.pickerReady=!1,this.externalEvents=new Pe,this.updaters={styleProperty:e=>t=>this.el.style.setProperty(It[e],t.toString()),theme:e=>{const t=this.options.theme,o=this.el.closest(`.${t}`);this.el.classList.remove(t),null==o||o.classList.remove(t),this.el.classList.add(e),null==o||o.classList.add(e)},className:e=>{this.options.className&&this.el.classList.remove(this.options.className),this.el.classList.add(e)},emojisPerRow:this.updateStyleProperty.bind(this,"emojisPerRow"),emojiSize:this.updateStyleProperty.bind(this,"emojiSize"),visibleRows:this.updateStyleProperty.bind(this,"visibleRows")}}initialize(){this.uiElements={pickerContent:q.byClass(Lt.content),header:q.byClass(Lt.header)},this.uiEvents=[q.uiEvent("keydown",this.handleKeyDown)],this.appEvents={error:this.onError,reinitialize:this.reinitialize,"data:ready":this.onDataReady,"content:show":this.showContent,"variantPopup:hide":this.hideVariantPopup,"emoji:select":this.selectEmoji},super.initialize(),this.options.recentsProvider}destroy(){var e,t;super.destroy(),null==(e=this.search)||e.destroy(),this.emojiArea.destroy(),null==(t=this.categoryTabs)||t.destroy(),this.events.removeAll(),this.externalEvents.removeAll()}clearRecents(){this.options.recentsProvider.clear()}addEventListener(e,t){this.externalEvents.on(e,t)}removeEventListener(e,t){this.externalEvents.off(e,t)}initializePickerView(){this.pickerReady&&(this.showContent(),this.emojiArea.reset(!1))}handleKeyDown(e){const t=e.ctrlKey||e.metaKey;"s"===e.key&&t&&this.search&&(e.preventDefault(),this.search.focus())}buildChildViews(){return this.options.showPreview&&(this.preview=this.viewFactory.create(at)),this.options.showSearch&&(this.search=this.viewFactory.create(ut,{categories:this.categories,emojiVersion:this.emojiVersion})),this.options.showCategoryTabs&&(this.categoryTabs=this.viewFactory.create(Ct,{categories:this.categories})),this.currentView=this.emojiArea=this.viewFactory.create(Ze,{categoryTabs:this.categoryTabs,categories:this.categories,emojiVersion:this.emojiVersion}),[this.preview,this.search,this.emojiArea,this.categoryTabs]}setStyleProperties(){this.options.showSearch||this.el.style.setProperty("--search-height-full","0px"),this.options.showCategoryTabs||(this.el.style.setProperty("--category-tabs-height","0px"),this.el.style.setProperty("--category-tabs-offset","0px")),this.options.showPreview||this.el.style.setProperty("--emoji-preview-height-full","0px"),Object.keys(It).forEach((e=>{this.options[e]&&this.el.style.setProperty(It[e],this.options[e].toString())}))}updateStyleProperty(e,t){this.el.style.setProperty(It[e],t.toString())}reinitialize(){this.renderSync()}onError(e){const t=this.viewFactory.createWithOptions({data:!1},it,{message:this.i18n.get("error.load")}),o=this.el.offsetHeight||375;throw this.el.style.height=`${o}px`,x(this.el,t.renderSync()),e}async onDataReady(e){const t=this.el;try{e?this.emojiData=e:await this.emojiDataPromise,"auto"===this.options.emojiVersion?this.emojiVersion=xt()||parseFloat("14.0"):this.emojiVersion=this.options.emojiVersion,this.categories=await this.emojiData.getCategories(this.options);const[o,i,r,s]=this.buildChildViews();await super.render({isLoaded:!0,search:i,categoryTabs:s,emojiArea:r,preview:o,showHeader:Boolean(this.search||this.categoryTabs),theme:this.options.theme,className:this.options.className}),this.el.style.setProperty("--category-count",this.categories.length.toString()),this.pickerReady=!0,t.replaceWith(this.el),this.setStyleProperties(),this.initializePickerView(),this.setInitialFocus(),this.externalEvents.emit("data:ready")}catch(e){this.events.emit("error",e)}}renderSync(){var e;let t=(null==(e=this.options.categories)?void 0:e.length)||10;if(this.options.showRecents&&(t+=1),super.renderSync({isLoaded:!1,theme:this.options.theme,className:this.options.className,showSearch:this.options.showSearch,showPreview:this.options.showPreview,showCategoryTabs:this.options.showCategoryTabs,showHeader:this.options.showSearch||this.options.showCategoryTabs,emojiCount:this.options.emojisPerRow*this.options.visibleRows,categoryCount:t}),this.el.style.setProperty("--category-count",t.toString()),!this.options.rootElement)throw new Error("Picker must be given a root element via the rootElement option");return x(this.options.rootElement,this.el),this.setStyleProperties(),this.pickerReady&&this.initializePickerView(),this.el}getInitialFocusTarget(){if(typeof this.options.autoFocus<"u")switch(this.options.autoFocus){case"emojis":return this.emojiArea.focusableEmoji;case"search":return this.search;case"auto":return this.search||this.emojiArea.focusableEmoji;default:return null}if(!0===this.options.autoFocusSearch)return console.warn("options.autoFocusSearch is deprecated, please use options.focusTarget instead"),this.search}setInitialFocus(){var e;!this.pickerReady||null==(e=this.getInitialFocusTarget())||e.focus()}reset(e=!0){var t;this.pickerReady&&(this.emojiArea.reset(e),this.showContent(this.emojiArea)),null==(t=this.search)||t.clear(),this.hideVariantPopup()}showContent(e=this.emojiArea){var t,o;e!==this.currentView&&(this.currentView!==this.emojiArea&&(null==(t=this.currentView)||t.destroy()),this.ui.pickerContent.classList.toggle(Lt.fullHeight,e!==this.emojiArea),x(this.ui.pickerContent,e.el),this.currentView=e,e===this.emojiArea?(this.emojiArea.reset(),this.categoryTabs&&this.ui.header.appendChild(this.categoryTabs.el)):null==(o=this.categoryTabs)||o.el.remove())}hideVariantPopup(){var e;null==(e=this.variantPopup)||e.destroy()}isPickerClick(e){var t,o;const i=e.target,r=this.el.contains(i),s=null==(o=null==(t=this.variantPopup)?void 0:t.el)?void 0:o.contains(i);return r||s}async selectEmoji({emoji:e}){var t,o;(null==(t=e.skins)?void 0:t.length)&&this.options.showVariants&&!this.isVariantPopupOpen?this.showVariantPopup(e):(await(null==(o=this.variantPopup)?void 0:o.animateHide()),this.events.emit("variantPopup:hide"),await this.emitEmoji(e))}get isVariantPopupOpen(){return this.variantPopup&&!this.variantPopup.isDestroyed}async showVariantPopup(e){const t=document.activeElement;this.events.once("variantPopup:hide",(()=>{null==t||t.focus()})),this.variantPopup=this.viewFactory.create(yt,{emoji:e,parent:this.el}),this.el.appendChild(this.variantPopup.renderSync()),this.variantPopup.activate()}async emitEmoji(e){this.externalEvents.emit("emoji:select",await this.renderer.doEmit(e)),this.options.recentsProvider.addOrUpdateRecent(e,this.options.maxRecents),this.events.emit("recent:add",e)}updateOptions(e){Object.keys(e).forEach((t=>{this.updaters[t](e[t])})),Object.assign(this.options,e)}}class Pt{constructor({events:e,i18n:t,renderer:o,emojiData:i,options:r,customEmojis:s=[],pickerId:n}){this.events=e,this.i18n=t,this.renderer=o,this.emojiData=i,this.options=r,this.customEmojis=s,this.pickerId=n}setEmojiData(e){this.emojiData=Promise.resolve(e)}createWithOptions(e={},t,...o){const i=new t(...o);return i.setPickerId(this.pickerId),i.setEvents(this.events),i.setI18n(this.i18n),i.setRenderer(this.renderer),!1!==e.data&&i.setEmojiData(this.emojiData),i.setOptions(this.options),i.setCustomEmojis(this.customEmojis),i.viewFactory=this,i.initialize(),i}create(e,...t){return this.createWithOptions({},e,...t)}}var Ft;class Bt{constructor(e={}){s(this,Ft,void 0),n(this,Ft,new Map(Object.entries(e)))}get(e,t=e){return r(this,Ft).get(e)||t}}function Mt(){let e=!1;return function(t){Ie.injectStyles&&!e&&(function(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}(t),e=!0)}}Ft=new WeakMap;const $t='.picmo__picker .picmo__icon{width:1.25em;height:1em;fill:currentColor}.picmo__icon-small{font-size:.8em}.picmo__icon-medium{font-size:1em}.picmo__icon-large{font-size:1.25em}.picmo__icon-2x{font-size:2em}.picmo__icon-3x{font-size:3em}.picmo__icon-4x{font-size:4em}.picmo__icon-5x{font-size:5em}.picmo__icon-8x{font-size:8em}.picmo__icon-10x{font-size:10em}.picmo__light,.picmo__auto{color-scheme:light;--accent-color: #4f46e5;--background-color: #f9fafb;--border-color: #cccccc;--category-name-background-color: #f9fafb;--category-name-button-color: #999999;--category-name-text-color: hsl(214, 30%, 50%);--category-tab-active-background-color: rgba(255, 255, 255, .6);--category-tab-active-color: var(--accent-color);--category-tab-color: #666;--category-tab-highlight-background-color: rgba(0, 0, 0, .15);--error-color-dark: hsl(0, 100%, 45%);--error-color: hsl(0, 100%, 40%);--focus-indicator-background-color: hsl(198, 65%, 85%);--focus-indicator-color: #333333;--hover-background-color: #c7d2fe;--placeholder-background-color: #cccccc;--search-background-color: #f9fafb;--search-focus-background-color: #ffffff;--search-icon-color: #999999;--search-placeholder-color: #71717a;--secondary-background-color: #e2e8f0;--secondary-text-color: #666666;--tag-background-color: rgba(162, 190, 245, .3);--text-color: #000000;--variant-popup-background-color: #ffffff}.picmo__dark{color-scheme:dark;--accent-color: #A580F9;--background-color: #333333;--border-color: #666666;--category-name-background-color: #333333;--category-name-button-color: #eeeeee;--category-name-text-color: #ffffff;--category-tab-active-background-color: #000000;--category-tab-active-color: var(--accent-color);--category-tab-color: #cccccc;--category-tab-highlight-background-color: #4A4A4A;--error-color-dark: hsl(0, 7%, 3%);--error-color: hsl(0, 30%, 60%);--focus-indicator-background-color: hsl(0, 0%, 50%);--focus-indicator-color: #999999;--hover-background-color: hsla(0, 0%, 40%, .85);--image-placeholder-color: #ffffff;--placeholder-background-color: #666666;--search-background-color: #71717a;--search-focus-background-color: #52525b;--search-icon-color: #cccccc;--search-placeholder-color: #d4d4d8;--secondary-background-color: #000000;--secondary-text-color: #999999;--tag-background-color: rgba(162, 190, 245, .3);--text-color: #ffffff;--variant-popup-background-color: #333333}@media (prefers-color-scheme: dark){.picmo__auto{color-scheme:dark;--accent-color: #A580F9;--background-color: #333333;--border-color: #666666;--category-name-background-color: #333333;--category-name-button-color: #eeeeee;--category-name-text-color: #ffffff;--category-tab-active-background-color: #000000;--category-tab-active-color: var(--accent-color);--category-tab-color: #cccccc;--category-tab-highlight-background-color: #4A4A4A;--error-color-dark: hsl(0, 7%, 3%);--error-color: hsl(0, 30%, 60%);--focus-indicator-background-color: hsl(0, 0%, 50%);--focus-indicator-color: #999999;--hover-background-color: hsla(0, 0%, 40%, .85);--image-placeholder-color: #ffffff;--placeholder-background-color: #666666;--search-background-color: #71717a;--search-focus-background-color: #52525b;--search-icon-color: #cccccc;--search-placeholder-color: #d4d4d8;--secondary-background-color: #000000;--secondary-text-color: #999999;--tag-background-color: rgba(162, 190, 245, .3);--text-color: #ffffff;--variant-popup-background-color: #333333}}.picmo__picker .picmo__categoryButtonsContainer{overflow:auto;padding:2px 0}.picmo__picker .picmo__categoryButtonsContainer.picmo__has-overflow-right{mask-image:linear-gradient(270deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%);-webkit-mask-image:linear-gradient(270deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%)}.picmo__picker .picmo__categoryButtonsContainer.picmo__has-overflow-left{mask-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%);-webkit-mask-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%)}.picmo__picker .picmo__categoryButtonsContainer.picmo__has-overflow-both{mask-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%,rgba(255,255,255,1) 90%,rgba(255,255,255,0) 100%);-webkit-mask-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 10%,rgba(255,255,255,1) 90%,rgba(255,255,255,0) 100%)}.picmo__picker .picmo__categoryButtons{display:flex;flex-direction:row;gap:var(--tab-gap);margin:0;padding:0 .5em;align-items:center;height:var(--category-tabs-height);box-sizing:border-box;width:100%;justify-content:space-between;position:relative;list-style-type:none;justify-self:center;max-width:min(23.55rem,calc(var(--category-count, 1) * 2.5rem))}.picmo__picker .picmo__categoryButtons .picmo__categoryTab{display:flex;align-items:center;transition:all .1s;width:2em}.picmo__picker .picmo__categoryButtons .picmo__categoryTab.picmo__categoryTabActive .picmo__categoryButton{color:var(--category-tab-active-color);background:linear-gradient(rgba(255,255,255,.75) 0%,rgba(255,255,255,.75) 100%),linear-gradient(var(--category-tab-active-color) 0%,var(--category-tab-active-color) 100%);border:2px solid var(--category-tab-active-color)}.picmo__picker .picmo__categoryButtons .picmo__categoryTab.picmo__categoryTabActive .picmo__categoryButton:hover{background-color:var(--category-tab-active-background-color)}.picmo__picker .picmo__categoryButtons .picmo__categoryTab button.picmo__categoryButton{border-radius:5px;background:transparent;border:2px solid transparent;color:var(--category-tab-color);cursor:pointer;padding:2px;vertical-align:middle;display:flex;align-items:center;justify-content:center;font-size:1.2rem;width:1.6em;height:1.6em;transition:all .1s}.picmo__picker .picmo__categoryButtons .picmo__categoryTab button.picmo__categoryButton:is(img){width:var(--category-tab-size);height:var(--category-tab-size)}.picmo__picker .picmo__categoryButtons .picmo__categoryTab button.picmo__categoryButton:hover{background:var(--category-tab-highlight-background-color)}.picmo__dataError [data-icon]{opacity:.8}@keyframes appear{0%{opacity:0}to{opacity:.8}}@keyframes appear-grow{0%{opacity:0;transform:scale(.8)}to{opacity:.8;transform:scale(1)}}.picmo__picker .picmo__error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--secondary-text-color)}.picmo__picker .picmo__error .picmo__iconContainer{opacity:.8;animation:appear-grow .25s cubic-bezier(.175,.885,.32,1.275);--color-primary: var(--error-color);--color-secondary: var(--error-color-dark)}.picmo__picker .picmo__error .picmo__title{animation:appear .25s;animation-delay:50ms;animation-fill-mode:both}.picmo__picker .picmo__error button{padding:8px 16px;cursor:pointer;background:var(--background-color);border:1px solid var(--text-color);border-radius:5px;color:var(--text-color)}.picmo__picker .picmo__error button:hover{background:var(--text-color);color:var(--background-color)}.picmo__emojiButton{background:transparent;border:none;border-radius:15px;cursor:pointer;display:flex;font-family:var(--emoji-font);font-size:var(--emoji-size);height:100%;justify-content:center;align-items:center;margin:0;overflow:hidden;padding:0;width:100%}.picmo__emojiButton:hover{background:var(--hover-background-color)}.picmo__emojiButton:focus{border-radius:0;background:var(--focus-indicator-background-color);outline:1px solid var(--focus-indicator-color)}.picmo__picker .picmo__emojiArea{height:var(--emoji-area-height);overflow-y:auto;position:relative}.picmo__picker .picmo__emojiCategory{position:relative}.picmo__picker .picmo__emojiCategory .picmo__categoryName{font-size:.9em;padding:.5rem;margin:0;background:var(--category-name-background-color);color:var(--category-name-text-color);top:0;z-index:1;display:grid;gap:4px;grid-template-columns:auto 1fr auto;align-items:center;line-height:1;box-sizing:border-box;height:var(--category-name-height);justify-content:flex-start;text-transform:uppercase}.picmo__picker .picmo__emojiCategory .picmo__categoryName button{background:transparent;border:none;display:flex;align-items:center;cursor:pointer;color:var(--category-name-button-color)}.picmo__picker .picmo__emojiCategory .picmo__categoryName button:hover{opacity:1}.picmo__picker .picmo__emojiCategory .picmo__noRecents{color:var(--secondary-text-color);grid-column:1 / span var(--emojis-per-row);font-size:.9em;text-align:center;display:flex;align-items:center;justify-content:center;min-height:calc(var(--emoji-size) * var(--emoji-size-multiplier))}.picmo__picker .picmo__emojiCategory .picmo__recentEmojis[data-empty=true]{display:none}:is(.picmo__picker .picmo__emojiCategory) .picmo__recentEmojis[data-empty=false]+div{display:none}.picmo__picker .picmo__emojiContainer{display:grid;justify-content:space-between;gap:1px;padding:0 .5em;grid-template-columns:repeat(var(--emojis-per-row),calc(var(--emoji-size) * var(--emoji-size-multiplier)));grid-auto-rows:calc(var(--emoji-size) * var(--emoji-size-multiplier));align-items:center;justify-items:center}.picmo__picker.picmo__picker{--border-radius: 5px;--emoji-area-height: calc( (var(--row-count) * var(--emoji-size) * var(--emoji-size-multiplier)) + var(--category-name-height) );--content-height: var(--emoji-area-height);--emojis-per-row: 8;--row-count: 6;--emoji-preview-margin: 4px;--emoji-preview-height: calc(var(--emoji-preview-size) + 1em + 1px);--emoji-preview-height-full: calc(var(--emoji-preview-height) + var(--emoji-preview-margin));--emoji-preview-size: 2.75em;--emoji-size: 2rem;--emoji-size-multiplier: 1.3;--content-margin: 8px;--category-tabs-height:calc(1.5em + 9px);--category-tabs-offset: 8px;--category-tab-size: 1.2rem;--category-name-height: 2rem;--category-name-padding-y: 6px;--search-height: 2em;--search-margin: .5em;--search-margin-bottom: 4px;--search-height-full: calc(var(--search-height) + var(--search-margin) + var(--search-margin-bottom));--overlay-background-color: rgba(0, 0, 0, .8);--emoji-font: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "EmojiOne Color", "Android Emoji";--ui-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--ui-font-size: 16px;--picker-width: calc(var(--emojis-per-row) * var(--emoji-size) * var(--emoji-size-multiplier) + 2.75rem);--preview-background-color: var(--secondary-background-color);background:var(--background-color);border-radius:var(--border-radius);border:1px solid var(--border-color);font-family:var(--ui-font);font-size:var(--ui-font-size);overflow:hidden;position:relative;width:var(--picker-width);display:grid;gap:8px}.picmo__picker.picmo__picker>*{font-family:var(--ui-font)}.picmo__picker.picmo__skeleton{background:var(--background-color);border-radius:var(--border-radius);border:1px solid var(--border-color);font-family:var(--ui-font);width:var(--picker-width);color:var(--secondary-text-color)}.picmo__picker.picmo__skeleton *{box-sizing:border-box}.picmo__picker.picmo__skeleton .picmo__placeholder{background:var(--placeholder-background-color);position:relative;overflow:hidden}.picmo__picker.picmo__skeleton .picmo__placeholder:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 100%);animation:shine 2s infinite;content:""}.picmo__picker.picmo__skeleton .picmo__headerSkeleton{background-color:var(--secondary-background-color);padding-top:8px;padding-bottom:8px;display:flex;flex-direction:column;overflow:hidden;gap:8px;border-bottom:1px solid var(--border-color);width:var(--picker-width)}.picmo__picker.picmo__skeleton .picmo__searchSkeleton{padding:0 8px;height:var(--search-height)}.picmo__picker.picmo__skeleton .picmo__searchSkeleton .picmo__searchInput{width:100%;height:28px;border-radius:3px}.picmo__picker.picmo__skeleton .picmo__categoryTabsSkeleton{height:var(--category-tabs-height);display:flex;flex-direction:row;align-items:center;justify-self:center;width:calc(2rem * var(--category-count, 1))}.picmo__picker.picmo__skeleton .picmo__categoryTabsSkeleton .picmo__categoryTab{width:25px;height:25px;padding:2px;border-radius:5px;margin:.25em}.picmo__picker.picmo__skeleton .picmo__contentSkeleton{height:var(--content-height);padding-right:8px;opacity:.7}.picmo__picker.picmo__skeleton .picmo__contentSkeleton .picmo__categoryName{width:50%;height:1rem;margin:.5rem;box-sizing:border-box}.picmo__picker.picmo__skeleton .picmo__contentSkeleton .picmo__emojiGrid{display:grid;justify-content:space-between;gap:1px;padding:0 .5em;grid-template-columns:repeat(var(--emojis-per-row),calc(var(--emoji-size) * var(--emoji-size-multiplier)));grid-auto-rows:calc(var(--emoji-size) * var(--emoji-size-multiplier));align-items:center;justify-items:center;width:var(--picker-width)}.picmo__picker.picmo__skeleton .picmo__contentSkeleton .picmo__emojiGrid .picmo__emoji{width:var(--emoji-size);height:var(--emoji-size);border-radius:50%}.picmo__picker.picmo__skeleton .picmo__previewSkeleton{height:var(--emoji-preview-height);border-top:1px solid var(--border-color);display:grid;align-items:center;padding:.5em;gap:6px;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"emoji name" "emoji tags"}.picmo__picker.picmo__skeleton .picmo__previewSkeleton .picmo__previewEmoji{grid-area:emoji;border-radius:50%;width:var(--emoji-preview-size);height:var(--emoji-preview-size)}.picmo__picker.picmo__skeleton .picmo__previewSkeleton .picmo__previewName{grid-area:name;height:.8em;width:80%}.picmo__picker.picmo__skeleton .picmo__previewSkeleton .picmo__tagList{grid-area:tags;list-style-type:none;display:flex;flex-direction:row;padding:0;margin:0}.picmo__picker.picmo__skeleton .picmo__previewSkeleton .picmo__tagList .picmo__tag{border-radius:3px;padding:2px 8px;margin-right:.25em;height:1em;width:20%}.picmo__overlay{background:rgba(0,0,0,.75);height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.picmo__content{position:relative;overflow:hidden;height:var(--content-height)}.picmo__content.picmo__fullHeight{height:calc(var(--content-height) + var(--category-tabs-height) + var(--category-tabs-offset));overflow-y:auto}.picmo__pluginContainer{margin:.5em;display:flex;flex-direction:row}.picmo__header{background-color:var(--secondary-background-color);padding-top:8px;padding-bottom:8px;display:grid;gap:8px;border-bottom:1px solid var(--border-color)}@media (prefers-reduced-motion: reduce){.picmo__placeholder{background:var(--placeholder-background-color);position:relative;overflow:hidden}.picmo__placeholder:after{display:none}}.picmo__picker .picmo__preview{border-top:1px solid var(--border-color);display:grid;align-items:center;gap:6px;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"emoji name" "emoji tags";height:var(--emoji-preview-height);box-sizing:border-box;padding:.5em;position:relative;background:var(--preview-background-color)}.picmo__picker .picmo__preview .picmo__previewEmoji{grid-area:emoji;font-size:var(--emoji-preview-size);font-family:var(--emoji-font);width:1.25em;display:flex;align-items:center;justify-content:center}.picmo__picker .picmo__preview .picmo__previewName{grid-area:name;color:var(--text-color);font-size:.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.picmo__picker .picmo__preview .picmo__tagList{grid-area:tags;list-style-type:none;display:flex;flex-direction:row;padding:0;margin:0;font-size:.75em;overflow:hidden}.picmo__picker .picmo__preview .picmo__tag{border-radius:3px;background:var(--tag-background-color);color:var(--text-color);padding:2px 8px;margin-right:.25em;white-space:nowrap}.picmo__picker .picmo__preview .picmo__tag:last-child{margin-right:0}.picmo__picker .picmo__searchContainer{display:flex;height:var(--search-height);box-sizing:border-box;padding:0 8px;position:relative}.picmo__picker .picmo__searchContainer .picmo__searchField{background:var(--search-background-color);border-radius:3px;border:none;box-sizing:border-box;color:var(--text-color);font-size:.9em;outline:none;padding:.5em 2.25em .5em .5em;width:100%}.picmo__picker .picmo__searchContainer .picmo__searchField:focus{background:var(--search-focus-background-color)}.picmo__picker .picmo__searchContainer .picmo__searchField::placeholder{color:var(--search-placeholder-color)}.picmo__picker .picmo__searchContainer .picmo__searchAccessory{color:var(--search-icon-color);height:100%;position:absolute;right:1em;top:0;width:1.25rem;display:flex;align-items:center}.picmo__picker .picmo__searchContainer .picmo__searchAccessory svg{fill:var(--search-icon-color)}.picmo__picker .picmo__searchContainer .picmo__clearButton{border:0;color:var(--search-icon-color);background:transparent;cursor:pointer}.picmo__picker .picmo__searchContainer .picmo__clearSearchButton{cursor:pointer;border:none;background:transparent;color:var(--search-icon-color);font-size:1em;width:100%;height:100%;display:flex;align-items:center;padding:0}.picmo__picker .picmo__searchContainer .picmo__notFound [data-icon]{fill:#f3e265}.picmo__picker .picmo__variantOverlay{background:var(--overlay-background-color);border-radius:5px;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:1}.picmo__picker .picmo__variantOverlay .picmo__variantPopup{background:var(--variant-popup-background-color);border-radius:5px;margin:.5em;padding:.5em;text-align:center;user-select:none;display:flex;align-items:center;justify-content:center}.picmo__customEmoji{width:1em;height:1em}@keyframes shine{to{transform:translate(100%)}}.picmo__picker .picmo__imagePlaceholder{width:2rem;height:2rem;border-radius:50%}.picmo__placeholder{background:#DDDBDD;position:relative}.picmo__placeholder:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 100%);animation:shine 2s infinite;content:""}\n';let Tt,Dt=0;const Rt=Mt();function Vt(e){Rt($t);const t=Ce(e),o=((null==t?void 0:t.custom)||[]).map((e=>({...e,custom:!0,tags:["custom",...e.tags||[]]}))),i=new Ae;Tt||(Tt=function(e){return V(e.locale,e.dataStore,e.messages,e.emojiData)}(t));const r=new Bt(t.i18n);Tt.then((e=>{i.emit("data:ready",e)})).catch((e=>{i.emit("error",e)}));const s=new Pt({events:i,i18n:r,customEmojis:o,renderer:t.renderer,options:t,emojiData:Tt,pickerId:`picmo-${Date.now()}-${Dt++}`}).create(At);return s.renderSync(),s}const Nt=Object.freeze(Object.defineProperty({__proto__:null,de:{"categories.activities":"Aktivitäten","categories.animals-nature":"Tiere & Natur","categories.custom":"Benutzerdefiniert","categories.flags":"Flaggen","categories.food-drink":"Essen & Trinken","categories.objects":"Gegenstände","categories.people-body":"Mensch & Körper","categories.recents":"Zuletzt genutzt","categories.smileys-emotion":"Smileys & Emotionen","categories.symbols":"Symbole","categories.travel-places":"Reisen & Orte","error.load":"Emojis wurden nicht geladen","recents.clear":"Zuletzt genutzte Emojis löschen","recents.none":"Kein Emoji ausgewählt.",retry:"Erneut versuchen","search.clear":"Suche löschen","search.error":"Suche erfolglos","search.notFound":"Kein Emoji gefunden",search:"Emojis durchsuchen ..."},en:me,fi:{"categories.activities":"Aktiviteetit","categories.animals-nature":"Eläimet & luonto","categories.custom":"Mukautettu","categories.flags":"Liput","categories.food-drink":"Ruoka & juoma","categories.objects":"Esineet","categories.people-body":"Ihmiset & keho","categories.recents":"Viimeksi käytetty","categories.smileys-emotion":"Hymiöt & tunne","categories.symbols":"Symbolit","categories.travel-places":"Matkustus & paikat","error.load":"Emojien lataaminen epäonnistui","recents.clear":"Tyhjennä viimeksi käytetyt emojit","recents.none":"Et ole valinnut vielä emojia.",retry:"Kokeile uudestaan","search.clear":"Tyhjennä haku","search.error":"Emojien etsiminen epäonnistui","search.notFound":"Emojia ei löytynyt",search:"Etsi emojia..."},fr:{"categories.activities":"Activités","categories.animals-nature":"Animaux et nature","categories.custom":"Personnalisé","categories.flags":"Drapeaux","categories.food-drink":"Nourriture et boissons","categories.objects":"Objets","categories.people-body":"Personnes et corps","categories.recents":"Récemment utilisé","categories.smileys-emotion":"Visages et émotions","categories.symbols":"Symboles","categories.travel-places":"Voyages et lieux","error.load":"Échec du chargement des émojis","recents.clear":"Effacez les émojis récents","recents.none":"Vous n'avez pas encore sélectionné d'émojis.",retry:"Essayez à nouveau","search.clear":"Effacer la recherche","search.error":"Échec de la recherche d'émojis","search.notFound":"Aucun émoji trouvé",search:"Rechercher des émojis..."},nl:{"categories.activities":"Activiteiten","categories.animals-nature":"Dieren & Natuur","categories.custom":"Aangepast","categories.flags":"Vlaggen","categories.food-drink":"Eten & Drinken","categories.objects":"Voorwerpen","categories.people-body":"Mens & Lichaam","categories.recents":"Laatst gebruikt","categories.smileys-emotion":"Smileys en emoties","categories.symbols":"Symbolen","categories.travel-places":"Reizen & Plaatsen","error.load":"Kan emoji's niet laden","recents.clear":"Wis recente emoji's","recents.none":"Geen emoji geselecteerd.",retry:"Probeer het nog eens","search.clear":"Zoekopdracht wissen","search.error":"Zoeken mislukt","search.notFound":"Geen emoji gevonden",search:"Zoek emoji..."},no:{"categories.activities":"Aktiviteter","categories.animals-nature":"Dyr & natur","categories.custom":"Tilpasset","categories.flags":"Flagg","categories.food-drink":"Mat & drikke","categories.objects":"Objekter","categories.people-body":"Mennesker & kropp","categories.recents":"Nylig brukte","categories.smileys-emotion":"Smilefjes & følelser","categories.symbols":"Symboler","categories.travel-places":"Reise & steder","error.load":"Klarte ikke laste inn emojis","recents.clear":"Fjern nylige emojis","recents.none":"Du har ikke valgt noen emojis enda.",retry:"Prøv igjen","search.clear":"Tøm søk","search.error":"Klarte ikke å søke etter emojis","search.notFound":"Ingen emojis funnet",search:"Søk etter emojis..."},sv:{"categories.activities":"Aktiviteter","categories.animals-nature":"Djur & natur","categories.custom":"Anpassad","categories.flags":"Flagga","categories.food-drink":"Mat & dryck","categories.objects":"Objekt","categories.people-body":"Människor & kropp","categories.recents":"Nyligen använd","categories.smileys-emotion":"Humör & känslor","categories.symbols":"Symboler","categories.travel-places":"Resor & platser","error.load":"Det gick inte att ladda emojis","recents.clear":"Ta bort de senaste emojis","recents.none":"Du har inte valt några emojis än",retry:"Försök igen","search.clear":"Tom sökning","search.error":"Det gick inte att söka efter emojis","search.notFound":"Inga emojis hittades",search:"Sök efter emojis..."}},Symbol.toStringTag,{value:"Module"}));class Ut extends be{constructor(){super(S()?sessionStorage:ye())}}class Ot extends ve{constructor(){super(...arguments),this.recents=[]}clear(){this.recents=[]}getRecents(e){return this.recents.slice(0,e)}addOrUpdateRecent(e,t){this.recents=[e,...this.getRecents(t).filter((t=>t.hexcode!==e.hexcode))].slice(0,t)}}async function Ht(e,t,o,i){(await V(e,t,o,i)).close()}},787:(e,t,o)=>{"use strict";o.r(t),o.d(t,{addKeyPress:()=>p,addListener:()=>u,addListenerOnce:()=>m,blockies:()=>f,onMounted:()=>h,removeListener:()=>d,str2Base64Image:()=>g});var i=o(26),r=o(177);const s=new Array(4);function n(){const e=s[0]^s[0]<<11;return s[0]=s[1],s[1]=s[2],s[2]=s[3],s[3]=s[3]^s[3]>>19^e^e>>8,(s[3]>>>0)/(1<<31>>>0)}function a(){return"hsl("+Math.floor(360*n())+","+(60*n()+40+"%")+","+(25*(n()+n()+n()+n())+"%")+")"}function c(e){const t={};return t.seed=e.seed||Math.floor(Math.random()*Math.pow(10,16)).toString(16),function(e){s.fill(0);for(let t=0;t<e.length;t++)s[t%4]=(s[t%4]<<5)-s[t%4]+e.charCodeAt(t)}(t.seed),t.size=e.size||8,t.scale=e.scale||4,t.color=e.color||a(),t.bgcolor=e.bgcolor||a(),t.spotcolor=e.spotcolor||a(),t}function l(e,t){const o=function(e){const t=e,o=e,i=Math.ceil(t/2),r=t-i,s=[];for(let e=0;e<o;e++){let e=[];for(let t=0;t<i;t++)e[t]=Math.floor(2.3*n());const t=e.slice(0,r);t.reverse(),e=e.concat(t);for(let t=0;t<e.length;t++)s.push(e[t])}return s}((e=c(e||{})).size),i=Math.sqrt(o.length);t.width=t.height=e.size*e.scale;const r=t.getContext("2d");r.fillStyle=e.bgcolor,r.fillRect(0,0,t.width,t.height),r.fillStyle=e.color;for(let t=0;t<o.length;t++)if(o[t]){const s=Math.floor(t/i),n=t%i;r.fillStyle=1==o[t]?e.color:e.spotcolor,r.fillRect(n*e.scale,s*e.scale,e.scale,e.scale)}return t}const h=e=>{"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()},u=({selector:e,eventType:t,handler:o})=>{const i=document.querySelector(e);null==i||i.addEventListener(t,o)},d=({selector:e,eventType:t,handler:o})=>{const i=document.querySelector(e);null==i||i.removeEventListener(t,o)},m=({selector:e,eventType:t,handler:o})=>{const i=document.querySelector(e),r=e=>{o(e),null==i||i.removeEventListener(t,r)};null==i||i.addEventListener(t,r)},p=({key:e,handler:t,preventDefault:o=!1})=>{const i=e.toLowerCase().split("+").map((e=>e.trim())),r=/Mac|iPod|iPhone|iPad/.test(navigator.platform),s=e=>{i.every((t=>"control"===t?r?e.metaKey:e.ctrlKey:e.key.toLowerCase()===t))&&(o&&e.preventDefault(),t(e))};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},g=e=>{const t=r(encodeURI(String(e))+"1804a4d788307255db316b70");return`data:image/svg+xml;base64,${new i(t,{format:"svg",size:64,background:[255,255,255,0]}).toString()}`},f=e=>{var t,o;return(t={seed:e,color:"random",bgcolor:"transparent",size:20,scale:3},o=document.createElement("canvas"),l(t,o),o).toDataURL("image/png")}}},t={};function o(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};(()=>{"use strict";var e=o(787);o(697);var t=o(947);(0,e.onMounted)((function(){var e;(e=document.querySelector("#emoji"))&&(0,t.createPicker)({rootElement:e,locale:"zh",emojiSize:"1rem",className:"picmo rounded-lg flex-grow",categories:["activities","animals-nature","custom","flags","food-drink","people-body","symbols"]}).addEventListener("emoji:select",(function(e){var t,o,i,r,s,n=e.emoji;t=document.querySelector("#comment-textarea"),o=n,i=t.selectionStart,r=t.selectionEnd,s=t.value,t.value=s.substring(0,i)+o+s.substring(r),t.selectionStart=t.selectionEnd=i+o.length,t.focus()}))}))})()})();