(self.webpackChunkamis_editor_demo=self.webpackChunkamis_editor_demo||[]).push([[2794],{62794:function(e,t,o){"use strict";o.r(t),o.d(t,{default:function(){return i}});var n=o(97582),r=o(67294),a=o(47575),s=o.n(a),i=(o(6890),o(38860),o(63557),o(14400),o(66884),o(15209),o(1236),o(72682),o(72170),o(39719),o(44446),o(82929),o(31295),o(644),o(88190),o(1080),o(73956),o(42540),o(38619),o(92936),o(43356),o(78843),o(73106),o(21449),o(31528),o(79835),o(35414),o(82960),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.elementRef=r.createRef(),t}return(0,n.ZT)(t,e),t.prototype.componentDidMount=function(){var e=this,t=this.props.locale;this.config=(0,n.pi)((0,n.pi)({inline:!1,skin:!1,content_css:!1,height:400,language:t&&"zh-CN"!==t?"en":"zh_CN",branding:!1,plugins:["advlist","autolink","autoresize","link","image","lists","charmap","preview","anchor","pagebreak","searchreplace","wordcount","visualblocks","visualchars","code","fullscreen","insertdatetime","media","nonbreaking","table","emoticons","template","help","quickbars"],toolbar:"undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | preview media | fontfamily fontsize forecolor backcolor emoticons | print help",quickbars_selection_toolbar:"bold italic | link h2 h3 blockquote",quickbars_insert_toolbar:"quickimage quicktable",menu:{file:{title:"File",items:"newdocument restoredraft | preview | print "},edit:{title:"Edit",items:"undo redo | cut copy paste | selectall | searchreplace"},view:{title:"View",items:"code | visualaid visualchars visualblocks | preview fullscreen"},insert:{title:"Insert",items:"image link media template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor toc | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | styles blocks fontsize align | forecolor backcolor | removeformat"},tools:{title:"Tools",items:"code wordcount"},table:{title:"Table",items:"inserttable | cell row column | tableprops deletetable"},help:{title:"Help",items:"help"}},paste_data_images:!0},this.props.config),{target:this.elementRef.current,readOnly:this.props.disabled,promotion:!1,setup:function(t){e.editor=t,t.on("init",(function(o){e.initEditor(o,t)}))}}),s().init(this.config)},t.prototype.componentDidUpdate=function(e){var t,o=this.props;o.model!==e.model&&o.model!==this.currentContent&&(null===(t=this.editor)||void 0===t||t.setContent(o.model||""))},t.prototype.componentWillUnmount=function(){s().remove(this.editor)},t.prototype.initEditor=function(e,t){var o=this,n=this.props,r=n.model,a=n.onModelChange,s=n.outputFormat,i=n.onFocus,l=n.onBlur,c=r||"";t.setContent(c),a&&t.on("change keyup setcontent",(function(e){var n=t.getContent({format:s});n!==o.currentContent&&(o.currentContent=n,a(n))})),i&&t.on("focus",i),l&&t.on("blur",l)},t.prototype.render=function(){return r.createElement("textarea",{ref:this.elementRef})},t.defaultProps={outputFormat:"html"},t}(r.Component));s().addI18n("zh_CN",{Redo:"重做",Undo:"撤销",Cut:"剪切",Copy:"复制",Paste:"粘贴","Select all":"全选","New document":"新文件",Ok:"确定",Cancel:"取消","Visual aids":"网格线",Bold:"粗体",Italic:"斜体",Underline:"下划线",Strikethrough:"删除线",Superscript:"上标",Subscript:"下标","Clear formatting":"清除格式","Align left":"左边对齐","Align center":"中间对齐","Align right":"右边对齐",Justify:"两端对齐","Bullet list":"项目符号","Numbered list":"编号列表","Decrease indent":"减少缩进","Increase indent":"增加缩进",Close:"关闭",Formats:"格式","Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.":"你的浏览器不支持打开剪贴板,请使用Ctrl+X/C/V等快捷键。",Headers:"标题","Header 1":"标题1","Header 2":"标题2","Header 3":"标题3","Header 4":"标题4","Header 5":"标题5","Header 6":"标题6",Headings:"标题","Heading 1":"标题1","Heading 2":"标题2","Heading 3":"标题3","Heading 4":"标题4","Heading 5":"标题5","Heading 6":"标题6",Preformatted:"预先格式化的",Div:"Div",Pre:"Pre",Code:"代码",Paragraph:"段落",Blockquote:"引文区块",Inline:"文本",Blocks:"基块","Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"当前为纯文本粘贴模式,再次点击可以回到普通粘贴模式。",Fonts:"字体","Font Sizes":"字号",Class:"类型","Browse for an image":"浏览图像",OR:"或","Drop an image here":"拖放一张图像至此",Upload:"上传",Block:"块",Align:"对齐",Default:"默认",Circle:"空心圆",Disc:"实心圆",Square:"方块","Lower Alpha":"小写英文字母","Lower Greek":"小写希腊字母","Lower Roman":"小写罗马字母","Upper Alpha":"大写英文字母","Upper Roman":"大写罗马字母","Anchor...":"锚点...",Name:"名称",Id:"标识符","Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.":"标识符应该以字母开头,后跟字母、数字、破折号、点、冒号或下划线。","You have unsaved changes are you sure you want to navigate away?":"你还有文档尚未保存,确定要离开?","Restore last draft":"恢复上次的草稿","Special character...":"特殊字符...","Source code":"源代码","Insert/Edit code sample":"插入/编辑代码示例",Language:"语言","Code sample...":"示例代码...","Color Picker":"选色器",R:"R",G:"G",B:"B","Left to right":"从左到右","Right to left":"从右到左","Emoticons...":"表情符号...","Metadata and Document Properties":"元数据和文档属性",Title:"标题",Keywords:"关键词",Description:"描述",Robots:"机器人",Author:"作者",Encoding:"编码",Fullscreen:"全屏",Action:"操作",Shortcut:"快捷键",Help:"帮助",Address:"地址","Focus to menubar":"移动焦点到菜单栏","Focus to toolbar":"移动焦点到工具栏","Focus to element path":"移动焦点到元素路径","Focus to contextual toolbar":"移动焦点到上下文菜单","Insert link (if link plugin activated)":"插入链接 (如果链接插件已激活)","Save (if save plugin activated)":"保存(如果保存插件已激活)","Find (if searchreplace plugin activated)":"查找(如果查找替换插件已激活)","Plugins installed ({0}):":"已安装插件 ({0}):","Premium plugins:":"优秀插件:","Learn more...":"了解更多...","You are using {0}":"你正在使用 {0}",Plugins:"插件","Handy Shortcuts":"快捷键","Horizontal line":"水平分割线","Insert/edit image":"插入/编辑图片","Image description":"图片描述",Source:"地址",Dimensions:"大小","Constrain proportions":"保持纵横比",General:"普通",Advanced:"高级",Style:"样式","Vertical space":"垂直边距","Horizontal space":"水平边距",Border:"边框","Insert image":"插入图片","Image...":"图片...","Image list":"图片列表","Rotate counterclockwise":"逆时针旋转","Rotate clockwise":"顺时针旋转","Flip vertically":"垂直翻转","Flip horizontally":"水平翻转","Edit image":"编辑图片","Image options":"图片选项","Zoom in":"放大","Zoom out":"缩小",Crop:"裁剪",Resize:"调整大小",Orientation:"方向",Brightness:"亮度",Sharpen:"锐化",Contrast:"对比度","Color levels":"颜色层次",Gamma:"伽马值",Invert:"反转",Apply:"应用",Back:"后退","Insert date/time":"插入日期/时间","Date/time":"日期/时间","Insert/Edit Link":"插入/编辑链接","Insert/edit link":"插入/编辑链接","Text to display":"显示文字",Url:"地址","Open link in...":"链接打开位置...","Current window":"当前窗口",None:"无","New window":"在新窗口打开","Remove link":"删除链接",Anchors:"锚点","Link...":"链接...","Paste or type a link":"粘贴或输入链接","The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":"你所填写的URL地址为邮件地址,需要加上mailto:前缀吗?","The URL you entered seems to be an external link. Do you want to add the required http:// prefix?":"你所填写的URL地址属于外部链接,需要加上http://:前缀吗?","Link list":"链接列表","Insert video":"插入视频","Insert/edit video":"插入/编辑视频","Insert/edit media":"插入/编辑媒体","Alternative source":"镜像","Alternative source URL":"替代来源网址","Media poster (Image URL)":"封面(图片地址)","Paste your embed code below:":"将内嵌代码粘贴在下面:",Embed:"内嵌","Media...":"多媒体...","Nonbreaking space":"不间断空格","Page break":"分页符","Paste as text":"粘贴为文本",Preview:"预览","Print...":"打印...",Save:"保存",Find:"查找","Replace with":"替换为",Replace:"替换","Replace all":"全部替换",Previous:"上一个",Next:"下一个","Find and replace...":"查找并替换...","Could not find the specified string.":"未找到搜索内容.","Match case":"区分大小写","Find whole words only":"全字匹配","Spell check":"拼写检查",Ignore:"忽略","Ignore all":"全部忽略",Finish:"完成","Add to Dictionary":"添加到字典","Insert table":"插入表格","Table properties":"表格属性","Delete table":"删除表格",Cell:"单元格",Row:"行",Column:"列","Cell properties":"单元格属性","Merge cells":"合并单元格","Split cell":"拆分单元格","Insert row before":"在上方插入","Insert row after":"在下方插入","Delete row":"删除行","Row properties":"行属性","Cut row":"剪切行","Copy row":"复制行","Paste row before":"粘贴到上方","Paste row after":"粘贴到下方","Insert column before":"在左侧插入","Insert column after":"在右侧插入","Delete column":"删除列",Cols:"列",Rows:"行",Width:"宽",Height:"高","Cell spacing":"单元格外间距","Cell padding":"单元格内边距","Show caption":"显示标题",Left:"左对齐",Center:"居中",Right:"右对齐","Cell type":"单元格类型",Scope:"范围",Alignment:"对齐方式","H Align":"水平对齐","V Align":"垂直对齐",Top:"顶部对齐",Middle:"垂直居中",Bottom:"底部对齐","Header cell":"表头单元格","Row group":"行组","Column group":"列组","Row type":"行类型",Header:"表头",Body:"表体",Footer:"表尾","Border color":"边框颜色","Insert template...":"插入模板...",Templates:"模板",Template:"模板","Text color":"文字颜色","Background color":"背景色","Custom...":"自定义...","Custom color":"自定义颜色","No color":"无","Remove color":"移除颜色","Table of Contents":"内容列表","Show blocks":"显示区块边框","Show invisible characters":"显示不可见字符","Word count":"字数",Count:"计数",Document:"文档",Selection:"选择",Words:"单词","Words: {0}":"字数:{0}","{0} words":"{0} 字",File:"文件",Edit:"编辑",Insert:"插入",View:"视图",Format:"格式",Table:"表格",Tools:"工具","Powered by {0}":"由{0}驱动","Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help":"在编辑区按ALT-F9打开菜单,按ALT-F10打开工具栏,按ALT-0查看帮助","Image title":"图片标题","Border width":"边框宽度","Border style":"边框样式",Error:"错误",Warn:"警告",Valid:"有效","To open the popup, press Shift+Enter":"按Shitf+Enter键打开对话框","Rich Text Area. Press ALT-0 for help.":"编辑区。按Alt+0键打开帮助。","System Font":"系统字体","Failed to upload image: {0}":"图片上传失败: {0}","Failed to load plugin: {0} from url {1}":"插件加载失败: {0} 来自链接 {1}","Failed to load plugin url: {0}":"插件加载失败 链接: {0}","Failed to initialize plugin: {0}":"插件初始化失败: {0}",example:"示例",Search:"搜索",All:"全部",Currency:"货币",Text:"文字",Quotations:"引用",Mathematical:"数学","Extended Latin":"拉丁语扩充",Symbols:"符号",Arrows:"箭头","User Defined":"自定义","dollar sign":"美元符号","currency sign":"货币符号","euro-currency sign":"欧元符号","colon sign":"冒号","cruzeiro sign":"克鲁赛罗币符号","french franc sign":"法郎符号","lira sign":"里拉符号","mill sign":"密尔符号","naira sign":"奈拉符号","peseta sign":"比塞塔符号","rupee sign":"卢比符号","won sign":"韩元符号","new sheqel sign":"新谢克尔符号","dong sign":"越南盾符号","kip sign":"老挝基普符号","tugrik sign":"图格里克符号","drachma sign":"德拉克马符号","german penny symbol":"德国便士符号","peso sign":"比索符号","guarani sign":"瓜拉尼符号","austral sign":"澳元符号","hryvnia sign":"格里夫尼亚符号","cedi sign":"塞地符号","livre tournois sign":"里弗弗尔符号","spesmilo sign":"spesmilo符号","tenge sign":"坚戈符号","indian rupee sign":"印度卢比","turkish lira sign":"土耳其里拉","nordic mark sign":"北欧马克","manat sign":"马纳特符号","ruble sign":"卢布符号","yen character":"日元字样","yuan character":"人民币元字样","yuan character, in hong kong and taiwan":"元字样(港台地区)","yen/yuan character variant one":"元字样(大写)","Loading emoticons...":"加载表情符号...","Could not load emoticons":"不能加载表情符号",People:"人类","Animals and Nature":"动物和自然","Food and Drink":"食物和饮品",Activity:"活动","Travel and Places":"旅游和地点",Objects:"物件",Flags:"旗帜",Characters:"字符","Characters (no spaces)":"字符(无空格)","{0} characters":"{0} 个字符","Error: Form submit field collision.":"错误: 表单提交字段冲突。","Error: No form element found.":"错误: 没有表单控件。",Update:"更新","Color swatch":"颜色样本",Turquoise:"青绿色",Green:"绿色",Blue:"蓝色",Purple:"紫色","Navy Blue":"海军蓝","Dark Turquoise":"深蓝绿色","Dark Green":"深绿色","Medium Blue":"中蓝色","Medium Purple":"中紫色","Midnight Blue":"深蓝色",Yellow:"黄色",Orange:"橙色",Red:"红色","Light Gray":"浅灰色",Gray:"灰色","Dark Yellow":"暗黄色","Dark Orange":"深橙色","Dark Red":"深红色","Medium Gray":"中灰色","Dark Gray":"深灰色","Light Green":"浅绿色","Light Yellow":"浅黄色","Light Red":"浅红色","Light Purple":"浅紫色","Light Blue":"浅蓝色","Dark Purple":"深紫色","Dark Blue":"深蓝色",Black:"黑色",White:"白色","Switch to or from fullscreen mode":"切换全屏模式","Open help dialog":"打开帮助对话框",history:"历史",styles:"样式",formatting:"格式化",alignment:"对齐",indentation:"缩进","permanent pen":"记号笔",comments:"备注","Format Painter":"格式刷","Insert/edit iframe":"插入/编辑框架",Capitalization:"大写",lowercase:"小写",UPPERCASE:"大写","Title Case":"首字母大写","Permanent Pen Properties":"永久笔属性","Permanent pen properties...":"永久笔属性...",Font:"字体",Size:"字号","More...":"更多...","Spellcheck Language":"拼写检查语言","Select...":"选择...",Preferences:"首选项",Yes:"是",No:"否","Keyboard Navigation":"键盘指引",Version:"版本",Anchor:"锚点","Special character":"特殊符号","Code sample":"代码示例",Color:"颜色",Emoticons:"表情","Document properties":"文档属性",Image:"图片","Insert link":"插入链接",Target:"打开方式",Link:"链接",Poster:"封面",Media:"媒体",Print:"打印",Prev:"上一个","Find and replace":"查找和替换","Whole words":"全字匹配",Spellcheck:"拼写检查",Caption:"标题","Insert template":"插入模板"})},88785:function(){tinymce.IconManager.add("default",{icons:{"accessibility-check":'',"action-next":'',"action-prev":'',addtag:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"arrow-left":'',"arrow-right":'',bold:'',bookmark:'',"border-style":'',"border-width":'',brightness:'',browse:'',cancel:'',"cell-background-color":'',"cell-border-color":'',"change-case":'',"character-count":'',"checklist-rtl":'',checklist:'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',close:'',"code-sample":'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',"comment-add":'',comment:'',contrast:'',copy:'',crop:'',"cut-column":'',"cut-row":'',cut:'',"document-properties":'',drag:'',"duplicate-column":'',"duplicate-row":'',duplicate:'',"edit-block":'',"edit-image":'',"embed-page":'',embed:'',emoji:'',export:'',fill:'',"flip-horizontally":'',"flip-vertically":'',footnote:'',"format-painter":'',format:'',fullscreen:'',gallery:'',gamma:'',help:'',"highlight-bg-color":'',home:'',"horizontal-rule":'',"image-options":'',image:'',indent:'',info:'',"insert-character":'',"insert-time":'',invert:'',italic:'',language:'',"line-height":'',line:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-square":'',"list-num-default-rtl":'',"list-num-default":'',"list-num-lower-alpha-rtl":'',"list-num-lower-alpha":'',"list-num-lower-greek-rtl":'',"list-num-lower-greek":'',"list-num-lower-roman-rtl":'',"list-num-lower-roman":'',"list-num-upper-alpha-rtl":'',"list-num-upper-alpha":'',"list-num-upper-roman-rtl":'',"list-num-upper-roman":'',lock:'',ltr:'',minus:'',"more-drawer":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',"ordered-list-rtl":'',"ordered-list":'',orientation:'',outdent:'',"page-break":'',paragraph:'',"paste-column-after":'',"paste-column-before":'',"paste-row-after":'',"paste-row-before":'',"paste-text":'',paste:'',"permanent-pen":'',plus:'',preferences:'',preview:'',print:'',quote:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"rotate-left":'',"rotate-right":'',rtl:'',save:'',search:'',"select-all":'',selected:'',settings:'',sharpen:'',sourcecode:'',"spell-check":'',"strike-through":'',subscript:'',superscript:'',"table-caption":'',"table-cell-classes":'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-classes":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-numbering-rtl":'',"table-row-numbering":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',"template-add":'',template:'',"temporary-placeholder":'',"text-color":'',"text-size-decrease":'',"text-size-increase":'',toc:'',translate:'',typography:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unselected:'',upload:'',user:'',"vertical-align":'',visualblocks:'',visualchars:'',warning:'',"zoom-in":'',"zoom-out":''}})},6890:function(e,t,o){o(88785)},63557:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),a=t("object"),s=t("array"),i=n(null),l=o("boolean"),c=n(void 0),d=e=>!(e=>null==e)(e),u=o("function"),m=o("number"),g=()=>{},p=e=>()=>e,h=e=>e,f=(e,t)=>e===t;function y(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const b=e=>t=>!e(t),v=e=>e(),k=p(!1),w=p(!0);class _{constructor(e,t){this.tag=e,this.value=t}static some(e){return new _(!0,e)}static none(){return _.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?_.some(e(this.value)):_.none()}bind(e){return this.tag?e(this.value):_.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:_.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?_.some(e):_.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}_.singletonNone=new _(!1);const x=Array.prototype.slice,C=Array.prototype.indexOf,S=Array.prototype.push,z=(e,t)=>{return o=e,n=t,C.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[],n=[];for(let r=0,a=e.length;r{const o=[];for(let n=0,r=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),D=(e,t,o)=>(A(e,((e,n)=>{o=t(o,e,n)})),o),B=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oI(E(e,t)),P=(e,t)=>{for(let o=0,n=e.length;o{const o={};for(let n=0,r=e.length;nt>=0&&tj(e,0),Z=e=>j(e,e.length-1),U=(e,t)=>{for(let o=0;o{const o=q(e);for(let n=0,r=o.length;nK(e,((e,o)=>({k:o,v:t(e,o)}))),K=(e,t)=>{const o={};return $(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},Y=(e,t)=>{const o=[];return $(e,((e,n)=>{o.push(t(e,n))})),o},X=e=>Y(e,h),J=(e,t)=>W.call(e,t),Q="undefined"!=typeof window?window:Function("return this;")(),ee=(e,t)=>((e,t)=>{let o=null!=t?t:Q;for(let t=0;t{const t=ee("ownerDocument.defaultView",e);return a(e)&&((e=>((e,t)=>{const o=((e,t)=>ee(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(te(e).constructor.name))},ne=e=>e.dom.nodeName.toLowerCase(),re=e=>e.dom.nodeType,ae=e=>t=>re(t)===e,se=e=>8===re(e)||"#comment"===ne(e),ie=e=>le(e)&&oe(e.dom),le=ae(1),ce=ae(3),de=ae(9),ue=ae(11),me=e=>t=>le(t)&&ne(t)===e,ge=(e,t,o)=>{if(!(r(o)||l(o)||m(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},pe=(e,t,o)=>{ge(e.dom,t,o)},he=(e,t)=>{const o=e.dom;$(t,((e,t)=>{ge(o,t,e)}))},fe=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},ye=(e,t)=>_.from(fe(e,t)),be=(e,t)=>{e.dom.removeAttribute(t)},ve=e=>D(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ke=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},we={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ke(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return ke(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return ke(o)},fromDom:ke,fromPoint:(e,t,o)=>_.from(e.dom.elementFromPoint(t,o)).map(ke)},_e=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},xe=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Ce=(e,t)=>{const o=void 0===t?document:t.dom;return xe(o)?_.none():_.from(o.querySelector(e)).map(we.fromDom)},Se=(e,t)=>e.dom===t.dom,ze=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Oe=_e,Te=e=>we.fromDom(e.dom.ownerDocument),Ee=e=>de(e)?e:Te(e),Ae=e=>_.from(e.dom.parentNode).map(we.fromDom),Me=e=>_.from(e.dom.parentElement).map(we.fromDom),Ne=(e,t)=>{const o=u(t)?t:k;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=we.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},Re=e=>_.from(e.dom.previousSibling).map(we.fromDom),De=e=>_.from(e.dom.nextSibling).map(we.fromDom),Be=e=>E(e.dom.childNodes,we.fromDom),Le=(e,t)=>{const o=e.dom.childNodes;return _.from(o[t]).map(we.fromDom)},Ie=(e,t)=>{Ae(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},He=(e,t)=>{De(e).fold((()=>{Ae(e).each((e=>{Fe(e,t)}))}),(e=>{Ie(e,t)}))},Pe=(e,t)=>{const o=(e=>Le(e,0))(e);o.fold((()=>{Fe(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Fe=(e,t)=>{e.dom.appendChild(t.dom)},je=(e,t)=>{Ie(e,t),Fe(t,e)},Ve=(e,t)=>{A(t,((o,n)=>{const r=0===n?e:t[n-1];He(r,o)}))},Ze=(e,t)=>{A(t,(t=>{Fe(e,t)}))},Ue=e=>{e.dom.textContent="",A(Be(e),(e=>{qe(e)}))},qe=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},We=e=>{const t=Be(e);t.length>0&&Ve(e,t),qe(e)},$e=(e,t)=>we.fromDom(e.dom.cloneNode(t)),Ge=e=>$e(e,!1),Ke=e=>$e(e,!0),Ye=(e,t)=>{const o=we.fromTag(t),n=ve(e);return he(o,n),o},Xe=["tfoot","thead","tbody","colgroup"],Je=(e,t,o)=>({element:e,rowspan:t,colspan:o}),Qe=(e,t,o)=>({element:e,cells:t,section:o}),et=(e,t,o)=>({element:e,isNew:t,isLocked:o}),tt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),ot=u(Element.prototype.attachShadow)&&u(Node.prototype.getRootNode),nt=p(ot),rt=ot?e=>we.fromDom(e.dom.getRootNode()):Ee,at=e=>we.fromDom(e.dom.host),st=e=>{const t=ce(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=rt(e);return ue(o=t)&&d(o.dom.host)?_.some(t):_.none();var o})(we.fromDom(t)).fold((()=>o.body.contains(t)),(n=st,r=at,e=>n(r(e))));var n,r},it=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return we.fromDom(t)},lt=(e,t)=>{let o=[];return A(Be(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(lt(e,t))})),o},ct=(e,t,o)=>((e,o,n)=>N(Ne(e,n),(e=>_e(e,t))))(e,0,o),dt=(e,t)=>((e,o)=>N(Be(e),(e=>_e(e,t))))(e),ut=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return xe(o)?[]:E(o.querySelectorAll(e),we.fromDom)})(t,e);var mt=(e,t,o,n,r)=>e(o,n)?_.some(o):u(r)&&r(o)?_.none():t(o,n,r);const gt=(e,t,o)=>{let n=e.dom;const r=u(o)?o:k;for(;n.parentNode;){n=n.parentNode;const e=we.fromDom(n);if(t(e))return _.some(e);if(r(e))break}return _.none()},pt=(e,t,o)=>mt(((e,t)=>t(e)),gt,e,t,o),ht=(e,t,o)=>gt(e,(e=>_e(e,t)),o),ft=(e,t)=>((e,o)=>B(e.dom.childNodes,(e=>{return o=we.fromDom(e),_e(o,t);var o})).map(we.fromDom))(e),yt=(e,t)=>Ce(t,e),bt=(e,t,o)=>mt(((e,t)=>_e(e,t)),ht,e,t,o),vt=(e,t,o=f)=>e.exists((e=>o(e,t))),kt=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te?_.some(t):_.none(),_t=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,xt=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!c(n)||r+t.length<=n)},Ct=(e,t)=>_t(e,t,0),St=(e,t)=>_t(e,t,e.length-t.length),zt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),Ot=e=>e.length>0,Tt=e=>void 0!==e.style&&u(e.style.getPropertyValue),Et=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);Tt(e)&&e.style.setProperty(t,o)},At=(e,t,o)=>{const n=e.dom;Et(n,t,o)},Mt=(e,t)=>{const o=e.dom;$(t,((e,t)=>{Et(o,t,e)}))},Nt=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||st(e)?n:Rt(o,t)},Rt=(e,t)=>Tt(e)?e.style.getPropertyValue(t):"",Dt=(e,t)=>{const o=e.dom,n=Rt(o,t);return _.from(n).filter((e=>e.length>0))},Bt=(e,t)=>{((e,t)=>{Tt(e)&&e.style.removeProperty(t)})(e.dom,t),vt(ye(e,"style").map(zt),"")&&be(e,"style")},Lt=(e,t,o=0)=>ye(e,t).map((e=>parseInt(e,10))).getOr(o),It=(e,t)=>Lt(e,t,1),Ht=e=>me("col")(e)?Lt(e,"span",1)>1:It(e,"colspan")>1,Pt=e=>It(e,"rowspan")>1,Ft=(e,t)=>parseInt(Nt(e,t),10),jt=p(10),Vt=p(10),Zt=(e,t)=>Ut(e,t,w),Ut=(e,t,o)=>H(Be(e),(e=>_e(e,t)?o(e)?[e]:[]:Ut(e,t,o))),qt=(e,t)=>((e,t,o=k)=>o(t)?_.none():z(e,ne(t))?_.some(t):ht(t,e.join(","),(e=>_e(e,"table")||o(e))))(["td","th"],e,t),Wt=e=>Zt(e,"th,td"),$t=e=>_e(e,"colgroup")?dt(e,"col"):H(Yt(e),(e=>dt(e,"col"))),Gt=(e,t)=>bt(e,"table",t),Kt=e=>Zt(e,"tr"),Yt=e=>Gt(e).fold(p([]),(e=>dt(e,"colgroup"))),Xt=(e,t)=>E(e,(e=>{if("colgroup"===ne(e)){const t=E($t(e),(e=>{const t=Lt(e,"span",1);return Je(e,1,t)}));return Qe(e,t,"colgroup")}{const o=E(Wt(e),(e=>{const t=Lt(e,"rowspan",1),o=Lt(e,"colspan",1);return Je(e,t,o)}));return Qe(e,o,t(e))}})),Jt=e=>Ae(e).map((e=>{const t=ne(e);return(e=>z(Xe,e))(t)?t:"tbody"})).getOr("tbody"),Qt=e=>{const t=Kt(e),o=[...Yt(e),...t];return Xt(o,Jt)},eo=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},to=()=>oo(0,0),oo=(e,t)=>({major:e,minor:t}),no={nu:oo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?to():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return oo(n(1),n(2))})(e,o)},unknown:to},ro=(e,t)=>{const o=String(t).toLowerCase();return B(e,(e=>e.search(o)))},ao=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,so=e=>t=>xt(t,e),io=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>xt(e,"edge/")&&xt(e,"chrome")&&xt(e,"safari")&&xt(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,ao],search:e=>xt(e,"chrome")&&!xt(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>xt(e,"msie")||xt(e,"trident")},{name:"Opera",versionRegexes:[ao,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:so("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:so("firefox")},{name:"Safari",versionRegexes:[ao,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(xt(e,"safari")||xt(e,"mobile/"))&&xt(e,"applewebkit")}],lo=[{name:"Windows",search:so("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>xt(e,"iphone")||xt(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:so("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:so("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:so("linux"),versionRegexes:[]},{name:"Solaris",search:so("sunos"),versionRegexes:[]},{name:"FreeBSD",search:so("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:so("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],co={browsers:p(io),oses:p(lo)},uo="Edge",mo="Chromium",go="Opera",po="Firefox",ho="Safari",fo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(uo),isChromium:n(mo),isIE:n("IE"),isOpera:n(go),isFirefox:n(po),isSafari:n(ho)}},yo=()=>fo({current:void 0,version:no.unknown()}),bo=fo,vo=(p(uo),p(mo),p("IE"),p(go),p(po),p(ho),"Windows"),ko="Android",wo="Linux",_o="macOS",xo="Solaris",Co="FreeBSD",So="ChromeOS",zo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(vo),isiOS:n("iOS"),isAndroid:n(ko),isMacOS:n(_o),isLinux:n(wo),isSolaris:n(xo),isFreeBSD:n(Co),isChromeOS:n(So)}},Oo=()=>zo({current:void 0,version:no.unknown()}),To=zo,Eo=(p(vo),p("iOS"),p(ko),p(wo),p(_o),p(xo),p(Co),p(So),e=>window.matchMedia(e).matches);let Ao=eo((()=>((e,t,o)=>{const n=co.browsers(),r=co.oses(),a=t.bind((e=>((e,t)=>U(t.brands,(t=>{const o=t.brand.toLowerCase();return B(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:no.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(yo,bo),s=((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(Oo,To),i=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),a=e.isiOS()&&!r,s=e.isiOS()||e.isAndroid(),i=s||n("(pointer:coarse)"),l=r||!a&&s&&n("(min-device-width:768px)"),c=a||s&&!l,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),u=!c&&!l&&!d;return{isiPad:p(r),isiPhone:p(a),isTablet:p(l),isPhone:p(c),isTouch:p(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:p(d),isDesktop:p(u)}})(s,a,e,o);return{browser:a,os:s,deviceType:i}})(navigator.userAgent,_.from(navigator.userAgentData),Eo)));const Mo=()=>Ao(),No=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=Nt(o,e);return parseFloat(t)||0}return n},n=(e,t)=>D(t,((t,o)=>{const n=Nt(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!m(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;Tt(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},Ro=(e,t,o)=>((e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?_.none():_.some(t)})(e).getOr(t))(Nt(e,t),o),Do=No("width",(e=>e.dom.offsetWidth)),Bo=e=>Do.get(e),Lo=e=>Do.getOuter(e),Io=e=>((e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-Ro(e,`padding-${o}`,0)-Ro(e,`padding-${n}`,0)-Ro(e,`border-${o}-width`,0)-Ro(e,`border-${n}-width`,0))(e,n,"left","right")})(e,"content-box"),Ho=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),a=n.slice(t),s=r.concat(o).concat(a);return jo(e,s)},Po=(e,t,o)=>Ho(e,t,[o]),Fo=(e,t,o)=>{e.cells[t]=o},jo=(e,t)=>tt(e.element,t,e.section,e.isNew),Vo=(e,t)=>e.cells[t],Zo=(e,t)=>Vo(e,t).element,Uo=e=>e.cells.length,qo=e=>{const t=M(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Wo=(e,t,o)=>{const n=E(e.cells,o);return tt(t(e.element),n,e.section,!0)},$o="data-snooker-locked-cols",Go=e=>ye(e,$o).bind((e=>_.from(e.match(/\d+/g)))).map((e=>F(e,w))),Ko=e=>{const t=D(qo(e).rows,((e,t)=>(A(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=Y(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=x.call(e,0);return o.sort(void 0),o})(o)},Yo=(e,t)=>e+","+t,Xo=(e,t)=>{const o=H(e.all,(e=>e.cells));return N(o,t)},Jo=e=>{const t={},o=[],n=V(e).map((e=>e.element)).bind(Gt).bind(Go).getOr({});let r=0,a=0,s=0;const{pass:i,fail:l}=M(e,(e=>"colgroup"===e.section));A(l,(e=>{const i=[];A(e.cells,(e=>{let o=0;for(;void 0!==t[Yo(s,o)];)o++;const r=((e,t)=>J(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),l=((e,t,o,n,r,a)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:a}))(e.element,e.rowspan,e.colspan,s,o,r);for(let n=0;n{const t=(e=>{const t={};let o=0;return A(e.cells,(e=>{const n=e.colspan;T(n,(r=>{const a=o+r;t[a]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,a)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,X(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),u=((e,t)=>({rows:e,columns:t}))(r,a);return{grid:u,access:t,all:o,columns:c,colgroups:d}},Qo=e=>{const t=Qt(e);return Jo(t)},en=Jo,tn=(e,t,o)=>_.from(e.access[Yo(t,o)]),on=(e,t,o)=>{const n=Xo(e,(e=>o(t,e.element)));return n.length>0?_.some(n[0]):_.none()},nn=Xo,rn=e=>H(e.all,(e=>e.cells)),an=e=>X(e.columns),sn=e=>q(e.columns).length>0,ln=(e,t)=>_.from(e.columns[t]),cn=(e,t=w)=>{const o=e.grid,n=T(o.columns,h),r=T(o.rows,h);return E(n,(o=>dn((()=>H(r,(t=>tn(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>tn(e,0,o)))))},dn=(e,t,o)=>{const n=e();return B(n,t).orThunk((()=>_.from(n[0]).orThunk(o))).map((e=>e.element))},un=e=>{const t=e.grid,o=T(t.rows,h),n=T(t.columns,h);return E(o,(t=>dn((()=>H(n,(o=>tn(e,t,o).filter((e=>e.row===t)).fold(p([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>tn(e,t,0)))))},mn=(e,t)=>o=>"rtl"===gn(o)?t:e,gn=e=>"rtl"===Nt(e,"direction")?"rtl":"ltr",pn=No("height",(e=>{const t=e.dom;return st(e)?t.getBoundingClientRect().height:t.offsetHeight})),hn=e=>pn.get(e),fn=e=>pn.getOuter(e),yn=(e,t)=>({left:e,top:t,translate:(o,n)=>yn(e+o,t+n)}),bn=yn,vn=(e,t)=>void 0!==e?e:void 0!==t?t:0,kn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return bn(o.offsetLeft,o.offsetTop);const a=vn(null==n?void 0:n.pageYOffset,r.scrollTop),s=vn(null==n?void 0:n.pageXOffset,r.scrollLeft),i=vn(r.clientTop,o.clientTop),l=vn(r.clientLeft,o.clientLeft);return wn(e).translate(s-l,a-i)},wn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?bn(o.offsetLeft,o.offsetTop):st(e)?(e=>{const t=e.getBoundingClientRect();return bn(t.left,t.top)})(t):bn(0,0)},_n=(e,t)=>({row:e,y:t}),xn=(e,t)=>({col:e,x:t}),Cn=e=>kn(e).left+Lo(e),Sn=e=>kn(e).left,zn=(e,t)=>xn(e,Sn(t)),On=(e,t)=>xn(e,Cn(t)),Tn=e=>kn(e).top,En=(e,t)=>_n(e,Tn(t)),An=(e,t)=>_n(e,Tn(t)+fn(t)),Mn=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},Nn={delta:h,positions:e=>Mn(En,An,e),edge:Tn},Rn=mn({delta:h,edge:Sn,positions:e=>Mn(zn,On,e)},{delta:e=>-e,edge:Cn,positions:e=>Mn(On,zn,e)}),Dn={delta:(e,t)=>Rn(t).delta(e,t),positions:(e,t)=>Rn(t).positions(e,t),edge:e=>Rn(e).edge(e)},Bn={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Ln=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),In=/(\d+(\.\d+)?)%/,Hn=/(\d+(\.\d+)?)px|em/,Pn=me("col"),Fn=(e,t,o)=>{const n=Me(e).getOrThunk((()=>it(Te(e))));return t(e)/o(n)*100},jn=(e,t)=>{At(e,"width",t+"px")},Vn=(e,t)=>{At(e,"width",t+"%")},Zn=(e,t)=>{At(e,"height",t+"px")},Un=e=>{const t=(e=>{return Ro(t=e,"height",t.dom.offsetHeight)+"px";var t})(e);return t?((e,t,o,n)=>{const r=parseFloat(e);return St(e,"%")&&"table"!==ne(t)?((e,t,o,n)=>{const r=Gt(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r})(t,e,hn,Zn):hn(e)},qn=(e,t)=>Dt(e,t).orThunk((()=>ye(e,t).map((e=>e+"px")))),Wn=e=>qn(e,"width"),$n=e=>Fn(e,Bo,Io),Gn=e=>{return Pn(e)?Bo(e):Ro(t=e,"width",t.dom.offsetWidth);var t},Kn=e=>((e,t,o)=>o(e)/It(e,"rowspan"))(e,0,Un),Yn=(e,t,o)=>{At(e,"width",t+o)},Xn=e=>Fn(e,Bo,Io)+"%",Jn=p(In),Qn=me("col"),er=e=>Wn(e).getOrThunk((()=>Gn(e)+"px")),tr=e=>{return(t=e,qn(t,"height")).getOrThunk((()=>Kn(e)+"px"));var t},or=(e,t,o,n,r,a)=>e.filter(n).fold((()=>a(((e,t)=>{if(t<0||t>=e.length-1)return _.none();const o=e[t].fold((()=>{const o=(e=>{const t=x.call(e,0);return t.reverse(),t})(e.slice(0,t));return U(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>_.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return U(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>_.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))})(o,t))),(e=>r(e))),nr=(e,t,o,n)=>{const r=cn(e),a=sn(e)?(e=>E(an(e),(e=>_.from(e.element))))(e):r,s=[_.some(Dn.edge(t))].concat(E(Dn.positions(r,t),(e=>e.map((e=>e.x))))),i=b(Ht);return E(a,((e,t)=>or(e,t,s,i,(e=>{if((e=>{const t=Mo().browser,o=t.isChromium()||t.isFirefox();return!Qn(e)||o})(e))return o(e);{const e=null!=(a=r[t])?h(a):_.none();return or(e,t,s,i,(e=>n(_.some(Bo(e)))),n)}var a}),n)))},rr=e=>e.map((e=>e+"px")).getOr(""),ar=(e,t,o)=>nr(e,t,Gn,(e=>e.getOrThunk(o.minCellWidth))),sr=(e,t,o,n,r)=>{const a=un(e),s=[_.some(o.edge(t))].concat(E(o.positions(a,t),(e=>e.map((e=>e.y)))));return E(a,((e,t)=>or(e,t,s,b(Pt),n,r)))},ir=(e,t)=>()=>st(e)?t(e):parseFloat(Dt(e,"width").getOr("0")),lr=e=>{const t=ir(e,(e=>parseFloat(Xn(e)))),o=ir(e,Bo);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>nr(e,t,$n,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>jt()/o()*100,setElementWidth:Vn,adjustTableWidth:o=>{const n=t();Vn(e,n+o/100*n)},isRelative:!0,label:"percent"}},cr=e=>{const t=ir(e,Bo);return{width:t,pixelWidth:t,getWidths:(t,o)=>ar(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(jt(),e+t)-e],minCellWidth:jt,setElementWidth:jn,adjustTableWidth:o=>{const n=t()+o;jn(e,n)},isRelative:!1,label:"pixel"}},dr=e=>Wn(e).fold((()=>(e=>{const t=ir(e,Bo),o=p(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>ar(t,e,o),getCellDelta:o,singleColumnWidth:p([0]),minCellWidth:o,setElementWidth:g,adjustTableWidth:g,isRelative:!0,label:"none"}})(e)),(t=>((e,t)=>null!==Jn().exec(t)?lr(e):cr(e))(e,t))),ur=cr,mr=lr,gr=(e,t,o)=>{const n=e[o].element,r=we.fromTag("td");Fe(r,we.fromTag("br")),(t?Fe:Pe)(n,r)},pr=((e,t)=>{const o=t=>e(t)?_.from(t.dom.nodeValue):_.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(ce),hr=e=>pr.get(e),fr=e=>pr.getOption(e),yr=(e,t)=>pr.set(e,t),br=e=>"img"===ne(e)?1:fr(e).fold((()=>Be(e).length),(e=>e.length)),vr=["img","br"],kr=e=>fr(e).filter((e=>0!==e.trim().length||e.indexOf(" ")>-1)).isSome()||z(vr,ne(e))||(e=>ie(e)&&"false"===fe(e,"contenteditable"))(e),wr=e=>((e,t)=>{const o=e=>{for(let n=0;nxr(e,kr),xr=(e,t)=>{const o=e=>{const n=Be(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return _.some(r);const a=o(r);if(a.isSome())return a}return _.none()};return o(e)},Cr={scope:["row","col"]},Sr=e=>()=>{const t=we.fromTag("td",e.dom);return Fe(t,we.fromTag("br",e.dom)),t},zr=e=>()=>we.fromTag("col",e.dom),Or=e=>()=>we.fromTag("colgroup",e.dom),Tr=e=>()=>we.fromTag("tr",e.dom),Er=(e,t,o)=>{const n=((e,t)=>{const o=Ye(e,t),n=Be(Ke(e));return Ze(o,n),o})(e,t);return $(o,((e,t)=>{null===e?be(n,t):pe(n,t,e)})),n},Ar=e=>e,Mr=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;Tt(o)&&Tt(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),Bt(t,"height"),1!==e.colspan&&Bt(t,"width")};return{col:o=>{const r=we.fromTag(ne(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Or(t),row:Tr(t),cell:r=>{const a=we.fromTag(ne(r.element),t.dom),s=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),i=s.length>0?((e,t,o)=>wr(e).map((n=>{const r=o.join(","),a=ct(n,r,(t=>Se(t,e)));return R(a,((e,t)=>{const o=Ge(t);return Fe(e,o),o}),t)})).getOr(t))(r.element,a,s):a;return Fe(i,we.fromTag("br")),n(r,a),((e,t)=>{$(Cr,((o,n)=>ye(e,n).filter((e=>z(o,e))).each((e=>pe(t,n,e)))))})(r.element,a),e(r.element,a),a},replace:Er,colGap:zr(t),gap:Sr(t)}},Nr=e=>({col:zr(e),colgroup:Or(e),row:Tr(e),cell:Sr(e),replace:Ar,colGap:zr(e),gap:Sr(e)}),Rr=e=>bt(e,"[contenteditable]"),Dr=(e,t=!1)=>st(e)?e.dom.isContentEditable:Rr(e).fold(p(t),(e=>"true"===Br(e))),Br=e=>e.dom.contentEditable,Lr=e=>we.fromDom(e.getBody()),Ir=e=>t=>Se(t,Lr(e)),Hr=e=>{be(e,"data-mce-style");const t=e=>be(e,"data-mce-style");A(Wt(e),t),A($t(e),t),A(Kt(e),t)},Pr=e=>we.fromDom(e.selection.getStart()),Fr=e=>e.getBoundingClientRect().width,jr=e=>e.getBoundingClientRect().height,Vr=e=>pt(e,me("table")).exists(Dr),Zr=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,a=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&a>=e.startRow},Ur=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,qr=(e,t,o)=>{const n=on(e,t,Se),r=on(e,o,Se);return n.bind((e=>r.map((t=>{return o=e,n=t,{startRow:Math.min(o.row,n.row),startCol:Math.min(o.column,n.column),finishRow:Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),finishCol:Math.max(o.column+o.colspan-1,n.column+n.colspan-1)};var o,n}))))},Wr=(e,t,o)=>qr(e,t,o).map((t=>{const o=nn(e,y(Zr,t));return E(o,(e=>e.element))})),$r=(e,t)=>on(e,t,((e,t)=>ze(t,e))).map((e=>e.element)),Gr=(e,t,o)=>{const n=Yr(e);return Wr(n,t,o)},Kr=(e,t,o,n,r)=>{const a=Yr(e),s=Se(e,o)?_.some(t):$r(a,t),i=Se(e,r)?_.some(n):$r(a,n);return s.bind((e=>i.bind((t=>Wr(a,e,t)))))},Yr=Qo;var Xr=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Jr=()=>({up:p({selector:ht,closest:bt,predicate:gt,all:Ne}),down:p({selector:ut,predicate:lt}),styles:p({get:Nt,getRaw:Dt,set:At,remove:Bt}),attrs:p({get:fe,set:pe,remove:be,copyTo:(e,t)=>{const o=ve(e);he(t,o)}}),insert:p({before:Ie,after:He,afterAll:Ve,append:Fe,appendAll:Ze,prepend:Pe,wrap:je}),remove:p({unwrap:We,remove:qe}),create:p({nu:we.fromTag,clone:e=>we.fromDom(e.dom.cloneNode(!1)),text:we.fromText}),query:p({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:Re,nextSibling:De}),property:p({children:Be,name:ne,parent:Ae,document:e=>Ee(e).dom,isText:ce,isComment:se,isElement:le,isSpecial:e=>{const t=ne(e);return z(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>le(e)?ye(e,"lang"):_.none(),getText:hr,setText:yr,isBoundary:e=>!!le(e)&&("body"===ne(e)||z(Xr,ne(e))),isEmptyTag:e=>!!le(e)&&z(["br","img","hr","input"],ne(e)),isNonEditable:e=>le(e)&&"false"===fe(e,"contenteditable")}),eq:Se,is:Oe});const Qr=(e,t,o,n)=>{const r=t(e,o);return R(n,((o,n)=>{const r=t(e,n);return ea(e,o,r)}),r)},ea=(e,t,o)=>t.bind((t=>o.filter(y(e.eq,t)))),ta=Jr(),oa=(e,t)=>((e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,Qr):_.none())(ta,((t,o)=>e(o)),t),na=e=>ht(e,"table"),ra=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Se(t,e);return Se(e,t)?_.some({boxes:_.some([e]),start:e,finish:t}):na(e).bind((r=>na(t).bind((a=>{if(Se(r,a))return _.some({boxes:Gr(r,e,t),start:e,finish:t});if(ze(r,a)){const o=ct(t,"td,th",n(r)),s=o.length>0?o[o.length-1]:t;return _.some({boxes:Kr(r,e,r,t,a),start:e,finish:s})}if(ze(a,r)){const o=ct(e,"td,th",n(a)),s=o.length>0?o[o.length-1]:e;return _.some({boxes:Kr(a,e,r,t,a),start:e,finish:s})}return((e,t,o)=>((e,t,o,n=k)=>{const r=[t].concat(e.up().all(t)),a=[o].concat(e.up().all(o)),s=e=>L(e,n).fold((()=>e),(t=>e.slice(0,t+1))),i=s(r),l=s(a),c=B(i,(t=>O(l,((e,t)=>y(e.eq,t))(e,t))));return{firstpath:i,secondpath:l,shared:c}})(ta,e,t,void 0))(e,t).shared.bind((s=>bt(s,"table",o).bind((o=>{const s=ct(t,"td,th",n(o)),i=s.length>0?s[s.length-1]:t,l=ct(e,"td,th",n(o)),c=l.length>0?l[l.length-1]:e;return _.some({boxes:Kr(o,e,r,t,a),start:c,finish:i})}))))}))))},aa=(e,t)=>{const o=ut(e,t);return o.length>0?_.some(o):_.none()},sa=(e,t,o)=>yt(e,t).bind((t=>yt(e,o).bind((e=>oa(na,[t,e]).map((o=>({first:t,last:e,table:o}))))))),ia=(e,t,o,n,r)=>((e,t)=>B(e,(e=>_e(e,t))))(e,r).bind((e=>((e,t,o)=>Gt(e).bind((n=>((e,t,o,n)=>on(e,t,Se).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,a=n>0?t.column+t.colspan-1:t.column;return tn(e,r+o,a+n).map((e=>e.element))})))(Yr(n),e,t,o))))(e,t,o).bind((e=>((e,t)=>ht(e,"table").bind((o=>yt(o,t).bind((t=>ra(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),la=(e,t)=>aa(e,t),ca=(e,t,o)=>sa(e,t,o).bind((t=>{const o=t=>Se(e,t),n="thead,tfoot,tbody,table",r=ht(t.first,n,o),a=ht(t.last,n,o);return r.bind((e=>a.bind((o=>Se(e,o)?((e,t,o)=>((e,t,o)=>qr(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=y(Ur,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let a=t.startCol;a<=t.finishCol;a++)o=o&&tn(e,r,a).exists(n);return o?_.some(t):_.none()})(e,t))))(Yr(e),t,o))(t.table,t.first,t.last):_.none()))))})),da=h,ua=e=>{const t=(e,t)=>ye(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&P(e,(e=>t(e,"rowspan")||t(e,"colspan")))?_.some(e):_.none()},ma=(e,t,o)=>t.length<=1?_.none():ca(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),ga="data-mce-selected",pa="td["+ga+"],th["+ga+"]",ha="["+ga+"]",fa="data-mce-first-selected",ya="td["+fa+"],th["+fa+"]",ba="data-mce-last-selected",va=ha,ka={selected:ga,selectedSelector:pa,firstSelected:fa,firstSelectedSelector:ya,lastSelected:ba,lastSelectedSelector:"td["+ba+"],th["+ba+"]"},wa=(e,t,o)=>({element:o,mergable:ma(t,e,ka),unmergable:ua(e),selection:da(e)}),_a=e=>(t,o)=>{const n=ne(t),r="col"===n||"colgroup"===n?Gt(a=t).bind((e=>la(e,ka.firstSelectedSelector))).fold(p(a),(e=>e[0])):t;var a;return bt(r,e,o)},xa=_a("th,td,caption"),Ca=_a("th,td"),Sa=e=>{return t=e.model.table.getSelectedCells(),E(t,we.fromDom);var t},za=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Gt(e[0]).map((e=>{const t=((e,t)=>{const o=e=>_e(e.element,t),n=Ke(e),r=Qt(n),a=dr(e),s=en(r),i=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,a=0,s=0;const i=[],l=[];return $(e.access,(e=>{if(i.push(e),t(e)){l.push(e);const t=e.row,o=t+e.rowspan-1,i=e.column,c=i+e.colspan-1;ta&&(a=o),is&&(s=c)}})),((e,t,o,n,r,a)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:a}))(n,r,a,s,i,l)})(s,o),l="th:not("+t+"),td:not("+t+")",c=Ut(n,"th,td",(e=>_e(e,l)));A(c,qe),((e,t,o,n)=>{const r=N(e,(e=>"colgroup"!==e.section)),a=t.grid.columns,s=t.grid.rows;for(let e=0;eo.maxRow||io.maxCol||(tn(t,e,i).filter(n).isNone()?gr(r,s,e):s=!0)}})(r,s,i,o);const d=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=ar(t,e,o),a=D(r,((e,t)=>e+t),0),s=D(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),i=s/a*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(i)})(e,Qo(e),a,i);return((e,t,o,n)=>{$(o.columns,(e=>{(e.columnt.maxCol)&&qe(e.element)}));const r=N(Zt(e,"tr"),(e=>0===e.dom.childElementCount));A(r,qe),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||A(Zt(e,"th,td"),(e=>{be(e,"rowspan"),be(e,"colspan")})),be(e,$o),be(e,"data-snooker-col-series"),dr(e).adjustTableWidth(n)})(n,i,s,d),n})(e,va);return Hr(t),[t]})))(o).each((o=>{t.content="text"===t.format?(e=>E(e,(e=>e.dom.innerText)).join(""))(o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o)}))};if(!0===t.selection){const t=(e=>N(Sa(e),(e=>_e(e,ka.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Sa(e);V(n).each((n=>{Gt(n).each((r=>{const a=N(((e,t)=>{const o=document.createElement("div");return o.innerHTML=e,Be(we.fromDom(o))})(o.content),(e=>"meta"!==ne(e))),s=me("table");if(1===a.length&&s(a[0])){o.preventDefault();const s=we.fromDom(e.getDoc()),i=Nr(s),l=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,a[0],i);t.pasteCells(r,l).each((()=>{e.focus()}))}}))}))}}))},Oa=(e,t)=>({element:e,offset:t}),Ta=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>Ta(e,t,o).orThunk((()=>_.some(t))))):_.none(),Ea=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,Aa=(e,t)=>{const o=Ta(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return Oa(o,Ea(e,o));const n=e.property().children(o);return n.length>0?Aa(e,n[n.length-1]):Oa(o,Ea(e,o))},Ma=Aa,Na=Jr(),Ra=(e,t)=>{if(!Ht(e)){const o=(e=>Wn(e).bind((e=>{return t=e,o=["fixed","relative","empty"],_.from(Ln.exec(t)).bind((e=>{const t=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(Bn[t],(t=>e===t)))))(n,o)?_.some({value:t,unit:n}):_.none()}));var t,o})))(e);o.each((o=>{const n=o.value/2;Yn(e,n,o.unit),Yn(t,n,o.unit)}))}},Da=e=>E(e,p(0)),Ba=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),La=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),a=Math.abs(e-t[o]);return n>=0?a:-a}return n},Ia=La((e=>e<0)),Ha=La(w),Pa=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,a=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?a:e/r)-e))},t=(t,o,n,r,a,s)=>s?e(t,o,r,a):((e,t,o,n,r)=>{const a=Ia(e,t,n,r);return Ba(e,t,o+1,[a,0],Da)})(t,o,n,r,a);return{resizeTable:(e,t)=>e(t),clampTableDelta:Ia,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,a,s,i)=>t(e,n,r,a,s,i),calcRightEdgeDeltas:(t,o,n,r,a,s)=>{if(s)return e(t,n,r,a);{const e=Ia(t,n,r,a);return Da(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},Fa=()=>{const e=(e,t,o,n,r)=>{const a=Ha(e,n>=0?o:t,n,r);return Ba(e,t,o+1,[a,-a],Da)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=D(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return Ia(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,a,s)=>e(t,n,r,a,s),calcRightEdgeDeltas:(e,t,o,n,r,a)=>{if(a)return Da(e);{const t=n/e.length;return E(e,p(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},ja=e=>Qo(e).grid,Va=me("th"),Za=e=>P(e,(e=>Va(e.element))),Ua=(e,t)=>e&&t?"sectionCells":e?"section":"cells",qa=e=>{const t="thead"===e.section,o=vt(Wa(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:Ua(t,o)}:{type:"body"}},Wa=e=>{const t=N(e,(e=>Va(e.element)));return 0===t.length?_.some("td"):t.length===e.length?_.some("th"):_.none()},$a=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Ga=(e,t)=>e.section!==t?tt(e.element,e.cells,t,e.isNew):e,Ka=()=>({transformRow:Ga,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==ne(n)?((e,t)=>{const o=Ye(e,"td");He(e,o);const n=Be(e);return Ze(o,n),qe(e),o})(n):n;return et(r,e.isNew,e.isLocked)}}),Ya=()=>({transformRow:Ga,transformCell:$a}),Xa=()=>({transformRow:(e,t)=>Ga(e,"thead"===t?"tbody":t),transformCell:$a}),Ja=Ka,Qa=Ya,es=Xa,ts=()=>({transformRow:h,transformCell:$a}),os=(e,t,o,n)=>{o===n?be(e,t):pe(e,t,o)},ns=(e,t,o)=>{Z(dt(e,t)).fold((()=>Pe(e,o)),(e=>He(e,o)))},rs=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ue(t),A(e.cells,(e=>{e.isNew&&n.push(e.element),os(e.element,"colspan",e.colspan,1),os(e.element,"rowspan",e.rowspan,1),Fe(t,e.element)})),t})),a=e=>H(e,(e=>E(e.cells,(e=>(os(e.element,"span",e.colspan,1),e.element))))),s=(t,o)=>{const n=((e,t)=>{const o=ft(e,t).getOrThunk((()=>{const o=we.fromTag(t,Te(e).dom);return"thead"===t?ns(e,"caption,colgroup",o):"colgroup"===t?ns(e,"caption",o):Fe(e,o),o}));return Ue(o),o})(e,o),s=("colgroup"===o?a:r)(t);Ze(n,s)},i=(t,o)=>{t.length>0?s(t,o):(t=>{ft(e,t).each(qe)})(o)},l=[],c=[],d=[],u=[];return A(t,(e=>{switch(e.section){case"thead":l.push(e);break;case"tbody":c.push(e);break;case"tfoot":d.push(e);break;case"colgroup":u.push(e)}})),i(u,"colgroup"),i(l,"thead"),i(c,"tbody"),i(d,"tfoot"),{newRows:o,newCells:n}},as=(e,t)=>{if(0===e.length)return 0;const o=e[0];return L(e,(e=>!t(o.element,e.element))).getOr(e.length)},ss=(e,t)=>{const o=E(e,(e=>E(e.cells,k)));return E(e,((n,r)=>{const a=H(n.cells,((n,a)=>{if(!1===o[r][a]){const d=((e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),a="colgroup"===r.section,s=as(r.cells.slice(o),n),i=a?1:as(((e,t)=>E(e,(e=>Vo(e,t))))(e.slice(t),o),n);return{colspan:s,rowspan:i}})(e,r,a,t);return((e,t,n,r)=>{for(let a=e;a({element:e,cells:t,section:o,isNew:n}))(n.element,a,n.section,n.isNew)}))},is=(e,t,o)=>{const n=[];A(e.colgroups,(r=>{const a=[];for(let n=0;net(e.element,o,!1))).getOrThunk((()=>et(t.colGap(),!0,!1)));a.push(r)}n.push(tt(r.element,a,"colgroup",o))}));for(let r=0;ret(e.element,o,e.isLocked))).getOrThunk((()=>et(t.gap(),!0,!1)));a.push(s)}const s=e.all[r],i=tt(s.element,a,s.section,o);n.push(i)}return n},ls=e=>ss(e,Se),cs=(e,t)=>U(e.all,(e=>B(e.cells,(e=>Se(t,e.element))))),ds=(e,t,o)=>{const n=E(t.selection,(t=>qt(t).bind((t=>cs(e,t))).filter(o))),r=kt(n);return wt(r.length>0,r)},us=(e,t,o,n,r)=>(a,s,i,l)=>{const c=Qo(a),d=_.from(null==l?void 0:l.section).getOrThunk(ts);return t(c,s).map((t=>{const o=((e,t)=>is(e,t,!1))(c,i),n=e(o,t,Se,r(i),d),a=Ko(n.grid);return{info:t,grid:ls(n.grid),cursor:n.cursor,lockedColumns:a}})).bind((e=>{const t=rs(a,e.grid),r=_.from(null==l?void 0:l.sizing).getOrThunk((()=>dr(a))),s=_.from(null==l?void 0:l.resize).getOrThunk(Fa);return o(a,e.grid,e.info,{sizing:r,resize:s,section:d}),n(a),be(a,$o),e.lockedColumns.length>0&&pe(a,$o,e.lockedColumns.join(",")),_.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},ms=(e,t)=>ds(e,t,w).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),gs=(e,t)=>ds(e,t,w),ps=(e,t)=>ds(e,t,(e=>!e.isLocked)),hs=(e,t)=>P(t,(t=>((e,t)=>cs(e,t).exists((e=>!e.isLocked)))(e,t))),fs=(e,t,o,n)=>{const r=qo(e).rows;let a=!0;for(let e=0;e{const t=t=>t(e),o=p(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:w,isError:k,map:t=>vs.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>_.some(e)};return r},bs=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:k,isError:w,map:t,mapError:t=>vs.error(t(e)),bind:t,exists:k,forall:w,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:g,toOptional:_.none};var n;return o},vs={value:ys,error:bs,fromOption:(e,t)=>e.fold((()=>bs(t)),ys)},ks=(e,t)=>({rowDelta:0,colDelta:Uo(e[0])-Uo(t[0])}),ws=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),_s=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return T(e,(e=>et(r(),!0,n(e))))},xs=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(T(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Wo(r,e,h),a=_s(t.cells.length,t,o,(e=>J(n,e.toString())));return jo(t,a)})))},Cs=(e,t,o,n)=>E(e,(e=>{const r=_s(t,e,o,k);return Ho(e,n,r)})),Ss=(e,t,o)=>{const n=t.colDelta<0?Cs:h,r=t.rowDelta<0?xs:h,a=Ko(e),s=Uo(e[0]),i=O(a,(e=>e===s-1)),l=n(e,Math.abs(t.colDelta),o,i?s-1:s),c=Ko(l);return r(l,Math.abs(t.rowDelta),o,F(c,w))},zs=(e,t,o,n)=>{const r=y(n,Vo(e[t],o).element),a=e[t];return e.length>1&&Uo(a)>1&&(o>0&&r(Zo(a,o-1))||o0&&r(Zo(e[t-1],o))||tN(o,(o=>o>=e.column&&o<=Uo(t[0])+e.column)),Ts=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t{const r=e.cells[t-1];let a=0;const s=n();for(;e.cells.length>t+a&&o(r.element,e.cells[t+a].element);)Fo(e,t+a,et(s,!0,e.cells[t+a].isLocked)),a++}))})(t,e,r,n.cell);const a=ws(o,t),s=Ss(o,a,n),i=ws(t,s),l=Ss(t,i,n);return E(l,((t,o)=>Ho(t,e,s[o].cells)))},Es=(e,t,o,n,r)=>{((e,t,o,n)=>{const r=qo(e).rows;if(t>0&&tD(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);A(e,(e=>{let a=_.none();for(let s=t;s{Fo(i,t,et(e,!0,l.isLocked))})))}}))}})(t,e,r,n.cell);const a=Ko(t),s=ks(t,o),i={...s,colDelta:s.colDelta-a.length},l=Ss(t,i,n),{cols:c,rows:d}=qo(l),u=Ko(l),m=ks(o,t),g={...m,colDelta:m.colDelta+u.length},p=(f=n,y=u,E(o,(e=>D(y,((t,o)=>{const n=_s(1,e,f,w)[0];return Po(t,o,n)}),e)))),h=Ss(p,g,n);var f,y;return[...c,...d.slice(0,e),...h,...d.slice(e,d.length)]},As=(e,t,o,n,r)=>{const{rows:a,cols:s}=qo(e),i=a.slice(0,t),l=a.slice(t);return[...s,...i,((e,t,o,n)=>Wo(e,(e=>n(e,o)),t))(a[o],((e,o)=>t>0&&tE(e,(e=>{const a=t>0&&t{if("colgroup"!==o&&n)return Vo(e,t);{const t=Vo(e,r);return et(s(t.element,a),!0,!1)}})(e,t,e.section,a,o,n,r);return Po(e,t,s)})),Ns=(e,t,o,n)=>((e,t,o,n)=>void 0!==Zo(e[t],o)&&t>0&&n(Zo(e[t-1],o),Zo(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o(Zo(e,t-1),Zo(e,t)))(e[t],o,n),Rs=(e,t,o,n)=>{const r=e=>(e=>"row"===e?Pt(t):Ht(t))(e)?`${e}group`:e;return e?Va(t)?r(o):null:n&&Va(t)?r("row"===o?"col":"row"):null},Ds=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Bs=(e,t,o,n,r,a,s)=>E(e,((e,i)=>((e,l)=>{const c=e.cells,d=E(c,((e,l)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=s(e,i,l)?r(e,o,n):e;return a(t,i,l).each((e=>{var o,n;o=t.element,n={scope:_.from(e)},$(n,((e,t)=>{e.fold((()=>{be(o,t)}),(e=>{ge(o.dom,t,e)}))}))})),t}return e}));return tt(e.element,d,e.section,e.isNew)})(e))),Ls=(e,t,o)=>H(e,((n,r)=>Ns(e,r,t,o)?[]:[Vo(n,t)])),Is=(e,t,o,n,r)=>{const a=qo(e).rows,s=H(t,(e=>Ls(a,e,n))),i=E(a,(e=>Za(e.cells))),l=((e,t)=>P(t,h)&&Za(e)?w:(e,o,n)=>!("th"===ne(e.element)&&t[o]))(s,i),c=((e,t)=>(o,n)=>_.some(Rs(e,o.element,"row",t[n])))(o,i);return Bs(e,s,n,r,Ds,c,l)},Hs=(e,t,o,n)=>{const r=qo(e).rows,a=E(t,(e=>Vo(r[e.row],e.column)));return Bs(e,a,o,n,Ds,_.none,w)},Ps=e=>{if(!s(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return A(e,((n,r)=>{const a=q(n);if(1!==a.length)throw new Error("one and only one name per case");const i=a[0],l=n[i];if(void 0!==o[i])throw new Error("duplicate key detected:"+i);if("cata"===i)throw new Error("cannot have a case named cata (sorry)");if(!s(l))throw new Error("case arguments must be an array");t.push(i),o[i]=(...o)=>{const n=o.length;if(n!==l.length)throw new Error("Wrong number of arguments to case "+i+". Expected "+l.length+" ("+l+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=q(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!P(t,(e=>z(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[i].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:i,params:o})}}}})),o},Fs={...Ps([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},js=(e,t,o)=>{let n=0;for(let r=e;r{const o=rn(e);return E(o,(e=>{const o=js(e.row,e.row+e.rowspan,t);return{element:e.element,height:o,rowspan:e.rowspan}}))},Zs=(e,t,o)=>{const n=((e,t)=>sn(e)?((e,t)=>{const o=an(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=rn(e);return E(o,(e=>{const o=js(e.column,e.column+e.colspan,t);return{element:e.element,width:o,colspan:e.colspan}}))})(e,t))(e,t);A(n,(e=>{o.setElementWidth(e.element,e.width)}))},Us=(e,t,o,n,r)=>{const a=Qo(e),s=r.getCellDelta(t),i=r.getWidths(a,r),l=o===a.grid.columns-1,c=n.clampTableDelta(i,o,s,r.minCellWidth(),l),d=((e,t,o,n,r)=>{const a=e.slice(0),s=((e,t)=>0===e.length?Fs.none():1===e.length?Fs.only(0):0===t?Fs.left(0,1):t===e.length-1?Fs.right(t-1,t):t>0&&tn.singleColumnWidth(a[e],o)),((e,t)=>r.calcLeftEdgeDeltas(a,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,s)=>r.calcMiddleDeltas(a,e,t,s,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(a,e,t,o,n.minCellWidth(),n.isRelative)))})(i,o,c,r,n),u=E(d,((e,t)=>e+i[t]));Zs(a,u,r),n.resizeTable(r.adjustTableWidth,c,l)},qs=e=>D(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),Ws=me("col"),$s=me("colgroup"),Gs=e=>"tr"===ne(e)||$s(e),Ks=e=>({element:e,colspan:Lt(e,"colspan",1),rowspan:Lt(e,"rowspan",1)}),Ys=e=>ye(e,"scope").map((e=>e.substr(0,3))),Xs=(e,t=Ks)=>{const o=o=>{if(Gs(o))return $s((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,a=(t=>Ws(t.element)?e.col(t):e.cell(t))(t(r));return n=_.some({item:r,replacement:a}),a}var r};let n=_.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},Js=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},a=t.replace(n,e,r);return o.push({item:n,sub:a}),a};return{replaceOrInit:(e,t)=>{if(Gs(e)||Ws(e))return e;{const r=e;return((e,t)=>B(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},Qs=e=>({unmerge:t=>{const o=Ys(t);return o.each((e=>pe(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return Bt(n,"width"),Bt(t,"width"),o.each((e=>pe(n,"scope",e))),n}},merge:e=>(Bt(e[0],"width"),(()=>{const t=kt(E(e,Ys));if(0===t.length)return _.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&z(o,t)))?_.none():_.from(e)}})().fold((()=>be(e[0],"scope")),(t=>pe(e[0],"scope",t+"group"))),p(e[0]))}),ei=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],ti=Jr(),oi=e=>((e,t)=>{const o=e.property().name(t);return z(ei,o)})(ti,e),ni=e=>((e,t)=>{const o=e.property().name(t);return z(["ol","ul"],o)})(ti,e),ri=e=>{const t=me("br"),o=e=>_r(e).bind((o=>{const n=De(o).map((e=>!!oi(e)||!!((e,t)=>z(["br","img","hr","input"],e.property().name(t)))(ti,e)&&"img"!==ne(e))).getOr(!1);return Ae(o).map((r=>{return!0===n||("li"===ne(a=r)||gt(a,ni).isSome())||t(o)||oi(r)&&!Se(e,r)?[]:[we.fromTag("br")];var a}))})).getOr([]),n=(()=>{const n=H(e,(e=>{const n=Be(e);return(e=>P(e,(e=>t(e)||ce(e)&&0===hr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[we.fromTag("br")]:n})();Ue(e[0]),Ze(e[0],n)},ai=e=>Dr(e,!0),si=e=>{0===Wt(e).length&&qe(e)},ii=(e,t)=>({grid:e,cursor:t}),li=(e,t,o)=>{const n=((e,t,o)=>{var n,r;const a=qo(e).rows;return _.from(null===(r=null===(n=a[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(ai).orThunk((()=>(e=>U(e,(e=>U(e.cells,(e=>{const t=e.element;return wt(ai(t),t)})))))(a)))})(e,t,o);return ii(e,n)},ci=e=>D(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),di=(e,t)=>(o,n,r,a,s)=>{const i=ci(n),l=E(i,(e=>e.row)),c=((e,t,o,n,r,a,s)=>{const{cols:i,rows:l}=qo(e),c=l[t[0]],d=H(t,(e=>((e,t,o)=>{const n=e[t];return H(n.cells,((n,r)=>Ns(e,t,r,o)?[]:[n]))})(l,e,r))),u=E(c.cells,((e,t)=>Za(Ls(l,t,r)))),m=[...l];A(t,(e=>{m[e]=s.transformRow(l[e],o)}));const g=[...i,...m],p=((e,t)=>P(t,h)&&Za(e.cells)?w:(e,o,n)=>!("th"===ne(e.element)&&t[n]))(c,u),f=((e,t)=>(o,n,r)=>_.some(Rs(e,o.element,"col",t[r])))(n,u);return Bs(g,d,r,a,s.transformCell,f,p)})(o,l,e,t,r,a.replaceOrInit,s);return li(c,n[0].row,n[0].column)},ui=di("thead",!0),mi=di("tbody",!1),gi=di("tfoot",!1),pi=(e,t,o)=>{const n=((e,t)=>Xt(e,(()=>t)))(e,o.section),r=en(n);return is(r,t,!0)},hi=(e,t,o,n)=>((e,t,o,n)=>{const r=en(t),a=n.getWidths(r,n);Zs(r,a,n)})(0,t,0,n.sizing),fi=(e,t,o,n)=>((e,t,o,n,r)=>{const a=en(t),s=n.getWidths(a,n),i=n.pixelWidth(),{newSizes:l,delta:c}=r.calcRedestributedWidths(s,i,o.pixelDelta,n.isRelative);Zs(a,l,n),n.adjustTableWidth(c)})(0,t,o,n.sizing,n.resize),yi=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),bi=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),vi=(e,t)=>{const o=cn(e),n=qs(t);return D(n,((e,t)=>e+o[t.column].map(Lo).getOr(0)),0)},ki=e=>(t,o)=>gs(t,o).filter((o=>!(e?yi:bi)(t,o))).map((e=>({details:e,pixelDelta:vi(t,e)}))),wi=e=>(t,o)=>ms(t,o).filter((o=>!(e?yi:bi)(t,o.cells))),_i=Js("th"),xi=Js("td"),Ci=us(((e,t,o,n)=>{const r=t[0].row,a=ci(t),s=R(a,((e,t)=>({grid:As(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return li(s,r,t[0].column)}),gs,g,g,Xs),Si=us(((e,t,o,n)=>{const r=ci(t),a=r[r.length-1],s=a.row+a.rowspan,i=R(r,((e,t)=>As(e,s,t.row,o,n.getOrInit)),e);return li(i,s,t[0].column)}),gs,g,g,Xs),zi=us(((e,t,o,n)=>{const r=t.details,a=qs(r),s=a[0].column,i=R(a,((e,t)=>({grid:Ms(e.grid,s,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return li(i,r[0].row,s)}),ki(!0),fi,g,Xs),Oi=us(((e,t,o,n)=>{const r=t.details,a=r[r.length-1],s=a.column+a.colspan,i=qs(r),l=R(i,((e,t)=>Ms(e,s,t.column,o,n.getOrInit)),e);return li(l,r[0].row,s)}),ki(!1),fi,g,Xs),Ti=us(((e,t,o,n)=>{const r=qs(t.details),a=((e,t)=>H(e,(e=>{const o=e.cells,n=R(t,((e,t)=>t>=0&&t0?[tt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),s=a.length>0?a[0].cells.length-1:0;return li(a,r[0].row,Math.min(r[0].column,s))}),((e,t)=>ps(e,t).map((t=>({details:t,pixelDelta:-vi(e,t)})))),fi,si,Xs),Ei=us(((e,t,o,n)=>{const r=ci(t),a=((e,t,o)=>{const{rows:n,cols:r}=qo(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),s=a.length>0?a.length-1:0;return li(a,Math.min(t[0].row,s),t[0].column)}),gs,g,si,Xs),Ai=us(((e,t,o,n)=>{const r=qs(t),a=E(r,(e=>e.column)),s=Is(e,a,!0,o,n.replaceOrInit);return li(s,t[0].row,t[0].column)}),ps,g,g,_i),Mi=us(((e,t,o,n)=>{const r=qs(t),a=E(r,(e=>e.column)),s=Is(e,a,!1,o,n.replaceOrInit);return li(s,t[0].row,t[0].column)}),ps,g,g,xi),Ni=us(ui,ps,g,g,_i),Ri=us(mi,ps,g,g,xi),Di=us(gi,ps,g,g,xi),Bi=us(((e,t,o,n)=>{const r=Hs(e,t,o,n.replaceOrInit);return li(r,t[0].row,t[0].column)}),ps,g,g,_i),Li=us(((e,t,o,n)=>{const r=Hs(e,t,o,n.replaceOrInit);return li(r,t[0].row,t[0].column)}),ps,g,g,xi),Ii=us(((e,t,o,n)=>{const r=t.cells;ri(r);const a=((e,t,o,n)=>{const r=qo(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],a=Vo(t,o).isLocked;Fo(t,o,et(n(),!1,a))}return e})(e,t.bounds,0,n.merge(r));return ii(a,_.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>hs(e,t.cells)))),hi,g,Qs),Hi=us(((e,t,o,n)=>{const r=R(t,((e,t)=>fs(e,t,o,n.unmerge(t))),e);return ii(r,_.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>hs(e,t)))),hi,g,Qs),Pi=us(((e,t,o,n)=>{const r=((e,t)=>{const o=Qo(e);return is(o,t,!0)})(t.clipboard,t.generators);var a,s;return((e,t,o,n,r)=>{const a=Ko(t),s=((e,t,o)=>{const n=Uo(t[0]),r=qo(t).cols.length+e.row,a=T(n-e.column,(t=>t+e.column));return{row:r,column:B(a,(e=>P(o,(t=>t!==e)))).getOr(n-1)}})(e,t,a),i=qo(o).rows,l=Os(s,i,a),c=((e,t,o)=>{if(e.row>=t.length||e.column>Uo(t[0]))return vs.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),a=Uo(o[0]),s=o.length;return vs.value({rowDelta:n.length-s,colDelta:r.length-a})})(s,t,i);return c.map((e=>{const o={...e,colDelta:e.colDelta-l.length},a=Ss(t,o,n),c=Ko(a),d=Os(s,i,c);return((e,t,o,n,r,a)=>{const s=e.row,i=e.column,l=s+o.length,c=i+Uo(o[0])+a.length,d=F(a,w);for(let e=s;eii(e,_.some(t.element))),(e=>li(e,t.row,t.column)))}),((e,t)=>qt(t.element).bind((o=>cs(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),hi,g,Xs),Fi=us(((e,t,o,n)=>{const r=qo(e).rows,a=t.cells[0].column,s=r[t.cells[0].row],i=pi(t.clipboard,t.generators,s),l=Ts(a,e,i,t.generators,o);return li(l,t.cells[0].row,t.cells[0].column)}),wi(!0),g,g,Xs),ji=us(((e,t,o,n)=>{const r=qo(e).rows,a=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,s=r[t.cells[0].row],i=pi(t.clipboard,t.generators,s),l=Ts(a,e,i,t.generators,o);return li(l,t.cells[0].row,t.cells[0].column)}),wi(!1),g,g,Xs),Vi=us(((e,t,o,n)=>{const r=qo(e).rows,a=t.cells[0].row,s=r[a],i=pi(t.clipboard,t.generators,s),l=Es(a,e,i,t.generators,o);return li(l,t.cells[0].row,t.cells[0].column)}),ms,g,g,Xs),Zi=us(((e,t,o,n)=>{const r=qo(e).rows,a=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,s=r[t.cells[0].row],i=pi(t.clipboard,t.generators,s),l=Es(a,e,i,t.generators,o);return li(l,t.cells[0].row,t.cells[0].column)}),ms,g,g,Xs),Ui=(e,t)=>{const o=Qo(e);return gs(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,a=I(E(o.all,(e=>N(e.cells,(e=>e.column>=n&&e.column{const o=Qo(e);return gs(o,t).bind(Wa).getOr("")},Wi=(e,t)=>{const o=Qo(e);return gs(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>qa(e).type)),o=z(t,"header"),n=z(t,"footer");if(o||n){const e=z(t,"body");return!o||e||n?o||e||!n?_.none():_.some("footer"):_.some("header")}return _.some("body")})(o.all.slice(n,r))})).getOr("")},$i=(e,t)=>e.dispatch("NewRow",{node:t}),Gi=(e,t)=>e.dispatch("NewCell",{node:t}),Ki=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},Yi={structure:!1,style:!0},Xi={structure:!0,style:!1},Ji={structure:!0,style:!0},Qi=e=>t=>t.options.get(e),el="100%",tl=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Io(we.fromDom(n))+"px"},ol=e=>_.from(e.options.get("table_clone_elements")),nl=Qi("table_header_type"),rl=Qi("table_column_resizing"),al=e=>"preservetable"===rl(e),sl=e=>"resizetable"===rl(e),il=Qi("table_sizing_mode"),ll=e=>"relative"===il(e),cl=e=>"fixed"===il(e),dl=e=>"responsive"===il(e),ul=Qi("table_resize_bars"),ml=Qi("table_style_by_css"),gl=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>dl(e)||ml(e)?t:cl(e)?{...t,width:tl(e)}:{...t,width:el})(e,o)},pl=Qi("table_use_colgroups"),hl=(e,t)=>ll(e)?mr(t):cl(e)?ur(t):dr(t),fl=(e,t,o)=>{const n=e=>"table"===ne(Lr(e)),r=ol(e),a=sl(e)?g:Ra,s=t=>{switch(nl(e)){case"section":return Ja();case"sectionCells":return Qa();case"cells":return es();default:return((e,t)=>{var o;switch((o=Qo(e),U(o.all,(e=>{const t=qa(e);return"header"===t.type?_.from(t.subType):_.none()}))).getOr(t)){case"section":return Ka();case"sectionCells":return Ya();case"cells":return Xa()}})(t,"section")}},i=(n,a,i,l)=>(c,d,u=!1)=>{Hr(c);const m=we.fromDom(e.getDoc()),g=Mr(i,m,r),p={sizing:hl(e,c),resize:sl(e)?Pa():Fa(),section:s(c)};return a(c)?n(c,d,g,p).bind((n=>{t.refresh(c.dom),A(n.newRows,(t=>{$i(e,t.dom)})),A(n.newCells,(t=>{Gi(e,t.dom)}));const r=((t,n)=>n.cursor.fold((()=>{const n=Wt(t);return V(n).filter(st).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),pe(n,"data-mce-selected","1"),r}))}),(n=>{const r=Ma(Na,n),a=e.dom.createRng();return a.setStart(r.element.dom,r.offset),a.setEnd(r.element.dom,r.offset),e.selection.setRng(a),o.clearSelectedCells(t.dom),_.some(a)})))(c,n);return st(c)&&(Hr(c),u||Ki(e,c.dom,l)),r.map((e=>({rng:e,effect:l})))})):_.none()},l=i(Ei,(t=>!n(e)||ja(t).rows>1),g,Xi),c=i(Ti,(t=>!n(e)||ja(t).columns>1),g,Xi);return{deleteRow:l,deleteColumn:c,insertRowsBefore:i(Ci,w,g,Xi),insertRowsAfter:i(Si,w,g,Xi),insertColumnsBefore:i(zi,w,a,Xi),insertColumnsAfter:i(Oi,w,a,Xi),mergeCells:i(Ii,w,g,Xi),unmergeCells:i(Hi,w,g,Xi),pasteColsBefore:i(Fi,w,g,Xi),pasteColsAfter:i(ji,w,g,Xi),pasteRowsBefore:i(Vi,w,g,Xi),pasteRowsAfter:i(Zi,w,g,Xi),pasteCells:i(Pi,w,g,Ji),makeCellsHeader:i(Bi,w,g,Xi),unmakeCellsHeader:i(Li,w,g,Xi),makeColumnsHeader:i(Ai,w,g,Xi),unmakeColumnsHeader:i(Mi,w,g,Xi),makeRowsHeader:i(Ni,w,g,Xi),makeRowsBody:i(Ri,w,g,Xi),makeRowsFooter:i(Di,w,g,Xi),getTableRowType:Wi,getTableCellType:qi,getTableColType:Ui}},yl=(e,t,o)=>{const n=Lt(e,t,1);1===o||n<=1?be(e,t):pe(e,t,Math.min(o,n))},bl=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):vl.invalid(o)},wl={...vl,from:e=>St(e,"%")?kl("%",vl.percent,e):St(e,"px")?kl("px",vl.pixels,e):vl.invalid(e)},_l=(e,t,o)=>{const n=wl.from(o),r=P(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>p("")),(e=>p(e/t+"px")),(()=>p(100/t+"%")));return T(t,o)})(n,e.length):((e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>wl.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>wl.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))))(n,e,t);return Sl(r)},xl=(e,t)=>0===e.length?t:R(e,((e,t)=>wl.from(t).fold(p(0),h,h)+e),0),Cl=(e,t)=>wl.from(e).fold(p(e),(e=>e+t+"px"),(e=>e+t+"%")),Sl=e=>{if(0===e.length)return e;const t=R(e,((e,t)=>{const o=wl.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+"px",remainder:e-o}})(e)),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Cl(o[o.length-1],Math.round(t.remainder))])},zl=wl.from,Ol=e=>zl(e).fold(p("px"),p("px"),p("%")),Tl=(e,t,o)=>{const n=Qo(e),r=n.all,a=rn(n),s=an(n);t.each((t=>{const o=Ol(t),r=Bo(e),i=((e,t)=>nr(e,t,er,rr))(n,e),l=_l(i,r,t);sn(n)?((e,t,o)=>{A(t,((t,n)=>{const r=xl([e[n]],jt());At(t.element,"width",r+o)}))})(l,s,o):((e,t,o)=>{A(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=xl(n,jt());At(t.element,"width",r+o)}))})(l,a,o),At(e,"width",t)})),o.each((t=>{const o=Ol(t),s=hn(e),i=((e,t,o)=>sr(e,t,o,tr,rr))(n,e,Nn);((e,t,o,n)=>{A(o,(t=>{const o=e.slice(t.row,t.rowspan+t.row),r=xl(o,Vt());At(t.element,"height",r+n)})),A(t,((t,o)=>{At(t.element,"height",e[o])}))})(_l(i,s,t),r,a,o),At(e,"height",t)}))},El=e=>Wn(e).exists((e=>In.test(e))),Al=e=>Wn(e).exists((e=>Hn.test(e))),Ml=e=>Wn(e).isNone(),Nl=e=>{be(e,"width")},Rl=e=>{const t=Xn(e);Tl(e,_.some(t),_.none()),Nl(e)},Dl=e=>{const t=(e=>Bo(e)+"px")(e);Tl(e,_.some(t),_.none()),Nl(e)},Bl=e=>{Bt(e,"width");const t=$t(e),o=t.length>0?t:Wt(e);A(o,(e=>{Bt(e,"width"),Nl(e)})),Nl(e)},Ll={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},Il=(e,t,o,n)=>T(e,(e=>((e,t,o,n)=>{const r=we.fromTag("tr");for(let a=0;a{e.selection.select(t.dom,!0),e.selection.collapse(!0)},Pl=(e,t,o,n,a)=>{const s=(e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>dl(e)||!ml(e)?t:cl(e)?{...t,width:tl(e)}:{...t,width:el})(e,o)})(e),i={styles:s,attributes:gl(e),colGroups:pl(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,a=Ll)=>{const s=we.fromTag("table"),i="cells"!==r;Mt(s,a.styles),he(s,a.attributes),a.colGroups&&Fe(s,(e=>{const t=we.fromTag("colgroup");return T(e,(()=>Fe(t,we.fromTag("col")))),t})(t));const l=Math.min(e,o);if(i&&o>0){const e=we.fromTag("thead");Fe(s,e);const a=Il(o,t,"sectionCells"===r?l:0,n);Ze(e,a)}const c=we.fromTag("tbody");Fe(s,c);const d=Il(i?e-l:e,t,i?0:o,n);return Ze(c,d),s})(o,t,a,n,nl(e),i);pe(r,"data-mce-id","__mce");const s=(e=>{const t=we.fromTag("div"),o=we.fromDom(e.dom.cloneNode(!0));return Fe(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(s),e.addVisual()})),yt(Lr(e),'table[data-mce-id="__mce"]').map((t=>(cl(e)?Dl(t):dl(e)?Bl(t):(ll(e)||(e=>r(e)&&-1!==e.indexOf("%"))(s.width))&&Rl(t),Hr(t),be(t,"data-mce-id"),((e,t)=>{A(ut(t,"tr"),(t=>{$i(e,t.dom),A(ut(t,"th,td"),(t=>{Gi(e,t.dom)}))}))})(e,t),((e,t)=>{yt(t,"td,th").each(y(Hl,e))})(e,t),t.dom))).getOrNull()};var Fl=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const jl="x-tinymce/dom-table-",Vl=jl+"rows",Zl=jl+"columns",Ul=e=>{const t=Fl.FakeClipboardItem(e);Fl.write([t])},ql=e=>{var t;const o=null!==(t=Fl.read())&&void 0!==t?t:[];return U(o,(t=>_.from(t.getType(e))))},Wl=e=>{ql(e).isSome()&&Fl.clear()},$l=e=>{e.fold(Kl,(e=>Ul({[Vl]:e})))},Gl=()=>ql(Vl),Kl=()=>Wl(Vl),Yl=e=>{e.fold(Jl,(e=>Ul({[Zl]:e})))},Xl=()=>ql(Zl),Jl=()=>Wl(Zl),Ql=e=>xa(Pr(e),Ir(e)).filter(Vr),ec=(e,t)=>{const o=Ir(e),n=e=>Gt(e,o),s=t=>(e=>Ca(Pr(e),Ir(e)).filter(Vr))(e).bind((e=>n(e).map((o=>t(o,e))))),i=t=>{e.focus()},l=(t,o=!1)=>s(((n,r)=>{const a=wa(Sa(e),n,r);t(n,a,o).each(i)})),c=()=>s(((t,o)=>((e,t,o)=>{const n=Qo(e);return gs(n,t).bind((e=>{const t=is(n,o,!1),r=qo(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),a=H(r,(e=>{const t=N(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),s=ls(a);return wt(s.length>0,s)})).map((e=>E(e,(e=>{const t=Ge(e.element);return A(e.cells,(e=>{const o=Ke(e.element);os(o,"colspan",e.colspan,1),os(o,"rowspan",e.rowspan,1),Fe(t,o)})),t}))))})(t,wa(Sa(e),t,o),Mr(g,we.fromDom(e.getDoc()),_.none())))),d=()=>s(((t,o)=>((e,t)=>{const o=Qo(e);return ps(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,a=((e,t,o)=>{if(sn(e)){const n=N(an(e),bl(t,o)),r=E(n,(e=>{const n=Ke(e.element);return yl(n,"span",o-t),n})),a=we.fromTag("colgroup");return Ze(a,r),[a]}return[]})(o,n,r),s=((e,t,o)=>E(e.all,(e=>{const n=N(e.cells,bl(t,o)),r=E(n,(e=>{const n=Ke(e.element);return yl(n,"colspan",o-t),n})),a=we.fromTag("tr");return Ze(a,r),a})))(o,n,r);return[...a,...s]}))})(t,wa(Sa(e),t,o)))),u=(t,o)=>o().each((o=>{const n=E(o,(e=>Ke(e)));s(((o,r)=>{const a=Nr(we.fromDom(e.getDoc())),s=((e,t,o,n)=>({selection:da(e),clipboard:o,generators:n}))(Sa(e),0,n,a);t(o,s).each(i)}))})),p=e=>(t,o)=>((e,t)=>J(e,t)?_.from(e[t]):_.none())(o,"type").each((t=>{l(e(t),o.no_events)}));$({mceTableSplitCells:()=>l(t.unmergeCells),mceTableMergeCells:()=>l(t.mergeCells),mceTableInsertRowBefore:()=>l(t.insertRowsBefore),mceTableInsertRowAfter:()=>l(t.insertRowsAfter),mceTableInsertColBefore:()=>l(t.insertColumnsBefore),mceTableInsertColAfter:()=>l(t.insertColumnsAfter),mceTableDeleteCol:()=>l(t.deleteColumn),mceTableDeleteRow:()=>l(t.deleteRow),mceTableCutCol:()=>d().each((e=>{Yl(e),l(t.deleteColumn)})),mceTableCutRow:()=>c().each((e=>{$l(e),l(t.deleteRow)})),mceTableCopyCol:()=>d().each((e=>Yl(e))),mceTableCopyRow:()=>c().each((e=>$l(e))),mceTablePasteColBefore:()=>u(t.pasteColsBefore,Xl),mceTablePasteColAfter:()=>u(t.pasteColsAfter,Xl),mceTablePasteRowBefore:()=>u(t.pasteRowsBefore,Gl),mceTablePasteRowAfter:()=>u(t.pasteRowsAfter,Gl),mceTableDelete:()=>Ql(e).each((t=>{Gt(t,o).filter(b(o)).each((t=>{const o=we.fromText("");if(He(t,o),qe(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{s((t=>{const n=Sa(e),r=P(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),a=r?e.formatter.remove:e.formatter.apply;A(n,(e=>a("tablecellclass",{value:o},e.dom))),Ki(e,t.dom,Yi)}))},mceTableToggleClass:(t,o)=>{s((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),Ki(e,t.dom,Yi)}))},mceTableToggleCaption:()=>{Ql(e).each((t=>{Gt(t,o).each((o=>{ft(o,"caption").fold((()=>{const t=we.fromTag("caption");Fe(t,we.fromText("Caption")),((e,t,o)=>{Le(e,0).fold((()=>{Fe(e,t)}),(e=>{Ie(e,t)}))})(o,t),e.selection.setCursorLocation(t.dom,0)}),(n=>{me("caption")(t)&&Ce("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),qe(n)})),Ki(e,o.dom,Xi)}))}))},mceTableSizingMode:(t,n)=>(t=>Ql(e).each((n=>{dl(e)||cl(e)||ll(e)||Gt(n,o).each((o=>{"relative"!==t||El(o)?"fixed"!==t||Al(o)?"responsive"!==t||Ml(o)||Bl(o):Dl(o):Rl(o),Hr(o),Ki(e,o.dom,Xi)}))})))(n),mceTableCellType:p((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:p((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:p((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>m(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,a=n.headerColumns||0;return Pl(e,o,t,a,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const s=e=>"tablecell"+e.toLowerCase().replace("-","");if(!a(o))return;const i=N(Sa(e),Vr);if(0===i.length)return;const l=((e,t)=>{const o={};return((e,t,o,n)=>{$(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),g),o})(o,((t,o)=>e.formatter.has(s(o))&&r(t)));(e=>{for(const t in e)if(W.call(e,t))return!1;return!0})(l)||($(l,((t,o)=>{const n=s(o);A(i,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(i[0]).each((t=>Ki(e,t.dom,Yi))))}))},tc=Ps([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),oc={before:tc.before,on:tc.on,after:tc.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},nc=(e,t)=>({selection:e,kill:t}),rc=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},ac=(e,t)=>{const o=e.document.createRange();return sc(o,t),o},sc=(e,t)=>e.selectNodeContents(t.dom),ic=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},lc=(e,t,o,n,r)=>{const a=e.document.createRange();return a.setStart(t.dom,o),a.setEnd(n.dom,r),a},cc=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),dc=Ps([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),uc=(e,t,o)=>t(we.fromDom(o.startContainer),o.startOffset,we.fromDom(o.endContainer),o.endOffset),mc=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:p(e),rtl:_.none}),relative:(t,o)=>({ltr:eo((()=>ic(e,t,o))),rtl:eo((()=>_.some(ic(e,o,t))))}),exact:(t,o,n,r)=>({ltr:eo((()=>lc(e,t,o,n,r))),rtl:eo((()=>_.some(lc(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>dc.rtl(we.fromDom(e.endContainer),e.endOffset,we.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>uc(0,dc.ltr,o))):uc(0,dc.ltr,o)})(0,o)},gc=(e,t)=>mc(e,t).match({ltr:(t,o,n,r)=>{const a=e.document.createRange();return a.setStart(t.dom,o),a.setEnd(n.dom,r),a},rtl:(t,o,n,r)=>{const a=e.document.createRange();return a.setStart(n.dom,r),a.setEnd(t.dom,o),a}});dc.ltr,dc.rtl;const pc=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),hc=(e,t,o,n)=>({start:oc.on(e,t),finish:oc.on(o,n)}),fc=(e,t)=>{const o=gc(e,t);return pc(we.fromDom(o.startContainer),o.startOffset,we.fromDom(o.endContainer),o.endOffset)},yc=hc,bc=(e,t,o,n,r)=>Se(o,n)?_.none():ra(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),_.some(nc(_.some(yc(o,0,o,br(o))),!0))):_.none()})),vc=(e,t)=>({item:e,mode:t}),kc=(e,t,o,n=wc)=>e.property().parent(t).map((e=>vc(e,n))),wc=(e,t,o,n=_c)=>o.sibling(e,t).map((e=>vc(e,n))),_c=(e,t,o,n=_c)=>{const r=e.property().children(t);return o.first(r).map((e=>vc(e,n)))},xc=[{current:kc,next:wc,fallback:_.none()},{current:wc,next:_c,fallback:_.some(kc)},{current:_c,next:_c,fallback:_.some(wc)}],Cc=(e,t,o,n,r=xc)=>B(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Cc(e,t,o,n))))))),Sc=(e,t,o,n,r,a)=>Cc(e,t,n,r).bind((t=>a(t.item)?_.none():o(t.item)?_.some(t.item):Sc(e,t.item,o,t.mode,r,a))),zc=e=>t=>0===e.property().children(t).length,Oc=(e,t,o,n)=>Sc(e,t,o,wc,{sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?_.some(e[e.length-1]):_.none()},n),Tc=(e,t,o,n)=>Sc(e,t,o,wc,{sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?_.some(e[0]):_.none()},n),Ec=Jr(),Ac=(e,t)=>((e,t,o)=>Oc(e,t,zc(e),o))(Ec,e,t),Mc=(e,t)=>((e,t,o)=>Tc(e,t,zc(e),o))(Ec,e,t),Nc=Ps([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Rc=e=>bt(e,"tr"),Dc={...Nc,verify:(e,t,o,n,r,a,s)=>bt(n,"td,th",s).bind((o=>bt(t,"td,th",s).map((t=>Se(o,t)?Se(n,o)&&br(o)===r?a(t):Nc.none("in same cell"):oa(Rc,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.lefta(t))))))).getOr(Nc.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},Bc=me("br"),Lc=(e,t,o)=>t(e,o).bind((e=>ce(e)&&0===hr(e).trim().length?Lc(e,t,o):_.some(e))),Ic=(e,t,o,n)=>((e,t)=>Le(e,t).filter(Bc).orThunk((()=>Le(e,t-1).filter(Bc))))(t,o).bind((t=>n.traverse(t).fold((()=>Lc(t,n.gather,e).map(n.relative)),(e=>(e=>Ae(e).bind((t=>{const o=Be(t);return((e,t)=>L(e,y(Se,t)))(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>oc.on(e.parent,e.index))))))),Hc=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),Pc=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),Fc=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),jc=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),Vc=(e,t)=>_.some(e.getRect(t)),Zc=(e,t,o)=>le(t)?Vc(e,t).map(jc):ce(t)?((e,t,o)=>o>=0&&o0?e.getRangedRect(t,o-1,t,o):_.none())(e,t,o).map(jc):_.none(),Uc=(e,t)=>le(t)?Vc(e,t).map(jc):ce(t)?e.getRangedRect(t,0,t,br(t)).map(jc):_.none(),qc=Ps([{none:[]},{retry:["caret"]}]),Wc=(e,t,o)=>pt(t,oi).fold(k,(t=>Uc(e,t).exists((e=>((e,t)=>e.leftt.right)(o,e))))),$c={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const a=Hc(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?qc.retry(a):o.top===r.bottom?qc.retry(Hc(r,1)):Wc(e,t,r)?qc.retry(Fc(a,5,0)):qc.none()},move:Hc,gather:Mc},Gc=(e,t,o,n,r)=>0===r?_.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===ne(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Gc(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((a=>a.start.fold(_.none,(a=>Uc(e,a).bind((s=>t.adjuster(e,a,s,o,n).fold(_.none,(n=>Gc(e,t,o,n,r-1))))).orThunk((()=>_.some(n)))),_.none))),Kc=(e,t,o)=>{const n=e.move(o,5),r=Gc(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?_.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?_.some(-e.point(t)):_.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Yc={tryUp:y(Kc,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const a=Pc(r,5);return Math.abs(o.top-n.top)<1||o.bottome.getSelection().bind((n=>((e,t,o,n)=>{const r=Bc(t)?((e,t,o)=>o.traverse(t).orThunk((()=>Lc(t,o.gather,e))).map(o.relative))(e,t,n):Ic(e,t,o,n);return r.map((e=>({start:e,finish:e})))})(t,n.finish,n.foffset,o).fold((()=>_.some(Oa(n.finish,n.foffset))),(r=>{const a=e.fromSitus(r);return s=Dc.verify(e,n.finish,n.foffset,a.finish,a.foffset,o.failure,t),Dc.cata(s,(e=>_.none()),(()=>_.none()),(e=>_.some(Oa(e,0))),(e=>_.some(Oa(e,br(e)))));var s})))),Jc=(e,t,o,n,r,a)=>0===a?_.none():td(e,t,o,n,r).bind((s=>{const i=e.fromSitus(s),l=Dc.verify(e,o,n,i.finish,i.foffset,r.failure,t);return Dc.cata(l,(()=>_.none()),(()=>_.some(s)),(s=>Se(o,s)&&0===n?Qc(e,o,n,Pc,r):Jc(e,t,s,0,r,a-1)),(s=>Se(o,s)&&n===br(s)?Qc(e,o,n,Hc,r):Jc(e,t,s,br(s),r,a-1)))})),Qc=(e,t,o,n,r)=>Zc(e,t,o).bind((t=>ed(e,r,n(t,Yc.getJumpSize())))),ed=(e,t,o)=>{const n=Mo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):_.none()},td=(e,t,o,n,r)=>Zc(e,o,n).bind((t=>ed(e,r,t))),od=(e,t,o,n,r)=>bt(n,"td,th",t).bind((n=>bt(n,"table",t).bind((a=>((e,t)=>gt(e,(e=>Ae(e).exists((e=>Se(e,t)))),void 0).isSome())(r,a)?((e,t,o)=>Xc(e,t,o).bind((n=>Jc(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>bt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):_.none())))),nd=(e,t,o,n,r,a)=>a(n,t).orThunk((()=>od(e,t,o,n,r).map((e=>{const t=e.range;return nc(_.some(yc(t.start,t.soffset,t.finish,t.foffset)),!0)})))),rd=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=ut(o,"tr");return Se(e,n[0])?((e,t,o)=>Oc(Ec,e,(e=>_r(e).isSome()),o))(o,0,t).map((e=>{const t=br(e);return nc(_.some(yc(e,t,e,t)),!0)})):_.none()})))),ad=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=ut(o,"tr");return Se(e,n[n.length-1])?((e,t,o)=>Tc(Ec,e,(e=>wr(e).isSome()),o))(o,0,t).map((e=>nc(_.some(yc(e,0,e,0)),!0))):_.none()})))),sd=(e,t,o,n,r,a,s)=>od(e,o,n,r,a).bind((e=>bc(t,o,e.start,e.finish,s))),id=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},ld=()=>{const e=(e=>{const t=id(_.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(_.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(_.some(e))}}})(g);return{...e,on:t=>e.get().each(t)}},cd=(e,t)=>bt(e,"td,th",t),dd=e=>Me(e).exists(Dr),ud={traverse:De,gather:Mc,relative:oc.before,retry:Yc.tryDown,failure:Dc.failedDown},md={traverse:Re,gather:Ac,relative:oc.before,retry:Yc.tryUp,failure:Dc.failedUp},gd=e=>t=>t===e,pd=gd(38),hd=gd(40),fd=e=>e>=37&&e<=40,yd={isBackward:gd(37),isForward:gd(39)},bd={isBackward:gd(39),isForward:gd(37)},vd=Ps([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),kd={domRange:vd.domRange,relative:vd.relative,exact:vd.exact,exactFromRange:e=>vd.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>we.fromDom(e.startContainer),relative:(e,t)=>oc.getStart(e),exact:(e,t,o,n)=>e}))(e);return we.fromDom(Ee(t).dom.defaultView)},range:pc},wd=document.caretPositionFromPoint?(e,t,o)=>{var n,r;return _.from(null===(r=(n=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(n,t,o)).bind((t=>{if(null===t.offsetNode)return _.none();const o=e.dom.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),_.some(o)}))}:document.caretRangeFromPoint?(e,t,o)=>{var n,r;return _.from(null===(r=(n=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(n,t,o))}:_.none,_d=(e,t)=>{const o=ne(e);return"input"===o?oc.after(e):z(["br","img"],o)?0===t?oc.before(e):oc.after(e):oc.on(e,t)},xd=e=>_.from(e.getSelection()),Cd=(e,t)=>{xd(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},Sd=(e,t,o,n,r)=>{const a=lc(e,t,o,n,r);Cd(e,a)},zd=(e,t)=>mc(e,t).match({ltr:(t,o,n,r)=>{Sd(e,t,o,n,r)},rtl:(t,o,n,r)=>{xd(e).each((a=>{if(a.setBaseAndExtent)a.setBaseAndExtent(t.dom,o,n.dom,r);else if(a.extend)try{((e,t,o,n,r,a)=>{t.collapse(o.dom,n),t.extend(r.dom,a)})(0,a,t,o,n,r)}catch(a){Sd(e,n,r,t,o)}else Sd(e,n,r,t,o)}))}}),Od=(e,t,o,n,r)=>{const a=((e,t,o,n)=>{const r=_d(e,t),a=_d(o,n);return kd.relative(r,a)})(t,o,n,r);zd(e,a)},Td=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(oc.before,_d,oc.after),n=t.fold(oc.before,_d,oc.after);return kd.relative(o,n)})(t,o);zd(e,n)},Ed=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return _.some(pc(we.fromDom(t.startContainer),t.startOffset,we.fromDom(o.endContainer),o.endOffset))}return _.none()},Ad=e=>{if(null===e.anchorNode||null===e.focusNode)return Ed(e);{const t=we.fromDom(e.anchorNode),o=we.fromDom(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=Te(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),a=Se(e,o)&&t===n;return r.collapsed&&!a})(t,e.anchorOffset,o,e.focusOffset)?_.some(pc(t,e.anchorOffset,o,e.focusOffset)):Ed(e)}},Md=(e,t,o=!0)=>{const n=(o?ac:rc)(e,t);Cd(e,n)},Nd=e=>(e=>xd(e).filter((e=>e.rangeCount>0)).bind(Ad))(e).map((e=>kd.exact(e.start,e.soffset,e.finish,e.foffset))),Rd=e=>({elementFromPoint:(t,o)=>we.fromPoint(we.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const a=kd.exact(t,o,n,r);return((e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?_.some(o).map(cc):_.none()})(gc(e,t)))(e,a)},getSelection:()=>Nd(e).map((t=>fc(e,t))),fromSitus:t=>{const o=kd.relative(t.start,t.finish);return fc(e,o)},situsFromPoint:(t,o)=>((e,t,o)=>((e,t,o)=>{const n=we.fromDom(e.document);return wd(n,t,o).map((e=>pc(we.fromDom(e.startContainer),e.startOffset,we.fromDom(e.endContainer),e.endOffset)))})(e,t,o))(e,t,o).map((e=>hc(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{xd(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{Nd(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;Td(e,r,r)}),((o,n,r,a)=>{const s=t?o:r,i=t?n:a;Od(e,s,i,s,i)}))))},setSelection:t=>{Od(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{Td(e,t,o)},selectNode:t=>{Md(e,t,!1)},selectContents:t=>{Md(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return bn(o,n)})(we.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,we.fromDom(e.document))}}),Dd=(e,t)=>({rows:e,cols:t}),Bd=e=>pt(e,ie).exists(Dr),Ld=(e,t)=>Bd(e)||Bd(t),Id=e=>void 0!==e.dom.classList,Hd=(e,t)=>((e,t,o)=>{const n=((e,t)=>{const o=fe(e,t);return void 0===o||""===o?[]:o.split(" ")})(e,t).concat([o]);return pe(e,t,n.join(" ")),!0})(e,"class",t),Pd=(e,t)=>{Id(e)?e.dom.classList.add(t):Hd(e,t)},Fd=(e,t)=>Id(e)&&e.dom.classList.contains(t),jd=()=>({tag:"none"}),Vd=e=>({tag:"multiple",elements:e}),Zd=e=>({tag:"single",element:e}),Ud=e=>{const t=we.fromDom((e=>{if(nt()&&d(e.target)){const t=we.fromDom(e.target);if(le(t)&&d(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return V(t)}}return _.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(a=n,s=o,(...e)=>a(s.apply(null,e)));var a,s;return((e,t,o,n,r,a,s)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:a,raw:s}))(t,e.clientX,e.clientY,o,n,r,e)},qd=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Wd=w,$d=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const a=((e,t)=>o=>{e(o)&&t(Ud(o))})(o,n);return e.dom.addEventListener(t,a,r),{unbind:y(qd,e,t,a,r)}})(e,t,o,n,!1))(e,t,Wd,o),Gd=Ud,Kd=e=>!Fd(we.fromDom(e.target),"ephox-snooker-resizer-bar"),Yd=(e,t)=>{const o=(r=ka.selectedSelector,{get:()=>la(we.fromDom(e.getBody()),r).fold((()=>Ca(Pr(e),Ir(e)).fold(jd,Zd)),Vd)}),n=((e,t,o)=>{const n=t=>{be(t,e.selected),be(t,e.firstSelected),be(t,e.lastSelected)},r=t=>{pe(t,e.selected,"1")},a=e=>{s(e),o()},s=t=>{const o=ut(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);A(o,n)};return{clearBeforeUpdate:s,clear:a,selectRange:(o,n,s,i)=>{a(o),A(n,r),pe(s,e.firstSelected,"1"),pe(i,e.lastSelected,"1"),t(n,s,i)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}})(ka,((t,o,n)=>{Gt(o).each((r=>{const a=ol(e),s=Mr(g,we.fromDom(e.getDoc()),a),i=((e,t,o)=>{const n=Qo(e);return gs(n,t).map((e=>{const t=is(n,o,!1),{rows:r}=qo(t),a=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=ls(o);return H(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),s=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=ls(o);return H(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:a,downOrRightCells:s}}))})(r,{selection:Sa(e)},s);((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,t,o,n,i)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));var r;return e.on("init",(o=>{const r=e.getWin(),a=Lr(e),s=Ir(e),i=((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ld(),a=r.clear,s=a=>{r.on((r=>{n.clearBeforeUpdate(t),cd(a.target,o).each((s=>{ra(r,s,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const o=r[0],s="false"===Br(o),i=vt(Rr(a.target),o,Se);s&&i&&(n.selectRange(t,r,o,o),e.selectContents(o))}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(s))}))}))}))};return{clearstate:a,mousedown:e=>{n.clear(t),cd(e.target,o).filter(dd).each(r.set)},mouseover:e=>{s(e)},mouseup:e=>{s(e),a()}}})(Rd(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}})(r,a,s,n),l=((e,t,o,n)=>{const r=Rd(e),a=()=>(n.clear(t),_.none());return{keydown:(e,s,i,l,c,d)=>{const u=e.raw,m=u.which,g=!0===u.shiftKey,p=aa(t,n.selectedSelector).fold((()=>(fd(m)&&!g&&n.clearBeforeUpdate(t),fd(m)&&g&&!Ld(s,l)?_.none:hd(m)&&g?y(sd,r,t,o,ud,l,s,n.selectRange):pd(m)&&g?y(sd,r,t,o,md,l,s,n.selectRange):hd(m)?y(nd,r,o,ud,l,s,ad):pd(m)?y(nd,r,o,md,l,s,rd):_.none)),(e=>{const o=o=>()=>{const a=U(o,(o=>((e,t,o,n,r)=>ia(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return a.fold((()=>sa(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=hd(m)||d.isForward(m)?oc.after:oc.before;return r.setRelativeSelection(oc.on(e.first,0),o(e.table)),n.clear(t),nc(_.none(),!0)}))),(e=>_.some(nc(_.none(),!0))))};return fd(m)&&g&&!Ld(s,l)?_.none:hd(m)&&g?o([Dd(1,0)]):pd(m)&&g?o([Dd(-1,0)]):d.isBackward(m)&&g?o([Dd(0,-1),Dd(-1,0)]):d.isForward(m)&&g?o([Dd(0,1),Dd(1,0)]):fd(m)&&!g?a:_.none}));return p()},keyup:(e,r,a,s,i)=>aa(t,n.selectedSelector).fold((()=>{const l=e.raw,c=l.which;return!0===l.shiftKey&&fd(c)&&Ld(r,s)?((e,t,o,n,r,a,s)=>Se(o,r)&&n===a?_.none():bt(o,"td,th",t).bind((o=>bt(r,"td,th",t).bind((n=>bc(e,t,o,n,s))))))(t,o,r,a,s,i,n.selectRange):_.none()}),_.none)}})(r,a,s,n),c=((e,t,o,n)=>{const r=Rd(e);return(e,a)=>{n.clearBeforeUpdate(t),ra(e,a,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(a),r.collapseSelection()}))}})(r,a,s,n);e.on("TableSelectorChange",(e=>c(e.start,e.finish)));const d=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=kd.relative(t.start,t.finish),n=gc(r,o);e.selection.setRng(n)})))},u=e=>0===e.button,m=(()=>{const e=id(we.fromDom(a)),t=id(0);return{touchEnd:o=>{const n=we.fromDom(o.target);if(me("td")(n)||me("th")(n)){const r=e.get(),a=t.get();Se(r,n)&&o.timeStamp-a<300&&(o.preventDefault(),c(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{i.clearstate()})),e.on("mousedown",(e=>{u(e)&&Kd(e)&&i.mousedown(Gd(e))})),e.on("mouseover",(e=>{var t;void 0!==(t=e).buttons&&0==(1&t.buttons)||!Kd(e)||i.mouseover(Gd(e))})),e.on("mouseup",(e=>{u(e)&&Kd(e)&&i.mouseup(Gd(e))})),e.on("touchend",m.touchEnd),e.on("keyup",(t=>{const o=Gd(t);if(o.raw.shiftKey&&fd(o.raw.which)){const t=e.selection.getRng(),n=we.fromDom(t.startContainer),r=we.fromDom(t.endContainer);l.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{d(o,e)}))}})),e.on("keydown",(o=>{const n=Gd(o);t.hide();const r=e.selection.getRng(),a=we.fromDom(r.startContainer),s=we.fromDom(r.endContainer),i=mn(yd,bd)(we.fromDom(e.selection.getStart()));l.keydown(n,a,r.startOffset,s,r.endOffset,i).each((e=>{d(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=we.fromDom(t.getStart()),r=we.fromDom(t.getEnd());oa(Gt,[o,r]).fold((()=>n.clear(a)),g)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(ka.firstSelected),e.serializer.addTempAttr(ka.lastSelected)})),{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return(e=>[e.dom])(e.element);case"multiple":return(e=>E(e,(e=>e.dom)))(e.elements)}})(o.get(),p([])),clearSelectedCells:e=>n.clear(we.fromDom(e))}},Xd=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=N(t,(t=>t!==e))},trigger:(...o)=>{const n={};A(e,((e,t)=>{n[e]=o[t]})),A(t,(e=>{e(n)}))}}},Jd=e=>({registry:G(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:G(e,(e=>e.trigger))}),Qd=e=>e.slice(0).sort(),eu=(e,t)=>{const o=N(t,(t=>!z(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Qd(e).join(", "))})(o)},tu=e=>((e,t)=>((e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!s(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");A(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Qd(e);B(t,((e,o)=>o{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=q(n);P(t,(e=>z(r,e)))||((e,t)=>{throw new Error("All required keys ("+Qd(e).join(", ")+") were not specified. Specified keys were: "+Qd(t).join(", ")+".")})(t,r),e(t,r);const a=N(t,(e=>!o.validate(n[e],e)));return a.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Qd(e).join(", ")+") were not.")})(a,o.label),n}})(e,t,{validate:u,label:"function"}))(eu,e),ou=tu(["compare","extract","mutate","sink"]),nu=tu(["element","start","stop","destroy"]),ru=tu(["forceDrop","drop","move","delayDrop"]),au=()=>{const e=(()=>{const e=Jd({move:Xd(["info"])});return{onEvent:g,reset:g,events:e.registry}})(),t=(()=>{let e=_.none();const t=Jd({move:Xd(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=_.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=_.none()},events:t.registry}})();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},su=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},iu=su("ephox-dragster").resolve;var lu=ou({compare:(e,t)=>bn(t.left-e.left,t.top-e.top),extract:e=>_.some(bn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:iu("blocker"),...e},o=we.fromTag("div");return pe(o,"role","presentation"),Mt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Pd(o,iu("blocker")),Pd(o,t.layerClass),{element:p(o),destroy:()=>{qe(o)}}})(t),n=$d(o.element(),"mousedown",e.forceDrop),r=$d(o.element(),"mouseup",e.drop),a=$d(o.element(),"mousemove",e.move),s=$d(o.element(),"mouseout",e.delayDrop);return nu({element:o.element,start:e=>{Fe(e,o.element())},stop:()=>{qe(o.element())},destroy:()=>{o.destroy(),r.unbind(),a.unbind(),s.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const cu=su("ephox-snooker").resolve,du=cu("resizer-bar"),uu=cu("resizer-rows"),mu=cu("resizer-cols"),gu=e=>{const t=ut(e.parent(),"."+du);A(t,qe)},pu=(e,t,o)=>{const n=e.origin();A(t,(t=>{t.each((t=>{const r=o(n,t);Pd(r,du),Fe(e.parent(),r)}))}))},hu=(e,t,o,n,r)=>{const a=kn(o),s=t.isResizable,i=n.length>0?Nn.positions(n,o):[],l=i.length>0?((e,t)=>H(e.all,((e,o)=>t(e.element)?[o]:[])))(e,s):[];((e,t,o,n)=>{pu(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const a=we.fromTag("div");return Mt(a,{position:"absolute",left:t+"px",top:o-3.5+"px",height:"7px",width:n+"px"}),he(a,{"data-row":e,role:"presentation"}),a})(t.row,o.left-e.left,t.y-e.top,n);return Pd(r,uu),r}))})(t,N(i,((e,t)=>O(l,(e=>t===e)))),a,Lo(o));const c=r.length>0?Dn.positions(r,o):[],d=c.length>0?((e,t)=>{const o=[];return T(e.grid.columns,(n=>{ln(e,n).map((e=>e.element)).forall(t)&&o.push(n)})),N(o,(o=>{const n=nn(e,(e=>e.column===o));return P(n,(e=>t(e.element)))}))})(e,s):[];((e,t,o,n)=>{pu(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const a=we.fromTag("div");return Mt(a,{position:"absolute",left:t-3.5+"px",top:o+"px",height:r+"px",width:"7px"}),he(a,{"data-column":e,role:"presentation"}),a})(t.col,t.x-e.left,o.top-e.top,0,n);return Pd(r,mu),r}))})(t,N(c,((e,t)=>O(d,(e=>t===e)))),a,fn(o))},fu=(e,t)=>{if(gu(e),e.isResizable(t)){const o=Qo(t),n=un(o),r=cn(o);hu(o,e,t,n,r)}},yu=(e,t)=>{const o=ut(e.parent(),"."+du);A(o,t)},bu=e=>{yu(e,(e=>{At(e,"display","none")}))},vu=e=>{yu(e,(e=>{At(e,"display","block")}))},ku=cu("resizer-bar-dragging"),wu=e=>{const t=(()=>{const e=Jd({drag:Xd(["xDelta","yDelta","target"])});let t=_.none();const o=(()=>{const e=Jd({drag:Xd(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();return o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))})),{assign:e=>{t=_.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}})(),o=((e,t={})=>{var o;return((e,t,o)=>{let n=!1;const r=Jd({start:Xd([]),stop:Xd([])}),a=au(),s=()=>{d.stop(),a.isOn()&&(a.off(),r.trigger.stop())},l=((e,t)=>{let o=null;const n=()=>{i(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),200)}}})(s);a.events.move.bind((o=>{t.mutate(e,o.info)}));const c=e=>(...t)=>{n&&e.apply(null,t)},d=t.sink(ru({forceDrop:s,drop:c(s),move:c((e=>{l.cancel(),a.onEvent(e,t)})),delayDrop:c(l.throttle)}),o);return{element:d.element,go:e=>{d.start(e),a.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{d.destroy()},events:r.registry}})(e,null!==(o=t.mode)&&void 0!==o?o:lu,t)})(t,{});let n=_.none();const r=(e,t)=>_.from(fe(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=Ft(e.target,"top");At(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=Ft(e.target,"left");At(e.target,"left",o+e.xDelta+"px")}))}));const a=(e,t)=>Ft(e,t)-Lt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=a(t,"top");be(t,"data-initial-top"),u.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=a(t,"left");be(t,"data-initial-left"),u.trigger.adjustWidth(o,n,parseInt(e,10))})),fu(e,o)}))}))}));const s=(n,r)=>{u.trigger.startAdjust(),t.assign(n),pe(n,"data-initial-"+r,Ft(n,r)),Pd(n,ku),At(n,"opacity","0.2"),o.go(e.parent())},l=$d(e.parent(),"mousedown",(e=>{var t;t=e.target,Fd(t,uu)&&s(e.target,"top"),(e=>Fd(e,mu))(e.target)&&s(e.target,"left")})),c=t=>Se(t,e.view()),d=$d(e.view(),"mouseover",(t=>{var r;(r=t.target,bt(r,"table",c).filter(Dr)).fold((()=>{st(t.target)&&gu(e)}),(t=>{o.isActive()&&(n=_.some(t),fu(e,t))}))})),u=Jd({adjustHeight:Xd(["table","delta","row"]),adjustWidth:Xd(["table","delta","column"]),startAdjust:Xd([])});return{destroy:()=>{l.unbind(),d.unbind(),o.destroy(),gu(e)},refresh:t=>{fu(e,t)},on:o.on,off:o.off,hideBars:y(bu,e),showBars:y(vu,e),events:u.registry}},_u=(e,t,o)=>{const n=Nn,r=Dn,a=wu(e),s=Jd({beforeResize:Xd(["table","type"]),afterResize:Xd(["table","type"]),startDrag:Xd([])});return a.events.adjustHeight.bind((e=>{const t=e.table;s.trigger.beforeResize(t,"row");((e,t,o,n)=>{const r=Qo(e),a=((e,t,o)=>sr(e,t,o,Kn,(e=>e.getOrThunk(Vt))))(r,e,n),s=E(a,((e,n)=>o===n?Math.max(t+e,Vt()):e)),i=Vs(r,s),l=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(r,s);A(l,(e=>{Zn(e.element,e.height)})),A(i,(e=>{Zn(e.element,e.height)}));const c=R(s,((e,t)=>e+t),0);Zn(e,c)})(t,n.delta(e.delta,t),e.row,n),s.trigger.afterResize(t,"row")})),a.events.startAdjust.bind((e=>{s.trigger.startDrag()})),a.events.adjustWidth.bind((e=>{const n=e.table;s.trigger.beforeResize(n,"col");const a=r.delta(e.delta,n),i=o(n);Us(n,a,e.column,t,i),s.trigger.afterResize(n,"col")})),{on:a.on,off:a.off,refreshBars:a.refresh,hideBars:a.hideBars,showBars:a.showBars,destroy:a.destroy,events:s.registry}},xu=e=>d(e)&&"TABLE"===e.nodeName,Cu="bar-",Su=e=>"false"!==fe(e,"data-mce-resize"),zu=e=>{const t=ld(),o=ld(),n=ld();let r,a;const s=t=>hl(e,t),i=()=>al(e)?Fa():Pa();return e.on("init",(()=>{const r=((e,t)=>e.inline?((e,t,o)=>({parent:p(t),view:p(e),origin:p(bn(0,0)),isResizable:o}))(we.fromDom(e.getBody()),(()=>{const e=we.fromTag("div");return Mt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Fe(it(we.fromDom(document)),e),e})(),t):((e,t)=>{const o=de(e)?(e=>we.fromDom(Ee(e).dom.documentElement))(e):e;return{parent:p(o),view:p(e),origin:p(bn(0,0)),isResizable:t}})(we.fromDom(e.getDoc()),t))(e,Su);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return z(t.split(","),"table")})(e)&&ul(e)){const n=i(),a=_u(r,n,s);a.on(),a.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),a.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,Fr(o),jr(o),Cu+t.type)})),a.events.afterResize.bind((o=>{const n=o.table,r=n.dom;Hr(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,Fr(r),jr(r),Cu+o.type),e.undoManager.add()})),o.set(a)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(xu(o)){const n=we.fromDom(o);A(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+rl(e)+"-columns")})),!Al(n)&&cl(e)?Dl(n):!El(n)&&ll(e)&&Rl(n),Ml(n)&&Ct(t.origin,Cu)&&Rl(n),r=t.width,a=dl(e)?"":((e,t)=>{const o=e.dom.getStyle(t,"width")||e.dom.getAttrib(t,"width");return _.from(o).filter(Ot)})(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(xu(o)){const n=we.fromDom(o),l=t.origin;Ct(l,"corner-")&&((t,o,n)=>{const l=St(o,"e");if(""===a&&Rl(t),n!==r&&""!==a){At(t,"width",a);const o=i(),c=s(t),d=al(e)||l?(e=>ja(e).columns)(t)-1:0;Us(t,n-r,d,o,c)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(a)){const e=parseFloat(a.replace("%",""));At(t,"width",n*e/r+"%")}(e=>/^(\d+(\.\d+)?)px$/.test(e))(a)&&(e=>{const t=Qo(e);sn(t)||A(Wt(e),(e=>{const t=Nt(e,"width");At(e,"width",t),be(e,"width")}))})(t)})(n,l,t.width),Hr(n),Ki(e,n.dom,Yi)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?t.hideBars():t.showBars()}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&qe(t.parent())})(e,t)}))})),{refresh:e=>{o.on((t=>t.refreshBars(we.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Ou=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=z(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=z(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0})})(e);const t=zu(e),o=Yd(e,t),n=fl(e,t,o);return ec(e,n),((e,t)=>{const o=Ir(e),n=t=>Ca(Pr(e)).bind((n=>Gt(n,o).map((o=>{const r=wa(Sa(e),o,n);return t(o,r)})))).getOr("");$({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),za(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}};e.add("dom",(e=>({table:Ou(e)})))}()},14400:function(e,t,o){o(92242)},92242:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(e,t,o)=>{const n="UL"===t?"InsertUnorderedList":"InsertOrderedList";e.execCommand(n,!1,!1===o?null:{"list-style-type":o})},o=e=>t=>t.options.get(e),n=o("advlist_number_styles"),r=o("advlist_bullet_styles"),a=e=>null==e,s=e=>!a(e);var i=tinymce.util.Tools.resolve("tinymce.util.Tools");class l{constructor(e,t){this.tag=e,this.value=t}static some(e){return new l(!0,e)}static none(){return l.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?l.some(e(this.value)):l.none()}bind(e){return this.tag?e(this.value):l.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:l.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?l.some(e):l.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}l.singletonNone=new l(!1);const c=e=>t=>s(t)&&e.test(t.nodeName),d=c(/^(OL|UL|DL)$/),u=c(/^(TH|TD)$/),m=e=>a(e)||"default"===e?"":e,g=(e,t)=>o=>((e,t)=>{const o=e.selection.getNode();return t({parents:e.dom.getParents(o),element:o}),e.on("NodeChange",t),()=>e.off("NodeChange",t)})(e,(n=>((e,n)=>{const r=e.selection.getStart(!0);o.setActive(((e,t,o)=>((e,t,o)=>{for(let t=0,r=e.length;tt.nodeName===o&&((e,t)=>e.dom.isChildOf(t,e.getBody()))(e,t))))(e,n,t)),o.setEnabled(!((e,t)=>{const o=e.dom.getParent(t,"ol,ul,dl");return((e,t)=>null!==t&&!e.dom.isEditable(t))(e,o)})(e,r))})(e,n.parents))),p=(e,o,n,r,a,s)=>{s.length>1?((e,o,n,r,a,s)=>{e.ui.registry.addSplitButton(o,{tooltip:n,icon:"OL"===a?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:e=>{e(i.map(s,(e=>{const t="OL"===a?"num":"bull",o="disc"===e||"decimal"===e?"default":e,n=m(e),r=(e=>e.replace(/\-/g," ").replace(/\b\w/g,(e=>e.toUpperCase())))(e);return{type:"choiceitem",value:n,icon:"list-"+t+"-"+o,text:r}})))},onAction:()=>e.execCommand(r),onItemAction:(o,n)=>{t(e,a,n)},select:t=>{const o=(e=>{const t=e.dom.getParent(e.selection.getNode(),"ol,ul"),o=e.dom.getStyle(t,"listStyleType");return l.from(o)})(e);return o.map((e=>t===e)).getOr(!1)},onSetup:g(e,a)})})(e,o,n,r,a,s):((e,o,n,r,a,s)=>{e.ui.registry.addToggleButton(o,{active:!1,tooltip:n,icon:"OL"===a?"ordered-list":"unordered-list",onSetup:g(e,a),onAction:()=>e.queryCommandState(r)||""===s?e.execCommand(r):t(e,a,s)})})(e,o,n,r,a,m(s[0]))};e.add("advlist",(e=>{e.hasPlugin("lists")?((e=>{const t=e.options.register;t("advlist_number_styles",{processor:"string[]",default:"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman".split(",")}),t("advlist_bullet_styles",{processor:"string[]",default:"default,circle,square".split(",")})})(e),(e=>{p(e,"numlist","Numbered list","InsertOrderedList","OL",n(e)),p(e,"bullist","Bullet list","InsertUnorderedList","UL",r(e))})(e),(e=>{e.addCommand("ApplyUnorderedListStyle",((o,n)=>{t(e,"UL",n["list-style-type"])})),e.addCommand("ApplyOrderedListStyle",((o,n)=>{t(e,"OL",n["list-style-type"])}))})(e)):console.error("Please use the Lists plugin together with the Advanced List plugin.")}))}()},82929:function(e,t,o){o(94773)},94773:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const r="a:not([href])",a=e=>!e,s=e=>e.getAttribute("id")||e.getAttribute("name")||"",i=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==s(e),l=e=>e.dom.getParent(e.selection.getStart(),r),c=(e,r)=>{const a=l(e);a?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,r,a):((e,r)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:r})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;i(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:r}),e.addVisual())}))})(e,r),e.focus()},d=e=>(e=>a(e.attr("href"))&&!a(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,u=e=>t=>{for(let o=0;o{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",u("false")),e.serializer.addNodeFilter("a",u(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=l(e);return t?s(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(c(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:r,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>i(e)})})(e)}))}))}()},66884:function(e,t,o){o(7652)},7652:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),o=t("autolink_pattern"),n=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(e));const i=(void 0,e=>undefined===e);const l=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const m=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,o)=>{for(let n=t-1;n>=0;n--){const t=e.charAt(n);if(!d(t)&&o(t))return n}return-1},p=(e,t)=>{var n;const a=e.schema.getVoidElements(),s=o(e),{dom:l,selection:d}=e;if(null!==l.getParent(d.getNode(),"a[href]"))return null;const p=d.getRng(),h=u(l,(e=>{return l.isBlock(e)||(t=a,o=e.nodeName.toLowerCase(),c.call(t,o))||"false"===l.getContentEditable(e);var t,o})),{container:f,offset:y}=((e,t)=>{let o=e,n=t;for(;1===o.nodeType&&o.childNodes[n];)o=o.childNodes[n],n=3===o.nodeType?o.data.length:o.childNodes.length;return{container:o,offset:n}})(p.endContainer,p.endOffset),b=null!==(n=l.getParent(f,l.isBlock))&&void 0!==n?n:l.getRoot(),v=h.backwards(f,y+t,((e,t)=>{const o=e.data,n=g(o,t,(r=m,e=>!r(e)));var r,a;return-1===n||(a=o[n],/[?!,.;:]/.test(a))?n:n+1}),b);if(!v)return null;let k=v.container;const w=h.backwards(v.container,v.offset,((e,t)=>{k=e;const o=g(e.data,t,m);return-1===o?o:o+1}),b),_=l.createRng();w?_.setStart(w.container,w.offset):_.setStart(k,0),_.setEnd(v.container,v.offset);const x=_.toString().replace(/\uFEFF/g,"").match(s);if(x){let t=x[0];return S="www.",(C=t).length>=4&&C.substr(0,4)===S?t=r(e)+"://"+t:((e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:_,url:t}}var C,S;return null},h=(e,t)=>{const{dom:o,selection:r}=e,{rng:i,url:l}=t,c=r.getBookmark();r.setRng(i);const d="createlink",u={command:d,ui:!1,value:l};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,l),e.dispatch("ExecCommand",u);const t=n(e);if(s(t)){const n=r.getNode();o.setAttrib(n,"target",t),"_blank"!==t||a(e)||o.setAttrib(n,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},f=e=>{const t=p(e,-1);l(t)&&h(e,t)},y=f;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=p(e,0);l(t)&&h(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?f(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}()},15209:function(e,t,o){o(78578)},78578:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env");const o=e=>t=>t.options.get(e),n=o("min_height"),r=o("max_height"),a=o("autoresize_overflow_padding"),s=o("autoresize_bottom_margin"),i=(e,t)=>{const o=e.getBody();o&&(o.style.overflowY=t?"":"hidden",t||(o.scrollTop=0))},l=(e,t,o,n)=>{var r;const a=parseInt(null!==(r=e.getStyle(t,o,n))&&void 0!==r?r:"",10);return isNaN(a)?0:a},c=(e,o,s,d)=>{var u;const m=e.dom,g=e.getDoc();if(!g)return;if((e=>e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen())(e))return void i(e,!0);const p=g.documentElement,h=d?d():a(e),f=null!==(u=n(e))&&void 0!==u?u:e.getElement().offsetHeight;let y=f;const b=l(m,p,"margin-top",!0),v=l(m,p,"margin-bottom",!0);let k=p.offsetHeight+b+v+h;k<0&&(k=0);const w=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;k+w>f&&(y=k+w);const _=r(e);if(_&&y>_?(y=_,i(e,!0)):i(e,!1),y!==o.get()){const n=y-o.get();if(m.setStyle(e.getContainer(),"height",y+"px"),o.set(y),(e=>{e.dispatch("ResizeEditor")})(e),t.browser.isSafari()&&(t.os.isMacOS()||t.os.isiOS())){const t=e.getWin();t.scrollTo(t.pageXOffset,t.pageYOffset)}e.hasFocus()&&(e=>{if("setcontent"===(null==e?void 0:e.type.toLowerCase())){const t=e;return!0===t.selection||!0===t.paste}return!1})(s)&&e.selection.scrollIntoView(),(t.browser.isSafari()||t.browser.isChromium())&&n<0&&c(e,o,s,d)}};e.add("autoresize",(e=>{if((e=>{const t=e.options.register;t("autoresize_overflow_padding",{processor:"number",default:1}),t("autoresize_bottom_margin",{processor:"number",default:50})})(e),e.options.isSet("resize")||e.options.set("resize",!1),!e.inline){const o=(e=>{let t=0;return{get:()=>t,set:e=>{t=e}}})();((e,t)=>{e.addCommand("mceAutoResize",(()=>{c(e,t)}))})(e,o),((e,o)=>{let n,r,i=()=>s(e);e.on("init",(r=>{n=0;const s=a(e),l=e.dom;l.setStyles(e.getDoc().documentElement,{height:"auto"}),t.browser.isEdge()||t.browser.isIE()?l.setStyles(e.getBody(),{paddingLeft:s,paddingRight:s,"min-height":0}):l.setStyles(e.getBody(),{paddingLeft:s,paddingRight:s}),c(e,o,r,i),n+=1})),e.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",(t=>{if(1===n)r=e.getContainer().offsetHeight,c(e,o,t,i),n+=1;else if(2===n){const t=r0):i,n+=1}else c(e,o,t,i)}))})(e,o)}}))}()},39719:function(e,t,o){o(97660)},97660:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(e,t)=>{const o=((e,t)=>e.dispatch("insertCustomChar",{chr:t}))(e,t).chr;e.execCommand("mceInsertContent",!1,o)},o=e=>t=>e===t,n=("array",e=>"array"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(e));const r=o(null),a=o(void 0),s=e=>"function"==typeof e,i=(!1,()=>false);class l{constructor(e,t){this.tag=e,this.value=t}static some(e){return new l(!0,e)}static none(){return l.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?l.some(e(this.value)):l.none()}bind(e){return this.tag?e(this.value):l.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:l.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?l.none():l.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}l.singletonNone=new l(!1);const c=Array.prototype.push,d=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;rt=>t.options.get(e),g=m("charmap"),p=m("charmap_append"),h=u.isArray,f="User Defined",y=e=>{return h(e)?(t=e,u.grep(t,(e=>h(e)&&2===e.length))):"function"==typeof e?e():[];var t},b=e=>{const t=((e,t)=>{const o=g(e);o&&(t=[{name:f,characters:y(o)}]);const n=p(e);if(n){const e=u.grep(t,(e=>e.name===f));return e.length?(e[0].characters=[...e[0].characters,...y(n)],t):t.concat({name:f,characters:y(n)})}return t})(e,[{name:"Currency",characters:[[36,"dollar sign"],[162,"cent sign"],[8364,"euro sign"],[163,"pound sign"],[165,"yen sign"],[164,"currency sign"],[8352,"euro-currency sign"],[8353,"colon sign"],[8354,"cruzeiro sign"],[8355,"french franc sign"],[8356,"lira sign"],[8357,"mill sign"],[8358,"naira sign"],[8359,"peseta sign"],[8360,"rupee sign"],[8361,"won sign"],[8362,"new sheqel sign"],[8363,"dong sign"],[8365,"kip sign"],[8366,"tugrik sign"],[8367,"drachma sign"],[8368,"german penny symbol"],[8369,"peso sign"],[8370,"guarani sign"],[8371,"austral sign"],[8372,"hryvnia sign"],[8373,"cedi sign"],[8374,"livre tournois sign"],[8375,"spesmilo sign"],[8376,"tenge sign"],[8377,"indian rupee sign"],[8378,"turkish lira sign"],[8379,"nordic mark sign"],[8380,"manat sign"],[8381,"ruble sign"],[20870,"yen character"],[20803,"yuan character"],[22291,"yuan character, in hong kong and taiwan"],[22278,"yen/yuan character variant one"]]},{name:"Text",characters:[[169,"copyright sign"],[174,"registered sign"],[8482,"trade mark sign"],[8240,"per mille sign"],[181,"micro sign"],[183,"middle dot"],[8226,"bullet"],[8230,"three dot leader"],[8242,"minutes / feet"],[8243,"seconds / inches"],[167,"section sign"],[182,"paragraph sign"],[223,"sharp s / ess-zed"]]},{name:"Quotations",characters:[[8249,"single left-pointing angle quotation mark"],[8250,"single right-pointing angle quotation mark"],[171,"left pointing guillemet"],[187,"right pointing guillemet"],[8216,"left single quotation mark"],[8217,"right single quotation mark"],[8220,"left double quotation mark"],[8221,"right double quotation mark"],[8218,"single low-9 quotation mark"],[8222,"double low-9 quotation mark"],[60,"less-than sign"],[62,"greater-than sign"],[8804,"less-than or equal to"],[8805,"greater-than or equal to"],[8211,"en dash"],[8212,"em dash"],[175,"macron"],[8254,"overline"],[164,"currency sign"],[166,"broken bar"],[168,"diaeresis"],[161,"inverted exclamation mark"],[191,"turned question mark"],[710,"circumflex accent"],[732,"small tilde"],[176,"degree sign"],[8722,"minus sign"],[177,"plus-minus sign"],[247,"division sign"],[8260,"fraction slash"],[215,"multiplication sign"],[185,"superscript one"],[178,"superscript two"],[179,"superscript three"],[188,"fraction one quarter"],[189,"fraction one half"],[190,"fraction three quarters"]]},{name:"Mathematical",characters:[[402,"function / florin"],[8747,"integral"],[8721,"n-ary sumation"],[8734,"infinity"],[8730,"square root"],[8764,"similar to"],[8773,"approximately equal to"],[8776,"almost equal to"],[8800,"not equal to"],[8801,"identical to"],[8712,"element of"],[8713,"not an element of"],[8715,"contains as member"],[8719,"n-ary product"],[8743,"logical and"],[8744,"logical or"],[172,"not sign"],[8745,"intersection"],[8746,"union"],[8706,"partial differential"],[8704,"for all"],[8707,"there exists"],[8709,"diameter"],[8711,"backward difference"],[8727,"asterisk operator"],[8733,"proportional to"],[8736,"angle"]]},{name:"Extended Latin",characters:[[192,"A - grave"],[193,"A - acute"],[194,"A - circumflex"],[195,"A - tilde"],[196,"A - diaeresis"],[197,"A - ring above"],[256,"A - macron"],[198,"ligature AE"],[199,"C - cedilla"],[200,"E - grave"],[201,"E - acute"],[202,"E - circumflex"],[203,"E - diaeresis"],[274,"E - macron"],[204,"I - grave"],[205,"I - acute"],[206,"I - circumflex"],[207,"I - diaeresis"],[298,"I - macron"],[208,"ETH"],[209,"N - tilde"],[210,"O - grave"],[211,"O - acute"],[212,"O - circumflex"],[213,"O - tilde"],[214,"O - diaeresis"],[216,"O - slash"],[332,"O - macron"],[338,"ligature OE"],[352,"S - caron"],[217,"U - grave"],[218,"U - acute"],[219,"U - circumflex"],[220,"U - diaeresis"],[362,"U - macron"],[221,"Y - acute"],[376,"Y - diaeresis"],[562,"Y - macron"],[222,"THORN"],[224,"a - grave"],[225,"a - acute"],[226,"a - circumflex"],[227,"a - tilde"],[228,"a - diaeresis"],[229,"a - ring above"],[257,"a - macron"],[230,"ligature ae"],[231,"c - cedilla"],[232,"e - grave"],[233,"e - acute"],[234,"e - circumflex"],[235,"e - diaeresis"],[275,"e - macron"],[236,"i - grave"],[237,"i - acute"],[238,"i - circumflex"],[239,"i - diaeresis"],[299,"i - macron"],[240,"eth"],[241,"n - tilde"],[242,"o - grave"],[243,"o - acute"],[244,"o - circumflex"],[245,"o - tilde"],[246,"o - diaeresis"],[248,"o slash"],[333,"o macron"],[339,"ligature oe"],[353,"s - caron"],[249,"u - grave"],[250,"u - acute"],[251,"u - circumflex"],[252,"u - diaeresis"],[363,"u - macron"],[253,"y - acute"],[254,"thorn"],[255,"y - diaeresis"],[563,"y - macron"],[913,"Alpha"],[914,"Beta"],[915,"Gamma"],[916,"Delta"],[917,"Epsilon"],[918,"Zeta"],[919,"Eta"],[920,"Theta"],[921,"Iota"],[922,"Kappa"],[923,"Lambda"],[924,"Mu"],[925,"Nu"],[926,"Xi"],[927,"Omicron"],[928,"Pi"],[929,"Rho"],[931,"Sigma"],[932,"Tau"],[933,"Upsilon"],[934,"Phi"],[935,"Chi"],[936,"Psi"],[937,"Omega"],[945,"alpha"],[946,"beta"],[947,"gamma"],[948,"delta"],[949,"epsilon"],[950,"zeta"],[951,"eta"],[952,"theta"],[953,"iota"],[954,"kappa"],[955,"lambda"],[956,"mu"],[957,"nu"],[958,"xi"],[959,"omicron"],[960,"pi"],[961,"rho"],[962,"final sigma"],[963,"sigma"],[964,"tau"],[965,"upsilon"],[966,"phi"],[967,"chi"],[968,"psi"],[969,"omega"]]},{name:"Symbols",characters:[[8501,"alef symbol"],[982,"pi symbol"],[8476,"real part symbol"],[978,"upsilon - hook symbol"],[8472,"Weierstrass p"],[8465,"imaginary part"]]},{name:"Arrows",characters:[[8592,"leftwards arrow"],[8593,"upwards arrow"],[8594,"rightwards arrow"],[8595,"downwards arrow"],[8596,"left right arrow"],[8629,"carriage return"],[8656,"leftwards double arrow"],[8657,"upwards double arrow"],[8658,"rightwards double arrow"],[8659,"downwards double arrow"],[8660,"left right double arrow"],[8756,"therefore"],[8834,"subset of"],[8835,"superset of"],[8836,"not a subset of"],[8838,"subset of or equal to"],[8839,"superset of or equal to"],[8853,"circled plus"],[8855,"circled times"],[8869,"perpendicular"],[8901,"dot operator"],[8968,"left ceiling"],[8969,"right ceiling"],[8970,"left floor"],[8971,"right floor"],[9001,"left-pointing angle bracket"],[9002,"right-pointing angle bracket"],[9674,"lozenge"],[9824,"black spade suit"],[9827,"black club suit"],[9829,"black heart suit"],[9830,"black diamond suit"],[8194,"en space"],[8195,"em space"],[8201,"thin space"],[8204,"zero width non-joiner"],[8205,"zero width joiner"],[8206,"left-to-right mark"],[8207,"right-to-left mark"]]}]);return t.length>1?[{name:"All",characters:(o=t,r=e=>e.characters,(e=>{const t=[];for(let o=0,r=e.length;o{let t=e;return{get:()=>t,set:e=>{t=e}}},k=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!a(n)||r+t.length<=n)},w=String.fromCodePoint,_=(e,t)=>{const o=[],n=t.toLowerCase();return((e,t)=>{for(let t=0,a=e.length;t!!k(w(e).toLowerCase(),o)||k(t.toLowerCase(),o)||k(t.toLowerCase().replace(/\s+/g,""),o))((r=e[t])[0],r[1],n)&&o.push(r);var r})(e.characters),d(o,(e=>({text:e[1],value:w(e[0]),icon:w(e[0])})))},x="pattern",C=(e,o)=>{const n=()=>[{label:"Search",type:"input",name:x},{type:"collection",name:"results"}],a=1===o.length?v(f):v("All"),s=((e,t)=>{let o=null;const n=()=>{r(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),40)}}})((e=>{const t=e.getData().pattern;((e,t)=>{var n,r;(n=o,r=e=>e.name===a.get(),((e,t,o)=>{for(let n=0,r=e.length;n{const n=_(o,t);e.setData({results:n})}))})(e,t)})),c={title:"Special Character",size:"normal",body:1===o.length?{type:"panel",items:n()}:{type:"tabpanel",tabs:d(o,(e=>({title:e.name,name:e.name,items:n()})))},buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{pattern:"",results:_(o[0],"")},onAction:(o,n)=>{"results"===n.name&&(t(e,n.value),o.close())},onTabChange:(e,t)=>{a.set(t.newTabName),s.throttle(e)},onChange:(e,t)=>{t.name===x&&s.throttle(e)}};e.windowManager.open(c).focus(x)};e.add("charmap",(e=>{(e=>{const t=e.options.register,o=e=>s(e)||n(e);t("charmap",{processor:o}),t("charmap_append",{processor:o})})(e);const o=b(e);return((e,t)=>{e.addCommand("mceShowCharmap",(()=>{C(e,t)}))})(e,o),(e=>{const t=()=>e.execCommand("mceShowCharmap");e.ui.registry.addButton("charmap",{icon:"insert-character",tooltip:"Special character",onAction:t}),e.ui.registry.addMenuItem("charmap",{icon:"insert-character",text:"Special character...",onAction:t})})(e),((e,t)=>{e.ui.registry.addAutocompleter("charmap",{trigger:":",columns:"auto",minChars:2,fetch:(e,o)=>new Promise(((o,n)=>{o(_(t,e))})),onAction:(t,o,n)=>{e.selection.setRng(o),e.insertContent(n),t.hide()}})})(e,o[0]),(e=>({getCharMap:()=>b(e),insertChar:o=>{t(e,o)}}))(e)}))}()},88190:function(e,t,o){o(7440)},7440:function(){!function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const t=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:t},onSubmit:t=>{((e,t)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(t)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,t.getData().code),t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:t}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:t})})(e),{})))}()},79835:function(e,t,o){o(55534)},35414:function(){window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"😀",fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"😬",fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"😁",fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"😂",fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],char:"🤣",fitzpatrick_scale:!1,category:"people"},partying:{keywords:["face","celebration","woohoo"],char:"🥳",fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"😃",fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"😄",fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"😅",fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"😆",fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"😇",fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],char:"😉",fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"😊",fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],char:"🙂",fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],char:"🙃",fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"☺️",fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],char:"😋",fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"😌",fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"😍",fitzpatrick_scale:!1,category:"people"},smiling_face_with_three_hearts:{keywords:["face","love","like","affection","valentines","infatuation","crush","hearts","adore"],char:"🥰",fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😘",fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"😗",fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"😙",fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"😚",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"😜",fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],char:"🤪",fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],char:"🤨",fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],char:"🧐",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"😝",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"😛",fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],char:"🤑",fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],char:"🤓",fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"😎",fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],char:"🤩",fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],char:"🤡",fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],char:"🤠",fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],char:"🤗",fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"😏",fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"😶",fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"😐",fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"😑",fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],char:"😒",fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],char:"🙄",fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"🤔",fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],char:"🤥",fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],char:"🤭",fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],char:"🤫",fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],char:"🤬",fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],char:"🤯",fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"😳",fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"😞",fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"😟",fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"😠",fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"😡",fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],char:"😔",fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"😕",fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],char:"🙁",fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],char:"☹",fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"😣",fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"😖",fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"😫",fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"😩",fitzpatrick_scale:!1,category:"people"},pleading:{keywords:["face","begging","mercy"],char:"🥺",fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"😤",fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"😮",fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"😱",fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"😨",fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"😰",fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],char:"😯",fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],char:"😦",fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"😧",fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"😢",fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"😥",fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],char:"🤤",fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"😪",fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"😓",fitzpatrick_scale:!1,category:"people"},hot:{keywords:["face","feverish","heat","red","sweating"],char:"🥵",fitzpatrick_scale:!1,category:"people"},cold:{keywords:["face","blue","freezing","frozen","frostbite","icicles"],char:"🥶",fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"😭",fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"😵",fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"😲",fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],char:"🤐",fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],char:"🤢",fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],char:"🤧",fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],char:"🤮",fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"😷",fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],char:"🤒",fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],char:"🤕",fitzpatrick_scale:!1,category:"people"},woozy:{keywords:["face","dizzy","intoxicated","tipsy","wavy"],char:"🥴",fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"😴",fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],char:"💤",fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],char:"💩",fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],char:"😈",fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],char:"👿",fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"👹",fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"👺",fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],char:"💀",fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"👻",fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"👽",fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],char:"🤖",fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"😺",fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"😸",fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"😹",fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"😻",fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"😼",fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"😽",fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"🙀",fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"😿",fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],char:"😾",fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],char:"🤲",fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"🙌",fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"👏",fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],char:"👋",fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],char:"🤙",fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"👍",fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],char:"👎",fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"👊",fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"✊",fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],char:"🤛",fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],char:"🤜",fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"✌",fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],char:"👌",fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],char:"✋",fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],char:"🤚",fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"👐",fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"💪",fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"🙏",fitzpatrick_scale:!0,category:"people"},foot:{keywords:["kick","stomp"],char:"🦶",fitzpatrick_scale:!0,category:"people"},leg:{keywords:["kick","limb"],char:"🦵",fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],char:"🤝",fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"☝",fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"👆",fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"👇",fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"👈",fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"👉",fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],char:"🖕",fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],char:"🖐",fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],char:"🤟",fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],char:"🤘",fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],char:"🤞",fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"🖖",fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],char:"✍",fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],char:"🤳",fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"💅",fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],char:"👄",fitzpatrick_scale:!1,category:"people"},tooth:{keywords:["teeth","dentist"],char:"🦷",fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],char:"👅",fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"👂",fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],char:"👃",fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"👁",fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"👀",fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],char:"🧠",fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"👤",fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"👥",fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],char:"🗣",fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"👶",fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],char:"🧒",fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"👦",fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],char:"👧",fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],char:"🧑",fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"👨",fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],char:"👩",fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],char:"👱‍♀️",fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],char:"👱",fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],char:"🧔",fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],char:"🧓",fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"👴",fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"👵",fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"👲",fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],char:"🧕",fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],char:"👳‍♀️",fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"👳",fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],char:"👮‍♀️",fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"👮",fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],char:"👷‍♀️",fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"👷",fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],char:"💂‍♀️",fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"💂",fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],char:"🕵️‍♀️",fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],char:"🕵",fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],char:"👩‍⚕️",fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],char:"👨‍⚕️",fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],char:"👩‍🌾",fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],char:"👨‍🌾",fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],char:"👩‍🍳",fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],char:"👨‍🍳",fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],char:"👩‍🎓",fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],char:"👨‍🎓",fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],char:"👩‍🎤",fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],char:"👨‍🎤",fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],char:"👩‍🏫",fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],char:"👨‍🏫",fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],char:"👩‍🏭",fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],char:"👨‍🏭",fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],char:"👩‍💻",fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],char:"👨‍💻",fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],char:"👩‍💼",fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],char:"👨‍💼",fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],char:"👩‍🔧",fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],char:"👨‍🔧",fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],char:"👩‍🔬",fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],char:"👨‍🔬",fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],char:"👩‍🎨",fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],char:"👨‍🎨",fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],char:"👩‍🚒",fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],char:"👨‍🚒",fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],char:"👩‍✈️",fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],char:"👨‍✈️",fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],char:"👩‍🚀",fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],char:"👨‍🚀",fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],char:"👩‍⚖️",fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],char:"👨‍⚖️",fitzpatrick_scale:!0,category:"people"},woman_superhero:{keywords:["woman","female","good","heroine","superpowers"],char:"🦸‍♀️",fitzpatrick_scale:!0,category:"people"},man_superhero:{keywords:["man","male","good","hero","superpowers"],char:"🦸‍♂️",fitzpatrick_scale:!0,category:"people"},woman_supervillain:{keywords:["woman","female","evil","bad","criminal","heroine","superpowers"],char:"🦹‍♀️",fitzpatrick_scale:!0,category:"people"},man_supervillain:{keywords:["man","male","evil","bad","criminal","hero","superpowers"],char:"🦹‍♂️",fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],char:"🤶",fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"🎅",fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],char:"🧙‍♀️",fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],char:"🧙‍♂️",fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],char:"🧝‍♀️",fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],char:"🧝‍♂️",fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],char:"🧛‍♀️",fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],char:"🧛‍♂️",fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],char:"🧟‍♀️",fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],char:"🧟‍♂️",fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],char:"🧞‍♀️",fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],char:"🧞‍♂️",fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],char:"🧜‍♀️",fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],char:"🧜‍♂️",fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],char:"🧚‍♀️",fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],char:"🧚‍♂️",fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],char:"👼",fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],char:"🤰",fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],char:"🤱",fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"👸",fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],char:"🤴",fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"👰",fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],char:"🤵",fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],char:"🏃‍♀️",fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],char:"🏃",fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],char:"🚶‍♀️",fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],char:"🚶",fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"💃",fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],char:"🕺",fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],char:"👯",fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],char:"👯‍♂️",fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"👫",fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"👬",fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"👭",fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],char:"🙇‍♀️",fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],char:"🙇",fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],char:"🤦‍♂️",fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],char:"🤦‍♀️",fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],char:"🤷",fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],char:"🤷‍♂️",fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],char:"💁",fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],char:"💁‍♂️",fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],char:"🙅",fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],char:"🙅‍♂️",fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"🙆",fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],char:"🙆‍♂️",fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],char:"🙋",fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],char:"🙋‍♂️",fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],char:"🙎",fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],char:"🙎‍♂️",fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"🙍",fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],char:"🙍‍♂️",fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],char:"💇",fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],char:"💇‍♂️",fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],char:"💆",fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],char:"💆‍♂️",fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],char:"🧖‍♀️",fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],char:"🧖‍♂️",fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"💑",fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👩‍❤️‍👩",fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"👨‍❤️‍👨",fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"💏",fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👩‍❤️‍💋‍👩",fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],char:"👨‍❤️‍💋‍👨",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"👪",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"👨‍👩‍👧",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👦",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👦‍👦",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👩‍👧‍👧",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👦‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],char:"👩‍👩‍👧‍👧",fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦",fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👦",fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👦‍👦",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],char:"👨‍👨‍👧‍👧",fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],char:"👩‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],char:"👩‍👧",fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],char:"👩‍👦‍👦",fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],char:"👩‍👧‍👧",fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],char:"👨‍👦",fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],char:"👨‍👧",fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👦",fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],char:"👨‍👦‍👦",fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],char:"👨‍👧‍👧",fitzpatrick_scale:!1,category:"people"},yarn:{keywords:["ball","crochet","knit"],char:"🧶",fitzpatrick_scale:!1,category:"people"},thread:{keywords:["needle","sewing","spool","string"],char:"🧵",fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],char:"🧥",fitzpatrick_scale:!1,category:"people"},labcoat:{keywords:["doctor","experiment","scientist","chemist"],char:"🥼",fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],char:"👚",fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],char:"👕",fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],char:"👖",fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"👔",fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"👗",fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"👙",fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"👘",fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"💄",fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"💋",fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"👣",fitzpatrick_scale:!1,category:"people"},flat_shoe:{keywords:["ballet","slip-on","slipper"],char:"🥿",fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"👠",fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"👡",fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],char:"👢",fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],char:"👞",fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"👟",fitzpatrick_scale:!1,category:"people"},hiking_boot:{keywords:["backpacking","camping","hiking"],char:"🥾",fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],char:"🧦",fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],char:"🧤",fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],char:"🧣",fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"👒",fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"🎩",fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],char:"🧢",fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],char:"⛑",fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"🎓",fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"👑",fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"🎒",fitzpatrick_scale:!1,category:"people"},luggage:{keywords:["packing","travel"],char:"🧳",fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"👝",fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"👛",fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"👜",fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],char:"💼",fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"👓",fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"🕶",fitzpatrick_scale:!1,category:"people"},goggles:{keywords:["eyes","protection","safety"],char:"🥽",fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"💍",fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"🌂",fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"🐶",fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"🐱",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],char:"🐭",fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"🐹",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"🐰",fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],char:"🦊",fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"🐻",fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"🐼",fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"🐨",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"🐯",fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],char:"🦁",fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐮",fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"🐷",fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"🐽",fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"🐸",fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],char:"🦑",fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"🐙",fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],char:"🦐",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"🐵",fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],char:"🦍",fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"🙈",fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"🙉",fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"🙊",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"🐒",fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"🐔",fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"🐧",fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"🐦",fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"🐤",fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"🐣",fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"🐥",fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],char:"🦆",fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],char:"🦅",fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],char:"🦉",fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],char:"🦇",fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"🐺",fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"🐗",fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"🐴",fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],char:"🦄",fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"🐝",fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"🐛",fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],char:"🦋",fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"🐌",fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"🐞",fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"🐜",fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],char:"🦗",fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"🕷",fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"🦂",fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"🦀",fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"🐍",fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],char:"🦎",fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],char:"🦖",fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],char:"🦕",fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"🐢",fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"🐠",fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"🐟",fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"🐡",fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"🐬",fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],char:"🦈",fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"🐳",fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"🐋",fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"🐊",fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"🐆",fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],char:"🦓",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"🐅",fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"🐃",fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"🐂",fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"🐄",fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],char:"🦌",fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"🐪",fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"🐫",fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],char:"🦒",fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],char:"🐘",fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],char:"🦏",fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"🐐",fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"🐏",fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"🐑",fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"🐎",fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"🐖",fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"🐀",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"🐁",fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"🐓",fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"🦃",fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],char:"🕊",fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"🐕",fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"🐩",fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"🐈",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"🐇",fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"🐿",fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],char:"🦔",fitzpatrick_scale:!1,category:"animals_and_nature"},raccoon:{keywords:["animal","nature"],char:"🦝",fitzpatrick_scale:!1,category:"animals_and_nature"},llama:{keywords:["animal","nature","alpaca"],char:"🦙",fitzpatrick_scale:!1,category:"animals_and_nature"},hippopotamus:{keywords:["animal","nature"],char:"🦛",fitzpatrick_scale:!1,category:"animals_and_nature"},kangaroo:{keywords:["animal","nature","australia","joey","hop","marsupial"],char:"🦘",fitzpatrick_scale:!1,category:"animals_and_nature"},badger:{keywords:["animal","nature","honey"],char:"🦡",fitzpatrick_scale:!1,category:"animals_and_nature"},swan:{keywords:["animal","nature","bird"],char:"🦢",fitzpatrick_scale:!1,category:"animals_and_nature"},peacock:{keywords:["animal","nature","peahen","bird"],char:"🦚",fitzpatrick_scale:!1,category:"animals_and_nature"},parrot:{keywords:["animal","nature","bird","pirate","talk"],char:"🦜",fitzpatrick_scale:!1,category:"animals_and_nature"},lobster:{keywords:["animal","nature","bisque","claws","seafood"],char:"🦞",fitzpatrick_scale:!1,category:"animals_and_nature"},mosquito:{keywords:["animal","nature","insect","malaria"],char:"🦟",fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],char:"🐾",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"🐉",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"🐲",fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"🌵",fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"🎄",fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"🌲",fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"🌳",fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"🌴",fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"🌱",fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"🌿",fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"☘",fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"🍀",fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"🎍",fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"🎋",fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"🍃",fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"🍂",fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],char:"🍁",fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"🌾",fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"🌺",fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"🌻",fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"🌹",fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],char:"🥀",fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"🌷",fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"🌼",fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"🌸",fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"💐",fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"🍄",fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"🌰",fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"🎃",fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"🐚",fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"🕸",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"🌎",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"🌍",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"🌏",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"🌕",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"🌖",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌗",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌘",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌑",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌒",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌓",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"🌔",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌚",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌝",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌛",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"🌜",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"🌞",fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"🌙",fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"⭐",fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"🌟",fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"💫",fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"✨",fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],char:"☄",fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"☀️",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],char:"🌤",fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"⛅",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],char:"🌥",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],char:"🌦",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"☁️",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"🌧",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],char:"⛈",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"🌩",fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"⚡",fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"🔥",fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"💥",fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"❄️",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"🌨",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"⛄",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"☃",fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],char:"🌬",fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"💨",fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],char:"🌪",fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],char:"🌫",fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],char:"☂",fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"☔",fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"💧",fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"💦",fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"🌊",fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"🍏",fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"🍎",fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"🍐",fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"🍊",fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"🍋",fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"🍌",fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"🍉",fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"🍇",fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"🍓",fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"🍈",fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"🍒",fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"🍑",fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"🍍",fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],char:"🥥",fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],char:"🥝",fitzpatrick_scale:!1,category:"food_and_drink"},mango:{keywords:["fruit","food","tropical"],char:"🥭",fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],char:"🥑",fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],char:"🥦",fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"🍅",fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"🍆",fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],char:"🥒",fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],char:"🥕",fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"🌶",fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],char:"🥔",fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"🌽",fitzpatrick_scale:!1,category:"food_and_drink"},leafy_greens:{keywords:["food","vegetable","plant","bok choy","cabbage","kale","lettuce"],char:"🥬",fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"🍠",fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],char:"🥜",fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"🍯",fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],char:"🥐",fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"🍞",fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],char:"🥖",fitzpatrick_scale:!1,category:"food_and_drink"},bagel:{keywords:["food","bread","bakery","schmear"],char:"🥯",fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],char:"🥨",fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],char:"🧀",fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],char:"🥚",fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],char:"🥓",fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],char:"🥩",fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],char:"🥞",fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"🍗",fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"🍖",fitzpatrick_scale:!1,category:"food_and_drink"},bone:{keywords:["skeleton"],char:"🦴",fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"🍤",fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],char:"🍳",fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"🍔",fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"🍟",fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],char:"🥙",fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],char:"🌭",fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],char:"🍕",fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],char:"🥪",fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],char:"🥫",fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"🍝",fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"🌮",fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"🌯",fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],char:"🥗",fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],char:"🥘",fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"🍜",fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"🍲",fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],char:"🍥",fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],char:"🥠",fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"🍣",fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"🍱",fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"🍛",fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"🍙",fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"🍚",fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"🍘",fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"🍢",fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"🍡",fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"🍧",fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"🍨",fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"🍦",fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],char:"🥧",fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"🍰",fitzpatrick_scale:!1,category:"food_and_drink"},cupcake:{keywords:["food","dessert","bakery","sweet"],char:"🧁",fitzpatrick_scale:!1,category:"food_and_drink"},moon_cake:{keywords:["food","autumn"],char:"🥮",fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"🎂",fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"🍮",fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"🍬",fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"🍭",fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"🍫",fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"🍿",fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],char:"🥟",fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"🍩",fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"🍪",fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],char:"🥛",fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍺",fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"🍻",fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],char:"🥂",fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"🍷",fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],char:"🥃",fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"🍸",fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"🍹",fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],char:"🍾",fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"🍶",fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"🍵",fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],char:"🥤",fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"☕",fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"🍼",fitzpatrick_scale:!1,category:"food_and_drink"},salt:{keywords:["condiment","shaker"],char:"🧂",fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],char:"🥄",fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"🍴",fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"🍽",fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],char:"🥣",fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],char:"🥡",fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],char:"🥢",fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"⚽",fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"🏀",fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],char:"🏈",fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],char:"⚾",fitzpatrick_scale:!1,category:"activity"},softball:{keywords:["sports","balls"],char:"🥎",fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],char:"🎾",fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],char:"🏐",fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],char:"🏉",fitzpatrick_scale:!1,category:"activity"},flying_disc:{keywords:["sports","frisbee","ultimate"],char:"🥏",fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"🎱",fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"⛳",fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],char:"🏌️‍♀️",fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],char:"🏌",fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],char:"🏓",fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],char:"🏸",fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],char:"🥅",fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],char:"🏒",fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],char:"🏑",fitzpatrick_scale:!1,category:"activity"},lacrosse:{keywords:["sports","ball","stick"],char:"🥍",fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],char:"🏏",fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"🎿",fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],char:"⛷",fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],char:"🏂",fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],char:"🤺",fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♀️",fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],char:"🤼‍♂️",fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♀️",fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],char:"🤸‍♂️",fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],char:"🤾‍♀️",fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],char:"🤾‍♂️",fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],char:"⛸",fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],char:"🥌",fitzpatrick_scale:!1,category:"activity"},skateboard:{keywords:["board"],char:"🛹",fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],char:"🛷",fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],char:"🏹",fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"🎣",fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],char:"🥊",fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],char:"🥋",fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],char:"🚣‍♀️",fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],char:"🚣",fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],char:"🧗‍♀️",fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],char:"🧗‍♂️",fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],char:"🏊‍♀️",fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],char:"🏊",fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♀️",fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],char:"🤽‍♂️",fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♀️",fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],char:"🧘‍♂️",fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],char:"🏄‍♀️",fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],char:"🏄",fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"🛀",fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],char:"⛹️‍♀️",fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],char:"⛹",fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],char:"🏋️‍♀️",fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],char:"🏋",fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],char:"🚴‍♀️",fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],char:"🚴",fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],char:"🚵‍♀️",fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],char:"🚵",fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"🏇",fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"🕴",fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"🏆",fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"🎽",fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],char:"🏅",fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],char:"🎖",fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],char:"🥇",fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],char:"🥈",fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],char:"🥉",fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"🎗",fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"🏵",fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],char:"🎫",fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],char:"🎟",fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"🎭",fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"🎨",fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"🎪",fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♀️",fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],char:"🤹‍♂️",fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],char:"🎤",fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"🎧",fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],char:"🎼",fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],char:"🎹",fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],char:"🥁",fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"🎷",fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],char:"🎺",fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],char:"🎸",fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"🎻",fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],char:"🎬",fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"🎮",fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"👾",fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],char:"🎯",fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"🎲",fitzpatrick_scale:!1,category:"activity"},chess_pawn:{keywords:["expendable"],char:"♟",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"🎰",fitzpatrick_scale:!1,category:"activity"},jigsaw:{keywords:["interlocking","puzzle","piece"],char:"🧩",fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],char:"🎳",fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],char:"🚗",fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"🚕",fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"🚙",fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"🚌",fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"🚎",fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"🏎",fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"🚓",fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"🚑",fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"🚒",fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"🚐",fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"🚚",fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"🚛",fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"🚜",fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],char:"🛴",fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],char:"🏍",fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"🚲",fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],char:"🛵",fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"🚨",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"🚔",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"🚍",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"🚘",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"🚖",fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"🚡",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"🚠",fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"🚟",fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"🚃",fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"🚋",fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"🚝",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"🚄",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"🚅",fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"🚈",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"🚞",fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"🚂",fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"🚆",fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"🚇",fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"🚊",fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"🚉",fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],char:"🛸",fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"🚁",fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"🛩",fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"✈️",fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],char:"🛫",fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],char:"🛬",fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],char:"⛵",fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"🛥",fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"🚤",fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"⛴",fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"🛳",fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"🚀",fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"🛰",fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"💺",fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],char:"🛶",fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"⚓",fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"🚧",fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"⛽",fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"🚏",fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"🚦",fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"🚥",fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"🏁",fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"🚢",fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"🎡",fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"🎢",fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"🎠",fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"🏗",fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"🌁",fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"🗼",fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"🏭",fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"⛲",fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"🎑",fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"⛰",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],char:"🏔",fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"🗻",fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"🌋",fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"🗾",fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"🏕",fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"⛺",fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"🏞",fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"🛣",fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"🛤",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"🌅",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"🌄",fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"🏜",fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"🏖",fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"🏝",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"🌇",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"🌆",fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"🏙",fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"🌃",fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"🌉",fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"🌌",fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],char:"🌠",fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"🎇",fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"🎆",fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],char:"🌈",fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],char:"🏘",fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"🏰",fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"🏯",fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"🏟",fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"🗽",fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],char:"🏠",fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"🏡",fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"🏚",fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"🏢",fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"🏬",fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],char:"🏣",fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"🏤",fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"🏥",fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"🏦",fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"🏨",fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"🏪",fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"🏫",fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"🏩",fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"💒",fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],char:"🏛",fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"⛪",fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"🕌",fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"🕍",fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"🕋",fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"⛩",fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"⌚",fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"📱",fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],char:"📲",fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"💻",fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"⌨",fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"🖥",fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],char:"🖨",fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],char:"🖱",fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],char:"🖲",fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],char:"🕹",fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],char:"🗜",fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"💽",fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"💾",fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"💿",fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"📀",fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"📼",fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],char:"📷",fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],char:"📸",fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],char:"📹",fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],char:"🎥",fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"📽",fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],char:"🎞",fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"📞",fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"☎️",fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"📟",fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],char:"📠",fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"📺",fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"📻",fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],char:"🎙",fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],char:"🎚",fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],char:"🎛",fitzpatrick_scale:!1,category:"objects"},compass:{keywords:["magnetic","navigation","orienteering"],char:"🧭",fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],char:"⏱",fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],char:"⏲",fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],char:"⏰",fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],char:"🕰",fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"⏳",fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"⌛",fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"📡",fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],char:"🔋",fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],char:"🔌",fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"💡",fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"🔦",fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],char:"🕯",fitzpatrick_scale:!1,category:"objects"},fire_extinguisher:{keywords:["quench"],char:"🧯",fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"🗑",fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],char:"🛢",fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"💸",fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"💵",fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"💴",fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"💶",fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"💷",fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"💰",fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"💳",fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"💎",fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],char:"⚖",fitzpatrick_scale:!1,category:"objects"},toolbox:{keywords:["tools","diy","fix","maintainer","mechanic"],char:"🧰",fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"🔧",fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],char:"🔨",fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"⚒",fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"🛠",fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],char:"⛏",fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"🔩",fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],char:"⚙",fitzpatrick_scale:!1,category:"objects"},brick:{keywords:["bricks"],char:"🧱",fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],char:"⛓",fitzpatrick_scale:!1,category:"objects"},magnet:{keywords:["attraction","magnetic"],char:"🧲",fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"🔫",fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"💣",fitzpatrick_scale:!1,category:"objects"},firecracker:{keywords:["dynamite","boom","explode","explosion","explosive"],char:"🧨",fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"🔪",fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],char:"🗡",fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],char:"⚔",fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],char:"🛡",fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"🚬",fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],char:"☠",fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],char:"⚰",fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"⚱",fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],char:"🏺",fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"🔮",fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"📿",fitzpatrick_scale:!1,category:"objects"},nazar_amulet:{keywords:["bead","charm"],char:"🧿",fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],char:"💈",fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],char:"⚗",fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],char:"🔭",fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"🔬",fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],char:"🕳",fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"💊",fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"💉",fitzpatrick_scale:!1,category:"objects"},dna:{keywords:["biologist","genetics","life"],char:"🧬",fitzpatrick_scale:!1,category:"objects"},microbe:{keywords:["amoeba","bacteria","germs"],char:"🦠",fitzpatrick_scale:!1,category:"objects"},petri_dish:{keywords:["bacteria","biology","culture","lab"],char:"🧫",fitzpatrick_scale:!1,category:"objects"},test_tube:{keywords:["chemistry","experiment","lab","science"],char:"🧪",fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"🌡",fitzpatrick_scale:!1,category:"objects"},broom:{keywords:["cleaning","sweeping","witch"],char:"🧹",fitzpatrick_scale:!1,category:"objects"},basket:{keywords:["laundry"],char:"🧺",fitzpatrick_scale:!1,category:"objects"},toilet_paper:{keywords:["roll"],char:"🧻",fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],char:"🏷",fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"🔖",fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"🚽",fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"🚿",fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"🛁",fitzpatrick_scale:!1,category:"objects"},soap:{keywords:["bar","bathing","cleaning","lather"],char:"🧼",fitzpatrick_scale:!1,category:"objects"},sponge:{keywords:["absorbing","cleaning","porous"],char:"🧽",fitzpatrick_scale:!1,category:"objects"},lotion_bottle:{keywords:["moisturizer","sunscreen"],char:"🧴",fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],char:"🔑",fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],char:"🗝",fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"🛋",fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],char:"🛌",fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],char:"🛏",fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],char:"🚪",fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],char:"🛎",fitzpatrick_scale:!1,category:"objects"},teddy_bear:{keywords:["plush","stuffed"],char:"🧸",fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],char:"🖼",fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],char:"🗺",fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],char:"⛱",fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"🗿",fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],char:"🛍",fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],char:"🛒",fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"🎈",fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"🎏",fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"🎀",fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"🎁",fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"🎊",fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],char:"🎉",fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"🎎",fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"🎐",fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"🎌",fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"🏮",fitzpatrick_scale:!1,category:"objects"},red_envelope:{keywords:["gift"],char:"🧧",fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],char:"✉️",fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"📩",fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"📨",fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],char:"📧",fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"💌",fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"📮",fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"📪",fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"📫",fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"📬",fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"📭",fitzpatrick_scale:!1,category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"📦",fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],char:"📯",fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],char:"📥",fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"📤",fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"📜",fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"📃",fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"📑",fitzpatrick_scale:!1,category:"objects"},receipt:{keywords:["accounting","expenses"],char:"🧾",fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"📊",fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"📈",fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"📉",fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"📄",fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],char:"📅",fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"📆",fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],char:"🗓",fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],char:"📇",fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],char:"🗃",fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],char:"🗳",fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"🗄",fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],char:"📋",fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],char:"🗒",fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],char:"📁",fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],char:"📂",fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"🗂",fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],char:"🗞",fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],char:"📰",fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"📓",fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"📕",fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"📗",fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"📘",fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"📙",fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"📔",fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],char:"📒",fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],char:"📚",fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],char:"📖",fitzpatrick_scale:!1,category:"objects"},safety_pin:{keywords:["diaper"],char:"🧷",fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],char:"🔗",fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],char:"📎",fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],char:"🖇",fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],char:"✂️",fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"📐",fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"📏",fitzpatrick_scale:!1,category:"objects"},abacus:{keywords:["calculation"],char:"🧮",fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"📌",fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"📍",fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"🚩",fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"🏳",fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],char:"🏴",fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],char:"🏳️‍🌈",fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"🔐",fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],char:"🔒",fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],char:"🔓",fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"🔏",fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],char:"🖊",fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],char:"🖋",fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"✒️",fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],char:"📝",fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"✏️",fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],char:"🖍",fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],char:"🖌",fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"🔍",fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"🔎",fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],char:"❤️",fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],char:"🧡",fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"💛",fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"💚",fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"💙",fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"💜",fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],char:"🖤",fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"💔",fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],char:"❣",fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"💕",fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"💞",fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"💓",fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"💗",fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"💖",fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"💘",fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"💝",fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"💟",fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],char:"☮",fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],char:"✝",fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],char:"☪",fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"🕉",fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"☸",fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],char:"✡",fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"🔯",fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],char:"🕎",fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],char:"☯",fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"☦",fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"🛐",fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"⛎",fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"♈",fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"♉",fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"♊",fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"♋",fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"♌",fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"♍",fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"♎",fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"♏",fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"♐",fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"♑",fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"♒",fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"♓",fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],char:"🆔",fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],char:"⚛",fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"🈳",fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"🈹",fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],char:"☢",fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],char:"☣",fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"📴",fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"📳",fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"🈶",fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"🈚",fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"🈸",fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"🈺",fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"🈷️",fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"✴️",fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],char:"🆚",fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"🉑",fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"💮",fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"🉐",fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"㊙️",fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"㊗️",fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"🈴",fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"🈵",fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"🈲",fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"🅰️",fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"🅱️",fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"🆎",fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"🆑",fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"🅾️",fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"🆘",fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"⛔",fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"📛",fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"🚫",fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel","red"],char:"❌",fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],char:"⭕",fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],char:"🛑",fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],char:"💢",fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"♨️",fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"🚷",fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"🚯",fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"🚳",fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"🚱",fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"🔞",fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"📵",fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"❗",fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"❕",fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],char:"❓",fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"❔",fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"‼️",fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"⁉️",fitzpatrick_scale:!1,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"💯",fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"🔅",fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],char:"🔆",fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],char:"🔱",fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"⚜",fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"〽️",fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"⚠️",fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"🚸",fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],char:"🔰",fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"♻️",fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"🈯",fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"💹",fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"❇️",fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"✳️",fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"❎",fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],char:"✅",fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"💠",fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],char:"🌀",fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],char:"➿",fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"🌐",fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"Ⓜ️",fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"🏧",fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"🈂️",fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"🛂",fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"🛃",fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"🛄",fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"🛅",fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"♿",fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"🚭",fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"🚾",fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"🅿️",fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"🚰",fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"🚹",fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"🚺",fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"🚼",fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"🚻",fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"🚮",fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"🎦",fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"📶",fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"🈁",fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"🆖",fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"🆗",fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],char:"🆙",fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],char:"🆒",fitzpatrick_scale:!1,category:"symbols"},new:{keywords:["blue-square","words","start"],char:"🆕",fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],char:"🆓",fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0️⃣",fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1️⃣",fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2️⃣",fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3️⃣",fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4️⃣",fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5️⃣",fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6️⃣",fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7️⃣",fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8️⃣",fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9️⃣",fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"🔟",fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],char:"*⃣",fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"🔢",fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],char:"⏏️",fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"▶️",fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],char:"⏸",fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],char:"⏭",fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],char:"⏹",fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],char:"⏺",fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],char:"⏯",fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],char:"⏮",fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"⏩",fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],char:"⏪",fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"🔀",fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],char:"🔁",fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"🔂",fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"◀️",fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"🔼",fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"🔽",fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"⏫",fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"⏬",fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"➡️",fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"⬅️",fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"⬆️",fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"⬇️",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"↗️",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"↘️",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"↙️",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"↖️",fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"↕️",fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"↔️",fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"🔄",fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"↪️",fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"↩️",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"⤴️",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"⤵️",fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#️⃣",fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"ℹ️",fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"🔤",fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"🔡",fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"🔠",fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"🔣",fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"🎵",fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],char:"🎶",fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"〰️",fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"➰",fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"✔️",fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"🔃",fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"➕",fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"➖",fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"➗",fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"✖️",fitzpatrick_scale:!1,category:"symbols"},infinity:{keywords:["forever"],char:"♾",fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"💲",fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"💱",fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"©️",fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],char:"®️",fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"™️",fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],char:"🔚",fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],char:"🔙",fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],char:"🔛",fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],char:"🔝",fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],char:"🔜",fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],char:"☑️",fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"🔘",fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],char:"⚪",fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"⚫",fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"🔴",fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"🔵",fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔸",fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔹",fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"🔶",fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"🔷",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"🔺",fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"▪️",fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"▫️",fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"⬛",fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"⬜",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"🔻",fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"◼️",fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"◻️",fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"◾",fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"◽",fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"🔲",fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],char:"🔳",fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"🔈",fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"🔉",fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"🔊",fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"🔇",fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"📣",fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"📢",fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"🔔",fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"🔕",fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"🃏",fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"🀄",fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"♠️",fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"♣️",fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"♥️",fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"♦️",fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"🎴",fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],char:"💭",fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"🗯",fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"💬",fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"🗨",fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"🕐",fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"🕑",fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"🕒",fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"🕓",fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"🕔",fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"🕕",fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"🕖",fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"🕗",fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"🕘",fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"🕙",fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"🕚",fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"🕛",fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"🕜",fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"🕝",fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"🕞",fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"🕟",fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"🕠",fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"🕡",fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"🕢",fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"🕣",fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"🕤",fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"🕥",fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"🕦",fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"🕧",fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],char:"🇦🇫",fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["Åland","islands","flag","nation","country","banner"],char:"🇦🇽",fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],char:"🇦🇱",fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],char:"🇩🇿",fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],char:"🇦🇸",fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],char:"🇦🇩",fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],char:"🇦🇴",fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],char:"🇦🇮",fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],char:"🇦🇶",fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"🇦🇬",fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],char:"🇦🇷",fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],char:"🇦🇲",fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],char:"🇦🇼",fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],char:"🇦🇺",fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],char:"🇦🇹",fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],char:"🇦🇿",fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],char:"🇧🇸",fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],char:"🇧🇭",fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],char:"🇧🇩",fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],char:"🇧🇧",fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],char:"🇧🇾",fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],char:"🇧🇪",fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],char:"🇧🇿",fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],char:"🇧🇯",fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],char:"🇧🇲",fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],char:"🇧🇹",fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],char:"🇧🇴",fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],char:"🇧🇶",fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"🇧🇦",fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],char:"🇧🇼",fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],char:"🇧🇷",fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"🇮🇴",fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"🇻🇬",fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],char:"🇧🇳",fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],char:"🇧🇬",fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],char:"🇧🇫",fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],char:"🇧🇮",fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],char:"🇨🇻",fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],char:"🇰🇭",fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],char:"🇨🇲",fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],char:"🇨🇦",fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],char:"🇮🇨",fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],char:"🇰🇾",fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],char:"🇨🇫",fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],char:"🇹🇩",fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"🇨🇱",fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"🇨🇳",fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],char:"🇨🇽",fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"🇨🇨",fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],char:"🇨🇴",fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],char:"🇰🇲",fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],char:"🇨🇬",fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"🇨🇩",fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],char:"🇨🇰",fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],char:"🇨🇷",fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],char:"🇭🇷",fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],char:"🇨🇺",fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["curaçao","flag","nation","country","banner"],char:"🇨🇼",fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],char:"🇨🇾",fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],char:"🇨🇿",fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],char:"🇩🇰",fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],char:"🇩🇯",fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],char:"🇩🇲",fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],char:"🇩🇴",fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],char:"🇪🇨",fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],char:"🇪🇬",fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],char:"🇸🇻",fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],char:"🇬🇶",fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],char:"🇪🇷",fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],char:"🇪🇪",fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],char:"🇪🇹",fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"🇪🇺",fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"🇫🇰",fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],char:"🇫🇴",fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],char:"🇫🇯",fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],char:"🇫🇮",fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"🇫🇷",fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],char:"🇬🇫",fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],char:"🇵🇫",fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"🇹🇫",fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],char:"🇬🇦",fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],char:"🇬🇲",fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],char:"🇬🇪",fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"🇩🇪",fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],char:"🇬🇭",fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],char:"🇬🇮",fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],char:"🇬🇷",fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],char:"🇬🇱",fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],char:"🇬🇩",fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],char:"🇬🇵",fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],char:"🇬🇺",fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],char:"🇬🇹",fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],char:"🇬🇬",fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],char:"🇬🇳",fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],char:"🇬🇼",fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],char:"🇬🇾",fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],char:"🇭🇹",fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],char:"🇭🇳",fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],char:"🇭🇰",fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],char:"🇭🇺",fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],char:"🇮🇸",fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],char:"🇮🇳",fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"🇮🇩",fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"🇮🇷",fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],char:"🇮🇶",fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],char:"🇮🇪",fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],char:"🇮🇲",fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],char:"🇮🇱",fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"🇮🇹",fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],char:"🇨🇮",fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],char:"🇯🇲",fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"🇯🇵",fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],char:"🇯🇪",fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],char:"🇯🇴",fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],char:"🇰🇿",fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],char:"🇰🇪",fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],char:"🇰🇮",fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],char:"🇽🇰",fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],char:"🇰🇼",fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],char:"🇰🇬",fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"🇱🇦",fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],char:"🇱🇻",fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],char:"🇱🇧",fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],char:"🇱🇸",fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],char:"🇱🇷",fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],char:"🇱🇾",fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],char:"🇱🇮",fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],char:"🇱🇹",fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],char:"🇱🇺",fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],char:"🇲🇴",fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],char:"🇲🇰",fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],char:"🇲🇬",fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],char:"🇲🇼",fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],char:"🇲🇾",fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],char:"🇲🇻",fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],char:"🇲🇱",fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],char:"🇲🇹",fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],char:"🇲🇭",fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],char:"🇲🇶",fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],char:"🇲🇷",fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],char:"🇲🇺",fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],char:"🇾🇹",fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],char:"🇲🇽",fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"🇫🇲",fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"🇲🇩",fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],char:"🇲🇨",fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],char:"🇲🇳",fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],char:"🇲🇪",fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],char:"🇲🇸",fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],char:"🇲🇦",fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],char:"🇲🇿",fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],char:"🇲🇲",fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],char:"🇳🇦",fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],char:"🇳🇷",fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],char:"🇳🇵",fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],char:"🇳🇱",fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],char:"🇳🇨",fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],char:"🇳🇿",fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],char:"🇳🇮",fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],char:"🇳🇪",fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"🇳🇬",fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],char:"🇳🇺",fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],char:"🇳🇫",fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"🇲🇵",fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],char:"🇰🇵",fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],char:"🇳🇴",fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],char:"🇴🇲",fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],char:"🇵🇰",fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],char:"🇵🇼",fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"🇵🇸",fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],char:"🇵🇦",fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"🇵🇬",fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],char:"🇵🇾",fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],char:"🇵🇪",fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],char:"🇵🇭",fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],char:"🇵🇳",fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],char:"🇵🇱",fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],char:"🇵🇹",fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],char:"🇵🇷",fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],char:"🇶🇦",fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["réunion","flag","nation","country","banner"],char:"🇷🇪",fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],char:"🇷🇴",fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"🇷🇺",fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],char:"🇷🇼",fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barthélemy","flag","nation","country","banner"],char:"🇧🇱",fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"🇸🇭",fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"🇰🇳",fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],char:"🇱🇨",fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"🇵🇲",fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"🇻🇨",fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],char:"🇼🇸",fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],char:"🇸🇲",fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"🇸🇹",fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"🇸🇦",fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],char:"🇸🇳",fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],char:"🇷🇸",fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],char:"🇸🇨",fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],char:"🇸🇱",fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],char:"🇸🇬",fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"🇸🇽",fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],char:"🇸🇰",fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],char:"🇸🇮",fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],char:"🇸🇧",fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],char:"🇸🇴",fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],char:"🇿🇦",fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"🇬🇸",fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"🇰🇷",fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],char:"🇸🇸",fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"🇪🇸",fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],char:"🇱🇰",fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],char:"🇸🇩",fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],char:"🇸🇷",fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],char:"🇸🇿",fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],char:"🇸🇪",fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],char:"🇨🇭",fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"🇸🇾",fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],char:"🇹🇼",fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],char:"🇹🇯",fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"🇹🇿",fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],char:"🇹🇭",fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],char:"🇹🇱",fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],char:"🇹🇬",fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],char:"🇹🇰",fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],char:"🇹🇴",fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"🇹🇹",fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],char:"🇹🇳",fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"🇹🇷",fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"🇹🇲",fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"🇹🇨",fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"🇹🇻",fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],char:"🇺🇬",fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],char:"🇺🇦",fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"🇦🇪",fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"🇬🇧",fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],char:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],char:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],char:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"🇺🇸",fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"🇻🇮",fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],char:"🇺🇾",fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],char:"🇺🇿",fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],char:"🇻🇺",fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],char:"🇻🇦",fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],char:"🇻🇪",fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],char:"🇻🇳",fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"🇼🇫",fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],char:"🇪🇭",fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],char:"🇾🇪",fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],char:"🇿🇲",fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],char:"🇿🇼",fitzpatrick_scale:!1,category:"flags"},united_nations:{keywords:["un","flag","banner"],char:"🇺🇳",fitzpatrick_scale:!1,category:"flags"},pirate_flag:{keywords:["skull","crossbones","flag","banner"],char:"🏴‍☠️",fitzpatrick_scale:!1,category:"flags"}})},55534:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>e===t,o=t(null),n=t(void 0),r=()=>{},a=()=>!1;class s{constructor(e,t){this.tag=e,this.value=t}static some(e){return new s(!0,e)}static none(){return s.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?s.some(e(this.value)):s.none()}bind(e){return this.tag?e(this.value):s.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:s.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?s.none():s.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}s.singletonNone=new s(!1);const i=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{let t=e;return{get:()=>t,set:e=>{t=e}}},c=Object.keys,d=Object.hasOwnProperty,u=(e,t)=>{const o=c(e);for(let n=0,r=o.length;nd.call(e,t),g=(p=(e,t)=>t,(...e)=>{if(0===e.length)throw new Error("Can't merge zero objects");const t={};for(let o=0;o{const e=(e=>{const t=l(s.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(s.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(s.some(e))}}})(r);return{...e,on:t=>e.get().each(t)}},f=(e,t,o=0,r)=>{const a=e.indexOf(t,o);return-1!==a&&(!!n(r)||a+t.length<=r)};var y=tinymce.util.Tools.resolve("tinymce.Resource");const b=e=>t=>t.options.get(e),v=b("emoticons_database"),k=b("emoticons_database_url"),w=b("emoticons_database_id"),_=b("emoticons_append"),x=b("emoticons_images_url"),C="All",S={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},z=(e,t)=>m(e,t)?e[t]:t,O=e=>{const t=_(e);return o=e=>({keywords:[],category:"user",...e}),((e,t)=>{const o={};return u(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o})(t,((e,t)=>({k:t,v:o(e)})));var o},T=(e,t)=>f(e.title.toLowerCase(),t)||((e,o)=>{for(let o=0,r=e.length;o{const n=[],r=t.toLowerCase(),s=o.fold((()=>a),(e=>t=>t>=e));for(let o=0;o{const n={pattern:"",results:E(t.listAll(),"",s.some(300))},r=l(C),a=((e,t)=>{let n=null;const r=()=>{o(n)||(clearTimeout(n),n=null)};return{cancel:r,throttle:(...t)=>{r(),n=setTimeout((()=>{n=null,e.apply(null,t)}),200)}}})((e=>{(e=>{const o=e.getData(),n=r.get(),a=t.listCategory(n),i=E(a,o[A],n===C?s.some(300):s.none());e.setData({results:i})})(e)})),c={label:"Search",type:"input",name:A},d={type:"collection",name:"results"},u=()=>({title:"Emojis",size:"normal",body:{type:"tabpanel",tabs:i(t.listCategories(),(e=>({title:e,name:e,items:[c,d]})))},initialData:n,onTabChange:(e,t)=>{r.set(t.newTabName),a.throttle(e)},onChange:a.throttle,onAction:(t,o)=>{"results"===o.name&&(((e,t)=>{e.insertContent(t)})(e,o.value),t.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}),m=e.windowManager.open(u());m.focus(A),t.hasLoaded()||(m.block("Loading emojis..."),t.waitForLoad().then((()=>{m.redial(u()),a.throttle(m),m.focus(A),m.unblock()})).catch((e=>{m.redial({title:"Emojis",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"Could not load emojis"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),m.focus(A),m.unblock()})))};e.add("emoticons",((e,t)=>{((e,t)=>{const o=e.options.register;o("emoticons_database",{processor:"string",default:"emojis"}),o("emoticons_database_url",{processor:"string",default:`${t}/js/${v(e)}${e.suffix}.js`}),o("emoticons_database_id",{processor:"string",default:"tinymce.plugins.emoticons"}),o("emoticons_append",{processor:"object",default:{}}),o("emoticons_images_url",{processor:"string",default:"https://twemoji.maxcdn.com/v/13.0.1/72x72/"})})(e,t);const o=((e,t,o)=>{const n=h(),r=h(),a=x(e),i=e=>{return o="=4&&t.substr(0,4)===o?e.char.replace(/src="([^"]+)"/,((e,t)=>`src="${a}${t}"`)):e.char;var t,o};e.on("init",(()=>{y.load(o,t).then((t=>{const o=O(e);(e=>{const t={},o=[];u(e,((e,n)=>{const r={title:n,keywords:e.keywords,char:i(e),category:z(S,e.category)},a=void 0!==t[r.category]?t[r.category]:[];t[r.category]=a.concat([r]),o.push(r)})),n.set(t),r.set(o)})(g(t,o))}),(e=>{console.log(`Failed to load emojis: ${e}`),n.set({}),r.set([])}))}));const l=()=>r.get().getOr([]),d=()=>n.isSet()&&r.isSet();return{listCategories:()=>[C].concat(c(n.get().getOr({}))),hasLoaded:d,waitForLoad:()=>d()?Promise.resolve(!0):new Promise(((e,o)=>{let n=15;const r=setInterval((()=>{d()?(clearInterval(r),e(!0)):(n--,n<0&&(console.log("Could not load emojis from url: "+t),clearInterval(r),o(!1)))}),100)})),listAll:l,listCategory:e=>e===C?l():n.get().bind((t=>s.from(t[e]))).getOr([])}})(e,k(e),w(e));((e,t)=>{e.addCommand("mceEmoticons",(()=>M(e,t)))})(e,o),(e=>{const t=()=>e.execCommand("mceEmoticons");e.ui.registry.addButton("emoticons",{tooltip:"Emojis",icon:"emoji",onAction:t}),e.ui.registry.addMenuItem("emoticons",{text:"Emojis...",icon:"emoji",onAction:t})})(e),((e,t)=>{e.ui.registry.addAutocompleter("emoticons",{trigger:":",columns:"auto",minChars:2,fetch:(e,o)=>t.waitForLoad().then((()=>{const n=t.listAll();return E(n,e,s.some(o))})),onAction:(t,o,n)=>{e.selection.setRng(o),e.insertContent(n),t.hide()}})})(e,o),(e=>{e.on("PreInit",(()=>{e.parser.addAttributeFilter("data-emoticon",(e=>{((e,t)=>{for(let t=0,n=e.length;t{let t=e;return{get:()=>t,set:e=>{t=e}}};var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const o=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(t)===e,n=e=>t=>typeof t===e,r=e=>t=>e===t,a=o("string"),s=o("array"),i=r(null),l=n("boolean"),c=r(void 0),d=e=>!(e=>null==e)(e),u=n("function"),m=n("number"),g=()=>{},p=e=>()=>e;function h(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const f=p(!1),y=p(!0);class b{constructor(e,t){this.tag=e,this.value=t}static some(e){return new b(!0,e)}static none(){return b.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?b.some(e(this.value)):b.none()}bind(e){return this.tag?e(this.value):b.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:b.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return d(e)?b.some(e):b.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}b.singletonNone=new b(!1);const v=t=>{const o=e(b.none()),n=()=>o.get().each(t);return{clear:()=>{n(),o.set(b.none())},isSet:()=>o.get().isSome(),get:()=>o.get(),set:e=>{n(),o.set(b.some(e))}}},k=()=>v((e=>e.unbind())),w=Array.prototype.push,_=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[];for(let n=0,r=e.length;n((e,t,o)=>{for(let n=0,r=e.length;n{const r=e.indexOf(t,o);return-1!==r&&(!!c(n)||r+t.length<=n)},T=e=>void 0!==e.style&&u(e.style.getPropertyValue),E=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},A=E;"undefined"!=typeof window?window:Function("return this;")();const M=e=>t=>(e=>e.dom.nodeType)(t)===e,N=M(1),R=M(3),D=M(9),B=M(11),L=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},I=e=>A(e.dom.ownerDocument),H=e=>_(e.dom.childNodes,A),P=u(Element.prototype.attachShadow)&&u(Node.prototype.getRootNode),F=p(P),j=P?e=>A(e.dom.getRootNode()):e=>D(e)?e:I(e),V=e=>{const t=j(e);return B(o=t)&&d(o.dom.host)?b.some(t):b.none();var o},Z=e=>A(e.dom.host),U=e=>{const t=R(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return V(A(t)).fold((()=>o.body.contains(t)),(n=U,r=Z,e=>n(r(e))));var n,r},q=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},W=(e,t)=>{e.dom.removeAttribute(t)},$=(e,t)=>{const o=e.dom;((e,t)=>{const o=z(e);for(let n=0,r=o.length;n{((e,t,o)=>{if(!a(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);T(e)&&e.style.setProperty(t,o)})(o,t,e)}))},G=e=>{const t=A((e=>{if(F()&&d(e.target)){const t=A(e.target);if(N(t)&&d(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return((e,t)=>0e.stopPropagation(),n=()=>e.preventDefault(),r=(a=n,s=o,(...e)=>a(s.apply(null,e)));var a,s;return((e,t,o,n,r,a,s)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:a,raw:s}))(t,e.clientX,e.clientY,o,n,r,e)},K=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Y=y,X=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const a=((e,t)=>o=>{e(o)&&t(G(o))})(o,n);return e.dom.addEventListener(t,a,r),{unbind:h(K,e,t,a,r)}})(e,t,o,n,!1))(e,t,Y,o),J=()=>Q(0,0),Q=(e,t)=>({major:e,minor:t}),ee={nu:Q,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?J():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return Q(n(1),n(2))})(e,o)},unknown:J},te=(e,t)=>{const o=String(t).toLowerCase();return S(e,(e=>e.search(o)))},oe=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ne=e=>t=>O(t,e),re=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>O(e,"edge/")&&O(e,"chrome")&&O(e,"safari")&&O(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,oe],search:e=>O(e,"chrome")&&!O(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>O(e,"msie")||O(e,"trident")},{name:"Opera",versionRegexes:[oe,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ne("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ne("firefox")},{name:"Safari",versionRegexes:[oe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(O(e,"safari")||O(e,"mobile/"))&&O(e,"applewebkit")}],ae=[{name:"Windows",search:ne("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>O(e,"iphone")||O(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ne("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:ne("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ne("linux"),versionRegexes:[]},{name:"Solaris",search:ne("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ne("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:ne("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],se={browsers:p(re),oses:p(ae)},ie="Edge",le="Chromium",ce="Opera",de="Firefox",ue="Safari",me=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(ie),isChromium:n(le),isIE:n("IE"),isOpera:n(ce),isFirefox:n(de),isSafari:n(ue)}},ge=()=>me({current:void 0,version:ee.unknown()}),pe=me,he=(p(ie),p(le),p("IE"),p(ce),p(de),p(ue),"Windows"),fe="Android",ye="Linux",be="macOS",ve="Solaris",ke="FreeBSD",we="ChromeOS",_e=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(he),isiOS:n("iOS"),isAndroid:n(fe),isMacOS:n(be),isLinux:n(ye),isSolaris:n(ve),isFreeBSD:n(ke),isChromeOS:n(we)}},xe=()=>_e({current:void 0,version:ee.unknown()}),Ce=_e,Se=(p(he),p("iOS"),p(fe),p(ye),p(be),p(ve),p(ke),p(we),(e,t,o)=>{const n=se.browsers(),r=se.oses(),a=t.bind((e=>((e,t)=>((e,t)=>{for(let o=0;o{const o=t.brand.toLowerCase();return S(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:ee.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>te(e,t).map((e=>{const o=ee.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(ge,pe),s=((e,t)=>te(e,t).map((e=>{const o=ee.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(xe,Ce),i=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),a=e.isiOS()&&!r,s=e.isiOS()||e.isAndroid(),i=s||n("(pointer:coarse)"),l=r||!a&&s&&n("(min-device-width:768px)"),c=a||s&&!l,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),u=!c&&!l&&!d;return{isiPad:p(r),isiPhone:p(a),isTablet:p(l),isPhone:p(c),isTouch:p(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:p(d),isDesktop:p(u)}})(s,a,e,o);return{browser:a,os:s,deviceType:i}}),ze=e=>window.matchMedia(e).matches;let Oe=(e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)})((()=>Se(navigator.userAgent,b.from(navigator.userAgentData),ze)));const Te=(e,t)=>({left:e,top:t,translate:(o,n)=>Te(e+o,t+n)}),Ee=Te,Ae=e=>{const t=void 0===e?window:e;return Oe().browser.isFirefox()?b.none():b.from(t.visualViewport)},Me=(e,t,o,n)=>({x:e,y:t,width:o,height:n,right:e+o,bottom:t+n}),Ne=e=>{const t=void 0===e?window:e,o=t.document,n=(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return Ee(o,n)})(A(o));return Ae(t).fold((()=>{const e=t.document.documentElement,o=e.clientWidth,r=e.clientHeight;return Me(n.left,n.top,o,r)}),(e=>Me(Math.max(e.pageLeft,n.left),Math.max(e.pageTop,n.top),e.width,e.height)))},Re=(e,t,o)=>Ae(o).map((o=>{const n=e=>t(G(e));return o.addEventListener(e,n),{unbind:()=>o.removeEventListener(e,n)}})).getOrThunk((()=>({unbind:g})));var De=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),Be=tinymce.util.Tools.resolve("tinymce.Env");const Le=(e,t)=>{e.dispatch("FullscreenStateChanged",{state:t}),e.dispatch("ResizeEditor")},Ie=("fullscreen_native",e=>e.options.get("fullscreen_native"));const He=e=>{return e.dom===(void 0!==(t=I(e).dom).fullscreenElement?t.fullscreenElement:void 0!==t.msFullscreenElement?t.msFullscreenElement:void 0!==t.webkitFullscreenElement?t.webkitFullscreenElement:null);var t},Pe=(e,t,o)=>((e,t,o)=>C(((e,t)=>{const o=u(t)?t:f;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=A(e);if(r.push(t),!0===o(t))break;n=e}return r})(e,o),t))(e,(e=>L(e,t)),o),Fe=(e,t)=>((e,o)=>{return C((e=>b.from(e.dom.parentNode).map(A))(n=e).map(H).map((e=>C(e,(e=>{return t=e,!(n.dom===t.dom);var t})))).getOr([]),(e=>L(e,t)));var n})(e),je="data-ephox-mobile-fullscreen-style",Ve="position:absolute!important;",Ze="top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;",Ue=Be.os.isAndroid(),qe=e=>{const t=((e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||U(e)?n:((e,t)=>T(e)?e.style.getPropertyValue(t):"")(o,t)})(e,"background-color");return void 0!==t&&""!==t?"background-color:"+t+"!important":"background-color:rgb(255,255,255)!important;"},We=De.DOM,$e=Ae().fold((()=>({bind:g,unbind:g})),(e=>{const t=(()=>{const e=v(g);return{...e,on:t=>e.get().each(t)}})(),o=k(),n=k(),r=((e,t)=>{let o=null;return{cancel:()=>{i(o)||(clearTimeout(o),o=null)},throttle:(...t)=>{i(o)&&(o=setTimeout((()=>{o=null,e.apply(null,t)}),50))}}})((()=>{document.body.scrollTop=0,document.documentElement.scrollTop=0,window.requestAnimationFrame((()=>{t.on((t=>$(t,{top:e.offsetTop+"px",left:e.offsetLeft+"px",height:e.height+"px",width:e.width+"px"})))}))}));return{bind:e=>{t.set(e),r.throttle(),o.set(Re("resize",r.throttle)),n.set(Re("scroll",r.throttle))},unbind:()=>{t.on((()=>{o.clear(),n.clear()})),t.clear()}}})),Ge=(e,t)=>{const o=document.body,n=document.documentElement,r=e.getContainer(),i=A(r),c=(e=>{const t=A(e.getElement());return V(t).map(Z).getOrThunk((()=>(e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return A(t)})(I(t))))})(e),d=t.get(),u=A(e.getBody()),g=Be.deviceType.isTouch(),p=r.style,h=e.iframeElement,f=null==h?void 0:h.style,y=e=>{e(o,"tox-fullscreen"),e(n,"tox-fullscreen"),e(r,"tox-fullscreen"),V(i).map((e=>Z(e).dom)).each((t=>{e(t,"tox-fullscreen"),e(t,"tox-shadowhost")}))},v=()=>{g&&(e=>{const t=((e,t)=>{const o=document;return 1!==(n=o).nodeType&&9!==n.nodeType&&11!==n.nodeType||0===n.childElementCount?[]:_(o.querySelectorAll(e),A);var n})("["+je+"]");x(t,(t=>{const o=q(t,je);o&&"no-styles"!==o?$(t,e.parseStyle(o)):W(t,"style"),W(t,je)}))})(e.dom),y(We.removeClass),$e.unbind(),b.from(t.get()).each((e=>e.fullscreenChangeHandler.unbind()))};if(d)d.fullscreenChangeHandler.unbind(),Ie(e)&&He(c)&&(e=>{const t=e.dom;t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.webkitCancelFullScreen&&t.webkitCancelFullScreen()})(I(c)),f.width=d.iframeWidth,f.height=d.iframeHeight,p.width=d.containerWidth,p.height=d.containerHeight,p.top=d.containerTop,p.left=d.containerLeft,v(),k=d.scrollPos,window.scrollTo(k.x,k.y),t.set(null),Le(e,!1),e.off("remove",v);else{const o=X(I(c),void 0!==document.fullscreenElement?"fullscreenchange":void 0!==document.msFullscreenElement?"MSFullscreenChange":void 0!==document.webkitFullscreenElement?"webkitfullscreenchange":"fullscreenchange",(o=>{Ie(e)&&(He(c)||null===t.get()||Ge(e,t))})),n={scrollPos:Ne(window),containerWidth:p.width,containerHeight:p.height,containerTop:p.top,containerLeft:p.left,iframeWidth:f.width,iframeHeight:f.height,fullscreenChangeHandler:o};g&&((e,t,o)=>{const n=t=>o=>{const n=q(o,"style"),r=void 0===n?"no-styles":n.trim();r!==t&&(((e,t,o)=>{((e,t,o)=>{if(!(a(o)||l(o)||m(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")})(e.dom,t,o)})(o,je,r),$(o,e.parseStyle(t)))},r=Pe(t,"*"),i=(e=>{const t=[];for(let o=0,n=e.length;oFe(e,"*:not(.tox-silver-sink)")))),c=qe(o);x(i,n("display:none!important;")),x(r,n(Ve+Ze+c)),n((!0===Ue?"":Ve)+Ze+c)(t)})(e.dom,i,u),f.width=f.height="100%",p.width=p.height="",y(We.addClass),$e.bind(i),e.on("remove",v),t.set(n),Ie(e)&&(e=>{const t=e.dom;t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.webkitRequestFullScreen&&t.webkitRequestFullScreen()})(c),Le(e,!0)}var k},Ke=(e,t)=>o=>{o.setActive(null!==t.get());const n=e=>o.setActive(e.state);return e.on("FullscreenStateChanged",n),()=>e.off("FullscreenStateChanged",n)};t.add("fullscreen",(t=>{const o=e(null);return t.inline||((e=>{(0,e.options.register)("fullscreen_native",{processor:"boolean",default:!1})})(t),((e,t)=>{e.addCommand("mceFullScreen",(()=>{Ge(e,t)}))})(t,o),((e,t)=>{const o=()=>e.execCommand("mceFullScreen");e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",icon:"fullscreen",shortcut:"Meta+Shift+F",onAction:o,onSetup:Ke(e,t)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:o,onSetup:Ke(e,t)})})(t,o),t.addShortcut("Meta+Shift+F","","mceFullScreen")),(e=>({isFullscreen:()=>null!==e.get()}))(o)}))}()},92936:function(e,t,o){o(56537)},56537:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");let t=0;const o=e=>{const o=(new Date).getTime(),n=Math.floor(1e9*Math.random());return t++,e+"_"+n+t+String(o)},n=e=>t=>t.options.get(e),r=n("help_tabs"),a=n("forced_plugins"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(e));const i=(void 0,e=>undefined===e);const l=e=>"function"==typeof e,c=(!1,()=>false);class d{constructor(e,t){this.tag=e,this.value=t}static some(e){return new d(!0,e)}static none(){return d.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?d.some(e(this.value)):d.none()}bind(e){return this.tag?e(this.value):d.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:d.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?d.none():d.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}d.singletonNone=new d(!1);const u=Array.prototype.slice,m=Array.prototype.indexOf,g=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{const o=[];for(let n=0,r=e.length;n{const o=u.call(e,0);return o.sort(t),o},f=Object.keys,y=Object.hasOwnProperty,b=(e,t)=>y.call(e,t);var v=tinymce.util.Tools.resolve("tinymce.Env");const k=e=>{const t=v.os.isMacOS()||v.os.isiOS(),o=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},n=e.split("+"),r=g(n,(e=>{const t=e.toLowerCase().trim();return b(o,t)?o[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},w=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],_=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:g(w,(e=>{const t=g(e.shortcuts,k).join(" or ");return[e.action,t]}))}]});var x=tinymce.util.Tools.resolve("tinymce.util.I18n");const C=g([{key:"advlist",name:"Advanced List"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"template",name:"Template"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"advcode",name:"Advanced Code Editor",type:"premium"},{key:"advtable",name:"Advanced Tables",type:"premium"},{key:"advtemplate",name:"Advanced Templates",type:"premium",slug:"advanced-templates"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"editimage",name:"Enhanced Image Editing",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"export",name:"Export",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"rtc",name:"Real-Time Collaboration",type:"premium",slug:"rtc-introduction"},{key:"tinymcespellchecker",name:"Spell Checker Pro",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),S=e=>{const t=e=>`${e.name}`,o=(e,o)=>{return(n=C,r=e=>e.key===o,((e,t,o)=>{for(let n=0,r=e.length;n((e,o)=>{const n=e.plugins[o].getMetadata;if(l(n)){const e=n();return{name:e.name,html:t(e)}}return{name:o,html:o}})(e,o)),(e=>{const o="premium"===e.type?`${e.name}*`:e.name;return{name:o,html:t({name:o,url:`https://www.tiny.cloud/docs/tinymce/6/${e.slug}/`})}}));var n,r},n=e=>{const t=(e=>{const t=f(e.plugins),o=a(e);return i(o)?t:p(t,(e=>!(((e,t)=>m.call(e,t))(o,e)>-1)))})(e),n=h(g(t,(t=>o(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=g(n,(e=>"
  • "+e.html+"
  • ")),s=r.length,l=r.join("");return"

    "+x.translate(["Plugins installed ({0}):",s])+"

      "+l+"
    "},r={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":'
    '+n(e)+"
    ")(e),(()=>{const e=p(C,(({type:e})=>"premium"===e)),t=h(g(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),o=g(t,(e=>`
  • ${e}
  • `)).join("");return'

    '+x.translate("Premium plugins:")+"

    "})()].join("")};return{name:"plugins",title:"Plugins",items:[r]}};var z=tinymce.util.Tools.resolve("tinymce.EditorManager");const O=(e,t)=>()=>{const{tabs:n,names:a}=((e,t)=>{const n=_(),a={name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:"

    Editor UI keyboard navigation

    \n\n

    Activating keyboard navigation

    \n\n

    The sections of the outer UI of the editor - the menubar, toolbar, sidebar and footer - are all keyboard navigable. As such, there are multiple ways to activate keyboard navigation:

    \n
      \n
    • Focus the menubar: Alt + F9 (Windows) or ⌥F9 (MacOS)
    • \n
    • Focus the toolbar: Alt + F10 (Windows) or ⌥F10 (MacOS)
    • \n
    • Focus the footer: Alt + F11 (Windows) or ⌥F11 (MacOS)
    • \n
    \n\n

    Focusing the menubar or toolbar will start keyboard navigation at the first item in the menubar or toolbar, which will be highlighted with a gray background. Focusing the footer will start keyboard navigation at the first item in the element path, which will be highlighted with an underline.

    \n\n

    Moving between UI sections

    \n\n

    When keyboard navigation is active, pressing tab will move the focus to the next major section of the UI, where applicable. These sections are:

    \n
      \n
    • the menubar
    • \n
    • each group of the toolbar
    • \n
    • the sidebar
    • \n
    • the element path in the footer
    • \n
    • the wordcount toggle button in the footer
    • \n
    • the branding link in the footer
    • \n
    • the editor resize handle in the footer
    • \n
    \n\n

    Pressing shift + tab will move backwards through the same sections, except when moving from the footer to the toolbar. Focusing the element path then pressing shift + tab will move focus to the first toolbar group, not the last.

    \n\n

    Moving within UI sections

    \n\n

    Keyboard navigation within UI sections can usually be achieved using the left and right arrow keys. This includes:

    \n
      \n
    • moving between menus in the menubar
    • \n
    • moving between buttons in a toolbar group
    • \n
    • moving between items in the element path
    • \n
    \n\n

    In all these UI sections, keyboard navigation will cycle within the section. For example, focusing the last button in a toolbar group then pressing right arrow will move focus to the first item in the same toolbar group.

    \n\n

    Executing buttons

    \n\n

    To execute a button, navigate the selection to the desired button and hit space or enter.

    \n\n

    Opening, navigating and closing menus

    \n\n

    When focusing a menubar button or a toolbar button with a menu, pressing space, enter or down arrow will open the menu. When the menu opens the first item will be selected. To move up or down the menu, press the up or down arrow key respectively. This is the same for submenus, which can also be opened and closed using the left and right arrow keys.

    \n\n

    To close any active menu, hit the escape key. When a menu is closed the selection will be restored to its previous selection. This also works for closing submenus.

    \n\n

    Context toolbars and menus

    \n\n

    To focus an open context toolbar such as the table context toolbar, press Ctrl + F9 (Windows) or ⌃F9 (MacOS).

    \n\n

    Context toolbar navigation is the same as toolbar navigation, and context menu navigation is the same as standard menu navigation.

    \n\n

    Dialog navigation

    \n\n

    There are two types of dialog UIs in TinyMCE: tabbed dialogs and non-tabbed dialogs.

    \n\n

    When a non-tabbed dialog is opened, the first interactive component in the dialog will be focused. Users can navigate between interactive components by pressing tab. This includes any footer buttons. Navigation will cycle back to the first dialog component if tab is pressed while focusing the last component in the dialog. Pressing shift + tab will navigate backwards.

    \n\n

    When a tabbed dialog is opened, the first button in the tab menu is focused. Pressing tab will navigate to the first interactive component in that tab, and will cycle through the tab’s components, the footer buttons, then back to the tab button. To switch to another tab, focus the tab button for the current tab, then use the arrow keys to cycle through the tab buttons.

    "}]},i=S(e),l=(()=>{var e,t;const o='TinyMCE '+(e=z.majorVersion,t=z.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+x.translate(["You are using {0}",o])+"

    ",presets:"document"}]}})(),c={[n.name]:n,[a.name]:a,[i.name]:i,[l.name]:l,...t.get()};return d.from(r(e)).fold((()=>(e=>{const t=f(e),o=t.indexOf("versions");return-1!==o&&(t.splice(o,1),t.push("versions")),{tabs:e,names:t}})(c)),(e=>((e,t)=>{const n={},r=g(e,(e=>{var r;if(s(e))return b(t,e)&&(n[e]=t[e]),e;{const t=null!==(r=e.name)&&void 0!==r?r:o("tab-name");return n[t]=e,t}}));return{tabs:n,names:r}})(e,c)))})(e,t),i={type:"tabpanel",tabs:(e=>{const t=[],o=e=>{t.push(e)};for(let t=0;t{return b(t=n,o=e)?d.from(t[o]):d.none();var t,o})))};e.windowManager.open({title:"Help",size:"normal",body:i,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})};e.add("help",(e=>{const t=(e=>{let t={};return{get:()=>t,set:e=>{t=e}}})(),n=(e=>({addTab:t=>{var n;const r=null!==(n=t.name)&&void 0!==n?n:o("tab-name"),a=e.get();a[r]=t,e.set(a)}}))(t);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const r=O(e,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t})})(e,r),((e,t)=>{e.addCommand("mceHelp",t)})(e,r),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),n}))}()},72170:function(e,t,o){o(53302)},53302:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=Object.getPrototypeOf,o=(e,t,o)=>{var n;return!!o(e,t.prototype)||(null===(n=e.constructor)||void 0===n?void 0:n.name)===t.name},n=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&o(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,r=e=>t=>typeof t===e,a=n("string"),s=n("object"),i=e=>((e,n)=>s(e)&&o(e,n,((e,o)=>t(e)===o)))(e,Object),l=n("array"),c=(null,e=>null===e);const d=r("boolean"),u=e=>!(e=>null==e)(e),m=r("function"),g=r("number"),p=()=>{};class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return u(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const f=Object.keys,y=Object.hasOwnProperty,b=(e,t)=>y.call(e,t),v=Array.prototype.push,k=e=>{const t=[];for(let o=0,n=e.length;o{((e,t,o)=>{if(!(a(o)||d(o)||g(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")})(e.dom,t,o)},_=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},x=_;var C=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),S=tinymce.util.Tools.resolve("tinymce.util.URI");const z=e=>e.length>0,O=e=>t=>t.options.get(e),T=O("image_dimensions"),E=O("image_advtab"),A=O("image_uploadtab"),M=O("image_prepend_url"),N=O("image_class_list"),R=O("image_description"),D=O("image_title"),B=O("image_caption"),L=O("image_list"),I=O("a11y_advanced_options"),H=O("automatic_uploads"),P=(e,t)=>Math.max(parseInt(e,10),parseInt(t,10)),F=e=>(e&&(e=e.replace(/px$/,"")),e),j=e=>(e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e),V=e=>"IMG"===e.nodeName&&(e.hasAttribute("data-mce-object")||e.hasAttribute("data-mce-placeholder")),Z=(e,t)=>{const o=e.options.get;return S.isDomSafe(t,"img",{allow_html_data_urls:o("allow_html_data_urls"),allow_script_urls:o("allow_script_urls"),allow_svg_data_urls:o("allow_svg_data_urls")})},U=C.DOM,q=e=>e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?F(e.style.marginLeft):"",W=e=>e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?F(e.style.marginTop):"",$=e=>e.style.borderWidth?F(e.style.borderWidth):"",G=(e,t)=>{var o;return e.hasAttribute(t)&&null!==(o=e.getAttribute(t))&&void 0!==o?o:""},K=e=>null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName,Y=(e,t,o)=>{""===o||null===o?e.removeAttribute(t):e.setAttribute(t,o)},X=(e,t)=>{const o=e.getAttribute("style"),n=t(null!==o?o:"");n.length>0?(e.setAttribute("style",n),e.setAttribute("data-mce-style",n)):e.removeAttribute("style")},J=(e,t)=>(e,o,n)=>{const r=e.style;r[o]?(r[o]=j(n),X(e,t)):Y(e,o,n)},Q=(e,t)=>e.style[t]?F(e.style[t]):G(e,t),ee=(e,t)=>{const o=j(t);e.style.marginLeft=o,e.style.marginRight=o},te=(e,t)=>{const o=j(t);e.style.marginTop=o,e.style.marginBottom=o},oe=(e,t)=>{const o=j(t);e.style.borderWidth=o},ne=(e,t)=>{e.style.borderStyle=t},re=e=>{var t;return null!==(t=e.style.borderStyle)&&void 0!==t?t:""},ae=e=>u(e)&&"FIGURE"===e.nodeName,se=e=>0===U.getAttrib(e,"alt").length&&"presentation"===U.getAttrib(e,"role"),ie=e=>se(e)?"":G(e,"alt"),le=(e,t)=>{var o;const n=document.createElement("img");return Y(n,"style",t.style),(q(n)||""!==t.hspace)&&ee(n,t.hspace),(W(n)||""!==t.vspace)&&te(n,t.vspace),($(n)||""!==t.border)&&oe(n,t.border),(re(n)||""!==t.borderStyle)&&ne(n,t.borderStyle),e(null!==(o=n.getAttribute("style"))&&void 0!==o?o:"")},ce=(e,t)=>({src:G(t,"src"),alt:ie(t),title:G(t,"title"),width:Q(t,"width"),height:Q(t,"height"),class:G(t,"class"),style:e(G(t,"style")),caption:K(t),hspace:q(t),vspace:W(t),border:$(t),borderStyle:re(t),isDecorative:se(t)}),de=(e,t,o,n,r)=>{o[n]!==t[n]&&r(e,n,String(o[n]))},ue=(e,t,o)=>{if(o){U.setAttrib(e,"role","presentation");const t=x(e);w(t,"alt","")}else{if(c(t)){"alt",x(e).dom.removeAttribute("alt")}else{const o=x(e);w(o,"alt",t)}"presentation"===U.getAttrib(e,"role")&&U.setAttrib(e,"role","")}},me=(e,t)=>(o,n,r)=>{e(o,r),X(o,t)},ge=(e,t,o)=>{const n=ce(e,o);de(o,n,t,"caption",((e,t,o)=>(e=>{K(e)?(e=>{const t=e.parentNode;u(t)&&(U.insertAfter(e,t),U.remove(t))})(e):(e=>{const t=U.create("figure",{class:"image"});U.insertAfter(t,e),t.appendChild(e),t.appendChild(U.create("figcaption",{contentEditable:"true"},"Caption")),t.contentEditable="false"})(e)})(e))),de(o,n,t,"src",Y),de(o,n,t,"title",Y),de(o,n,t,"width",J(0,e)),de(o,n,t,"height",J(0,e)),de(o,n,t,"class",Y),de(o,n,t,"style",me(((e,t)=>Y(e,"style",t)),e)),de(o,n,t,"hspace",me(ee,e)),de(o,n,t,"vspace",me(te,e)),de(o,n,t,"border",me(oe,e)),de(o,n,t,"borderStyle",me(ne,e)),((e,t,o)=>{o.alt===t.alt&&o.isDecorative===t.isDecorative||ue(e,o.alt,o.isDecorative)})(o,n,t)},pe=(e,t)=>{const o=(e=>{if(e.margin){const t=String(e.margin).split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e})(e.dom.styles.parse(t)),n=e.dom.styles.parse(e.dom.styles.serialize(o));return e.dom.styles.serialize(n)},he=e=>{const t=e.selection.getNode(),o=e.dom.getParent(t,"figure.image");return o?e.dom.select("img",o)[0]:t&&("IMG"!==t.nodeName||V(t))?null:t},fe=(e,t)=>{var o;const n=e.dom,r=((t,o)=>{const n={};var r;return((e,t,o,n)=>{((e,t)=>{const o=f(e);for(let n=0,r=o.length;n{(t(e,r)?o:n)(e,r)}))})(t,((t,o)=>!e.schema.isValidChild(o,"figure")),(r=n,(e,t)=>{r[t]=e}),p),n})(e.schema.getTextBlockElements()),a=n.getParent(t.parentNode,(e=>{return t=r,o=e.nodeName,b(t,o)&&void 0!==t[o]&&null!==t[o];var t,o}),e.getBody());return a&&null!==(o=n.split(a,t))&&void 0!==o?o:t},ye=(e,t)=>{const o=((t,o)=>{const n=document.createElement("img");if(ge((t=>pe(e,t)),{...o,caption:!1},n),ue(n,o.alt,o.isDecorative),o.caption){const e=U.create("figure",{class:"image"});return e.appendChild(n),e.appendChild(U.create("figcaption",{contentEditable:"true"},"Caption")),e.contentEditable="false",e}return n})(0,t);e.dom.setAttrib(o,"data-mce-id","__mcenew"),e.focus(),e.selection.setContent(o.outerHTML);const n=e.dom.select('*[data-mce-id="__mcenew"]')[0];if(e.dom.setAttrib(n,"data-mce-id",null),ae(n)){const t=fe(e,n);e.selection.select(t)}else e.selection.select(n)},be=(e,t)=>{const o=he(e);if(o){const n={...ce((t=>pe(e,t)),o),...t},r=((e,t)=>{const o=t.src;return{...t,src:Z(e,o)?o:""}})(e,n);n.src?((e,t)=>{const o=he(e);if(o)if(ge((t=>pe(e,t)),t,o),((e,t)=>{e.dom.setAttrib(t,"src",t.getAttribute("src"))})(e,o),ae(o.parentNode)){const t=o.parentNode;fe(e,t),e.selection.select(o.parentNode)}else e.selection.select(o),((e,t,o)=>{const n=()=>{o.onload=o.onerror=null,e.selection&&(e.selection.select(o),e.nodeChanged())};o.onload=()=>{t.width||t.height||!T(e)||e.dom.setAttribs(o,{width:String(o.clientWidth),height:String(o.clientHeight)}),n()},o.onerror=n})(e,t,o)})(e,r):((e,t)=>{if(t){const o=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(o),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}})(e,o)}else t.src&&ye(e,{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1,...t})},ve=(ke=(e,t)=>i(e)&&i(t)?ve(e,t):t,(...e)=>{if(0===e.length)throw new Error("Can't merge zero objects");const t={};for(let o=0;oa(e.value)?e.value:"",Ce=(e,t)=>{const o=[];return _e.each(e,(e=>{const n=(e=>a(e.text)?e.text:a(e.title)?e.title:"")(e);if(void 0!==e.menu){const r=Ce(e.menu,t);o.push({text:n,items:r})}else{const r=t(e);o.push({text:n,value:r})}})),o},Se=(e=xe)=>t=>t?h.from(t).map((t=>Ce(t,e))):h.none(),ze=(e,t)=>((e,o)=>{for(let o=0;ob(e,"items"))(n=e[o])?ze(n.items,t):n.value===t?h.some(n):h.none();if(r.isSome())return r}var n;return h.none()})(e),Oe=Se,Te=(e,t)=>e.bind((e=>ze(e,t))),Ee=e=>{const t=Oe((t=>e.convertURL(t.value||t.url||"","src"))),o=new Promise((o=>{((e,t)=>{const o=L(e);a(o)?fetch(o).then((e=>{e.ok&&e.json().then(t)})):m(o)?o(t):t(o)})(e,(e=>{o(t(e).map((e=>k([[{text:"None",value:""}],e]))))}))})),n=(w=N(e),Se(xe)(w)),r=E(e),s=A(e),i=(e=>z(e.options.get("images_upload_url")))(e),l=(e=>u(e.options.get("images_upload_handler")))(e),c=(e=>{const t=he(e);return t?ce((t=>pe(e,t)),t):{src:"",alt:"",title:"",width:"",height:"",class:"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:"",isDecorative:!1}})(e),d=R(e),g=D(e),p=T(e),f=B(e),y=I(e),b=H(e),v=h.some(M(e)).filter((e=>a(e)&&e.length>0));var w;return o.then((e=>({image:c,imageList:e,classList:n,hasAdvTab:r,hasUploadTab:s,hasUploadUrl:i,hasUploadHandler:l,hasDescription:d,hasImageTitle:g,hasDimensions:p,hasImageCaption:f,prependURL:v,hasAccessibilityOptions:y,automaticUploads:b})))},Ae=e=>{const t=e.imageList.map((e=>({name:"images",type:"listbox",label:"Image list",items:e}))),o={name:"alt",type:"input",label:"Alternative description",enabled:!(e.hasAccessibilityOptions&&e.image.isDecorative)},n=e.classList.map((e=>({name:"classes",type:"listbox",label:"Class",items:e})));return k([[{name:"src",type:"urlinput",filetype:"image",label:"Source"}],t.toArray(),e.hasAccessibilityOptions&&e.hasDescription?[{type:"label",label:"Accessibility",items:[{name:"isDecorative",type:"checkbox",label:"Image is decorative"}]}]:[],e.hasDescription?[o]:[],e.hasImageTitle?[{name:"title",type:"input",label:"Image title"}]:[],e.hasDimensions?[{name:"dimensions",type:"sizeinput"}]:[],[{...(r=e.classList.isSome()&&e.hasImageCaption,r?{type:"grid",columns:2}:{type:"panel"}),items:k([n.toArray(),e.hasImageCaption?[{type:"label",label:"Caption",items:[{type:"checkbox",name:"caption",label:"Show caption"}]}]:[]])}]]);var r},Me=e=>({title:"General",name:"general",items:Ae(e)}),Ne=Ae,Re=e=>({src:{value:e.src,meta:{}},images:e.src,alt:e.alt,title:e.title,dimensions:{width:e.width,height:e.height},classes:e.class,caption:e.caption,style:e.style,vspace:e.vspace,border:e.border,hspace:e.hspace,borderstyle:e.borderStyle,fileinput:[],isDecorative:e.isDecorative}),De=(e,t)=>({src:e.src.value,alt:null!==e.alt&&0!==e.alt.length||!t?e.alt:null,title:e.title,width:e.dimensions.width,height:e.dimensions.height,class:e.classes,style:e.style,caption:e.caption,hspace:e.hspace,vspace:e.vspace,border:e.border,borderStyle:e.borderstyle,isDecorative:e.isDecorative}),Be=(e,t,o,n)=>{((e,t)=>{const o=t.getData();((e,t)=>/^(?:[a-zA-Z]+:)?\/\//.test(t)?h.none():e.prependURL.bind((e=>t.substring(0,e.length)!==e?h.some(e+t):h.none())))(e,o.src.value).each((e=>{t.setData({src:{value:e,meta:o.src.meta}})}))})(t,n),((e,t)=>{const o=t.getData(),n=o.src.meta;if(void 0!==n){const r=ve({},o);((e,t,o)=>{e.hasDescription&&a(o.alt)&&(t.alt=o.alt),e.hasAccessibilityOptions&&(t.isDecorative=o.isDecorative||t.isDecorative||!1),e.hasImageTitle&&a(o.title)&&(t.title=o.title),e.hasDimensions&&(a(o.width)&&(t.dimensions.width=o.width),a(o.height)&&(t.dimensions.height=o.height)),a(o.class)&&Te(e.classList,o.class).each((e=>{t.classes=e.value})),e.hasImageCaption&&d(o.caption)&&(t.caption=o.caption),e.hasAdvTab&&(a(o.style)&&(t.style=o.style),a(o.vspace)&&(t.vspace=o.vspace),a(o.border)&&(t.border=o.border),a(o.hspace)&&(t.hspace=o.hspace),a(o.borderstyle)&&(t.borderstyle=o.borderstyle))})(e,r,n),t.setData(r)}})(t,n),((e,t,o,n)=>{const r=n.getData(),a=r.src.value,s=r.src.meta||{};s.width||s.height||!t.hasDimensions||(z(a)?e.imageSize(a).then((e=>{o.open&&n.setData({dimensions:e})})).catch((e=>console.error(e))):n.setData({dimensions:{width:"",height:""}}))})(e,t,o,n),((e,t,o)=>{const n=o.getData(),r=Te(e.imageList,n.src.value);t.prevImage=r,o.setData({images:r.map((e=>e.value)).getOr("")})})(t,o,n)},Le=(e,t,o,n)=>{const r=n.getData();var a;n.block("Uploading image"),(a=r.fileinput,((e,t)=>0{n.unblock()}),(r=>{const a=URL.createObjectURL(r),s=()=>{n.unblock(),URL.revokeObjectURL(a)},i=r=>{n.setData({src:{value:r,meta:{}}}),n.showTab("general"),Be(e,t,o,n)};var l;(l=r,new Promise(((e,t)=>{const o=new FileReader;o.onload=()=>{e(o.result)},o.onerror=()=>{var e;t(null===(e=o.error)||void 0===e?void 0:e.message)},o.readAsDataURL(l)}))).then((o=>{const l=e.createBlobCache(r,a,o);t.automaticUploads?e.uploadImage(l).then((e=>{i(e.url),s()})).catch((t=>{s(),e.alertErr(t)})):(e.addToBlobCache(l),i(l.blobUri()),n.unblock())}))}))},Ie=(e,t,o)=>(n,r)=>{"src"===r.name?Be(e,t,o,n):"images"===r.name?((e,t,o,n)=>{const r=n.getData(),a=Te(t.imageList,r.images);a.each((e=>{const t=""===r.alt||o.prevImage.map((e=>e.text===r.alt)).getOr(!1);t?""===e.value?n.setData({src:e,alt:o.prevAlt}):n.setData({src:e,alt:e.text}):n.setData({src:e})})),o.prevImage=a,Be(e,t,o,n)})(e,t,o,n):"alt"===r.name?o.prevAlt=n.getData().alt:"fileinput"===r.name?Le(e,t,o,n):"isDecorative"===r.name&&n.setEnabled("alt",!n.getData().isDecorative)},He=e=>()=>{e.open=!1},Pe=e=>e.hasAdvTab||e.hasUploadUrl||e.hasUploadHandler?{type:"tabpanel",tabs:k([[Me(e)],e.hasAdvTab?[{title:"Advanced",name:"advanced",items:[{type:"grid",columns:2,items:[{type:"input",label:"Vertical space",name:"vspace",inputMode:"numeric"},{type:"input",label:"Horizontal space",name:"hspace",inputMode:"numeric"},{type:"input",label:"Border width",name:"border",inputMode:"numeric"},{type:"listbox",name:"borderstyle",label:"Border style",items:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]}]:[],e.hasUploadTab&&(e.hasUploadUrl||e.hasUploadHandler)?[{title:"Upload",name:"upload",items:[{type:"dropzone",name:"fileinput"}]}]:[]])}:{type:"panel",items:Ne(e)},Fe=(e,t,o)=>n=>{const r=ve(Re(t.image),n.getData()),a={...r,style:le(o.normalizeCss,De(r,!1))};e.execCommand("mceUpdateImage",!1,De(a,t.hasAccessibilityOptions)),e.editorUpload.uploadImagesAuto(),n.close()},je=e=>t=>Z(e,t)?(e=>new Promise((t=>{const o=document.createElement("img"),n=e=>{o.onload=o.onerror=null,o.parentNode&&o.parentNode.removeChild(o),t(e)};o.onload=()=>{const e={width:P(o.width,o.clientWidth),height:P(o.height,o.clientHeight)};n(Promise.resolve(e))},o.onerror=()=>{n(Promise.reject(`Failed to get image dimensions for: ${e}`))};const r=o.style;r.visibility="hidden",r.position="fixed",r.bottom=r.left="0px",r.width=r.height="auto",document.body.appendChild(o),o.src=e})))(e.documentBaseURI.toAbsolute(t)).then((e=>({width:String(e.width),height:String(e.height)}))):Promise.resolve({width:"",height:""}),Ve=e=>(t,o,n)=>{var r;return e.editorUpload.blobCache.create({blob:t,blobUri:o,name:null===(r=t.name)||void 0===r?void 0:r.replace(/\.[^\.]+$/,""),filename:t.name,base64:n.split(",")[1]})},Ze=e=>t=>{e.editorUpload.blobCache.add(t)},Ue=e=>t=>{e.windowManager.alert(t)},qe=e=>t=>pe(e,t),We=e=>t=>e.dom.parseStyle(t),$e=e=>(t,o)=>e.dom.serializeStyle(t,o),Ge=e=>t=>we(e).upload([t],!1).then((e=>{var t;return 0===e.length?Promise.reject("Failed to upload image"):!1===e[0].status?Promise.reject(null===(t=e[0].error)||void 0===t?void 0:t.message):e[0]})),Ke=e=>{const t={imageSize:je(e),addToBlobCache:Ze(e),createBlobCache:Ve(e),alertErr:Ue(e),normalizeCss:qe(e),parseStyle:We(e),serializeStyle:$e(e),uploadImage:Ge(e)};return{open:()=>{Ee(e).then((o=>{const n=(e=>({prevImage:Te(e.imageList,e.image.src),prevAlt:e.image.alt,open:!0}))(o);return{title:"Insert/Edit Image",size:"normal",body:Pe(o),buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:Re(o.image),onSubmit:Fe(e,o,t),onChange:Ie(t,o,n),onClose:He(n)}})).then(e.windowManager.open)}}},Ye=e=>{const t=e.attr("class");return u(t)&&/\bimage\b/.test(t)},Xe=e=>t=>{let o=t.length;const n=t=>{t.attr("contenteditable",e?"true":null)};for(;o--;){const r=t[o];Ye(r)&&(r.attr("contenteditable",e?"false":null),_e.each(r.getAll("figcaption"),n))}};e.add("image",(e=>{(e=>{const t=e.options.register;t("image_dimensions",{processor:"boolean",default:!0}),t("image_advtab",{processor:"boolean",default:!1}),t("image_uploadtab",{processor:"boolean",default:!0}),t("image_prepend_url",{processor:"string",default:""}),t("image_class_list",{processor:"object[]"}),t("image_description",{processor:"boolean",default:!0}),t("image_title",{processor:"boolean",default:!1}),t("image_caption",{processor:"boolean",default:!1}),t("image_list",{processor:e=>{const t=!1===e||a(e)||((e,t)=>{if(l(e)){for(let o=0,n=e.length;o{e.on("PreInit",(()=>{e.parser.addNodeFilter("figure",Xe(!0)),e.serializer.addNodeFilter("figure",Xe(!1))}))})(e),(e=>{e.ui.registry.addToggleButton("image",{icon:"image",tooltip:"Insert/edit image",onAction:Ke(e).open,onSetup:t=>(t.setActive(u(he(e))),e.selection.selectorChangedWithUnbind("img:not([data-mce-object]):not([data-mce-placeholder]),figure.image",t.setActive).unbind)}),e.ui.registry.addMenuItem("image",{icon:"image",text:"Image...",onAction:Ke(e).open}),e.ui.registry.addContextMenu("image",{update:e=>ae(e)||"IMG"===e.nodeName&&!V(e)?["image"]:[]})})(e),(e=>{e.addCommand("mceImage",Ke(e).open),e.addCommand("mceUpdateImage",((t,o)=>{e.undoManager.transact((()=>be(e,o)))}))})(e)}))}()},73956:function(e,t,o){o(38006)},38006:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),o=t("insertdatetime_dateformat"),n=t("insertdatetime_timeformat"),r=t("insertdatetime_formats"),a=t("insertdatetime_element"),s="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),i="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),l="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),c="January February March April May June July August September October November December".split(" "),d=(e,t)=>{if((e=""+e).length(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+o.getFullYear())).replace("%y",""+o.getYear())).replace("%m",d(o.getMonth()+1,2))).replace("%d",d(o.getDate(),2))).replace("%H",""+d(o.getHours(),2))).replace("%M",""+d(o.getMinutes(),2))).replace("%S",""+d(o.getSeconds(),2))).replace("%I",""+((o.getHours()+11)%12+1))).replace("%p",o.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(c[o.getMonth()]))).replace("%b",""+e.translate(l[o.getMonth()]))).replace("%A",""+e.translate(i[o.getDay()]))).replace("%a",""+e.translate(s[o.getDay()]))).replace("%%","%"),m=(e,t)=>{if(a(e)){const o=u(e,t);let n;n=/%[HMSIp]/.test(t)?u(e,"%Y-%m-%dT%H:%M"):u(e,"%Y-%m-%d");const r=e.dom.getParent(e.selection.getStart(),"time");r?((e,t,o,n)=>{const r=e.dom.create("time",{datetime:o},n);e.dom.replace(r,t),e.selection.select(r,!0),e.selection.collapse(!1)})(e,r,n,o):e.insertContent('")}else e.insertContent(u(e,t))};var g=tinymce.util.Tools.resolve("tinymce.util.Tools");e.add("insertdatetime",(e=>{(e=>{const t=e.options.register;t("insertdatetime_dateformat",{processor:"string",default:e.translate("%Y-%m-%d")}),t("insertdatetime_timeformat",{processor:"string",default:e.translate("%H:%M:%S")}),t("insertdatetime_formats",{processor:"string[]",default:["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"]}),t("insertdatetime_element",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mceInsertDate",((t,n)=>{m(e,null!=n?n:o(e))})),e.addCommand("mceInsertTime",((t,o)=>{m(e,null!=o?o:n(e))}))})(e),(e=>{const t=r(e),o=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})((e=>{const t=r(e);return t.length>0?t[0]:n(e)})(e)),a=t=>e.execCommand("mceInsertDate",!1,t);e.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:e=>e===o.get(),fetch:o=>{o(g.map(t,(t=>({type:"choiceitem",text:u(e,t),value:t}))))},onAction:e=>{a(o.get())},onItemAction:(e,t)=>{o.set(t),a(t)}});const s=e=>()=>{o.set(e),a(e)};e.ui.registry.addNestedMenuItem("insertdatetime",{icon:"insert-time",text:"Date/time",getSubmenuItems:()=>g.map(t,(t=>({type:"menuitem",text:u(e,t),onAction:s(t)})))})})(e)}))}()},72682:function(e,t,o){o(27384)},27384:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(t)===e,o=e=>t=>typeof t===e,n=t("string"),r=t("object"),a=t("array"),s=(null,e=>null===e);const i=o("boolean"),l=e=>!(e=>null==e)(e),c=o("function"),d=(e,t)=>{if(a(e)){for(let o=0,n=e.length;o{},m=(e,t)=>e===t;class g{constructor(e,t){this.tag=e,this.value=t}static some(e){return new g(!0,e)}static none(){return g.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?g.some(e(this.value)):g.none()}bind(e){return this.tag?e(this.value):g.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:g.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?g.some(e):g.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}g.singletonNone=new g(!1);const p=Array.prototype.indexOf,h=Array.prototype.push,f=e=>{const t=[];for(let o=0,n=e.length;o{for(let o=0;oe.exists((e=>o(e,t))),v=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te?g.some(t):g.none(),w=e=>t=>t.options.get(e),_=w("link_assume_external_targets"),x=w("link_context_toolbar"),C=w("link_list"),S=w("link_default_target"),z=w("link_default_protocol"),O=w("link_target_list"),T=w("link_rel_list"),E=w("link_class_list"),A=w("link_title"),M=w("allow_unsafe_link_target"),N=w("link_quicklink");var R=tinymce.util.Tools.resolve("tinymce.util.Tools");const D=e=>n(e.value)?e.value:"",B=(e,t)=>{const o=[];return R.each(e,(e=>{const r=(e=>n(e.text)?e.text:n(e.title)?e.title:"")(e);if(void 0!==e.menu){const n=B(e.menu,t);o.push({text:r,items:n})}else{const n=t(e);o.push({text:r,value:n})}})),o},L=(e=D)=>t=>g.from(t).map((t=>B(t,e))),I=e=>L(D)(e),H=L,P=(e,t)=>o=>({name:e,type:"listbox",label:t,items:o}),F=D,j=Object.keys,V=Object.hasOwnProperty,Z=(e,t)=>V.call(e,t);var U=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),q=tinymce.util.Tools.resolve("tinymce.util.URI");const W=e=>l(e)&&"a"===e.nodeName.toLowerCase(),$=e=>W(e)&&!!Y(e),G=(e,t)=>{if(e.collapsed)return[];{const o=e.cloneContents(),n=o.firstChild,r=new U(n,o),a=[];let s=n;do{t(s)&&a.push(s)}while(s=r.next());return a}},K=e=>/^\w+:/i.test(e),Y=e=>{var t,o;return null!==(o=null!==(t=e.getAttribute("data-mce-href"))&&void 0!==t?t:e.getAttribute("href"))&&void 0!==o?o:""},X=(e,t)=>{const o=["noopener"],n=e?e.split(/\s+/):[],r=e=>e.filter((e=>-1===R.inArray(o,e))),a=t?(e=>(e=r(e)).length>0?e.concat(o):o)(n):r(n);return a.length>0?(e=>R.trim(e.sort().join(" ")))(a):""},J=(e,t)=>(t=t||te(e.selection.getRng())[0]||e.selection.getNode(),ae(t)?g.from(e.dom.select("a[href]",t)[0]):g.from(e.dom.getParent(t,"a[href]"))),Q=(e,t)=>J(e,t).isSome(),ee=(e,t)=>t.fold((()=>e.getContent({format:"text"})),(e=>e.innerText||e.textContent||"")).replace(/\uFEFF/g,""),te=e=>G(e,$),oe=e=>R.grep(e,$),ne=e=>oe(e).length>0,re=e=>{const t=e.schema.getTextInlineElements();if(J(e).exists((e=>e.hasAttribute("data-mce-block"))))return!1;const o=e.selection.getRng();return!!o.collapsed||0===G(o,(e=>1===e.nodeType&&!W(e)&&!Z(t,e.nodeName.toLowerCase()))).length},ae=e=>l(e)&&"FIGURE"===e.nodeName&&/\bimage\b/i.test(e.className),se=(e,t,o)=>{const n=e.selection.getNode(),r=J(e,n),a=((e,t)=>{const o={...t};if(0===T(e).length&&!M(e)){const e=X(o.rel,"_blank"===o.target);o.rel=e||null}return g.from(o.target).isNone()&&!1===O(e)&&(o.target=S(e)),o.href=((e,t)=>"http"!==t&&"https"!==t||K(e)?e:t+"://"+e)(o.href,_(e)),o})(e,(e=>{return t=["title","rel","class","target"],o=(t,o)=>(e[o].each((e=>{t[o]=e.length>0?e:null})),t),n={href:e.href},((e,t)=>{for(let o=0,n=e.length;o{n=o(n,e)})),n;var t,o,n})(o));e.undoManager.transact((()=>{o.href===t.href&&t.attach(),r.fold((()=>{((e,t,o,n)=>{const r=e.dom;ae(t)?ue(r,t,n):o.fold((()=>{e.execCommand("mceInsertLink",!1,n)}),(t=>{e.insertContent(r.createHTML("a",n,r.encode(t)))}))})(e,n,o.text,a)}),(t=>{e.focus(),((e,t,o,n)=>{o.each((e=>{Z(t,"innerText")?t.innerText=e:t.textContent=e})),e.dom.setAttribs(t,n),e.selection.select(t)})(e,t,o.text,a)}))}))},ie=e=>{const{class:t,href:o,rel:n,target:r,text:a,title:i}=e;return((e,t)=>{const o={};var n;return((e,t,o,n)=>{((e,t)=>{const o=j(e);for(let n=0,r=o.length;n{(t(e,r)?o:n)(e,r)}))})(e,((e,t)=>!1===s(e)),(n=o,(e,t)=>{n[t]=e}),u),o})({class:t.getOrNull(),href:o,rel:n.getOrNull(),target:r.getOrNull(),text:a.getOrNull(),title:i.getOrNull()})},le=(e,t,o)=>{const n=((e,t)=>{const o=e.options.get,n={allow_html_data_urls:o("allow_html_data_urls"),allow_script_urls:o("allow_script_urls"),allow_svg_data_urls:o("allow_svg_data_urls")},r=t.href;return{...t,href:q.isDomSafe(r,"a",n)?r:""}})(e,o);e.hasPlugin("rtc",!0)?e.execCommand("createlink",!1,ie(n)):se(e,t,n)},ce=e=>{e.hasPlugin("rtc",!0)?e.execCommand("unlink"):(e=>{e.undoManager.transact((()=>{const t=e.selection.getNode();ae(t)?de(e,t):(e=>{const t=e.dom,o=e.selection,n=o.getBookmark(),r=o.getRng().cloneRange(),a=t.getParent(r.startContainer,"a[href]",e.getBody()),s=t.getParent(r.endContainer,"a[href]",e.getBody());a&&r.setStartBefore(a),s&&r.setEndAfter(s),o.setRng(r),e.execCommand("unlink"),o.moveToBookmark(n)})(e),e.focus()}))})(e)},de=(e,t)=>{var o;const n=e.dom.select("img",t)[0];if(n){const r=e.dom.getParents(n,"a[href]",t)[0];r&&(null===(o=r.parentNode)||void 0===o||o.insertBefore(n,r),e.dom.remove(r))}},ue=(e,t,o)=>{var n;const r=e.select("img",t)[0];if(r){const t=e.create("a",o);null===(n=r.parentNode)||void 0===n||n.insertBefore(t,r),t.appendChild(r)}},me=(e,t)=>y(t,(t=>(e=>{return Z(t=e,o="items")&&void 0!==t[o]&&null!==t[o];var t,o})(t)?me(e,t.items):k(t.value===e,t))),ge=(e,t)=>{const o={text:e.text,title:e.title},n=(e,n)=>{const r=(a=t,s=n,"link"===s?a.link:"anchor"===s?a.anchor:g.none()).getOr([]);var a,s;return((e,t,o,n)=>{const r=n[t],a=e.length>0;return void 0!==r?me(r,o).map((t=>({url:{value:t.value,meta:{text:a?e:t.text,attach:u}},text:a?e:t.text}))):g.none()})(o.text,n,r,e)};return{onChange:(e,t)=>{const r=t.name;return"url"===r?(e=>{const t=(n=e.url,k(o.text.length<=0,g.from(null===(r=n.meta)||void 0===r?void 0:r.text).getOr(n.value)));var n,r;const a=(e=>{var t;return k(o.title.length<=0,g.from(null===(t=e.meta)||void 0===t?void 0:t.title).getOr(""))})(e.url);return t.isSome()||a.isSome()?g.some({...t.map((e=>({text:e}))).getOr({}),...a.map((e=>({title:e}))).getOr({})}):g.none()})(e()):((e,t)=>p.call(e,t))(["anchor","link"],r)>-1?n(e(),r):"text"===r||"title"===r?(o[r]=e()[r],g.none()):g.none()}}};var pe=tinymce.util.Tools.resolve("tinymce.util.Delay");const he=e=>{const t=e.href;return t.indexOf("@")>0&&-1===t.indexOf("/")&&-1===t.indexOf("mailto:")?g.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:e=>({...e,href:"mailto:"+t})}):g.none()},fe=(e,t)=>o=>{const n=o.href;return 1===e&&!K(n)||0===e&&/^\s*www(\.|\d\.)/i.test(n)?g.some({message:`The URL you entered seems to be an external link. Do you want to add the required ${t}:// prefix?`,preprocess:e=>({...e,href:t+"://"+n})}):g.none()},ye=e=>{const t=e.dom.select("a:not([href])"),o=f(((e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r{const t=e.name||e.id;return t?[{text:t,value:"#"+t}]:[]})));return o.length>0?g.some([{text:"None",value:""}].concat(o)):g.none()},be=e=>{const t=E(e);return t.length>0?I(t):g.none()},ve=e=>{try{return g.some(JSON.parse(e))}catch(e){return g.none()}},ke=(e,t)=>{const o=T(e);if(o.length>0){const n=b(t,"_blank"),r=e=>X(F(e),n);return(!1===M(e)?H(r):I)(o)}return g.none()},we=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],_e=e=>{const t=O(e);return a(t)?I(t).orThunk((()=>g.some(we))):!1===t?g.none():g.some(we)},xe=(e,t,o)=>{const n=e.getAttrib(t,o);return null!==n&&n.length>0?g.some(n):g.none()},Ce=(e,t)=>(e=>{const t=t=>e.convertURL(t.value||t.url||"","href"),o=C(e);return new Promise((e=>{n(o)?fetch(o).then((e=>e.ok?e.text().then(ve):Promise.reject())).then(e,(()=>e(g.none()))):c(o)?o((t=>e(g.some(t)))):e(g.from(o))})).then((e=>e.bind(H(t)).map((e=>e.length>0?[{text:"None",value:""}].concat(e):e))))})(e).then((o=>{const n=((e,t)=>{const o=e.dom,n=re(e)?g.some(ee(e.selection,t)):g.none(),r=t.bind((e=>g.from(o.getAttrib(e,"href")))),a=t.bind((e=>g.from(o.getAttrib(e,"target")))),s=t.bind((e=>xe(o,e,"rel"))),i=t.bind((e=>xe(o,e,"class")));return{url:r,text:n,title:t.bind((e=>xe(o,e,"title"))),target:a,rel:s,linkClass:i}})(e,t);return{anchor:n,catalogs:{targets:_e(e),rels:ke(e,n.target),classes:be(e),anchor:ye(e),link:o},optNode:t,flags:{titleEnabled:A(e)}}})),Se=e=>{const t=(e=>{const t=J(e);return Ce(e,t)})(e);t.then((t=>{const o=((e,t)=>o=>{const n=o.getData();if(!n.url.value)return ce(e),void o.close();const r=e=>g.from(n[e]).filter((o=>!b(t.anchor[e],o))),a={href:n.url.value,text:r("text"),target:r("target"),rel:r("rel"),class:r("linkClass"),title:r("title")},s={href:n.url.value,attach:void 0!==n.url.meta&&n.url.meta.attach?n.url.meta.attach:u};((e,t)=>y([he,fe(_(e),z(e))],(e=>e(t))).fold((()=>Promise.resolve(t)),(o=>new Promise((n=>{((e,t,o)=>{const n=e.selection.getRng();pe.setEditorTimeout(e,(()=>{e.windowManager.confirm(t,(t=>{e.selection.setRng(n),o(t)}))}))})(e,o.message,(e=>{n(e?o.preprocess(t):t)}))})))))(e,a).then((t=>{le(e,s,t)})),o.close()})(e,t);return((e,t,o)=>{const n=e.anchor.text.map((()=>({name:"text",type:"input",label:"Text to display"}))).toArray(),r=e.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],a=((e,t)=>{const o=e.anchor,n=o.url.getOr("");return{url:{value:n,meta:{original:{value:n}}},text:o.text.getOr(""),title:o.title.getOr(""),anchor:n,link:n,rel:o.rel.getOr(""),target:o.target.or(t).getOr(""),linkClass:o.linkClass.getOr("")}})(e,g.from(S(o))),s=e.catalogs,i=ge(a,s);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:f([[{name:"url",type:"urlinput",filetype:"file",label:"URL"}],n,r,v([s.anchor.map(P("anchor","Anchors")),s.rels.map(P("rel","Rel")),s.targets.map(P("target","Open link in...")),s.link.map(P("link","Link list")),s.classes.map(P("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:a,onChange:(e,{name:t})=>{i.onChange(e.getData,{name:t}).each((t=>{e.setData(t)}))},onSubmit:t}})(t,o,e)})).then((t=>{e.windowManager.open(t)}))};var ze=tinymce.util.Tools.resolve("tinymce.util.VK");const Oe=(e,t)=>e.dom.getParent(t,"a[href]"),Te=e=>Oe(e,e.selection.getStart()),Ee=(e,t)=>{if(t){const o=Y(t);if(/^#/.test(o)){const t=e.dom.select(o);t.length&&e.selection.scrollIntoView(t[0],!0)}else(e=>{const t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";const o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),((e,t)=>{document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)})(t,o)})(t.href)}},Ae=e=>()=>{e.execCommand("mceLink",!1,{dialog:!0})},Me=e=>()=>{Ee(e,Te(e))},Ne=(e,t)=>(e.on("NodeChange",t),()=>e.off("NodeChange",t)),Re=e=>t=>{const o=()=>t.setActive(!e.mode.isReadOnly()&&Q(e,e.selection.getNode()));return o(),Ne(e,o)},De=e=>t=>{const o=()=>t.setEnabled((e=>1===(e.selection.isCollapsed()?oe(e.dom.getParents(e.selection.getStart())):te(e.selection.getRng())).length)(e));return o(),Ne(e,o)},Be=e=>t=>{const o=t=>{return ne(t)||(o=e.selection.getRng(),te(o).length>0);var o},n=e.dom.getParents(e.selection.getStart());return t.setEnabled(o(n)),Ne(e,(e=>t.setEnabled(o(e.parents))))};e.add("link",(e=>{(e=>{const t=e.options.register;t("link_assume_external_targets",{processor:e=>{const t=n(e)||i(e);return t?!0===e?{value:1,valid:t}:"http"===e||"https"===e?{value:e,valid:t}:{value:0,valid:t}:{valid:!1,message:"Must be a string or a boolean."}},default:!1}),t("link_context_toolbar",{processor:"boolean",default:!1}),t("link_list",{processor:e=>n(e)||c(e)||d(e,r)}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"}),t("link_target_list",{processor:e=>i(e)||d(e,r),default:!0}),t("link_rel_list",{processor:"object[]",default:[]}),t("link_class_list",{processor:"object[]",default:[]}),t("link_title",{processor:"boolean",default:!0}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("link_quicklink",{processor:"boolean",default:!1})})(e),(e=>{e.ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",onAction:Ae(e),onSetup:Re(e)}),e.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:Me(e),onSetup:De(e)}),e.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:Me(e),onSetup:De(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onAction:Ae(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:()=>ce(e),onSetup:Be(e)})})(e),(e=>{e.ui.registry.addContextMenu("link",{update:t=>e.dom.isEditable(t)?ne(e.dom.getParents(t,"a"))?"link unlink openlink":"link":""})})(e),(e=>{const t=t=>{const o=e.selection.getNode();return t.setEnabled(Q(e,o)),u};e.ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Re(e)},label:"Link",predicate:t=>x(e)&&Q(e,t),initValue:()=>J(e).fold((()=>""),Y),commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:t=>{const o=e.selection.getNode();return t.setActive(Q(e,o)),Re(e)(t)},onAction:t=>{const o=t.getValue(),n=(t=>{const o=J(e),n=re(e);if(o.isNone()&&n){const n=ee(e.selection,o);return k(0===n.length,t)}return g.none()})(o);le(e,{href:o,attach:u},{href:o,text:n,title:g.none(),rel:g.none(),target:g.none(),class:g.none()}),(e=>{e.selection.collapse(!1)})(e),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:t,onAction:t=>{ce(e),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:t,onAction:t=>{Me(e)(),t.hide()}}]})})(e),(e=>{e.on("click",(t=>{const o=Oe(e,t.target);o&&ze.metaKeyPressed(t)&&(t.preventDefault(),Ee(e,o))})),e.on("keydown",(t=>{if(!t.isDefaultPrevented()&&13===t.keyCode&&(e=>!0===e.altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey)(t)){const o=Te(e);o&&(t.preventDefault(),Ee(e,o))}}))})(e),(e=>{e.addCommand("mceLink",((t,o)=>{!0!==(null==o?void 0:o.dialog)&&N(e)?e.dispatch("contexttoolbar-show",{toolbarKey:"quicklink"}):Se(e)}))})(e),(e=>{e.addShortcut("Meta+K","",(()=>{e.execCommand("mceLink")}))})(e)}))}()},1236:function(e,t,o){o(77585)},77585:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(t)===e,o=e=>t=>typeof t===e,n=t("string"),r=t("object"),a=t("array"),s=o("boolean"),i=e=>!(e=>null==e)(e),l=o("function"),c=o("number"),d=()=>{},u=(e,t)=>e===t,m=e=>t=>!e(t),g=(!1,()=>false);class p{constructor(e,t){this.tag=e,this.value=t}static some(e){return new p(!0,e)}static none(){return p.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?p.some(e(this.value)):p.none()}bind(e){return this.tag?e(this.value):p.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:p.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return i(e)?p.some(e):p.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}p.singletonNone=new p(!1);const h=Array.prototype.slice,f=Array.prototype.indexOf,y=Array.prototype.push,b=(e,t)=>{return o=e,n=t,f.call(o,n)>-1;var o,n},v=(e,t)=>{for(let o=0,n=e.length;o{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[];for(let n=0,r=e.length;n(w(e,((e,n)=>{o=t(o,e,n)})),o),C=(e,t,o)=>{for(let n=0,r=e.length;nC(e,t,g),z=(e,t)=>(e=>{const t=[];for(let o=0,n=e.length;o{const t=h.call(e,0);return t.reverse(),t},T=(e,t)=>t>=0&&tT(e,0),A=e=>T(e,e.length-1),M=(e,t)=>{const o=[],n=l(t)?e=>v(o,(o=>t(o,e))):e=>b(o,e);for(let t=0,r=e.length;te.exists((e=>o(e,t))),R=(e,t,o)=>e.isSome()&&t.isSome()?p.some(o(e.getOrDie(),t.getOrDie())):p.none(),D=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},B=(e,t)=>{const o=(t||document).createElement(e);return D(o)},L=D,I=(e,t)=>e.dom===t.dom;"undefined"!=typeof window?window:Function("return this;")();const H=e=>e.dom.nodeName.toLowerCase(),P=(1,e=>1===(e=>e.dom.nodeType)(e));const F=e=>t=>P(t)&&H(t)===e,j=e=>p.from(e.dom.parentNode).map(L),V=e=>k(e.dom.childNodes,L),Z=(e,t)=>{const o=e.dom.childNodes;return p.from(o[t]).map(L)},U=e=>Z(e,0),q=e=>Z(e,e.dom.childNodes.length-1),W=(e,t,o)=>{let n=e.dom;const r=l(o)?o:g;for(;n.parentNode;){n=n.parentNode;const e=L(n);if(t(e))return p.some(e);if(r(e))break}return p.none()},$=(e,t,o)=>((e,t,o,n,r)=>n(o)?p.some(o):l(r)&&r(o)?p.none():t(o,n,r))(0,W,e,t,o),G=(e,t)=>{j(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},K=(e,t)=>{e.dom.appendChild(t.dom)},Y=(e,t)=>{w(t,(t=>{K(e,t)}))},X=e=>{e.dom.textContent="",w(V(e),(e=>{J(e)}))},J=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var Q=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),ee=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),te=tinymce.util.Tools.resolve("tinymce.util.VK");const oe=e=>k(e,L),ne=Object.keys,re=(e,t)=>{const o=ne(e);for(let n=0,r=o.length;n{const o=e.dom;re(t,((e,t)=>{((e,t,o)=>{if(!(n(o)||s(o)||c(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")})(o,t,e)}))},se=e=>x(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ie=e=>((e,t)=>L(e.dom.cloneNode(!0)))(e),le=(e,t)=>{const o=((e,t)=>{const o=B(t),n=se(e);return ae(o,n),o})(e,t);var n,r;r=o,(e=>p.from(e.dom.nextSibling).map(L))(n=e).fold((()=>{j(n).each((e=>{K(e,r)}))}),(e=>{G(e,r)}));const a=V(e);return Y(o,a),J(e),o};var ce=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),de=tinymce.util.Tools.resolve("tinymce.util.Tools");const ue=e=>t=>i(t)&&t.nodeName.toLowerCase()===e,me=e=>t=>i(t)&&e.test(t.nodeName),ge=e=>i(e)&&3===e.nodeType,pe=e=>i(e)&&1===e.nodeType,he=me(/^(OL|UL|DL)$/),fe=me(/^(OL|UL)$/),ye=ue("ol"),be=me(/^(LI|DT|DD)$/),ve=me(/^(DT|DD)$/),ke=me(/^(TH|TD)$/),we=ue("br"),_e=(e,t)=>i(t)&&t.nodeName in e.schema.getTextBlockElements(),xe=(e,t)=>i(e)&&e.nodeName in t,Ce=(e,t)=>i(t)&&t.nodeName in e.schema.getVoidElements(),Se=(e,t,o)=>{const n=e.isEmpty(t);return!(o&&e.select("span[data-mce-type=bookmark]",t).length>0)&&n},ze=(e,t)=>e.isChildOf(t,e.getRoot()),Oe=e=>t=>t.options.get(e),Te=Oe("lists_indent_on_tab"),Ee=Oe("forced_root_block"),Ae=Oe("forced_root_block_attrs"),Me=(e,t)=>{const o=e.dom,n=e.schema.getBlockElements(),r=o.createFragment(),a=Ee(e),s=Ae(e);let i,l,c=!1;for(l=o.create(a,s),xe(t.firstChild,n)||r.appendChild(l);i=t.firstChild;){const e=i.nodeName;c||"SPAN"===e&&"bookmark"===i.getAttribute("data-mce-type")||(c=!0),xe(i,n)?(r.appendChild(i),l=null):(l||(l=o.create(a,s),r.appendChild(l)),l.appendChild(i))}return!c&&l&&l.appendChild(o.create("br",{"data-mce-bogus":"1"})),r},Ne=ce.DOM,Re=F("dd"),De=F("dt"),Be=(e,t)=>{var o;Re(t)?le(t,"dt"):De(t)&&(o=t,p.from(o.dom.parentElement).map(L)).each((o=>((e,t,o)=>{const n=Ne.select('span[data-mce-type="bookmark"]',t),r=Me(e,o),a=Ne.createRng();a.setStartAfter(o),a.setEndAfter(t);const s=a.extractContents();for(let t=s.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){Ne.remove(t);break}e.dom.isEmpty(s)||Ne.insertAfter(s,t),Ne.insertAfter(r,t);const i=o.parentElement;i&&Se(e.dom,i)&&(e=>{const t=e.parentNode;t&&de.each(n,(e=>{t.insertBefore(e,o.parentNode)})),Ne.remove(e)})(i),Ne.remove(o),Se(e.dom,t)&&Ne.remove(t)})(e,o.dom,t.dom)))},Le=e=>{De(e)&&le(e,"dd")},Ie=(e,t)=>{if(ge(e))return{container:e,offset:t};const o=Q.getNode(e,t);return ge(o)?{container:o,offset:t>=e.childNodes.length?o.data.length:0}:o.previousSibling&&ge(o.previousSibling)?{container:o.previousSibling,offset:o.previousSibling.data.length}:o.nextSibling&&ge(o.nextSibling)?{container:o.nextSibling,offset:0}:{container:e,offset:t}},He=e=>{const t=e.cloneRange(),o=Ie(e.startContainer,e.startOffset);t.setStart(o.container,o.offset);const n=Ie(e.endContainer,e.endOffset);return t.setEnd(n.container,n.offset),t},Pe=["OL","UL","DL"],Fe=Pe.join(","),je=(e,t)=>{const o=t||e.selection.getStart(!0);return e.dom.getParent(o,Fe,Ue(e,o))},Ve=e=>{const t=e.selection.getSelectedBlocks();return _(((e,t)=>{const o=de.map(t,(t=>e.dom.getParent(t,"li,dd,dt",Ue(e,t))||t));return M(o)})(e,t),be)},Ze=(e,t)=>{const o=e.dom.getParents(t,"TD,TH");return o.length>0?o[0]:e.getBody()},Ue=(e,t)=>{const o=e.dom.getParents(t,e.dom.isBlock),n=S(o,(t=>{return o=e.schema,!he(n=t)&&!be(n)&&v(Pe,(e=>o.isValidChild(n.nodeName,e)));var o,n}));return n.getOr(e.getBody())},qe=(e,t)=>{const o=e.dom.getParents(t,"ol,ul",Ue(e,t));return A(o)},We=(e,t)=>{const o=k(t,(t=>qe(e,t).getOr(t)));return M(o)},$e=e=>/\btox\-/.test(e.className),Ge=(e,t)=>C(e,he,ke).exists((e=>e.nodeName===t&&!$e(e))),Ke=(e,t)=>null!==t&&!e.dom.isEditable(t),Ye=(e,t)=>{const o=e.dom.getParent(t,"ol,ul,dl");return Ke(e,o)},Xe=(e,t)=>{const o=e.selection.getNode();return t({parents:e.dom.getParents(o),element:o}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},Je=(e,t,o)=>e.dispatch("ListMutation",{action:t,element:o}),Qe=(et=/^\s+|\s+$/g,e=>e.replace(et,""));var et;const tt=(e,t,o)=>{((e,t,o)=>{if(!n(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);(e=>void 0!==e.style&&l(e.style.getPropertyValue))(e)&&e.style.setProperty(t,o)})(e.dom,t,o)},ot=(e,t)=>{K(e.item,t.list)},nt=(e,t)=>{const o={list:B(t,e),item:B("li",e)};return K(o.list,o.item),o},rt=e=>((e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}})(e,"OL,UL"),at=e=>U(e).exists(rt),st=e=>e.depth>0,it=e=>e.isSelected,lt=e=>{const t=V(e),o=q(e).exists(rt)?t.slice(0,-1):t;return k(o,ie)},ct=e=>(w(e,((t,o)=>{((e,t)=>{const o=e[t].depth,n=e=>e.depth===o&&!e.dirty,r=e=>e.depthC(e.slice(t+1),n,r)))})(e,o).fold((()=>{t.dirty&&(e=>{e.listAttributes=((e,t)=>{const o={};var n;return((e,t,o,n)=>{re(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(n=o,(e,t)=>{n[t]=e}),d),o})(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return n=e,(o=t).listType=n.listType,void(o.listAttributes={...n.listAttributes});var o,n}))})),e),dt=(e,t,o,n)=>U(n).filter(rt).fold((()=>{t.each((e=>{I(e.start,n)&&o.set(!0)}));const r=((e,t,o)=>j(e).filter(P).map((n=>({depth:t,dirty:!1,isSelected:o,content:lt(e),itemAttributes:se(e),listAttributes:se(n),listType:H(n)}))))(n,e,o.get());t.each((e=>{I(e.end,n)&&o.set(!1)}));const a=q(n).filter(rt).map((n=>ut(e,t,o,n))).getOr([]);return r.toArray().concat(a)}),(n=>ut(e,t,o,n))),ut=(e,t,o,n)=>z(V(n),(n=>(rt(n)?ut:dt)(e+1,t,o,n))),mt=(e,t)=>{const o=ct(t);return((e,t)=>{const o=x(t,((t,o)=>o.depth>t.length?((e,t,o)=>{const n=((e,t,o)=>{const n=[];for(let r=0;r{for(let t=1;t{for(let t=0;t{ae(e.list,t.listAttributes),ae(e.item,t.itemAttributes),Y(e.item,t.content)}))})(n,o),r=n,R(A(t),E(r),ot),t.concat(n)})(e,t,o):((e,t,o)=>{const n=t.slice(0,o.depth);return A(n).each((t=>{const n=((e,t,o)=>{const n=B("li",e);return ae(n,t),Y(n,o),n})(e,o.itemAttributes,o.content);((e,t)=>{K(e.list,t),e.item=t})(t,n),((e,t)=>{H(e.list)!==t.listType&&(e.list=le(e.list,t.listType)),ae(e.list,t.listAttributes)})(t,o)})),n})(e,t,o)),[]);return E(o).map((e=>e.list))})(e.contentDocument,o).toArray()},gt=(e,t,o)=>{const n=((e,t)=>{const o=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return k(e,(e=>({sourceList:e,entries:ut(0,t,o,e)})))})(t,(e=>{const t=k(Ve(e),L);return R(S(t,m(at)),S(O(t),m(at)),((e,t)=>({start:e,end:t})))})(e));w(n,(t=>{((e,t)=>{w(_(e,it),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,o);const n=((e,t)=>z(((e,t)=>{if(0===e.length)return[];{let o=t(e[0]);const n=[];let r=[];for(let a=0,s=e.length;aE(t).exists(st)?mt(e,t):((e,t)=>{const o=ct(t);return k(o,(t=>{const o=((e,t)=>{const o=document.createDocumentFragment();return w(e,(e=>{o.appendChild(e.dom)})),L(o)})(t.content);return L(Me(e,o.dom))}))})(e,t))))(e,t.entries);var r;w(n,(t=>{Je(e,"Indent"===o?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,w(n,(e=>{G(r,e)})),J(t.sourceList)}))},pt=(e,t)=>{const o=oe((e=>{const t=(e=>{const t=qe(e,e.selection.getStart()),o=_(e.selection.getSelectedBlocks(),fe);return t.toArray().concat(o)})(e);return We(e,t)})(e)),n=oe((e=>_(Ve(e),ve))(e));let r=!1;if(o.length||n.length){const a=e.selection.getBookmark();gt(e,o,t),((e,t,o)=>{w(o,"Indent"===t?Le:t=>Be(e,t))})(e,t,n),e.selection.moveToBookmark(a),e.selection.setRng(He(e.selection.getRng())),e.nodeChanged(),r=!0}return r},ht=(e,t)=>!(e=>{const t=je(e);return Ke(e,t)})(e)&&pt(e,t),ft=e=>ht(e,"Indent"),yt=e=>ht(e,"Outdent"),bt=e=>ht(e,"Flatten"),vt=e=>"\ufeff"===e;var kt=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const wt=ce.DOM,_t=e=>{const t={},o=o=>{let n=e[o?"startContainer":"endContainer"],r=e[o?"startOffset":"endOffset"];if(pe(n)){const e=wt.create("span",{"data-mce-type":"bookmark"});n.hasChildNodes()?(r=Math.min(r,n.childNodes.length-1),o?n.insertBefore(e,n.childNodes[r]):wt.insertAfter(e,n.childNodes[r])):n.appendChild(e),n=e,r=0}t[o?"startContainer":"endContainer"]=n,t[o?"startOffset":"endOffset"]=r};return o(!0),e.collapsed||o(),t},xt=e=>{const t=t=>{let o=e[t?"startContainer":"endContainer"],n=e[t?"startOffset":"endOffset"];if(o){if(pe(o)&&o.parentNode){const e=o;n=(e=>{var t;let o=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,n=0;for(;o;){if(o===e)return n;pe(o)&&"bookmark"===o.getAttribute("data-mce-type")||n++,o=o.nextSibling}return-1})(o),o=o.parentNode,wt.remove(e),!o.hasChildNodes()&&wt.isBlock(o)&&o.appendChild(wt.create("br"))}e[t?"startContainer":"endContainer"]=o,e[t?"startOffset":"endOffset"]=n}};t(!0),t();const o=wt.createRng();return o.setStart(e.startContainer,e.startOffset),e.endContainer&&o.setEnd(e.endContainer,e.endOffset),He(o)},Ct=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},St=(e,t)=>{de.each(t,((t,o)=>{e.setAttribute(o,t)}))},zt=(e,t,o)=>{((e,t,o)=>{const n=o["list-style-type"]?o["list-style-type"]:null;e.setStyle(t,"list-style-type",n)})(e,t,o),((e,t,o)=>{St(t,o["list-attributes"]),de.each(e.select("li",t),(e=>{St(e,o["list-item-attributes"])}))})(e,t,o)},Ot=(e,t)=>i(t)&&!xe(t,e.schema.getBlockElements()),Tt=(e,t,o,n)=>{let r=t[o?"startContainer":"endContainer"];const a=t[o?"startOffset":"endOffset"];pe(r)&&(r=r.childNodes[Math.min(a,r.childNodes.length-1)]||r),!o&&we(r.nextSibling)&&(r=r.nextSibling);const s=(t,o)=>{var r;const a=new ee(t,n),s=o?"next":"prev";let i;for(;i=a[s]();)if(!Ce(e,i)&&!vt(i.textContent)&&0!==(null===(r=i.textContent)||void 0===r?void 0:r.length))return p.some(i);return p.none()};if(o&&ge(r))if(vt(r.textContent))r=s(r,!1).getOr(r);else for(null!==r.parentNode&&Ot(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(Ot(e,r.previousSibling)||ge(r.previousSibling));)r=r.previousSibling;if(!o&&ge(r))if(vt(r.textContent))r=s(r,!0).getOr(r);else for(null!==r.parentNode&&Ot(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(Ot(e,r.nextSibling)||ge(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==n;){const t=r.parentNode;if(_e(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},Et=(e,t,o)=>{const n=e.selection.getRng();let r="LI";const a=Ue(e,e.selection.getStart(!0)),s=e.dom;if("false"===s.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const i=_t(n),l=((e,t,o)=>{const n=[],r=e.dom,a=Tt(e,t,!0,o),s=Tt(e,t,!1,o);let i;const l=[];for(let e=a;e&&(l.push(e),e!==s);e=e.nextSibling);return de.each(l,(t=>{var a;if(_e(e,t))return n.push(t),void(i=null);if(r.isBlock(t)||we(t))return we(t)&&r.remove(t),void(i=null);const s=t.nextSibling;kt.isBookmarkNode(t)&&(he(s)||_e(e,s)||!s&&t.parentNode===o)?i=null:(i||(i=r.create("p"),null===(a=t.parentNode)||void 0===a||a.insertBefore(i,t),n.push(i)),i.appendChild(t))})),n})(e,n,a);de.each(l,(n=>{let a;const i=n.previousSibling,l=n.parentNode;be(l)||(i&&he(i)&&i.nodeName===t&&((e,t,o)=>{const n=e.getStyle(t,"list-style-type");let r=o?o["list-style-type"]:"";return r=null===r?"":r,n===r})(s,i,o)?(a=i,n=s.rename(n,r),i.appendChild(n)):(a=s.create(t),l.insertBefore(a,n),a.appendChild(n),n=s.rename(n,r)),((e,t,o)=>{de.each(["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],(o=>e.setStyle(t,o,"")))})(s,n),zt(s,a,o),Mt(e.dom,a))})),e.selection.setRng(xt(i))},At=(e,t,o)=>{return((e,t)=>he(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,o)&&((e,t,o)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(o,"list-style-type",!0))(e,t,o)&&(n=o,t.className===n.className);var n},Mt=(e,t)=>{let o,n=t.nextSibling;if(At(e,t,n)){const r=n;for(;o=r.firstChild;)t.appendChild(o);e.remove(r)}if(n=t.previousSibling,At(e,t,n)){const r=n;for(;o=r.lastChild;)t.insertBefore(o,t.firstChild);e.remove(r)}},Nt=e=>"list-style-type"in e,Rt=(e,t,o)=>{const n=je(e);if(Ye(e,n)||(e=>v(e.selection.getSelectedBlocks(),m(e.dom.isEditable)))(e))return;const a=(e=>{const t=je(e),o=e.selection.getSelectedBlocks();return((e,t)=>i(e)&&1===t.length&&t[0]===e)(t,o)?(e=>_(e.querySelectorAll(Fe),he))(t):_(o,(e=>he(e)&&t!==e))})(e),s=r(o)?o:{};a.length>0?((e,t,o,n,r)=>{const a=he(t);if(a&&t.nodeName===n&&!Nt(r))bt(e);else{Et(e,n,r);const s=_t(e.selection.getRng()),i=a?[t,...o]:o;de.each(i,(t=>{((e,t,o,n)=>{if(t.nodeName!==o){const r=e.dom.rename(t,o);zt(e.dom,r,n),Je(e,Ct(o),r)}else zt(e.dom,t,n),Je(e,Ct(o),t)})(e,t,n,r)})),e.selection.setRng(xt(s))}})(e,n,a,t,s):((e,t,o,n)=>{if(t!==e.getBody())if(t)if(t.nodeName!==o||Nt(n)||$e(t)){const r=_t(e.selection.getRng());zt(e.dom,t,n);const a=e.dom.rename(t,o);Mt(e.dom,a),e.selection.setRng(xt(r)),Et(e,o,n),Je(e,Ct(o),a)}else bt(e);else Et(e,o,n),Je(e,Ct(o),t)})(e,n,t,s)},Dt=ce.DOM,Bt=(e,t)=>{const o=de.grep(e.select("ol,ul",t));de.each(o,(t=>{((e,t)=>{const o=t.parentElement;if(o&&"LI"===o.nodeName&&o.firstChild===t){const n=o.previousSibling;n&&"LI"===n.nodeName?(n.appendChild(t),Se(e,o)&&Dt.remove(o)):Dt.setStyle(o,"listStyleType","none")}if(he(o)){const e=o.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},Lt=(e,t,o,n)=>{let r=t.startContainer;const a=t.startOffset;if(ge(r)&&(o?a0))return r;const s=e.schema.getNonEmptyElements();pe(r)&&(r=Q.getNode(r,a));const i=new ee(r,n);o&&((e,t)=>!!we(t)&&e.isBlock(t.nextSibling)&&!we(t.previousSibling))(e.dom,r)&&i.next();const l=o?i.next.bind(i):i.prev2.bind(i);for(;r=l();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(s[r.nodeName])return r;if(ge(r)&&r.data.length>0)return r}return null},It=(e,t)=>{const o=t.childNodes;return 1===o.length&&!he(o[0])&&e.isBlock(o[0])},Ht=(e,t,o)=>{let n;const r=t.parentNode;if(!ze(e,t)||!ze(e,o))return;he(o.lastChild)&&(n=o.lastChild),r===o.lastChild&&we(r.previousSibling)&&e.remove(r.previousSibling);const a=o.lastChild;a&&we(a)&&t.hasChildNodes()&&e.remove(a),Se(e,o,!0)&&X(L(o)),((e,t,o)=>{let n;const r=It(e,o)?o.firstChild:o;if(((e,t)=>{It(e,t)&&e.remove(t.firstChild,!0)})(e,t),!Se(e,t,!0))for(;n=t.firstChild;)r.appendChild(n)})(e,t,o),n&&o.appendChild(n);const s=((e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)})(L(o),L(t))?e.getParents(t,he,o):[];e.remove(t),w(s,(t=>{Se(e,t)&&t!==e.getRoot()&&e.remove(t)}))},Pt=(e,t)=>{const o=e.dom,n=e.selection,r=n.getStart(),a=Ze(e,r),s=o.getParent(n.getStart(),"LI",a);if(s){const r=s.parentElement;if(r===e.getBody()&&Se(o,r))return!0;const i=He(n.getRng()),l=o.getParent(Lt(e,i,t,a),"LI",a);if(l&&l!==s)return e.undoManager.transact((()=>{var o,n;t?((e,t,o,n)=>{const r=e.dom;if(r.isEmpty(n))((e,t,o)=>{X(L(o)),Ht(e.dom,t,o),e.selection.setCursorLocation(o,0)})(e,o,n);else{const a=_t(t);Ht(r,o,n),e.selection.setRng(xt(a))}})(e,i,l,s):(null===(n=(o=s).parentNode)||void 0===n?void 0:n.firstChild)===o?yt(e):((e,t,o,n)=>{const r=_t(t);Ht(e.dom,o,n);const a=xt(r);e.selection.setRng(a)})(e,i,s,l)})),!0;if(!l&&!t&&0===i.startOffset&&0===i.endOffset)return e.undoManager.transact((()=>{bt(e)})),!0}return!1},Ft=e=>{const t=e.selection.getStart(),o=Ze(e,t);return e.dom.getParent(t,"LI,DT,DD",o)||Ve(e).length>0},jt=(e,t)=>{const o=e.selection;return!Ye(e,o.getNode())&&(o.isCollapsed()?((e,t)=>Pt(e,t)||((e,t)=>{const o=e.dom,n=e.selection.getStart(),r=Ze(e,n),a=o.getParent(n,o.isBlock,r);if(a&&o.isEmpty(a)){const n=He(e.selection.getRng()),s=o.getParent(Lt(e,n,t,r),"LI",r);if(s){const i=e=>b(["td","th","caption"],H(e)),l=e=>e.dom===r;return!!((e,t,o=u)=>R(e,t,o).getOr(e.isNone()&&t.isNone()))($(L(s),i,l),$(L(n.startContainer),i,l),I)&&(e.undoManager.transact((()=>{((e,t,o)=>{const n=e.getParent(t.parentNode,e.isBlock,o);e.remove(t),n&&e.isEmpty(n)&&e.remove(n)})(o,a,r),Mt(o,s.parentNode),e.selection.select(s,!0),e.selection.collapse(t)})),!0)}}return!1})(e,t))(e,t):(e=>!!Ft(e)&&(e.undoManager.transact((()=>{e.execCommand("Delete"),Bt(e.dom,e.getBody())})),!0))(e))},Vt=e=>{const t=O(Qe(e).split("")),o=k(t,((e,t)=>{const o=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*o}));return x(o,((e,t)=>e+t),0)},Zt=e=>{if(--e<0)return"";{const t=e%26,o=Math.floor(e/26);return Zt(o)+String.fromCharCode("A".charCodeAt(0)+t)}},Ut=e=>{const t=parseInt(e.start,10);return N(e.listStyleType,"upper-alpha")?Zt(t):N(e.listStyleType,"lower-alpha")?Zt(t).toLowerCase():e.start},qt=(e,t)=>()=>{const o=je(e);return i(o)&&o.nodeName===t},Wt=e=>{e.addCommand("mceListProps",(()=>{(e=>{const t=je(e);ye(t)&&!Ye(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:Ut({start:e.dom.getAttrib(t,"start","1"),listStyleType:p.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:/^[a-z]+$/.test(e)?1:e.length>0?4:3)(e)){case 2:return p.some({listStyleType:p.none(),start:e});case 0:return p.some({listStyleType:p.some("upper-alpha"),start:Vt(e).toString()});case 1:return p.some({listStyleType:p.some("lower-alpha"),start:Vt(e).toString()});case 3:return p.some({listStyleType:p.none(),start:""});case 4:return p.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})})(e)}))};var $t=tinymce.util.Tools.resolve("tinymce.html.Node");const Gt=e=>3===e.type,Kt=e=>0===e.length,Yt=e=>{const t=(t,o)=>{const n=$t.create("li");w(t,(e=>n.append(e))),o?e.insert(n,o,!0):e.append(n)},o=x(e.children(),((e,o)=>Gt(o)?[...e,o]:Kt(e)||Gt(o)?e:(t(e,o),[])),[]);Kt(o)||t(o)},Xt=(e,t)=>o=>Xe(e,(n=>{o.setActive(Ge(n.parents,t)),o.setEnabled(!Ye(e,n.element))})),Jt=(e,t)=>o=>Xe(e,(n=>o.setEnabled(Ge(n.parents,t)&&!Ye(e,n.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>w(e,Yt)))}))})(e),e.hasPlugin("rtc",!0)?Wt(e):((e=>{Te(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==te.TAB||te.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?yt(e):ft(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const o=t.command.toLowerCase();"delete"!==o&&"forwarddelete"!==o||!Ft(e)||Bt(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===te.BACKSPACE?jt(e,!1)&&t.preventDefault():t.keyCode===te.DELETE&&jt(e,!0)&&t.preventDefault()}))})(e)})(e),(e=>{e.on("BeforeExecCommand",(t=>{const o=t.command.toLowerCase();"indent"===o?ft(e):"outdent"===o&&yt(e)})),e.addCommand("InsertUnorderedList",((t,o)=>{Rt(e,"UL",o)})),e.addCommand("InsertOrderedList",((t,o)=>{Rt(e,"OL",o)})),e.addCommand("InsertDefinitionList",((t,o)=>{Rt(e,"DL",o)})),e.addCommand("RemoveList",(()=>{bt(e)})),Wt(e),e.addCommand("mceListUpdate",((t,o)=>{r(o)&&((e,t)=>{const o=je(e);null===o||Ye(e,o)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(o,t.styles),r(t.attrs)&&re(t.attrs,((t,n)=>e.dom.setAttrib(o,n,t)))}))})(e,o)})),e.addQueryStateHandler("InsertUnorderedList",qt(e,"UL")),e.addQueryStateHandler("InsertOrderedList",qt(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",qt(e,"DL"))})(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:Xt(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:Xt(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:Jt(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const o=je(e,t);return ye(o)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{jt(e,t)}}))(e))))}()},42540:function(e,t,o){o(33167)},33167:function(){!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(a=n.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var o,n,r,a})(t)===e,o=t("string"),n=t("object"),r=t("array"),a=e=>!(e=>null==e)(e);class s{constructor(e,t){this.tag=e,this.value=t}static some(e){return new s(!0,e)}static none(){return s.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?s.some(e(this.value)):s.none()}bind(e){return this.tag?e(this.value):s.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:s.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return a(e)?s.some(e):s.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}s.singletonNone=new s(!1);const i=Array.prototype.push,l=(e,t)=>{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;og(e,t)?s.from(e[t]):s.none(),g=(e,t)=>u.call(e,t),p=e=>t=>t.options.get(e),h=p("audio_template_callback"),f=p("video_template_callback"),y=p("iframe_template_callback"),b=p("media_live_embeds"),v=p("media_filter_html"),k=p("media_url_resolver"),w=p("media_alt_source"),_=p("media_poster"),x=p("media_dimensions");var C=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),z=tinymce.util.Tools.resolve("tinymce.html.DomParser");const O=S.DOM,T=e=>e.replace(/px$/,""),E=e=>{const t=e.attr("style"),o=t?O.parseStyle(t):{};return{type:"ephox-embed-iri",source:e.attr("data-ephox-embed-iri"),altsource:"",poster:"",width:m(o,"max-width").map(T).getOr(""),height:m(o,"max-height").map(T).getOr("")}},A=(e,t)=>{let o={};for(let n=z({validate:!1,forced_root_block:!1},t).parse(e);n;n=n.walk())if(1===n.type){const e=n.name;if(n.attr("data-ephox-embed-iri")){o=E(n);break}o.source||"param"!==e||(o.source=n.attr("movie")),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(o.type||(o.type=e),o=C.extend(n.attributes.map,o)),"script"===e&&(o={type:"script",source:n.attr("src")}),"source"===e&&(o.source?o.altsource||(o.altsource=n.attr("src")):o.source=n.attr("src")),"img"!==e||o.poster||(o.poster=n.attr("src"))}return o.source=o.source||o.src||"",o.altsource=o.altsource||"",o.poster=o.poster||"",o},M=e=>{var t;const o=null!==(t=e.toLowerCase().split(".").pop())&&void 0!==t?t:"";return m({mp3:"audio/mpeg",m4a:"audio/x-m4a",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},o).getOr("")};var N=tinymce.util.Tools.resolve("tinymce.html.Node"),R=tinymce.util.Tools.resolve("tinymce.html.Serializer");const D=(e,t={})=>z({forced_root_block:!1,validate:!1,allow_conditional_comments:!0,...t},e),B=S.DOM,L=e=>/^[0-9.]+$/.test(e)?e+"px":e,I=(e,t)=>{const o=t.attr("style"),n=o?B.parseStyle(o):{};a(e.width)&&(n["max-width"]=L(e.width)),a(e.height)&&(n["max-height"]=L(e.height)),t.attr("style",B.serializeStyle(n))},H=["source","altsource"],P=(e,t,o,n)=>{let r=0,a=0;const s=D(n);s.addNodeFilter("source",(e=>r=e.length));const i=s.parse(e);for(let e=i;e;e=e.walk())if(1===e.type){const n=e.name;if(e.attr("data-ephox-embed-iri")){I(t,e);break}switch(n){case"video":case"object":case"embed":case"img":case"iframe":void 0!==t.height&&void 0!==t.width&&(e.attr("width",t.width),e.attr("height",t.height))}if(o)switch(n){case"video":e.attr("poster",t.poster),e.attr("src",null);for(let o=r;o<2;o++)if(t[H[o]]){const n=new N("source",1);n.attr("src",t[H[o]]),n.attr("type",t[H[o]+"mime"]||null),e.append(n)}break;case"iframe":e.attr("src",t.source);break;case"object":const o=e.getAll("img").length>0;if(t.poster&&!o){e.attr("src",t.poster);const o=new N("img",1);o.attr("src",t.poster),o.attr("width",t.width),o.attr("height",t.height),e.append(o)}break;case"source":if(a<2&&(e.attr("src",t[H[a]]),e.attr("type",t[H[a]+"mime"]||null),!t[H[a]])){e.remove();continue}a++;break;case"img":t.poster||e.remove()}}return R({},n).serialize(i)},F=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?title=0&byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],j=(e,t)=>{const o=(e=>{const t=e.match(/^(https?:\/\/|www\.)(.+)$/i);return t&&t.length>1?"www."===t[1]?"https://":t[1]:"https://"})(t),n=e.regex.exec(t);let r=o+e.url;if(a(n))for(let e=0;en[e]?n[e]:""));return r.replace(/\?$/,"")},V=(e,t)=>{var o;const n=C.extend({},t);if(!n.source&&(C.extend(n,A(null!==(o=n.embed)&&void 0!==o?o:"",e.schema)),!n.source))return"";n.altsource||(n.altsource=""),n.poster||(n.poster=""),n.source=e.convertURL(n.source,"source"),n.altsource=e.convertURL(n.altsource,"source"),n.sourcemime=M(n.source),n.altsourcemime=M(n.altsource),n.poster=e.convertURL(n.poster,"poster");const r=(e=>{const t=F.filter((t=>t.regex.test(e)));return t.length>0?C.extend({},t[0],{url:j(t[0],e)}):null})(n.source);if(r&&(n.source=r.url,n.type=r.type,n.allowfullscreen=r.allowFullscreen,n.width=n.width||String(r.w),n.height=n.height||String(r.h)),n.embed)return P(n.embed,n,!0,e.schema);{const t=h(e),o=f(e),r=y(e);return n.width=n.width||"300",n.height=n.height||"150",C.each(n,((t,o)=>{n[o]=e.dom.encode(""+t)})),"iframe"===n.type?((e,t)=>{if(t)return t(e);{const t=e.allowfullscreen?' allowFullscreen="1"':"";return'"}})(n,r):"application/x-shockwave-flash"===n.sourcemime?(e=>{let t='';return e.poster&&(t+=''),t+="",t})(n):-1!==n.sourcemime.indexOf("audio")?((e,t)=>t?t(e):'")(n,t):"script"===n.type?(e=>'