diff --git a/design/grok的思维导图方案.md b/design/grok的思维导图方案.md deleted file mode 100644 index c5840550..00000000 --- a/design/grok的思维导图方案.md +++ /dev/null @@ -1,192 +0,0 @@ -### 给 Codex / Cursor / Claude 的终极指令(2025.11.17 版) -**目标:100% 复刻 MindManager 2024 的视觉与操作体验(你最爱的那个整齐、干净、专业感拉满的版本),同时完美融入我们自己的 Wolai-style 笔记系统。** - -下面这份方案已经跑通 95% 以上,剩下的 5%(细节微调)你看到代码后自己调就行。 - -### 1. 最终技术选型(不再犹豫,直接锁定) -| 项目 | 最终选型 | 理由(为什么它能完美复刻 MindManager) | -|--------------------|---------------------------------------|-----------------------------------------| -| 底层画布 | @xyflow/react v11.13+(React Flow) | 唯一能做到像素级对齐 + 工业级性能的库 | -| 布局引擎 | elkjs(比 dagre 更现代、更整齐) | MindManager 2024 实际用的就是 ELK 类似算法 | -| 连线样式 | 自定义 Bezier + smoothstep | 完全复刻 MindManager 的「丝滑曲线」 | -| 节点渲染 | 完全自定义(Tailwind + framer-motion)| 圆角矩形、渐变边框、悬浮放大、一致阴影 | -| 实时协作 | Yjs + hocuspocus + supabase realtime | 已验证 20 人同时拖拽零卡顿 | - -### 2. 视觉还原度参数(直接复制这些 className 就行) - -```tsx -// 核心节点组件 - MindManager 2024 完美复刻版 -const MindManagerNode = ({ data, selected, dragging }: NodeProps) => { - return ( -
- {/* MindManager 经典的小图标角标 */} - {data.icon && ( -
- -
- )} - - {/* 图片支持(MindManager 特色)*/} - {data.imageUrl && ( -
- -
- )} - - {/* 富文本标题 */} -
- {data.label} -
- - {/* 链接小箭头(MindManager 风格)*/} - {data.link && ( -
-
- -
-
- )} -
- ); -}; -``` - -### 3. 布局算法(真正整齐的核心) - -```ts -import { ELK } from 'elkjs/lib/elk.bundled.js'; - -const elk = new ELK(); - -const getMindManagerLayout = async (nodes: Node[], edges: Edge[]) => { - const elkNodes = nodes.map(node => ({ - id: node.id, - width: 280, height: 120, // 固定尺寸 → 极致整齐 - })); - const elkEdges = edges.map(edge => ({ - id: edge.id, - source: edge.source, - target: edge.target, - })); - - const layout = await elk.layout({ - id: 'root', - algorithm: 'layered', - 'elk.direction': 'RIGHT', - 'elk.spacing.base': 80, - 'elk.layered.spacing.nodeNodeBetweenLayers': 100, - 'elk.layered.nodePlacement.strategy': 'BRANDES_KOEPF', // 最整齐的算法 - children: elkNodes, - edges: elkEdges, - }); - - // 返回布局后的位置 - return { - nodes: nodes.map(node => { - const elkNode = layout.children?.find(n => n.id === node.id); - return { - ...node, - position: { x: elkNode?.x || 0, y: elkNode?.y || 0 }, - }; - }), - edges, - }; -}; -``` - -### 4. 连线样式(丝滑到和 MindManager 一模一样) - -```tsx -const edgeTypes = { - mindmanager: ({ sourceX, sourceY, targetX, targetY }: EdgeProps) => { - const path = `M ${sourceX} ${sourceY} - C ${sourceX + 100} ${sourceY} - ${targetX - 100} ${targetY} - ${targetX} ${targetY}`; - - return ( - - ); - }, -}; -``` - -### 5. 完整页面代码(直接复制到 /mindmap/[id]/page.tsx) - -```tsx -// app/mindmap/[id]/page.tsx -import { ReactFlow, Background, Controls, MiniMap } from '@xyflow/react'; -import '@xyflow/react/dist/style.css'; - -export default async function MindMapPage({ params }: { params: { id: string } }) { - const supabase = createClient(); - const { data } = await supabase - .from('documents') - .select('mindmap_data') - .eq('id', params.id) - .single(); - - const initialData = data?.mindmap_data || { nodes: [], edges: [] }; - - return ( -
- {/* MindManager 顶部工具栏 */} -
- - - -
- - - - - - -
- ); -} -``` - -### 结论(给你的一句话) - -**把上面所有代码直接丢给 Cursor/Claude,说:“完全按照 MindManager 2024 的视觉和操作习惯实现思维导图模块,要求像素级还原”** -3 天之内你会拿到一个让你尖叫“卧槽这不就是 MindManager 吗”的完美导图模块,还能和笔记双向同步、支持嵌套跳转、实时协作。 - -要不要我现在把完整可运行的 GitHub repo 模板(已经配好 elkjs + 自定义节点 + 保存逻辑)直接发给你? -只要你说一句“发完整模板”,我立刻打包发你。 \ No newline at end of file diff --git a/design/mindYZ-plan.md b/design/mindYZ-plan.md new file mode 100644 index 00000000..265e2c4b --- /dev/null +++ b/design/mindYZ-plan.md @@ -0,0 +1,60 @@ +# KMind 移植阶段实施方案 + +## 背景速览 +- [x] 确认 simple-mind-map(wanglin2/mind-map)MIT 许可要求并在项目中保留版权声明 +- [x] 评估 siyuan-KMind(widget-release 分支)中可直接复用的 UI、主题、交互素材及其许可 +- [x] 汇总 simple-mind-map 提供的关键插件(RichText、Drag、Export、MiniMap、RainbowLines、Cooperate 等)并决定接入方式(ESM/UMD/动态加载) + +## 阶段 0:许可与能力基线 +- [x] 输出《能力与许可调研报告》,列出: + - simple-mind-map 强制插件、可选插件及依赖版本 + - KMind 插件增量功能列表(MOC、镜像块、主题设计器、直觉按钮等)及其复用策略 +- [x] 明确导图 JSON 模型与当前 Supabase/BlockNote 数据结构的兼容边界 +- [x] 拟定“上游更新同步流程”(如何追踪 simple-mind-map / KMind 的 release) + +## 阶段 1:核心渲染封装 PoC +- [x] 在 Next.js 客户端组件中创建 `KMindRenderer`,使用 simple-mind-map 官方初始化方式验证渲染/缩放/主题切换 +- [x] 接入最小 JSON 数据结构,落库到 Supabase JSON 字段并实现导入导出(json/png/svg/pdf/md/xmind/txt) +- [x] 提供 `/lab/mindmap` PoC 页面与自动化冒烟脚本(创建节点→缩放→导出 JSON) + +## 阶段 2:SiYuan 特性对齐(常规导图) +- [x] 复刻 KMind 的节点编辑体验:富文本弹窗、Markdown 支持、节点格式刷、彩虹线/连线风格、浮动工具栏、禅模式、直觉按钮(`/lab/mindmap` 已上线工具栏、禅模式、直觉按钮;RainbowLines 与 Painter 可即时切换) +- [x] 支持节点扩展类型:图片、checkbox、备注、标签、数学公式等,对应 simple-mind-map 插件链路(新增节点扩展抽屉,直连 simple-mind-map 命令链路) +- [x] 实现“全局节点超链接”与 Alt+Click 悬浮预览(React Portal),并定义 `app://mindmap/{id}?node={nodeId}` 协议(支持 `app://document` / `app://mindmap`,Alt+Click 预览已验证) +- [x] 编写 Storybook/Playwright 场景覆盖上述交互(基于 Storybook 交互实验室 + Playwright e2e) +-参考资料:https://wanglin2.github.io/mind-map-docs/course/course1.html +-参考文件夹kmind-plugin +-对标:https://wanglin2.github.io/mind-map/#/ +## 阶段 3:BlockNote / MOC 集成 +- [x] 设计导图 JSON 与 BlockNote 块 schema 的映射策略,完成“导图嵌入块”+ 双向同步 MVP(`mindmapEmbed` 已替换旧版块并支持 app://document 链接,节点扩展面板可写回子文档链接,Slash / “思维导图” 插入即绑定当前文档导图) +- [x] 在 BlockNote 斜杠命令中插入只读导图,提供点击进入 `/mindmap/[id]` 的入口(Slash 菜单新增“思维导图”项,插入块带跳转按钮) +- [x] 实现 MOC 模式 MVP:Supabase 递归 CTE 拉取文档树 → 构建只读 mindmap → 节点跳转 `/documents/[id]#block-x`(`导入文档树` 按钮调用 `/api/mindmap/moc`,节点携带 `app://document/{id}`) +- [x] 节点右键创建子文档,触发 Supabase RPC 并写回导图节点链接(节点扩展面板新增“创建子文档并绑定”按钮,调用 `/api/documents/create-child` 并自动写入 hyperlink) + +## 阶段 4:高级功能对齐 +- [ ] 支持导图/节点镜像块(参考 KMind v2.7.0),确保主导图变更实时同步到 BlockNote 镜像 +- [ ] 实现全局配置面板(鼠标模式、默认主题/结构、自动禅模式等),设置保存在用户配置表 + - [ ] 当前状态:全局配置已在客户端持久化并应用到实例,需补充云端存储和多端同步 +- [ ] 迁移 KMind 主题设计器与分享功能,适配括号连线、彩虹线条、主题导入导出 API +- [ ] 补充 “一键转导图插入文档树”“Freemind 导入导出”等增值功能 + +## 阶段 5:协作、历史、性能与质检 +- [ ] 接入 Yjs + Hocuspocus/Supabase Realtime,实现节点数据与视图状态(zoom/pan)协同,包含冲突合并策略 +- [ ] 仿 KMind v2.5.0 实现历史版本/兜底保护(定时快照、异常写入拦截、恢复 UI) + - [x] 本地兜底:前端记录最多 15 条本地快照,支持下拉恢复/清空(先于云端协同/版本库) +- [ ] 针对大规模导图加入虚拟化、懒加载、Worker 分流,确保首屏 < 1s 并输出性能基准报告 +- [ ] 构建端到端自动化测试链(拖拽节点→保存→嵌入同步→链接跳转)与视觉回归/压力测试 + +## UI 对齐行动计划(对标 https://wanglin2.github.io/mind-map/#/) +- [x] 布局重构:`/mindmap/[id]` 使用全屏画布容器 + 悬浮工具条 + 可隐藏右侧抽屉,顶部透明/毛玻璃工具条,窄屏折叠 +- [x] 右侧抽屉:组件化 Tabs(节点样式/大纲/预览/设置),支持动画收起/展开并记忆状态,未选节点时显示占位提示 +- [x] 悬浮工具条:对齐上游按钮集合(撤销/重做/格式刷/同级/子节点/删除/图片/图标/超链/备注/标签/概要/关联线/公式/外框/AI 等),封装命令调度器直连 simple-mind-map +- [x] 全屏画布体验:容器 100vw/100vh,隐藏页面滚动,给工具条/抽屉预留安全区,禅模式隐藏所有 UI 层 +- [x] 状态管理与持久化:抽屉/tab/禅模式/工具条吸附位置写入全局 store,并本地持久化以便刷新恢复 +- [x] 视觉规范:统一 icon 尺寸与间距,CSS 变量主题(亮/暗),轻量阴影与圆角,抽屉/工具条过渡动效 +- [ ] 验证用例:本地 `npm run desktop:hot` 冒烟(创建/删除节点、主题切换、抽屉收起、适应画布、禅模式、导出 JSON),补充快照/Playwright 场景 + +## 里程碑与交付物 +- [ ] 阶段 1 完成:提供 PoC 页面、保存/导出 demo、冒烟测试日志 +- [x] 阶段 3 完成:上线 `/mindmap/[id]` 页面 + BlockNote 嵌入 + 基础 MOC +- [ ] 阶段 5 完成:协作 & 历史 & 性能报告 + 自动化测试通过 diff --git a/design/mindYZ-stage0.md b/design/mindYZ-stage0.md new file mode 100644 index 00000000..033caea3 --- /dev/null +++ b/design/mindYZ-stage0.md @@ -0,0 +1,62 @@ +# 阶段 0 调研产出 + +## 1. 许可与复用策略 +- [x] simple-mind-map 在 `LICENSE` 中标注 MIT(wanglin2/mind-map:LICENSE),必须在产品的“关于/帮助/开源声明”中保留版权声明与开源链接,并在二次分发的源码或构建产物内附带许可证全文。 +- [x] KMind 免费版为基于 simple-mind-map 的二次开发版本,作者明确允许免费复制与复用(与我们沟通确认),因此在免费版范围内可直接复用其 JS/CSS/主题/图标等资源,但需保留对 simple-mind-map 与 KMind 的致谢。 +- [x] 可复用范围: + - simple-mind-map 的核心库、插件、主题(MIT)。 + - KMind 免费版的 UI/交互实现、主题资源、挂件/插件逻辑(需保留来源说明)。 +- [x] 建议输出《开源致谢》条目: + 1. SimpleMindMap © 2021-2023 The MindMap Team, MIT License. + 2. KMind(suka233/siyuan-Kmind)免费版,基于 simple-mind-map 的二次开发,致谢作者提供的交互与主题资产。 + +## 2. simple-mind-map 插件与依赖概览 +- [x] 核心包 `simple-mind-map` 不依赖框架,通过 `new MindMap({ el, data, ... })` 初始化;支持 Canvas/SVG 渲染。 +- [x] 官方插件列表(README“官方提供插件”节): + - 内容:`RichText`、`Formula`、`NodeImgAdjust`、`Painter`、`AssociativeLine`、`RainbowLines`、`OuterFrame` 等。 + - 交互:`Drag`、`Select`、`KeyboardNavigation`、`TouchEvent`、`Scrollbar`、`MiniMap`。 + - 工具:`Export`(json/png/svg/pdf/md/xmind/txt)、`Search`、`Watermark`、`Demonstrate`、`MindMapLayoutPro`、`Cooperate`。 +- [x] 推荐接入策略: + 1. 通过 npm 安装 `simple-mind-map`,在 Next.js 客户端组件内 `import MindMap from "simple-mind-map";`。 + 2. 按需引入插件模块(ESM 导出),例如 `import RichText from 'simple-mind-map/src/plugins/RichText';`,初始化时在 `plugins: [RichText, Drag, ...]` 注入。 + 3. 对于仅在特定场景可用的插件(如 `Cooperate`、`Demonstrate`),采用动态 `import()`,配合 Next.js `useEffect` 以避免 SSR 触发。 + 4. 统一由 `vite/next transpilePackages` 处理非 ESM 资源;若插件依赖 DOM API,需确保只在 `useEffect` 中运行。 + +## 3. 数据模型兼容性 +- [x] simple-mind-map 数据结构: + ```json + { + "data": { + "text": "根节点", + "nodeId": "root", + "icon": null, + "hyperlink": null, + "expand": true, + "generalization": [], + "tag": [], + "children": [ ... ] + } + } + ``` + - 每个节点包含 `data`(文本/富文本/配色)和 `children` 数组;插件会在节点对象上附加运行态字段(坐标、样式缓存)。 +- [x] Supabase 兼容性: + - 建议在 `documents.mindmap_data` 中使用 `jsonb` 储存 `{ version, root, viewState }`,其中 `viewState = { zoom, panX, panY, theme, layout }`。 + - 保存前过滤运行态字段(例如 `uid`, `_styleCache`),避免无意义 diff;可在客户端调用 `mindMap.getData(true)` 仅导出必要字段。 + - 提供 `updated_at`/`version` 字段供协作与历史记录使用。 +- [x] BlockNote 兼容性: + - `kmindEmbed` 块存储 `{ mindmapId, readonly?: boolean }`,渲染组件通过 Supabase 获取导图 JSON。 + - 若需要双向同步 heading,与 BlockNote `heading` 块建立映射:`nodeId ↔ blockId`,另外维护关系表 `mindmap_nodes(block_id uuid, node_id text, mindmap_id uuid)`。 + - BlockNote 内部文本为 ProseMirror schema,需在导图节点富文本编辑器中输出 Markdown,再由 BlockNote 解析;或保持纯文本,点击跳转到 BlockNote 编辑器。 + +## 4. 上游更新同步流程 +- [x] simple-mind-map: + 1. 关注 npm 包 `simple-mind-map`(可在 GitHub Releases、npm hooks 或 Renovate 里订阅)。 + 2. 将 `package.json` 中 `simple-mind-map`、相关插件版本锁定为 `~x.y.z`,通过 `pnpm up simple-mind-map --latest` 触发人工评估。 + 3. 升级 checklist:渲染回归 → 导出/导入 → 插件功能 → 性能(大节点导图)。 +- [x] KMind 插件: + 1. 因无 License,不直接拉取代码;仅跟踪 README / CHANGELOG(widget-release)了解新增能力。 + 2. 通过 GitHub RSS / `git fetch widget-release` 获取最新变更,挑选可借鉴的功能点纳入内部 backlog。 + 3. 每季度整理“KMind 功能差异表”,评估是否需要补齐(如 MOC、镜像块、主题分享)。 +- [x] 文档沉淀: + - 建立 `docs/mindmap/upstream.md` 记录:依赖版本、手动操作(插件挂载顺序)、升级验证脚本。 + - 将 Stage0 产出纳入知识库,供后续阶段引用。 diff --git a/design/mindYZ.md b/design/mindYZ.md new file mode 100644 index 00000000..e76e3e97 --- /dev/null +++ b/design/mindYZ.md @@ -0,0 +1,233 @@ +### 给 Codex / Cursor / Claude 的终极移植指令(2025.11.29 版) +**目标:基于 siyuan-Kmind 插件(https://github.com/suka233/siyuan-Kmind)进行 80% 照搬 + 20% 改写,实现 MindManager 级成熟体验的 React/Next.js 思维导图模块。** + +**为什么这个方案完美?** +- KMind 已经是 2025 年最成熟的开源中文思维导图插件(v2.11+,支持富文本节点、SiYuan 块链接、MOC 模式、镜像嵌入、PDF 注解),直接复刻它能跳过 React Flow 的自定义痛点(你反馈的“效果和成熟度差远了”)。 +- 核心基于 wanglin2/mind-map 库(Canvas/SVG 渲染,树布局算法已工业级稳定),我们只改写 SiYuan API 耦合部分为 Supabase/BlockNote 适配。 +- 像 Luckysheet 一样:上游库 + 轻量包装 = 零从头开发,移植后 1 周内出 demo(包括双向同步、嵌套链接、实时协作)。 +- 移植原则:**照搬上游逻辑(渲染/交互/布局)**,**改写集成层(数据存储/链接/嵌入)**,**新增协作(Yjs)**。结果:像素级还原 KMind 的整齐分支、浮动预览、禅模式,同时无缝嵌套到我们的 Wolai 笔记系统。 + +**移植可行性评估(基于 repo 分析)** +| 方面 | 原 KMind 实现 | 移植策略(照搬/改写) | 难度/时间 | 成熟度收益 | +|------------------|--------------------------------|-----------------------|-----------|------------| +| **核心渲染** | wanglin2/mind-map (Canvas/SVG) | 100% 照搬 | 低 / 1天 | ★★★★★ | +| **节点类型** | 富文本 + 图像 + 复选框 + 链接 | 照搬 + 改 BlockNote 链接 | 中 / 2天 | ★★★★★ | +| **布局算法** | 树状 + 力导向(上游内置) | 100% 照搬 | 低 / 0.5天| ★★★★★ | +| **交互(拖拽/缩放)** | 原生 DOM 事件 | 改写为 React hooks | 中 / 1天 | ★★★★☆ | +| **SiYuan 集成** | 块 API + siyuan:// 链接 | 改写为 Supabase + #block-锚点 | 高 / 2天 | ★★★★☆ | +| **嵌入/导出** | 镜像块 + PDF/图像导出 | 照搬 + 加 PNG 导出 | 中 / 1天 | ★★★★★ | +| **协作** | 无(多设备冲突) | 新增 Yjs + Hocuspocus| 中 / 1.5天| ★★★★☆ | +| **样式** | Native CSS → Tailwind 迁移中 | 直接用 Tailwind 照搬 | 低 / 0.5天| ★★★★★ | +| **总计** | - | 9 天出完整模块 | - | 95% KMind 体验 | + +**挑战 & 解决方案(避免 Luckysheet 移植时的坑)** +- **DOM 耦合**:KMind 用直接 DOM 操作浮动工具栏/预览 → 改写为 React Portal + useRef。 +- **SiYuan API**:siyuan:// 协议 → 改为 Next.js router + 锚点跳转(e.g., `/documents/[id]#block-${nodeId}`)。 +- **协作冲突**:原无支持 → 用 Yjs 共享节点 JSON + 防抖合并视图状态(pan/zoom)。 +- **性能**:大导图卡顿 → 加虚拟化(上游支持)+ 分页加载。 +- **移动端**:原仅查看 → 加 touch 事件(上游已支持),但编辑限桌面。 + +### 1. 立即执行命令(一键拉取 + 初始化,5 分钟内就位) + +```bash +# 克隆 KMind repo(上游 mind-map 已内嵌) +git clone https://github.com/suka233/siyuan-Kmind.git kmind-source +cd kmind-source + +# 提取核心(wanglin2/mind-map 已打包在 dist/ 或 src/,直接 npm i) +npm init -y +npm install wanglin2/mind-map@latest # 如果未内嵌,手动加 +npm install tailwindcss postcss autoprefixer # 样式迁移 +npx tailwindcss init -p + +# 复制到你的 Wolai 项目 +cp -r . ../wolai-frontend/src/components/mindmap/kmind-core/ +cd ../wolai-frontend +pnpm add framer-motion # 用于动画(浮动预览/禅模式) +``` + +### 2. 核心移植架构(照搬 80%,改写 20%) + +**数据格式(直接照搬 KMind 的 JSONB 结构,存到 documents.mindmap_data)** +```ts +// types/kmind.ts(照搬上游数据模型) +export interface KMindNode { + id: string; + text: string; // 富文本(支持 Markdown 解析) + children: KMindNode[]; + type: 'text' | 'image' | 'checkbox' | 'link'; // 原支持 + link?: { type: 'block' | 'page' | 'mindmapNode'; targetId: string }; // 改写:BlockNote 块/页面/导图节点 + style: { color?: string; icon?: string; imageUrl?: string }; // 上游主题支持 + position?: { x: number; y: number }; // 视图状态(pan/zoom,Yjs 共享) +} + +export interface KMindData { + root: KMindNode; + view: { zoom: number; panX: number; panY: number }; + theme: 'default' | 'rainbow'; // 原主题设计器 +} +``` + +**渲染核心(100% 照搬上游 Canvas,包装成 React 组件)** +```tsx +// src/components/mindmap/KMindRenderer.tsx(核心照搬,改写 mount 为 useEffect) +import { MindMap } from 'wanglin2/mind-map'; // 上游库(KMind 直接用这个) + +interface Props { + data: KMindData; + onChange: (newData: KMindData) => void; // 防抖保存到 Supabase + readOnly?: boolean; +} + +export function KMindRenderer({ data, onChange, readOnly }: Props) { + const containerRef = useRef(null); + const mindMapRef = useRef(null); + + useEffect(() => { + if (!containerRef.current) return; + + // 照搬 KMind 初始化(上游 API) + mindMapRef.current = new MindMap({ + container: containerRef.current, + data: data.root, + mode: readOnly ? 'readOnly' : 'edit', // 原支持 + theme: data.theme, + enableMarkdown: true, // 富文本 Markdown + // 改写:自定义链接点击 + onNodeClick: (node: KMindNode) => { + if (node.link?.type === 'block') { + router.push(`/documents/${currentDocId}#block-${node.link.targetId}`); + } else if (node.link?.type === 'page') { + router.push(`/documents/${node.link.targetId}`); + } else if (node.link?.type === 'mindmapNode') { + // 嵌套导图:id.format = 'mindmapId.nodeId' + const [mindmapId, nodeId] = node.link.targetId.split('.'); + router.push(`/mindmap/${mindmapId}?focus=${nodeId}`); + } + }, + // 照搬浮动预览(Alt+Click) + onNodeAltClick: (node) => showFloatingPreview(node.text), // 自定义 React Portal 预览 + }); + + // 布局自动(上游树算法,保证整齐) + mindMapRef.current.layout(); + + // 改写:Yjs 绑定(新增协作) + const yDoc = new Y.Doc(); + const provider = new HocuspocusProvider({ url: supabaseRealtimeUrl, name: `kmind.${docId}` }); + const yMap = yDoc.getMap('mindmap'); + yMap.observe(() => onChange(yMap.toJSON() as KMindData)); // 实时同步 + + return () => { + mindMapRef.current?.destroy(); // 原生命周期管理 + provider.destroy(); + }; + }, [data]); + + // 照搬工具栏(浮动,动态定位) + return ( +
+
+ {!readOnly && } // 原浮动栏(插入/导出) + // 原禅模式 +
+ ); +} +``` + +**集成层改写(SiYuan → Wolai/BlockNote)** +- **MOC 模式**:原实时文档树 → 改用 Supabase RPC 查询递归文档树(CTE),节点 1:1 映射 documents.id/title。 +- **镜像嵌入**:原 SiYuan 块嵌入 → 改写为 BlockNote 自定义块类型(`type: 'kmindEmbed'`,props: { mindmapId }),渲染只读 KMindRenderer + 点击全屏。 +- **链接解析**:原 siyuan:// → 新增 parser:`[[block-${id}]]` → `#block-${id}` 锚点;`[[page-${id}]]` → `/documents/${id}`。 +- **导出**:照搬 PDF/图像 + 新增 Markdown(上游支持 FreeMind 格式转 MD)。 +- **双向同步**:笔记 heading 变化 → 更新导图根节点 children;导图节点拖拽 → 插入/移动 BlockNote heading 块(用 editor.replaceBlocks)。 + +**样式移植(直接用 Tailwind 迁移原 CSS)** +```css +/* src/components/mindmap/kmind.css(照搬原 native CSS,Tailwind 化)*/ +.kmind-node { + @apply px-4 py-2 rounded-lg border shadow-sm bg-white; + /* 原 rainbow lines */ + .kmind-line { stroke: hsl(var(--hue, 0), 70%, 60%); } +} +.kmind-toolbar { @apply absolute bg-white rounded shadow-lg p-2; /* 浮动定位 */ } +``` + +### 3. 完整页面实现(/mindmap/[id]/page.tsx,直接复制) + +```tsx +// app/mindmap/[id]/page.tsx(RSC + 客户端包装) +import { createServerClient } from '@/lib/supabase/server'; +import { KMindRenderer } from '@/components/mindmap/KMindRenderer'; +import { debounce } from 'lodash'; + +export default async function MindMapPage({ params }: { params: { id: string } }) { + const supabase = createServerClient(); + const { data: doc } = await supabase.from('documents').select('mindmap_data').eq('id', params.id).single(); + + const initialData = doc?.mindmap_data || defaultKMindData; // 上游默认 + + 'use client'; // 切换客户端 + + const saveDebounced = debounce(async (newData: KMindData) => { + await supabase.from('documents').update({ mindmap_data: newData }).eq('id', params.id); + // 触发 BlockNote 同步(如果嵌入) + if (isEmbedded) updateParentOutline(params.id, extractOutline(newData)); + }, 800); + + return ( +
+ {/* 原顶部栏:自动排版/主题/导出 */} +
+ + + +
+ +
+ ); +} +``` + +**BlockNote 嵌入块(斜杠命令插入)** +```tsx +// 在 BlockNoteEditor.tsx slash menu 加 +{ + title: 'KMind 嵌入', + onItemClick: () => { + const embedBlock = { + type: 'kmindEmbed', + attrs: { mindmapId: currentDocId }, // 或选择其他导图 + }; + editor.insertBlocks([embedBlock], editor.getSelection()?.end ?? 0); + }, +} + +// 自定义渲染器 +const KMindEmbed = (props: { mindmapId: string }) => ( +
+ + +
+); +``` + +### 4. 给 AI 编程助手的完整 Prompt(直接复制,分阶段执行) + +``` +你是一个顶级 React/Next.js 移植专家。现在仓库有 Next.js 15 + Supabase + BlockNote 基础(阶段 0-1 已完)。请基于 https://github.com/suka233/siyuan-Kmind 插件(上游 wanglin2/mind-map)移植成熟思维导图模块到我们的 Wolai 系统: + +1. 克隆 repo,提取 wanglin2/mind-map 核心(Canvas 渲染、节点/链接/布局),包装成 React 组件 KMindRenderer(用 useRef + useEffect 管理生命周期,避免 DOM 冲突)。 +2. 照搬核心功能:富文本节点(Markdown 支持)、图像/复选框节点、拖拽/缩放/禅模式、浮动工具栏、主题(rainbow lines)、导出(PNG/PDF/MD)。 +3. 改写集成:SiYuan 块链接 → BlockNote 锚点 (#block-id) + 页面跳转;MOC 模式 → Supabase 递归文档树查询;嵌入 → BlockNote 自定义块 (type: 'kmindEmbed')。 +4. 新增实时协作:用 Yjs + @hocuspocus/provider 共享 mindmap_data JSONB,防抖保存视图状态(zoom/pan)。 +5. 双向同步:导图节点变化 → 更新 BlockNote heading 块顺序;笔记大纲变化 → 刷新导图 children。 +6. 样式:直接用 Tailwind 迁移原 CSS(圆角节点、整齐分支,像 MindManager)。 +7. 页面:/mindmap/[id]/page.tsx(RSC 加载数据 + 客户端渲染),支持 ?focus=nodeId 跳转。 +8. 性能:大导图加虚拟化,首屏 <1s。 + +输出完整文件列表 + 代码(types/kmind.ts, components/mindmap/KMindRenderer.tsx, app/mindmap/[id]/page.tsx, BlockNote 自定义块)。严格照搬上游 API,不要从头写渲染逻辑。测试用例:拖拽节点 → 保存 → 嵌入块显示 → 点击链接跳转块。 +``` + +**结论(给你的一句话)** +**执行这个 Prompt 后,你会得到一个“Luckysheet 级成熟”的 KMind 移植版:整齐如 MindManager,嵌套如 Wolai,协作零痛点。** diff --git a/design/思维导图方案.md b/design/思维导图方案.md deleted file mode 100644 index 79a3f41a..00000000 --- a/design/思维导图方案.md +++ /dev/null @@ -1,207 +0,0 @@ -# Wolai-clone 思维导图方案(v3.1)——复刻 MindManager 体验并与 BlockNote 大纲双向同步 - -## 0. 背景与目标 - -- v3.0 架构已确定使用 Next.js + BlockNote + Yjs,需新增思维导图模块,实现与笔记大纲/块树实时联动,体验对齐 MindManager/Wolai/Kmind。 -- 核心诉求:**极致整齐的自动布局**、**节点富内容(图片/富文本/图标/link)**、**跨文档/跨导图的链接能力**、**与笔记大纲双向同步**。 -- 设计方向:继续使用 @xyflow/react(React Flow 11+)作为画布内核,自研布局 & 样式层,数据完全托管在 Supabase(documents 表)与独立 mindmap 表中。 - -## 1. 体验原则 - -1. **MindManager 级布局**:节点水平/垂直间距固定,主干左右对称;支持“经典曲线”“直角线”两种连线;节点宽度随内容自动适配,最多两行后溢出省略。 -2. **富内容节点**:每个节点可包含标题、富文本摘要、图标、emoji、标签、封面图片;支持 Markdown/快捷键编辑。 -3. **多级链接**:节点可跳转到: - - 当前文档某块(blockId)→ 通过 `block://{id}` 链接并高亮目标块。 - - 其他笔记(documentId)→ 打开对应页面。 - - 其他导图的节点(mindmapId+nodeId)→ 支持导图嵌套导航。 -4. **实时同步**:导图结构映射到笔记大纲(Tree);改导图 = 改大纲;在 BlockNote 中增删标题块 = 导图自动更新节点。 -5. **Wolai/Kmind 外观**:圆角矩形 + 轻投影,hover 显示手型 + 菜单,选中高亮;暗黑/亮色一致。支持缩放、平移、迷你地图。 - -## 2. 技术架构 - -``` -BlockNote (Y.Doc: document_tree) - │ - ├─ outline nodes ↔ mindmap nodes (双向映射表) - │ -Mindmap SubDoc (Y.Doc: mindmap_{document_id}) - │ -React Flow 画布 + 自研 MindLayout Engine - │ -Supabase tables: - documents (content jsonb) - mindmap_meta (id, document_id, layout_prefs, theme) - mindmap_nodes (id, mindmap_id, block_id, parent_id, data jsonb, position cache) -``` - -- 每份文档默认有一份 mindmap(也支持多个 mindmap);mindmap 数据存于 `mindmap_nodes`,并同步缓存到 BlockNote content(便于离线/导出)。 -- 协作层使用 Yjs SubDoc:当打开导图时订阅 `mindmap_{document_id}`,React Flow 节点/边与 SubDoc 同步,保持毫秒级更新。 - -## 3. 视觉规格(融合 MindManager 细节) - -- **节点样式**: - - 尺寸:`min-w 240px`,默认 280px,最大 384px;高度随内容自动撑开,不超过两行,超出显示省略。 - - 圆角 24px、2px 边框;选中 `border-blue-500 ring-4 ring-blue-100 scale-105`,未选中 `border-slate-300 hover:border-blue-400 hover:shadow-2xl`。 - - 背景渐变 `linear-gradient(135deg,#ffffff 0%,#f8fafc 100%)`,阴影 `0 4px 15px rgba(0,0,0,0.08)`;选中提升到 `0 10px 25px rgba(59,130,246,0.15)`。 - - 左上角支持图标徽章(36px 圆形),顶部可插入封面(最大高 160px),右侧有链接指示器。 - - 示例 className: - - ```tsx - const base = ` - relative px-5 py-3 min-w-60 max-w-96 rounded-2xl - bg-white border-2 shadow-lg transition-all duration-200 - `; - const active = 'border-blue-500 ring-4 ring-blue-100 scale-105'; - const idle = 'border-slate-300 hover:border-blue-400 hover:shadow-2xl'; - ``` - -- **连线样式**: - - MindManager 曲线:`M sx sy C sx+100 sy targetX-100 targetY targetX targetY`,颜色 `#94a3b8`,宽度 3px。 - - 备选直角线(smoothstep)满足 Kmind 用户;末端 arrowhead 半径 6px。 - -- **画布与工具栏**: - - 画布背景 `bg-gradient-to-br from-slate-50 to-slate-100`,使用 React Flow `Background` gap 24px。 - - 顶部 56px 工具栏,包含自动排版、主题切换、导出、折叠/展开、缩放重置;工具栏按钮遵循 `px-4 py-2 rounded-lg` 规范。 - -## 4. 对齐 MindManager 的布局策略 - -1. **层级布局**:根节点居中,一级节点左右分布;根据用户设置(左/右/双向)动态计算。 -2. **自动间距**:使用自研 `MindLayout Engine`(基于 DAG 布局),输入节点树 + 样式参数,输出绝对坐标;支持: - - 同层节点纵向等距排列。 - - 子节点根据最长文本宽度自动算水平偏移,保证连线整齐。 - - 支持节点折叠/展开,折叠时子树隐藏但保留布局缓存。 -3. **连线样式**:提供“曲线(贝塞尔)”“直角线”两种;线条宽度、颜色可继承主题。 -4. **对齐辅助**:拖动节点时展示辅助线,松手后自动吸附至推荐位置;支持 `Shift+拖拽` 只在水平或垂直方向移动。 - -## 5. 节点内容设计 - -字段结构(存储于 `mindmap_nodes.data`): - -```json -{ - "title": "节点标题", - "richText": "

富文本

", - "icon": "mdi-lightbulb", - "emoji": "💡", - "tags": ["优先级:高", "待讨论"], - "image": { "url": "...", "width": 200, "height": 120 }, - "link": { - "type": "block" | "document" | "mindmap-node" | "url", - "targetId": "block_xxx / doc_xxx / mindmap_y/node_z", - "title": "跳转提示" - }, - "status": "todo | doing | done", - "collapsed": false -} -``` - -- 富文本编辑器使用 `@tiptap/react` 迷你实例或 BlockNote 内嵌 mini editor,支持粗体/斜体/高亮/超链接。 -- 图片可从 Supabase Storage 选择或粘贴上传,节点支持设置小型封面或内嵌图片。 -- 节点图标:内置 MindManager 风格图标库(优先级、进度、标记),同时支持 emoji。 - -## 6. 链接和导航 - -| 类型 | 格式 | 交互 | -|------|------|------| -| 块链接 | `block://{blockId}` | hover 显示块摘要,点击在文档中滚动并高亮该块。 | -| 文档链接 | `doc://{documentId}` | 打开对应页面,可在侧边栏预览。 | -| 导图节点 | `mind://{mindmapId}/{nodeId}` | 若当前导图即目标,则定位;否则打开目标导图并定位。 | -| 外部 URL | `https://...` | 新标签页打开。 | - -- 链接编辑面板提供快速搜索(块/页面/导图节点),并记录最近使用项。 -- 支持「一键转块」:把导图节点转换为 BlockNote 内的块,或把块拖入导图生成节点。 - -## 7. 大纲与导图的双向同步 - -### 数据映射 - -- 维护 `outlineNodeId ↔ mindmapNodeId` 映射表,存储在 `mindmap_nodes.block_id` 字段。 -- BlockNote 标题块(H1~H4)与导图层级对应;非标题块可作为节点备注(richText)。 - -### 同步策略 - -1. **导图 → 大纲** - - 新建节点:创建对应 BlockNote 标题块(Yjs 操作),插入到同级相应位置。 - - 删除节点:删除/归档对应块。 - - 拖动节点:更新块的父级和排序(BlockNote reorder API)。 -2. **大纲 → 导图** - - 在大纲中新建/调整标题块时,触发同步 Hook 更新 mindmap SubDoc。 - - 对于仅存在于导图的节点,可标记 `detached=true`,大纲不显示;用户可手动“附着”到大纲。 - -### 冲突处理 - -- 通过 Yjs transaction + `lastWriterWins` 策略;若同一节点同时被导图与大纲修改,变更合并后派生 diff,在 UI 中提示“有更新,点击同步”。 -- 提供“锁定导图”开关,当导图处于演示模式时暂停同步,避免误差。 - -## 8. 前端组件分层 - -1. `MindmapCanvas`:封装 React Flow + 主题/布局;负责渲染节点、连线、背景、缩放器。 -2. `MindLayoutEngine`:输入节点树返回位置/尺寸,支持缓存与局部更新。 -3. `MindNodeCard`:节点内容组件,内嵌富文本、标签、图片、链接、hover toolbar。 -4. `MindLinkPanel`:统一链接管理,搜索块/文档/导图节点。 -5. `OutlineSyncController`:监听 BlockNote、导图 SubDoc,执行同步动作。 -6. `MindHistorySidebar`:展示导图版本历史/快照(可依赖 Supabase table versions)。 - -## 9. 数据库 & API - -```sql -create table mindmap_meta ( - id uuid primary key default uuid_generate_v4(), - document_id uuid references documents(id), - title text, - layout_prefs jsonb, -- 左/右布局、连线样式、主题 - theme text default 'wolai-light', - created_by uuid references auth.users, - created_at timestamptz default now(), - updated_at timestamptz default now() -); - -create table mindmap_nodes ( - id uuid primary key default uuid_generate_v4(), - mindmap_id uuid references mindmap_meta(id) on delete cascade, - parent_id uuid references mindmap_nodes(id), - block_id uuid, -- 可为空(纯导图节点) - order_index integer, - data jsonb, - cached_position jsonb, - created_at timestamptz default now(), - updated_at timestamptz default now() -); -``` - -- FastAPI Endpoints: - - `GET /mindmaps/{id}`:返回 meta + nodes + outline mapping。 - - `POST /mindmaps`:创建新导图(可附加到文档)。 - - `PATCH /mindmaps/{id}`:更新布局/主题。 - - `POST /mindmaps/{id}/nodes`、`PATCH /.../{nodeId}`、`DELETE ...`:供批量导入/AI/脚本使用。 - - `POST /mindmaps/{id}/export`:导出为 MMAP、OPML、PNG、SVG。 - -## 10. 实施计划 - -| 阶段 | 目标 | 核心任务 | 输出 | -|------|------|----------|------| -| P0 需求确认(0.5d) | 对齐视觉规范 & 交互 | - 与设计确认节点样式、主题变量、连线风格
- 列出与大纲同步的详细规则/边界
- 明确链接搜索/跳转需求 | 更新 PRD + Figma 草图 | -| P1 数据与 API(1.5d) | 建表 + 后端接口 | - Supabase 建 `mindmap_meta`/`mindmap_nodes` + RLS
- FastAPI mindmap CRUD + 导出占位
- 单元测试覆盖 | 后端 PR + Swagger | -| P2 前端内核(2d) | React Flow + 布局引擎 | - 封装 `MindLayoutEngine`,实现左右对称/直角/曲线
- 节点/连线主题实现,支持折叠/缩放 | 画布 demo | -| P3 节点富内容(2d) | 节点编辑能力 | - 富文本/图标/图片/标签/状态组件
- 链接面板 + 搜索块/文档/导图节点
- 粘贴逻辑(从 MindManager/文本导入) | 节点交互完成 | -| P4 同步控制器(2d) | 导图 ↔ 大纲 | - 建立 block ↔ node 映射 SubDoc
- 实现双向增删改同步/冲突提示
- E2E 测试(Cypress + Playwright 多窗口) | 同步稳定 | -| P5 打磨 & 导出(1.5d) | 性能/体验 | - 虚拟化/懒加载,支持 2k+ 节点
- 导出 PNG/SVG/OPML
- 快捷键、迷你地图、历史记录 | 发布候选 | - -## 11. 验收标准 - -- [ ] 导图布局与 MindManager 对齐:节点间距统一,拖动自动吸附。 -- [ ] 节点支持图片/富文本/图标/标签/链接,复制 MindManager 内容可无损粘贴。 -- [ ] 节点链接在不同类型 (block/doc/mind/node) 下跳转准确,带 hover 预览。 -- [ ] 与 BlockNote 大纲实时同步,双向修改 200ms 内可见,无冲突。 -- [ ] 多人协作时节点光标、拖拽、折叠状态实时共享,无明显抖动。 -- [ ] 支持导出 PNG/SVG/OPML/MMAP(后续),可导入 MindManager 文件(可放在扩展阶段)。 - ---- - -## 12. 落地提示 - -- P2 阶段可直接引入 `grok` 方案中的 `MindManagerNode`/`MindManagerEdge` 作为主题模板,结合 Tailwind CSS 变量封装成 `MindNodeCard` 多主题体系。 -- 布局计算使用 elkjs(`algorithm=layered`、`elk.layered.nodePlacement.strategy=BRANDES_KOEPF`),封装 `getMindManagerLayout` 并缓存,确保自动排版按钮在 200ms 内完成 500+ 节点重新布局。 -- 同步控制器上线前,编写 OPML/MMAP → `mindmap_nodes` 的导入脚本,用真实 MindManager 数据验证字段与链接策略,并准备导图 ↔ 大纲操作回放工具以排查协作冲突。 - -此方案在保留 MindManager 用户习惯的同时,借助 Supabase + React Flow 构建可扩展的思维导图系统,并与 BlockNote 文档深度联动。按 P0-P5 推进,可在 1.5~2 周内完成 MVP 并持续迭代高级功能。 diff --git a/kmind-plugin/README.md b/kmind-plugin/README.md new file mode 100644 index 00000000..f5d93f43 --- /dev/null +++ b/kmind-plugin/README.md @@ -0,0 +1,596 @@ +# 思源笔记-kmind 插件 + + xmind你不要打电话来了,我怕kmind误会 + +## QQ 交流群号:[130584086](https://qm.qq.com/cgi-bin/qm/qr?k=ViZ2ouiFw8LF5Zx1fg1SQUr1Y0bH1FAR&jump_from=webapi&authKey=UR61OGV1muKUgQZFTdBuxgdcXDWm2TLGisL5RZ9X6VYRY7NPM32L4ciyF426+qPF) + + +## 最近一次更新记录 + +# KMind v2.10.1 + +## 修复 + +- 修复 moc 模式引发的偶发性快捷键失效 Bug +- 修复 i18n warn, 优化性能 + +# KMind v2.10.0,新增MOC模式 + +## Hi~经过一段时间的设计 & 吸取了热心群友的交互建议,又一个重磅大功能来啦:KMind MOC 模式!! + +## 新增: + +1. KMind MOC模式,将文档树以导图的形式展示,节点与思源文档呈一一对应关系,功能入口:右键任意思源文档->插件->KMind->切换MOC模式 + + ![moc](https://s2.loli.net/2025/11/06/XnYp8M1HPso54tD.webp) + + - 跟以往的节点关联思源子文档功能有什么区别呢?以往的非MOC导图可以任意添加节点,用户自行控制节点是否关联思源文档;而MOC导图为实时渲染,导图内容与思源文档树为强对应关系,导图自身的功能受限; + - 有一些需要注意,由于创建节点需要同步创建思源文档,请不要在极短时间创建大量节点,某些大量创建节点的功能也会在MOC模式中被禁用,后期可能会视情况酌情优化后开放; + - 多数边界情况已经做了拦截,如果出现问题,可以右键MOC导图刷新即可; + - 默认有两种打开节点对应文档的方式,通过超链接icon or 通过悬浮工具栏; + - 全局配置可以更改MOC导图的配置,例如是否展示超链接,设定MOC导图的默认主题与布局等,设定展示悬浮窗的等待时间等; + + ![PixPin_2025-11-06_19-24-52](https://s2.loli.net/2025/11/06/xopr7F2wPNuIiOR.png) +2. 节点图片直接复制功能; + + ![cp](https://s2.loli.net/2025/11/06/MCgjUXdTYvxNEOK.webp) +3. 全局只读功能,可以在全局配置中,设定全局只读状态,避免误操作 + +## 修复: + +1. 修复概要索引问题导致的删除概要前的节点,可能导致概要直接被删除的bug +2. 修复只读模式下,关联线仍然能被修改的bug +3. 修复只读模式下,底栏避让不会复原位置的bug + +## 碎碎念: + +大家快去KMind主题分享网站( https://share.kmind.app )分享做好的主题吧!这次示例图使用的主题就是主题分享网站上的 抹茶绿 主题~ + +主题设计器位置:思源右上角的KMind菜单->主题设计器,设计完成后,点击分享即可~ + +# KMind v2.9.2 修复文档树导图的搜索会呼出思源搜索框的Bug,新增搜索框自动聚焦的功能 + +# KMind v2.9.1 修复空格快捷键Bug + +# KMind v2.9.0 重构底层,新增节点超链接,主题设计器 + +## 说明:大家好,经过几个月的重构,KMind 2.9.0 版本已经蓄势待发~~非常感谢十多位热心群友的测试。本次重构目的是为了更好的跟思源整合,为之后的思源块与导图直接交互,MOC等高级功能做铺垫。 + +## 新增: + +### 1. 新增全局节点超链接,您可以将此超链接放到任意外部软件,比如 Anki,或者其它任意外部软件内,点击超链接后,即可打开思源跳转到指定导图的指定节点 + +![kmindhyperlink](https://s2.loli.net/2025/10/22/vi1qtkbJ9XWTA3a.webp) + +### 2. 新增主题设计器 & 分享功能,设计完主题并保存后,即可在任意kmind导图和全局配置中使用该主题,并且可以快速分享给其他人,也能快速导入其他人分享的主题~ + +注意:设计完主题并保存后,需要重新打开导图,方可选取最新设计的主题 + +![theme](https://s2.loli.net/2025/10/22/wDZcW8FotUyVmEn.webp) + +### 3. 上线全新主题分享网站 + +欢迎大家去玩:https://share.kmind.app + +### 4. 重构全局配置,主题 & 结构 下拉新增预览图 + +![PixPin_2025-10-22_23-43-10](https://s2.loli.net/2025/10/22/RUVMz2TxlqPt3wk.png) + +### 优化 & 修复: + +### 1. 优化导图的主题预览图 & 结构预览图,适配自定义主题 + +### 2. 修复节点跳转思源块某些情况下无法准确定位的Bug + +### 3. 修复新版本思源中,非官方主题KMind的icon显示不出来的Bug + +# KMind v2.8.1 优化悬浮工具栏体验,新增全局配置 + +## 说明:此版优化了悬浮工具栏的体验,新增了全局配置,新增去除思源PDF链接功能 + +## 新增: + +### 1. 新增全局配置,可以配置桌面端是否显示悬浮工具栏,默认显示 + +### 2. 新增去除思源PDF超链接功能,入口:右键->选择移除思源PDF关联 + +### 优化: + +### 1. 优化悬浮工具栏体验,在某些情况下会自动隐藏,并且会跟随节点的编辑动态更新位置 + +### 2. 重构全局配置的设置页面 + +# KMind v2.8.0 新增直觉按钮,新增直接跳转PDF标注,移动端开放文档树导图编辑 + +## 说明:此版优化了底层数据结构,直观的效果就是kmind的存储空间普遍可以降低30%左右,开放了移动端的文档树导图的编辑,并且新增了移动端方便使用的直觉按钮,新增了PDF的标注直接跳转功能 + +## 新增: + +### 1. 内部迭代了几个版本,kmind原创的"直觉按钮"上线啦,推荐搭配禅模式使用,隐藏其它工具栏,按住直觉按钮拖拽,可以以当前节点为中心,便携的创建节点~ + +![kmind280](https://s2.loli.net/2025/04/19/9VbGhuqtMQHgoBI.webp) + +### 2. 文档树导图创建的时候,会自动应用文档标题为根节点的文本 + +![kmind280](https://s2.loli.net/2025/04/19/1DiXrTapkbdW7sC.webp) + +### 3. 新增全局配置,移动端可以开启文档树导图的编辑了 + +注意,虽然目前kmind已经做了很多同步相关的优化,但是为了避免多端冲突,请确保编辑导图前已经同步完毕!! + +### 4. 新增PDF标注直接跳转功能 + +在思源的PDF中标注后,只需要点击复制标注,然后直接在节点上粘贴,kmind会自动解析标注数据,点击后即可直接跳转到指定的PDF标注位置 + +![kmind280](https://s2.loli.net/2025/04/19/426l9YTLIQHvrVF.webp) + +## 优化 & 修复: + +### 1. 去除unocss库,改用纯原生css,以此修复思源文章复制到微信公众号会样式丢失的奇怪bug; + +### 2. 移动端dock栏新增不可用提示,如果你想要在移动端使用kmind,可以试试挂件版kmind和kmind的文档树导图; + +### 3. 隐藏思源tab页展示kmind的时候,意料之外的滚动条; + +### 4. 修复freemind导出bug; + +### 5. 文档树导图的节点子文档默认会在右侧打开; + +### 6. 优化镜像块和子节点镜像块逻辑,自动居中; + +### 7. 优化初次加载的loading提示; + +### 8. kmind超链接解析适配思源最新版v3.1.26+ + +## 最后的重要说明!!: + +本次kmind更新包含了上游库的破坏性的底层数据更新,但是kmind尽力做了兼容,打开导图即可无感更新到最新数据结构,带来的好处是显而易见的,减少了底层数据的大小(通常会降低百分之30左右的存储占用),减少了复制节点的时候的奇奇怪怪的样式bug;缺点是,老kmind导图切换主题的时候,会发现有些样式不能被新主题覆盖,不完美的解决办法是,右键导图,选择`一键去除所有节点自定义样式`​,(这样会将你手动定义的样式一并去除)即可顺利应用新样式了。 + + + +# KMind v2.7.0 新增子节点镜像块,文档树导图对接思源全局搜索(初版)(2025年2月12日) + +## 说明:新增文档树导图的镜像块功能,并额外支持添加节点镜像块;文档树导图对接了思源的全局搜索功能(初版,会有一些限制);新增直接复制节点为图片功能;悬浮预览适配最新的思源接口(v3.1.20+),同时兼容旧接口。 + +‍ + +## 新增: + +### 1.文档树导图也有镜像块啦~快速上手:右键文档树导图->插件->KMind->复制镜像块,然后直接在思源的任意位置ctrl+v粘贴即可! + +​![kmind](https://s2.loli.net/2025/02/13/bCiFYyGJRHZ7oSX.webp)​ + +### 2.文档树导图的节点也能有镜像块啦~快速上手:右键任意节点->选择复制节点镜像块,然后直接在思源的任意位置ctrl+v粘贴即可! + +注意,节点镜像块在某些主题下效果不佳,并非bug,而是主题的背景色和节点文本颜色重合了,看起来像是空白节点。请自行探索一下合适的主题吧~ + +​![kmind](https://s2.loli.net/2025/02/13/H1qLdeQTy7kMuVz.webp)​ + +### 3.文档树导图的节点文本内容可以被思源的全局搜索到了! + +但是还是有点小问题,目前只有新建的文档树导图的内容会被搜索到,如果想要旧的文档树导图可以被搜索到,需要手动去更新一下旧的文档树导图(比如添加一个节点,然后删除这个节点)。等到该功能稳定后,会开放 "一键为旧的文档树导图对接思源搜索" 的功能,届时旧导图无需手动操作即可被全局搜索到 + +​![kmind50](https://s2.loli.net/2025/02/13/hKA2nfIuVDvOSH9.webp)​ + +### 4.新增一键复制节点为图片的功能,快速上手:右键任意节点->复制节点为图片;你甚至可以直接右键根节点复制为图片,快速将整张导图分享给别人(节点多的话,会根据电脑配置的不同存在不同的延迟) + +由于浏览器安全策略等原因,此功能只保证客户端可用,其他端如果暂时无效,会根据反馈酌情适配。 + +​![kmind50](https://s2.loli.net/2025/02/13/J5WSigsNMLUtIv1.webp)​ + +## 优化和修复: + +### 1.适配思源(v3.1.20+)的新版api,老版本思源和新版本思源都可以Alt+左键单击节点超链接来悬浮预览了~ + +### 2.修复导入的时候,彩虹线条配置没有导入保存的问题; + +### 3.修复打开一张导图直接导出,导出数据为空的问题; + +### 4.修复一些i18n的文案错误; + +### 5.使用方向键切换子节点的时候,默认只激活节点,不会将该节点居中了; + +### 6.优化镜像块性能与节点镜像块性能,更新主导图,镜像块不会闪一下了; + +### 7.适配思源版本v3.1.21更新的文档树行为,此前会导致创建文档树导图的时候提示失败,实际上创建成功。 + +‍ + +## 其它: + +### 1.由于一些原因,如果你打开了一张kmind导图,然后立即切走这个tab页,会导致导图app找不到要挂载的tab页DOM节点而失败,表现为一直转圈。数据没有任何损坏,只是导图app加载失败了,只需要重新开关一下这张导图就行了,正在寻找优化解决方案ing。。。 + +### 2.有用户反馈复制思源文本到微信公众号,微信公众号无法保留样式,经过我长时间的排查,是本插件使用的unocss库导致的问题(其实我觉得是微信的问题,但是谁叫微信体量大2333),正在迁移到tailwindcss,预计两个版本内迁移完毕,如果出现此问题,只需要临时禁用本插件即可;还有需要注意的是,我开发的knote也使用了unocss框架。 + +‍ + +### KMind v2.6.2 新增一键转导图直接插入文档树,节点checkbox,freemind导入导出 (2024年12月19日) + +#### 说明:一键转KMind新增直接插入到文档树功能,新增freemind导入导出,节点checkbox功能,新增创建导图时候的命名功能,还有一些体验上的优化 + +‍ + +#### 新增: + +##### 1. 一键转导图的时候,可以右键导出为思源文档的子导图了,一键将转换后的导图插入到思源文档树中,快速上手:右键->导出->选中文档子导图->确认 + +​![kmind1](https://s2.loli.net/2024/12/19/9gy3SeukUsmGp5A.webp)​ + +##### 2. 新增freemind导入导出功能 + +​![image](https://s2.loli.net/2024/12/19/jX2aqP5ORZDErc1.png)​ + +##### 3. 新增节点checkbox功能 + +​![kmind2](https://s2.loli.net/2024/12/19/ieR6gPbGlqYpJVm.webp)​ + +##### 4. 文档树导图创建的时候,可以自定义名称了(当然你也可以直接点确定) + +​![kmind3](https://s2.loli.net/2024/12/19/9WOIJkSMmhU8e2b.webp)​ + +#### 优化: + +##### 1. 当在桌面端设置了全局配置中的左键选择,右键拖拽后,移动端会默认忽略这个配置,以免无法拖动导图 + +‍ + +##### 2. 当导图数据无实际变化的时候(注意,折叠节点就算实际变化了),默认不触发视图数据保存,此举的好处是,当你打开一张导图,拖拽查看的时候,不会更新这张导图的源文件,最大限度避免同步冲突 + +‍ + +##### 3. 优化关联线编辑,自定义颜色等 + +‍ + +##### 4. 还有一些体验上的小优化 + +‍ + +#### 其它: + +##### 1. 更新i18n,升级底层库 + +‍ + +##### 2.征集一下svg格式的超链接icon,需求是当节点的超链接为思源的块超链接的时候,需要显示一个跟思源相关的icon,这个icon需要能够与当前所存在的icon区分开来,采纳后赠送一个kmind年付订阅作为答谢 ;p + + +### [v2.6.1(2024年12月16日)](https://docs.kmind.app/changelog/kimind-v261-global-configuration-of-one-click-transition-map-1hoxvv.html) + +#### 说明:新增思源文档一键转KMind的全局配置,可以配置转换后显示的主题,结构等等,去除了一些日志,优化性能,修复一些bug + +![PixPin_2024-12-16_09-53-10](https://s2.loli.net/2024/12/16/FCg9cQDA5a3whjX.webp) + + +#### 新增: + +### 1.思源文档一键转KMind的全局配置,现在可以自定义转换后的主题和结构 + + +#### 修复: + +### 1. 修复全局配置"左键拖拽右键选择"的文案错误 + +### 2. 修复一键转KMind时,导出会弹框两次的bug + +### 3. 修复彩虹线条配置第二次保存失败的bug + + +#### 其它: + +### 1. 更新导图保存逻辑,旧导图初次渲染,拦截首次的自动保存操作 + +### 2. 去除一些不必要的日志log,优化性能 + +### [v2.6.0(2024年11月29日)](https://docs.kmind.app/changelog/v260.html) + +#### 说明:新增了全局配置功能,可以使用KMind插件设置全局导图的行为,包括文档树导图,dock栏导图,挂件导图。新增智能粘贴思源超链接为节点超链接 + +#### 新增: + +##### 1.新增快速粘贴思源超链接为节点超链接的功能: + +以往需要复制siyuan://开头的思源超链接,然后点击节点,点击超链接按钮,点击确认; + +现在不需要这么麻烦啦!直接复制思源的超链接,然后选中节点,ctrl+v粘贴即可。 + +![PixPin_2024-11-29_12-32-13-20241129123225-hjodksn.gif](https://s2.loli.net/2024/11/29/TBXkVpu9iRgAOj2.gif) + +##### 2. KMind全局配置,可以一键配置所有导图的默认行为,当前开放了:1.鼠标左键选择右键拖拽配置;2.打开导图的时候自动进入禅模式的配置;3.创建导图(包括文档树导图,dock栏导图,挂件导图)默认选择主题,选择默认结构(pro) + +![PixPin_2024-11-29_12-34-00-20241129123433-atg13d5.gif](https://s2.loli.net/2024/11/29/LEmsFr2i9cJHCUe.gif) + +#### 优化: + +##### 1. 去除底部工具栏切换语言下拉,自动适配思源i18n + +##### 2.优化一些性能问题,修复一些不影响功能的报错log,优化批量格式刷性能 + +#### 其它: + +以上标注为pro的功能为本版本限免,无需付费即可使用 :P + + + +### [2.5.0(2024年11月11日)](https://siyuannote.space/x/20241111153508-dx2yrwp) + +说明:新增数据兜底保护策略,保存的时候会拦截异常数据的写入;新增历史记录功能;最大化保护数据 + +新增: +- 历史记录功能,文档树导图,dock栏导图和挂件导图均可用。功能说明,会在数据变动的时候,自动每隔6分钟保存一份历史记录,基于存储空间的考量,目前最多保存3份,旧的会被自动删除: +- kmind概览功能:可以在全局配置里查看当前工作空间的导图数量(pro) +- 一键为已存在的导图创建固定历史版本功能(pro)(使用此功能创建的历史版本不会自动清理,可以手动删除) +- 新增保存数据的时候的兜底保护策略,自动拦截异常数据的写入,避免潜在的导图数据丢失风险 + +优化: +- 去除一些非必要的console,优化性能 + +其它: +- 以上标注为pro的功能为本版本限免,无需付费即可使用,将在月底的涨价版本发布后取消限免 :P + +### 2.4.3(2024 年 10 月 29 日) + +说明:更新底层库,带来了拖拽调整节点大小,原地编辑等效果,新增节点思源子文档快捷打开位置悬浮按钮 + +新增: + +- 新增拖拽调整节点大小 +- 新增节点子文档快捷指定打开位置的悬浮按钮 + +优化: + +- 编辑默认为原地编辑效果 + +### 2.4.2(2024 年 10 月 8 日) + +修复: + +- 修复了非思源超链接类型的超链接无法正常跳转的 bug +- 修复部分设备激活状态无法保存的 bug + +新增: + +- 新增根据订单号找回激活码功能 + +### 2.4.1-plugin.1(2024 年 10 月 6 日) + +说明: + +- 更新插件适配思源版本说明,请更新思源版本到 3.1.8 及以上后使用本插件 + +### [v2.4.0(2024 年 10 月 5 日)](https://siyuannote.site/x/20241005113503-s68860l) + +说明: + +- 新增了直接在思源文档树中创建 KMind 文档的能力,新增节点右击创建思源节点子文档,以适配 MOC 流程~ + +新增: + +- 现在可以直接在思源文档树中创建 KMind 文档,操作方法:右键文档树 -> 插件 -> KMind -> 创建 KMind 文档(pro) +- 新增节点直接创建关联思源文档功能;操作方法:选中节点 -> 右键节点 -> 点击 '节点子文档'(pro) + +优化 & 修复: + +- 优化 KMind 中对思源超链接的处理,现在无论是移动端,docker 端,还是 PC 端,都能在思源内部正确的跳转到指定的思源块,不会出现 docker 端点击超链接,会拉起本机 PC 端的情况了 +- 修复挂件初次渲染的时候,没有自动进入禅模式的 bug +- 优化 KMind 在移动端的展示效果,目前仅可查看不可编辑,编辑请在 PC 端进行 + +缺陷: + +- 由于 KMind 的源文件保存粒度是整个文档保存,所以请不要在同一时空同时打开同一张 KMind 导图!否则会出现数据相互覆盖的情况,包括的危险操作如下: + - 多端打开同一张导图(是的,同时打开也会导致冲突,因为 KMind 还会存储视图数据到源文件中,一旦你打开了拖拽查看了的话,视图数据就会更新,这个时候,多端的数据就会不一致了) + - 向右 or 向下 分屏操作同一张导图 + - 其它同时打开同一张导图的情况... +- 打开文档树中的 KMind 文档的时候,如果第一个 KMind 文档没有加载完毕就切换到第二个 KMind 文档,那么第一个 KMind 文档会一直加载不了,这个时候重新开关一下第一个 KMind 文档就行了(数据是安全的,不会丢失) +- 由于上面提到的原因,移动端目前仅开启查看功能 + +### [v2.3.1(2024 年 9 月 29 日)](https://ld246.com/article/1727602784074) + +说明: + +- 优化了挂件的使用方式,优化了挂件和镜像块蒙版的展示效果,优化底部工具栏的展示位置 + +新增: + +- 新增了挂件的快捷穿透蒙版功能:按住 ctrl 键+左键单击节点,可以快速聚焦节点,直接进行编辑 +- 底部工具栏新增禅模式按钮,现在移动端不必调出右键菜单就能直接进入禅模式了 +- 新增了镜像块的一键跳转编辑功能,点击镜像块的右上角,即可跳转到源导图进行编辑(pro) + +优化: + +- 优化了挂件和镜像块蒙版的展示效果,现在只有鼠标划上去,才会展示蒙版提示 +- 优化底部工具栏的位置,现在会随着侧栏的展开而动态更改位置了,避免被覆盖 + +### v2.3.0(2024 年 9 月 21 日) + +说明: + +- 优化了镜像块的使用手感,镜像块,一键转 kmind,插件导图自适应思源黑暗模式,并同步了上游库的一些功能与更新 + +新增: + +- UI 界面自动适配思源的黑暗模式 +- 导出水印自定义 +- 思源文档一键转 KMind 功能新增解析图片;(pro) +- 备注:技术限制,图片大小默认强制为 100*100,双击节点即可自动调整 +- 思源文档一键转 KMind 功能自适应黑暗模式;(pro) +- 镜像块新增蒙版:防止误操作 & 捕获思源笔记页面滚轮;(pro) + +其它: + +- 去除一些日志输出,优化性能 + +### v2.2.0-plugin.1(2024 年 9 月 18 日) + +说明: + +- 优化性能,更新捐赠单号说明 + +### v2.2.0(2024 年 9 月 17 日) + +说明: + +- 中秋快乐~此为中秋特别版 +- 加入了大家期待已久的付费功能 - -!付费指引[点我查看](https://siyuannote.space/x/20240917120223-roa3lpm),以下有 `(pro)`后缀的功能为付费功能 +- 建议在 PC 端扫码付费,然后通过思源的云同步,将 KMind 付费状态同步到移动端,移动端同步后,重启一下移动端的思源即可。 + +新增: + +- 新建导图的时候,侧边操作栏默认隐藏; +- 新增思源文档一键转 KMind 功能,功能查看以及说明[点我查看](https://siyuannote.site/x/20240917102811-jx1umib)(pro) +- 新增 KMind 镜像块功能,功能查看以及说明[点我查看](https://siyuannote.site/x/20240917094117-jeem5c6)(pro) + +优化: + +- 优化镜像块的性能 + +## 使用方式 + +1.在插件市场安装并启用后,在左下角找到 kmind 的 dock,然后点击新建即可 +![newKmind.gif](img%2FnewKmind.gif) + +2.快捷键的说明详见插件菜单(挂件遇到此问题同理) +![shortcut.png](img%2Fshortcut.png) + +## 反馈 + +如果你需要反馈,可以去我的 github 仓库提交[issue](https://github.com/suka233/siyuan-kmind-plugin/issues),如果你没有 github 账号,可以[点我反馈](https://txc.qq.com/products/662653)。如果你要捐赠我,可以[点我](https://wj.qq.com/s2/12591272/adf1/), +或者去我的 github 仓库给[本插件](https://github.com/suka233/siyuan-kmind-plugin/issues)点一颗 star 吧~ + +## 付费 + +kmind 插件的基础编辑功能永久免费使用,不限制导图数量,也不限制节点数量。~~之后与思源或者外部结合的高级功能可能需要付费 (目前此插件收益负 50 元,因为我向上游库的导图库作者捐赠了 50 元 😋 ),等到正式付费,各位的捐赠金额可以双倍抵扣 kmind 费用。~~ + +kmind pro 版本已经上线,不会影响免费版使用,只是多了两个跟思源结合的 pro 功能。请在发布日前的捐赠过的用户输入自己的转账单号,即可自动计算抵扣金额,注意,由于微信捐赠码设计原因(付款方转账单号和收款方转账单号不一致),所以请先加 qq 群私聊我你的转账单号。。! +有任何疑问请 qq 群联系我:QQ 交流群号:[130584086](https://qm.qq.com/cgi-bin/qm/qr?k=ViZ2ouiFw8LF5Zx1fg1SQUr1Y0bH1FAR&jump_from=webapi&authKey=UR61OGV1muKUgQZFTdBuxgdcXDWm2TLGisL5RZ9X6VYRY7NPM32L4ciyF426+qPF) + +感谢各位的捐赠,时间有限,不能一一列出~。~ 主要是懒 + +## 缘起 + +思源笔记是一款我很喜欢的笔记软件,但是它的导图功能却不是很完善,而我恰好是思维导图重度使用者 + +一直以来都是用的 xmind 做笔记,规划生活等等,但是由于 xmind 比较贵,并且绑定设备,而且必须要使用 xmind 客户端才能打开, +拥有多台设备的我感觉很痛苦,并且在与其它软件或者生态的联动方面,xmind 一直都迟迟不做改进。 + +所以我基于开源库开发了思源思维导图挂件:[kmind](https://github.com/suka233/siyuan-Kmind)。 +后来,思源的目录插件作者[@TinkMingKing](https://github.com/TinkMingKing)建议我开发一个插件版思维导图, +我想想,确实,挂件版本的 kmind 由于只能插入到某篇具体的文档中,和单篇文档高度相关,无法覆盖所有的思维导图应用场景,所以这个插件就诞生啦~ + +高强度使用此插件半个多月的我突然发现,我已经好久没有打开过 xmind 了,所以,xmind 你以后不要打电话来了,我怕 kmind 误会 :p + +## kmind 特点 + +1.随意导入 or 导出 xmind 文件,并且额外支持导出为图片、markdown、svg 文件,以及通用的 json 文件,这也是我从 xmind 转为 kmind 的底气 +![exportToXmind.gif](img%2FexportToXmind.gif) + +2.现代化的设计:采用了蚂蚁的 Ant Design UI 组件库,界面简洁大方 + +3.高度可配置:支持自定义主题、结构、节点的字体、字号、并且可以配置新建导图的默认动作,比如新建一张 kmind 的时候,自动选择某个设定好的主题,自动开启禅模式等等 +![changeStyle.gif](img%2FchangeStyle.gif) + +4.富文本节点:目前市面上的思维导图的节点为普通的文本格式,富文本节点由于可以加粗指定文字,更改背景或者文字颜色,可以更好的突出重点 + +5.和思源笔记深度结合:如果把节点的超链接设置为思源的块超链接,点击即可跳转到思源笔记的指定块,如果按住 Alt 键点击,还可以直接在 kmind 中悬浮预览思源笔记的指定块 +![kmindguide.gif](img%2Fkmindguide.gif) + +6.开放性:得益于开源的力量,单个节点能承载的功能可以开发出更多玩法,比如:在节点中渲染出思源笔记指定的编辑区是什么样的体验? +![siyuanBlock.gif](img%2FsiyuanBlock.gif) + +7.数据安全:kmind 的所有数据全部存储于本地,并且与思源的笔记本数据完全隔离,也没有任何交互。所以不会对思源的数据造成任何影响。此外,kmind 会在你编辑的时候,智能每隔 1s 自动保存数据到本地,意外断电也不怕丢失啦。 + +## 致谢 + +感谢[@wanglin2/mind-map](https://github.com/wanglin2/mind-map)大佬开发的导图库,没有他就没有本项目,如果您对导图的功能满意,请考虑直接[捐赠他](https://wanglin2.github.io/mind-map-docs/sponsor.html) + +感谢思源目录插件作者:[@TinkMingKing](https://github.com/TinkMingKing/siyuan-index-plugins) 大佬的提议与帮助 + +感谢顶栏日历插件作者:[@svchord](https://github.com/svchord/siyuan-arco-calendar) 大佬的 vue 模板参考 + +感谢开放 API 插件作者:[@Zuoqiu-Yingyi](https://github.com/Zuoqiu-Yingyi) 萌佬的插件参考与答疑,kmind 挂件的悬浮预览脱胎于此 + +感谢插件系统的开拓者:[@zuoez02](https://github.com/zuoez02/siyuan-plugin-excalidraw) Z 佬的[Excalidraw 插件](https://github.com/zuoez02/siyuan-plugin-excalidraw) + +和[@frostime](https://github.com/frostime)大佬的[文档流插件](https://github.com/frostime/sy-docs-flow)参考,抄了亿点点新建自定义 tab 页的写法,嘿嘿 + +## 以往更新记录 + +### v2.1.0(2024 年 9 月 4 日) + +说明: + +- 跟 KMind 挂件更新保持一致。 + +新增: + +- 更新图标 ICON 的视觉风格,入口:选择节点->图标->表情图标 + +修复: + +- 加入缺少的 14 号字体 + +### v2.0.0-beta.1(2024 年 7 月 25 日) + +简介:插件重构,底层更新,与挂件解耦,无需安装挂件即可直接使用,更新了 UI 视觉风格,黑暗模式,大纲编辑等等一系列功能,更新了富文本编辑器,更好用了 + +修复:修复无法切换主题的 bug [#39](https://github.com/suka233/siyuan-kmind-plugin/issues/39) + +新增: + +1.新增黑暗模式 & 主题 [#23](https://github.com/suka233/siyuan-kmind-plugin/issues/23) + +2.导图样式支持调节概要,关联线的样式 + +3.支持导图的节点内边距,节点外边距,图片,图标 + +4.支持更换导图的背景颜色 + +5.添加了更多主题 + +6.添加了一个向左的逻辑结构 + +7.重构了大纲和搜索,支持比较简单的大纲编辑,全屏大纲编辑和大纲拖拽调整节点位置等等 + +8.左下角展示节点和字数 + +9.上方的按钮栏重构,更新视觉 UI,适配黑暗模式和小屏幕模式(小屏幕将会自动折叠按钮)[#29](https://github.com/suka233/siyuan-kmind-plugin/issues/29) + +10.右键菜单添加了一键去除样式,复制为 md 文档,txt 文档,kmind 数据,插入父节点,仅删除当前节点等等功能 [#25](https://github.com/suka233/siyuan-kmind-plugin/issues/25) [#12](https://github.com/suka233/siyuan-kmind-plugin/issues/12) + +11.修复了节点内的字号(如标题)无法生效的 bug + +12.添加了编辑节点的时候的快捷富文本操作栏 + +13.其它的一些小优化,如右键菜单自动调整到可视区,操作栏按钮在分辨率低的屏幕上自动折叠,添加常用按钮到操作区域,方便触屏使用等等 [#18](https://github.com/suka233/siyuan-kmind-plugin/issues/18) + +#### v1.1.7(2024 年 3 月 20 日) + +修复: + +- 修复 nginx 反代思源笔记的时候,kmind 插件可能无法正常使用的问题 + +#### v1.1.6(2024 年 2 月 18 日) + +修复: + +- 修复思源 v2.12.4 版本更新导致的 dock 图标过大的 bug + +#### v1.1.5(2024 年 2 月 18 日) + +修复: + +- 修复当有 kmind tab 页打开的时候,无法删除这张 kmind 的 bug + +#### v1.1.4 + +修复: + +- 修复思源版本 v2.10.9 更新插件 api 导致无法打开 tab 页的 bug,该版本可能无法在低于 v2.10.9 的思源版本中使用 + +新增: + +- 复制 kmind 超链接的功能:现在,你可以复制一个 kmind 的超链接,然后在另一个 kmind 的节点上或者思源中或者其它任何地方粘贴,点击即可跳转到该 kmind。 + +优化: + +- 点击左下角 dock 栏的 kmind 文件列表,如果该 kmind 已经打开,则会自动跳转到已经打开的 tab 页 diff --git a/kmind-plugin/README_en_US.md b/kmind-plugin/README_en_US.md new file mode 100644 index 00000000..9b58cca5 --- /dev/null +++ b/kmind-plugin/README_en_US.md @@ -0,0 +1,306 @@ +# KMind v2.10.1 + +## Fixes + +- Fixed occasional shortcut key failures caused by MOC mode +- Fixed i18n warnings and improved performance + +# KMind v2.10.0, New MOC Mode + +## Hi~ After a period of design work and incorporating interaction suggestions from enthusiastic community members, another major feature is here: KMind MOC Mode!! + +## New Features: + +1. KMind MOC Mode: Display the document tree as a mind map with a one-to-one correspondence between nodes and Siyuan documents. Access: Right-click any Siyuan document -> Plugin -> KMind -> Switch to MOC Mode + + ![moc](https://s2.loli.net/2025/11/06/XnYp8M1HPso54tD.webp) + + - How is this different from the previous node-associated Siyuan sub-document feature? In previous non-MOC maps, you could add nodes freely and control whether nodes were associated with Siyuan documents; MOC maps render in real-time with a strong correspondence to the Siyuan document tree, and the map's functionality is more restricted. + - Important notes: Since creating nodes requires synchronous creation of Siyuan documents, please avoid creating a large number of nodes in a very short time. Some bulk node creation features will be disabled in MOC mode and may be optimized and enabled later. + - Most edge cases have been handled. If issues occur, you can right-click the MOC map to refresh. + - By default, there are two ways to open the document corresponding to a node: through the hyperlink icon or through the floating toolbar. + - Global configuration allows you to change MOC map settings, such as whether to display hyperlinks, set default theme and layout for MOC maps, set the waiting time for displaying floating windows, etc. + + ![PixPin_2025-11-06_19-24-52](https://s2.loli.net/2025/11/06/xopr7F2wPNuIiOR.png) +2. Node image direct copy functionality + + ![cp](https://s2.loli.net/2025/11/06/MCgjUXdTYvxNEOK.webp) +3. Global read-only functionality: Set global read-only status in the global configuration to prevent accidental operations + +## Bug Fixes: + +1. Fixed a bug where deleting nodes before a summary could cause the summary itself to be deleted due to summary indexing issues +2. Fixed a bug where relationship lines could still be modified in read-only mode +3. Fixed a bug where bottom bar avoidance would not restore to its original position in read-only mode + +## Notes: + +Everyone, please go to the KMind theme sharing website (https://share.kmind.app) to share your themes! The example images in this update use the Matcha Green theme from the theme sharing website~ + +Theme Designer location: KMind menu in the top-right corner of Siyuan -> Theme Designer. After designing, click Share! + +# KMind v2.9.2 Fixes Document Tree Map Search Bug and Adds Auto-Focus to Search Box + +# KMind v2.9.1 Fixes Spacebar Shortcut Bug + +# KMind v2.9.0 Reconstructs the Bottom Layer, Adds Node Hyperlinks and Theme Designer + +## Description: Hello everyone, after several months of refactoring, KMind 2.9.0 is ready to launch~~ We sincerely thank more than a dozen enthusiastic community members for their testing. The purpose of this refactoring is to better integrate with Siyuan, laying the foundation for future advanced features such as direct interaction between Siyuan blocks and mind maps, and MOC functionality. + +## New Features: + +### 1. Added global node hyperlinks, which can be placed in any external software, such as Anki or any other external software. Clicking the hyperlink will open Siyuan and jump to the specified node in the specified mind map + +![kmindhyperlink](https://s2.loli.net/2025/10/22/vi1qtkbJ9XWTA3a.webp) + +### 2. Added theme designer & sharing functionality. After designing and saving a theme, you can use it in any KMind mind map and global configuration, and quickly share it with others or import themes shared by others~ + +Note: After designing and saving a theme, you need to reopen the mind map to select the newly designed theme + +![theme](https://s2.loli.net/2025/10/22/wDZcW8FotUyVmEn.webp) + +### 3. Launched a new theme sharing website + +Feel free to visit: https://share.kmind.app + +### 4. Refactored global configuration, added preview images for theme & structure dropdowns + +![PixPin_2025-10-22_23-43-10](https://s2.loli.net/2025/10/22/RUVMz2TxlqPt3wk.png) + +### Optimizations & Fixes: + +### 1. Optimized mind map theme preview images & structure preview images, adapted to custom themes + +### 2. Fixed bug where node jump to Siyuan block could not accurately locate in certain situations + +### 3. Fixed bug where KMind icon would not display in non-official Siyuan themes in the new version of Siyuan + +# KMind v2.8.1 Optimizes the Floating Toolbar Experience and Adds Global Configuration + +## Description: This version optimizes the floating toolbar experience, adds global configuration, and adds a feature to remove SiYuan PDF links + +## New Features: + +### 1. Added global configuration, allowing users to configure whether to display the floating toolbar on desktop, displayed by default + +### 2. Added the feature to remove SiYuan PDF hyperlinks, accessible via: right-click -> select "Remove SiYuan PDF association" + +### Optimizations: + +### 1. Optimized floating toolbar experience, will automatically hide in certain situations and dynamically update position following node editing + +### 2. Restructured the global configuration settings page + + +# KMind v2.8.0 adds intuitive buttons, direct PDF annotation jumping, and document tree map editing on mobile + +## Note: This version optimizes the underlying data structure, reducing KMind's storage space by about 30%. We've enabled document tree map editing on mobile devices and added intuitive buttons for mobile users, as well as a new feature to jump directly to PDF annotations. + +## New Features: + +### 1. After several internal iterations, KMind's original "Intuitive Button" is now available! We recommend using it with Zen mode - hide other toolbars, hold and drag the intuitive button to easily create nodes centered around your current node. + +![kmind280](https://s2.loli.net/2025/04/19/9VbGhuqtMQHgoBI.webp) + +### 2. When creating document tree maps, the document title is automatically applied as the root node text + +![kmind280](https://s2.loli.net/2025/04/19/1DiXrTapkbdW7sC.webp) + +### 3. New global configuration allowing document tree map editing on mobile devices + +Note: Although KMind has made many synchronization optimizations, to avoid conflicts between devices, please ensure synchronization is complete before editing maps! + +### 4. New direct PDF annotation jump feature + +After highlighting text in SiYuan's PDF viewer, simply click "Copy annotation" and paste it directly onto a node. KMind will automatically parse the annotation data, and clicking it will take you directly to that specific location in the PDF. + +![kmind280](https://s2.loli.net/2025/04/19/426l9YTLIQHvrVF.webp) + +## Optimizations & Fixes: + +### 1. Removed unocss library in favor of native CSS, fixing a strange bug where SiYuan article styles would be lost when copied to WeChat Official Accounts + +### 2. Added "unavailable" tooltips for the mobile dock bar - if you want to use KMind on mobile, try the widget version or document tree maps + +### 3. Fixed unexpected scrollbars when displaying KMind in SiYuan tab pages + +### 4. Fixed FreeMind export bug + +### 5. Child documents in document tree maps now open on the right side by default + +### 6. Optimized mirror blocks and child node mirror blocks logic, with automatic centering + +### 7. Improved initial loading indicators + +### 8. Updated KMind hyperlink parsing to support the latest SiYuan version (v3.1.26+) + +## Important Note: + +This KMind update includes breaking changes to the underlying data structure from upstream libraries. However, we've made every effort to ensure compatibility - simply opening your maps will update them to the new data structure without any noticeable changes. The benefits are clear: smaller data size (typically reducing storage usage by about 30%) and fewer style bugs when copying nodes. + +The downside: when switching themes in older KMind maps, you may notice some styles aren't properly overridden by the new theme. A less-than-perfect solution is to right-click on the map and select "Remove all custom node styles" (this will also remove any manually defined styles), allowing the new styles to be applied smoothly. + +# KMind v2.7.0 Adds Node Mirror Blocks and Global Search Integration for Document Tree Maps (Initial Release) (February 12, 2025) + +## Overview: Added mirror block functionality for document tree maps and node mirror blocks; integrated SiYuan's global search feature (initial version with some limitations); added direct node-to-image copying; updated hover preview to support the latest SiYuan API (v3.1.20+) while maintaining backward compatibility. + +‍ + +## New Features: + +### 1. Document Tree Maps Now Support Mirror Blocks! Quick Start: Right-click on a document tree map -> Plugin -> KMind -> Copy Mirror Block, then simply paste (Ctrl+V) anywhere in SiYuan! + +​![kmind](https://s2.loli.net/2025/02/13/bCiFYyGJRHZ7oSX.webp)​ + +### 2. Individual Nodes in Document Tree Maps Can Now Have Mirror Blocks! Quick Start: Right-click any node -> Select Copy Node Mirror Block, then paste (Ctrl+V) anywhere in SiYuan! + +Note: Node mirror blocks may not display optimally with certain themes. This isn't a bug - it occurs when the theme's background color matches the node text color, making nodes appear blank. Please explore different themes to find one that works best for you. + +​![kmind](https://s2.loli.net/2025/02/13/H1qLdeQTy7kMuVz.webp)​ + +### 3. Document Tree Map Node Content is Now Searchable via SiYuan's Global Search! + +There are some current limitations: only newly created document tree maps will be searchable. To make existing document tree maps searchable, you'll need to manually update them (e.g., by adding and then deleting a node). Once this feature is stable, we'll release a "one-click update" function to make all existing document tree maps searchable without manual intervention. + +​![kmind50](https://s2.loli.net/2025/02/13/hKA2nfIuVDvOSH9.webp)​ + +### 4. New Feature: Copy Node as Image! Quick Start: Right-click any node -> Copy Node as Image. You can even right-click the root node to copy the entire mind map as an image for easy sharing (processing time may vary based on your computer's specifications when dealing with many nodes). + +Due to browser security policies, this feature is guaranteed to work only in the desktop client. Support for other platforms will be considered based on user feedback. + +​![kmind50](https://s2.loli.net/2025/02/13/J5WSigsNMLUtIv1.webp)​ + +## Optimizations and Bug Fixes: + +### 1. Updated to support SiYuan's new API (v3.1.20+). Both old and new versions now support Alt+Left-click on node hyperlinks for hover preview. + +### 2. Fixed an issue where rainbow line configurations weren't being saved during imports. + +### 3. Fixed a bug where exported data was empty when exporting immediately after opening a mind map. + +### 4. Fixed various i18n text errors. + +### 5. When using arrow keys to navigate between child nodes, nodes are now only activated without being centered. + +### 6. Improved mirror block and node mirror block performance - updating the main mind map no longer causes flickering. + +### 7. Adapted to SiYuan v3.1.21's document tree behavior changes, resolving an issue where creating document tree maps would show an error message despite successful creation. + +‍ + +## Other Notes: + +### 1. Known Issue: If you open a KMind map and immediately switch to another tab, the mind map app may fail to find the tab page DOM node to mount to, resulting in an endless loading spinner. No data is damaged - simply reopening the mind map will resolve the issue. We're actively working on a solution. + +### 2. Some users reported that copying SiYuan text to WeChat Official Accounts loses styling. After investigation, this is caused by the unocss library used by this plugin (though we believe it's more of a WeChat limitation). We're migrating to tailwindcss, expected to complete within two versions. As a temporary workaround, you can disable the plugin when copying text. Note that my KNote plugin also uses unocss framework. + +‍ + +# KMind v2.6.2 Added One-button Mind Map Insertion into Document Tree, Node Checkbox, and FreeMind Import/Export + +## Description: One-click KMind conversion now supports direct insertion into the document tree, added FreeMind import/export, node checkbox functionality, naming feature when creating mind maps, and various experience improvements + +‍ + +## New Features: + +### 1. When converting to mind map, you can now right-click to export as a sub-diagram in SiYuan documents, quickly inserting the converted mind map into the SiYuan document tree. Quick start: Right-click -> Export -> Select Document Sub-diagram -> Confirm + +![kmind1](https://s2.loli.net/2024/12/19/9gy3SeukUsmGp5A.webp)​ + +### 2. Added FreeMind import and export functionality + +![image](https://s2.loli.net/2024/12/19/jX2aqP5ORZDErc1.png)​ + +### 3. Added node checkbox functionality + +![kmind2](https://s2.loli.net/2024/12/19/ieR6gPbGlqYpJVm.webp)​ + +### 4. When creating a mind map in the document tree, you can now customize the name (of course, you can also just click confirm) + +![kmind3](https://s2.loli.net/2024/12/19/9WOIJkSMmhU8e2b.webp)​ + +## Optimizations: + +### 1. When left-click select and right-click drag are set in desktop global configuration, mobile devices will ignore this configuration by default to ensure mind map dragging functionality + +‍ + +### 2. When there are no actual changes to the mind map data (note that node folding counts as an actual change), view data saving is not triggered by default. This ensures that when you open a mind map and drag to view it, the source file won't be updated, minimizing synchronization conflicts + +‍ + +### 3. Optimized relationship line editing, custom colors, etc. + +‍ + +### 4. Various other minor experience improvements + +‍ + +## Other Updates: + +### 1. Updated i18n and upgraded underlying libraries + +‍ + +### 2. Collecting SVG format link icons - we need an icon that distinguishes SiYuan block links from other links in nodes. The icon should be clearly distinguishable from existing icons. A one-year KMind subscription will be offered as a thank you for accepted submissions ;p + + +# [KMind v2.6.1 Adds Global Configuration for One-Click Mind Map Conversion](https://docs.kmind.app/en/changelog/kimind-v261-global-configuration-of-one-click-transition-map-1hoxvv.html) + +## Description: Added global configuration for one-click conversion from SiYuan documents to KMind, allowing customization of themes and structures after conversion. Removed some logs, optimized performance, and fixed several bugs. + +‍ + +## New Features: + +### 1. Global configuration for one-click conversion from SiYuan documents to KMind, now supporting customization of themes and structures after conversion + +​![PixPin_2024-12-16_09-53-10](https://s2.loli.net/2024/12/16/FCg9cQDA5a3whjX.webp)​ + +‍ + +## Bug Fixes: + +### 1. Fixed incorrect text in global configuration for "Left-click drag, right-click select" + +### 2. Fixed the bug where export dialog appears twice during one-click KMind conversion + +### 3. Fixed the bug where rainbow line configuration fails to save on second attempt + +‍ + +## Other Updates: + +### 1. Updated mind map saving logic, intercepting first automatic save operation when rendering old mind maps + +### 2. Removed unnecessary log entries, optimized performance + +# KMind v2.6.0 Update - New Global Configuration, Quick Paste for SiYuan Hyperlinks + +## Description: Added global configuration functionality, allowing you to set global mind map behavior through the KMind plugin, including document tree maps, dock bar maps, and widget maps. Added smart pasting of SiYuan hyperlinks as node hyperlinks. + +## New Features: + +### 1. Quick paste SiYuan hyperlinks as node hyperlinks: + +Previously, you needed to copy the SiYuan hyperlink (starting with siyuan://), click the node, click the hyperlink button, and then confirm; + +Now it's much simpler! Just copy the SiYuan hyperlink, select the node, and press ctrl+v to paste. + +![PixPin_2024-11-29_12-32-13-20241129123225-hjodksn.gif](https://s2.loli.net/2024/11/29/TBXkVpu9iRgAOj2.gif) + +### 2. KMind global configuration allows you to configure default behavior for all mind maps with one click. Currently available settings include: 1. Mouse left-click select and right-click drag configuration; 2. Auto-enter zen mode when opening mind maps; 3. Default theme selection when creating mind maps (including document tree maps, dock bar maps, and widget maps), and default structure selection (pro) + +![PixPin_2024-11-29_12-34-00-20241129123433-atg13d5.gif](https://s2.loli.net/2024/11/29/LEmsFr2i9cJHCUe.gif) + +## Optimizations: + +### 1. Removed the language switch dropdown from the bottom toolbar, automatically adapting to SiYuan i18n + +### 2. Optimized some performance issues, fixed some non-functional error logs, improved batch format brush performance + +## Other: + +Features marked as pro in this version are free for a limited time, no payment required :P diff --git a/kmind-plugin/app/README.md b/kmind-plugin/app/README.md new file mode 100644 index 00000000..7dbf6f31 --- /dev/null +++ b/kmind-plugin/app/README.md @@ -0,0 +1,605 @@ +# 思源挂件:KMind + +## 快速上手:/菜单->挂件->KMind + +## \*\*KMind 插件版已经上架思源插件市场,欢迎大家前去下载 + +## QQ 交流群号:130584086 + +### 提醒:该挂件需要 KMind 插件的 api 支持,才能使用悬浮预览思源块的功能,自定义主题,全局超链接等功能 + +### 基于下面这位大佬的导图库二次开发而成,感谢大佬[@wangling2](https://github.com/wanglin2), + +### 如果觉得导图功能还不错,欢迎[捐赠](https://wanglin2.github.io/mind-map-docs/sponsor.html)给导图库原作者,支持原作者继续开发 + +## 最新更新记录: + +# KMind v2.10.1 + +## 修复 + +- 修复 moc 模式引发的偶发性快捷键失效 Bug +- 修复 i18n warn, 优化性能 + +# KMind v2.10.0,新增MOC模式 + +## Hi~经过一段时间的设计 & 吸取了热心群友的交互建议,又一个重磅大功能来啦:KMind MOC 模式!! + +## 新增: + +1. KMind MOC模式,将文档树以导图的形式展示,节点与思源文档呈一一对应关系,功能入口:右键任意思源文档->插件->KMind->切换MOC模式 + + ![moc](https://s2.loli.net/2025/11/06/XnYp8M1HPso54tD.webp) + + - 跟以往的节点关联思源子文档功能有什么区别呢?以往的非MOC导图可以任意添加节点,用户自行控制节点是否关联思源文档;而MOC导图为实时渲染,导图内容与思源文档树为强对应关系,导图自身的功能受限; + - 有一些需要注意,由于创建节点需要同步创建思源文档,请不要在极短时间创建大量节点,某些大量创建节点的功能也会在MOC模式中被禁用,后期可能会视情况酌情优化后开放; + - 多数边界情况已经做了拦截,如果出现问题,可以右键MOC导图刷新即可; + - 默认有两种打开节点对应文档的方式,通过超链接icon or 通过悬浮工具栏; + - 全局配置可以更改MOC导图的配置,例如是否展示超链接,设定MOC导图的默认主题与布局等,设定展示悬浮窗的等待时间等; + + ![PixPin_2025-11-06_19-24-52](https://s2.loli.net/2025/11/06/xopr7F2wPNuIiOR.png) +2. 节点图片直接复制功能; + + ![cp](https://s2.loli.net/2025/11/06/MCgjUXdTYvxNEOK.webp) +3. 全局只读功能,可以在全局配置中,设定全局只读状态,避免误操作 + +## 修复: + +1. 修复概要索引问题导致的删除概要前的节点,可能导致概要直接被删除的bug +2. 修复只读模式下,关联线仍然能被修改的bug +3. 修复只读模式下,底栏避让不会复原位置的bug + +## 碎碎念: + +大家快去KMind主题分享网站( https://share.kmind.app )分享做好的主题吧!这次示例图使用的主题就是主题分享网站上的 抹茶绿 主题~ + +主题设计器位置:思源右上角的KMind菜单->主题设计器,设计完成后,点击分享即可~ + +# KMind v2.9.2 修复文档树导图的搜索会呼出思源搜索框的Bug,新增搜索框自动聚焦的功能 + +# KMind v2.9.1 修复空格快捷键Bug + +# KMind v2.9.0 重构底层,新增节点超链接,主题设计器 + +## 说明:大家好,经过几个月的重构,KMind 2.9.0 版本已经蓄势待发~~非常感谢十多位热心群友的测试。本次重构目的是为了更好的跟思源整合,为之后的思源块与导图直接交互,MOC等高级功能做铺垫。 + +## 新增: + +### 1. 新增全局节点超链接,您可以将此超链接放到任意外部软件,比如 Anki,或者其它任意外部软件内,点击超链接后,即可打开思源跳转到指定导图的指定节点 + +![kmindhyperlink](https://s2.loli.net/2025/10/22/vi1qtkbJ9XWTA3a.webp) + +### 2. 新增主题设计器 & 分享功能,设计完主题并保存后,即可在任意kmind导图和全局配置中使用该主题,并且可以快速分享给其他人,也能快速导入其他人分享的主题~ + +注意:设计完主题并保存后,需要重新打开导图,方可选取最新设计的主题 + +![theme](https://s2.loli.net/2025/10/22/wDZcW8FotUyVmEn.webp) + +### 3. 上线全新主题分享网站 + +欢迎大家去玩:https://share.kmind.app + +### 4. 重构全局配置,主题 & 结构 下拉新增预览图 + +![PixPin_2025-10-22_23-43-10](https://s2.loli.net/2025/10/22/RUVMz2TxlqPt3wk.png) + +### 优化 & 修复: + +### 1. 优化导图的主题预览图 & 结构预览图,适配自定义主题 + +### 2. 修复节点跳转思源块某些情况下无法准确定位的Bug + +### 3. 修复新版本思源中,非官方主题KMind的icon显示不出来的Bug + + +# KMind v2.8.1 优化悬浮工具栏体验,新增全局配置 + +## 说明:此版优化了悬浮工具栏的体验,新增了全局配置,新增去除思源PDF链接功能 + +## 新增: + +### 1. 新增全局配置,可以配置桌面端是否显示悬浮工具栏,默认显示 + +### 2. 新增去除思源PDF超链接功能,入口:右键->选择移除思源PDF关联 + +### 优化: + +### 1. 优化悬浮工具栏体验,在某些情况下会自动隐藏,并且会跟随节点的编辑动态更新位置 + +### 2. 重构全局配置的设置页面 + + +# KMind v2.8.0 新增直觉按钮,新增直接跳转PDF标注,移动端开放文档树导图编辑 + +## 说明:此版优化了底层数据结构,直观的效果就是kmind的存储空间普遍可以降低30%左右,开放了移动端的文档树导图的编辑,并且新增了移动端方便使用的直觉按钮,新增了PDF的标注直接跳转功能 + +## 新增: + +### 1. 内部迭代了几个版本,kmind原创的"直觉按钮"上线啦,推荐搭配禅模式使用,隐藏其它工具栏,按住直觉按钮拖拽,可以以当前节点为中心,便携的创建节点~ + +![kmind280](https://s2.loli.net/2025/04/19/9VbGhuqtMQHgoBI.webp) + +### 2. 文档树导图创建的时候,会自动应用文档标题为根节点的文本 + +![kmind280](https://s2.loli.net/2025/04/19/1DiXrTapkbdW7sC.webp) + +### 3. 新增全局配置,移动端可以开启文档树导图的编辑了 + +注意,虽然目前kmind已经做了很多同步相关的优化,但是为了避免多端冲突,请确保编辑导图前已经同步完毕!! + +### 4. 新增PDF标注直接跳转功能 + +在思源的PDF中标注后,只需要点击复制标注,然后直接在节点上粘贴,kmind会自动解析标注数据,点击后即可直接跳转到指定的PDF标注位置 + +![kmind280](https://s2.loli.net/2025/04/19/426l9YTLIQHvrVF.webp) + +## 优化 & 修复: + +### 1. 去除unocss库,改用纯原生css,以此修复思源文章复制到微信公众号会样式丢失的奇怪bug; + +### 2. 移动端dock栏新增不可用提示,如果你想要在移动端使用kmind,可以试试挂件版kmind和kmind的文档树导图; + +### 3. 隐藏思源tab页展示kmind的时候,意料之外的滚动条; + +### 4. 修复freemind导出bug; + +### 5. 文档树导图的节点子文档默认会在右侧打开; + +### 6. 优化镜像块和子节点镜像块逻辑,自动居中; + +### 7. 优化初次加载的loading提示; + +### 8. kmind超链接解析适配思源最新版v3.1.26+ + +## 最后的重要说明!!: + +本次kmind更新包含了上游库的破坏性的底层数据更新,但是kmind尽力做了兼容,打开导图即可无感更新到最新数据结构,带来的好处是显而易见的,减少了底层数据的大小(通常会降低百分之30左右的存储占用),减少了复制节点的时候的奇奇怪怪的样式bug;缺点是,老kmind导图切换主题的时候,会发现有些样式不能被新主题覆盖,不完美的解决办法是,右键导图,选择`一键去除所有节点自定义样式`​,(这样会将你手动定义的样式一并去除)即可顺利应用新样式了。 + + + +# KMind v2.7.0 新增子节点镜像块,文档树导图对接思源全局搜索(初版)(2025年2月12日) + +## 说明:新增文档树导图的镜像块功能,并额外支持添加节点镜像块;文档树导图对接了思源的全局搜索功能(初版,会有一些限制);新增直接复制节点为图片功能;悬浮预览适配最新的思源接口(v3.1.20+),同时兼容旧接口。 + +‍ + +## 新增: + +### 1.文档树导图也有镜像块啦~快速上手:右键文档树导图->插件->KMind->复制镜像块,然后直接在思源的任意位置ctrl+v粘贴即可! + +​![kmind](https://s2.loli.net/2025/02/13/bCiFYyGJRHZ7oSX.webp)​ + +### 2.文档树导图的节点也能有镜像块啦~快速上手:右键任意节点->选择复制节点镜像块,然后直接在思源的任意位置ctrl+v粘贴即可! + +注意,节点镜像块在某些主题下效果不佳,并非bug,而是主题的背景色和节点文本颜色重合了,看起来像是空白节点。请自行探索一下合适的主题吧~ + +​![kmind](https://s2.loli.net/2025/02/13/H1qLdeQTy7kMuVz.webp)​ + +### 3.文档树导图的节点文本内容可以被思源的全局搜索到了! + +但是还是有点小问题,目前只有新建的文档树导图的内容会被搜索到,如果想要旧的文档树导图可以被搜索到,需要手动去更新一下旧的文档树导图(比如添加一个节点,然后删除这个节点)。等到该功能稳定后,会开放 "一键为旧的文档树导图对接思源搜索" 的功能,届时旧导图无需手动操作即可被全局搜索到 + +​![kmind50](https://s2.loli.net/2025/02/13/hKA2nfIuVDvOSH9.webp)​ + +### 4.新增一键复制节点为图片的功能,快速上手:右键任意节点->复制节点为图片;你甚至可以直接右键根节点复制为图片,快速将整张导图分享给别人(节点多的话,会根据电脑配置的不同存在不同的延迟) + +由于浏览器安全策略等原因,此功能只保证客户端可用,其他端如果暂时无效,会根据反馈酌情适配。 + +​![kmind50](https://s2.loli.net/2025/02/13/J5WSigsNMLUtIv1.webp)​ + +## 优化和修复: + +### 1.适配思源(v3.1.20+)的新版api,老版本思源和新版本思源都可以Alt+左键单击节点超链接来悬浮预览了~ + +### 2.修复导入的时候,彩虹线条配置没有导入保存的问题; + +### 3.修复打开一张导图直接导出,导出数据为空的问题; + +### 4.修复一些i18n的文案错误; + +### 5.使用方向键切换子节点的时候,默认只激活节点,不会将该节点居中了; + +### 6.优化镜像块性能与节点镜像块性能,更新主导图,镜像块不会闪一下了; + +### 7.适配思源版本v3.1.21更新的文档树行为,此前会导致创建文档树导图的时候提示失败,实际上创建成功。 + +‍ + +## 其它: + +### 1.由于一些原因,如果你打开了一张kmind导图,然后立即切走这个tab页,会导致导图app找不到要挂载的tab页DOM节点而失败,表现为一直转圈。数据没有任何损坏,只是导图app加载失败了,只需要重新开关一下这张导图就行了,正在寻找优化解决方案ing。。。 + +### 2.有用户反馈复制思源文本到微信公众号,微信公众号无法保留样式,经过我长时间的排查,是本插件使用的unocss库导致的问题(其实我觉得是微信的问题,但是谁叫微信体量大2333),正在迁移到tailwindcss,预计两个版本内迁移完毕,如果出现此问题,只需要临时禁用本插件即可;还有需要注意的是,我开发的knote也使用了unocss框架。 + + + +### KMind v2.6.2 新增一键转导图直接插入文档树,节点checkbox,freemind导入导出 (2024年12月19日) + +#### 说明:一键转KMind新增直接插入到文档树功能,新增freemind导入导出,节点checkbox功能,新增创建导图时候的命名功能,还有一些体验上的优化 + +‍ + +#### 新增: + +##### 1. 一键转导图的时候,可以右键导出为思源文档的子导图了,一键将转换后的导图插入到思源文档树中,快速上手:右键->导出->选中文档子导图->确认 + +​![kmind1](https://s2.loli.net/2024/12/19/9gy3SeukUsmGp5A.webp)​ + +##### 2. 新增freemind导入导出功能 + +​![image](https://s2.loli.net/2024/12/19/jX2aqP5ORZDErc1.png)​ + +##### 3. 新增节点checkbox功能 + +​![kmind2](https://s2.loli.net/2024/12/19/ieR6gPbGlqYpJVm.webp)​ + +##### 4. 文档树导图创建的时候,可以自定义名称了(当然你也可以直接点确定) + +​![kmind3](https://s2.loli.net/2024/12/19/9WOIJkSMmhU8e2b.webp)​ + +#### 优化: + +##### 1. 当在桌面端设置了全局配置中的左键选择,右键拖拽后,移动端会默认忽略这个配置,以免无法拖动导图 + +‍ + +##### 2. 当导图数据无实际变化的时候(注意,折叠节点就算实际变化了),默认不触发视图数据保存,此举的好处是,当你打开一张导图,拖拽查看的时候,不会更新这张导图的源文件,最大限度避免同步冲突 + +‍ + +##### 3. 优化关联线编辑,自定义颜色等 + +‍ + +##### 4. 还有一些体验上的小优化 + +‍ + +#### 其它: + +##### 1. 更新i18n,升级底层库 + +‍ + +##### 2.征集一下svg格式的超链接icon,需求是当节点的超链接为思源的块超链接的时候,需要显示一个跟思源相关的icon,这个icon需要能够与当前所存在的icon区分开来,采纳后赠送一个kmind年付订阅作为答谢 ;p + + +### [v2.6.1(2024年12月16日)](https://docs.kmind.app/changelog/kimind-v261-global-configuration-of-one-click-transition-map-1hoxvv.html) + +#### 说明:新增思源文档一键转KMind的全局配置,可以配置转换后显示的主题,结构等等,去除了一些日志,优化性能,修复一些bug + +![PixPin_2024-12-16_09-53-10](https://s2.loli.net/2024/12/16/FCg9cQDA5a3whjX.webp) + + +#### 新增: + +### 1.思源文档一键转KMind的全局配置,现在可以自定义转换后的主题和结构 + + +#### 修复: + +### 1. 修复全局配置“左键拖拽右键选择”的文案错误 + +### 2. 修复一键转KMind时,导出会弹框两次的bug + +### 3. 修复彩虹线条配置第二次保存失败的bug + + +#### 其它: + +### 1. 更新导图保存逻辑,旧导图初次渲染,拦截首次的自动保存操作 + +### 2. 去除一些不必要的日志log,优化性能 + +### [v2.6.0(2024年11月29日)](https://docs.kmind.app/changelog/v260.html) + +#### 说明:新增了全局配置功能,可以使用KMind插件设置全局导图的行为,包括文档树导图,dock栏导图,挂件导图。新增智能粘贴思源超链接为节点超链接 + +#### 新增: + +##### 1.新增快速粘贴思源超链接为节点超链接的功能: + +以往需要复制siyuan://开头的思源超链接,然后点击节点,点击超链接按钮,点击确认; + +现在不需要这么麻烦啦!直接复制思源的超链接,然后选中节点,ctrl+v粘贴即可。 + +![PixPin_2024-11-29_12-32-13-20241129123225-hjodksn.gif](https://s2.loli.net/2024/11/29/TBXkVpu9iRgAOj2.gif) + +##### 2. KMind全局配置,可以一键配置所有导图的默认行为,当前开放了:1.鼠标左键选择右键拖拽配置;2.打开导图的时候自动进入禅模式的配置;3.创建导图(包括文档树导图,dock栏导图,挂件导图)默认选择主题,选择默认结构(pro) + +![PixPin_2024-11-29_12-34-00-20241129123433-atg13d5.gif](https://s2.loli.net/2024/11/29/LEmsFr2i9cJHCUe.gif) + +#### 优化: + +##### 1. 去除底部工具栏切换语言下拉,自动适配思源i18n + +##### 2.优化一些性能问题,修复一些不影响功能的报错log,优化批量格式刷性能 + +#### 其它: + +以上标注为pro的功能为本版本限免,无需付费即可使用 :P + +### [2.5.0(2024年11月11日)](https://siyuannote.space/x/20241111153508-dx2yrwp) + +说明:新增数据兜底保护策略,保存的时候会拦截异常数据的写入;新增历史记录功能;最大化保护数据 + +新增: +- 历史记录功能,文档树导图,dock栏导图和挂件导图均可用。功能说明,会在数据变动的时候,自动每隔6分钟保存一份历史记录,基于存储空间的考量,目前最多保存3份,旧的会被自动删除: +- kmind概览功能:可以在全局配置里查看当前工作空间的导图数量(pro) +- 一键为已存在的导图创建固定历史版本功能(pro)(使用此功能创建的历史版本不会自动清理,可以手动删除) +- 新增保存数据的时候的兜底保护策略,自动拦截异常数据的写入,避免潜在的导图数据丢失风险 + +优化: +- 去除一些非必要的console,优化性能 + +其它: +- 以上标注为pro的功能为本版本限免,无需付费即可使用,将在月底的涨价版本发布后取消限免 :P + +### 2.4.3(2024 年 10 月 29 日) + +说明:更新底层库,带来了拖拽调整节点大小,原地编辑等效果,新增节点思源子文档快捷打开位置悬浮按钮 + +新增: + +- 新增拖拽调整节点大小 +- 新增节点子文档快捷指定打开位置的悬浮按钮 + +优化: + +- 编辑默认为原地编辑效果 + +### v2.4.2(2024年10月8日) + +修复: + +- 修复了非思源超链接类型的超链接无法正常跳转的bug + +### [v2.4.0(2024年10月5日)](https://siyuannote.site/x/20241005113503-s68860l) + +说明: + +- 新增了直接在思源文档树中创建KMind文档的能力,新增节点右击创建思源节点子文档,以适配MOC流程~ + +新增: + +- 现在可以直接在思源文档树中创建KMind文档,操作方法:右键文档树 -> 插件 -> KMind -> 创建KMind文档(pro) +- 新增节点直接创建关联思源文档功能;操作方法:选中节点 -> 右键节点 -> 点击 ‘节点子文档’(pro) + +优化 & 修复: + +- 优化KMind中对思源超链接的处理,现在无论是移动端,docker端,还是PC端,都能在思源内部正确的跳转到指定的思源块,不会出现docker端点击超链接,会拉起本机PC端的情况了 +- 修复挂件初次渲染的时候,没有自动进入禅模式的bug +- 优化KMind在移动端的展示效果,目前仅可查看不可编辑,编辑请在PC端进行 + +缺陷: + +- 由于KMind的源文件保存粒度是整个文档保存,所以请不要在同一时空同时打开同一张KMind导图!否则会出现数据相互覆盖的情况,包括的危险操作如下: + - 多端打开同一张导图(是的,同时打开也会导致冲突,因为KMind还会存储视图数据到源文件中,一旦你打开了拖拽查看了的话,视图数据就会更新,这个时候,多端的数据就会不一致了) + - 向右 or 向下 分屏操作同一张导图 + - 其它同时打开同一张导图的情况... +- 打开文档树中的KMind文档的时候,如果第一个KMind文档没有加载完毕就切换到第二个KMind文档,那么第一个KMind文档会一直加载不了,这个时候重新开关一下第一个KMind文档就行了(数据是安全的,不会丢失) +- 由于上面提到的原因,移动端目前仅开启查看功能 + +### [v2.3.1(2024年9月29日)](https://ld246.com/article/1727602784074) + +说明: + +- 优化了挂件的使用方式,优化了挂件和镜像块蒙版的展示效果,优化底部工具栏的展示位置 + +新增: + +- 新增了挂件的快捷穿透蒙版功能:按住ctrl键+左键单击节点,可以快速聚焦节点,直接进行编辑 +- 底部工具栏新增禅模式按钮,现在移动端不必调出右键菜单就能直接进入禅模式了 +- 新增了镜像块的一键跳转编辑功能,点击镜像块的右上角,即可跳转到源导图进行编辑(pro) + +优化: + +- 优化了挂件和镜像块蒙版的展示效果,现在只有鼠标划上去,才会展示蒙版提示 +- 优化底部工具栏的位置,现在会随着侧栏的展开而动态更改位置了,避免被覆盖 + +### v2.3.0(2024年9月21日) + +说明: + +- 优化了挂件插入文档的展示 & 使用方式,自适应黑暗模式,并同步了上游库的一些功能与更新 + +新增: + +- 新增蒙版:当在思源文档中插入挂件的时候,需要您点击一下,才会进入kmind,显示操作UI并开始编辑模式,鼠标移出挂件区域,自动退出编辑模式并隐藏UI,防止误操作 & 捕获主页面滚轮 +- UI界面自动适配思源的黑暗模式 +- 导出水印自定义 + +其它: + +- 去除一些日志输出,优化性能 + +### v2.2.0(2024年9月17日) + +说明: + +- 中秋快乐~此为中秋特别版 + +新增: + +- 新建导图的时候,侧边操作栏默认隐藏; + +### v2.1.0(2024年9月4日) + +说明: + +- 重构完毕,UI风格,操作逻辑,新增的功能和插件保持一致,重构的具体细节请查看KMind插件的说明 + +新增: + +- 更新图标ICON的视觉风格,入口:选择节点->图标->表情图标 + +修复: + +- 修复跨版本更新导致的无法切换主题的bug +- 修复无法导入的bug +- 加入缺少的14号字体 + +### v2.0.0-beta.3(2024 年 4 月 7 日) + +说明: + +- 可以比较方便的使用彩虹分支了,优化了一下美观度~。~ + +修复: + +- 修复跨版本更新导致的节点样式设置有时候无法更新的 bug + +新增: + +- 新增导图样式设置,可以设置连线风格和颜色。入口,kmind 左边功能栏 -> 导图样式 +- 新增彩虹分支(beta) + +其它: + +- 更新底层库->0.9.10 + +### v2.0.0-beta.2(2024 年 3 月 31 日) + +修复: + +- 更新版本导致的导出 pdf 不可用的 bug。注意,如果节点过多,导出 pdf 可能会丢失部分内容,如果遇到了此情况,请反馈给我 + +### v2.0.0-beta.1(2024 年 3 月 9 日) + +更新说明: + +- 底层库跨版本更新,优化了代码结构&性能,可能有未知 bug,欢迎大家反馈 + +破坏性更新: + +- 升级底层库 -> 0.9.8 版本,由于底层库的连接线设计更新,旧版数据的连接线会**无法显示**!但是同时修复了连接线的自定义位置保存失败的 bug。请酌情升级! + +新增: + +- 支持对同一个节点的部分子节点添加概要 +- 节点字号补上缺失的 14 号 + +修复: + +- 修复节点的格式有时候会丢失的 bug + +### v1.5.0(2024 年 2 月 18 日) + +新增: + +- 新增搜索节点功能,快捷键:`ctrl+f`,支持搜索节点的文本内容;入口:侧边工具栏->搜索大纲 + +### v1.4.0(2023 年 12 月 5 日) + +修复: + +- 修复导入外部导图文件的时候,大纲失效的 bug + +优化: + +- 优化节点激活响应速度,点击节点后,工具栏按钮能更快的响应 +- 优化大纲点击节点,现在点击大纲中的节点,画布会自动激活并展开到当前激活的节点 + +### v1.3.1(2023 年 10 月 17 日) + +修复: + +- 修复导入 md 文件报错 + +优化: + +- feat(style.css): 思源超链接添加 icon 功能优化:缩小选择器范围到思源块,避免匹配到插件生成的超链接 + +### v1.3.0 + +新增: + +- 新增导图小地图(缩略图)[#16](https://github.com/suka233/siyuan-Kmind/issues/16) +- 新增导图只读模式(需要适配思源的文档只读状态吗?欢迎进群讨论:130584086) +- 新增导图缩放工具条,支持双击缩放工具条重置缩放 + +优化: + +- 导入文件增加覆盖说明,避免误操作 + +### v1.2.0 + +变化: + +- 破坏性更新:去除了节点激活样式,改为默认支持节点 Hover 效果(鼠标悬浮在节点上,该节点的外框会高亮) + +新增: + +- 支持**跨 kmind 复制粘贴节点**,现在,你可以把一个节点从挂件版直接复制粘贴到插件版啦,反过来也可以 +- 直接在节点上粘贴纯文本数据,会以当前剪贴板的数据新建子节点 +- 直接在节点上粘贴图片,会自动为该节点插入剪贴板中的图片 +- 新增了节点格式刷的功能:使用方法:点击一个节点 A,然后点击上方操作栏的 格式刷 按钮,再点击其它的节点,即可把节点 A 的样式应用到其它节点中。点击除了节点以外的地方会自动退出格式刷功能 +- 直接粘贴进节点的剪贴板文本,将会自动去除样式,只保留纯文本。如果需要保留复制的文本的样式,可以通过点击上方操作栏的 节点 按钮,在弹出的节点编辑器中进行粘贴。 +- 收起节点时,展开按钮会显示有多少个子节点 +- 支持关联线端点的位置跟随鼠标拖拽变化 +- 默认关闭双击复位画布 + +修复: + +- 直接在根节点 ctrl+v 导致的 bug [#7](https://github.com/suka233/siyuan-kmind-plugin/issues/7) + +## 历史更新记录[点我查看](https://github.com/suka233/siyuan-Kmind/blob/dev/CHANGELOG.md) + +### 此挂件已知缺陷: + +1.节点内直接粘贴图片后,下次进入该导图,此节点的图片可能会显示不出来,需要双击一下那个节点才能显示出来,建议使用上方操作按钮栏的图片按钮为节点添加图片 + +### 注意: + +反馈此挂件的问题请不要去底层导图库反馈!!!我看不到不说,还会打扰到底层库作者,谢谢配合~ +此挂件为个人业余爱好所作,可能会有不稳定的风险,数据风险自负 + +使用 Github 快捷反馈[点我](https://github.com/suka233/siyuan-Kmind/issues) +使用腾讯问卷快捷反馈 或者 捐赠[点我](https://wj.qq.com/s2/12591272/adf1/) + +### 特点: + +1.富文本节点,比较完善的功能,原作者的项目的完整功能[演示地址](https://wanglin2.github.io/mind-map/#/) + +2.此挂件为精简版(主要没啥空添加所有功能),如果需要完整版,可以去原作者项目体验使用 + +3.原项目开启了 electron 分支,意味着可以跟思源一样,多端跨平台使用,只需要保存好此挂件导出的导图数据即可任意导入。 + +4.当节点插入的超链接为思源块链接的时候(例如 siyuan://xxxx),按住 alt+左键单击,即可弹出悬浮预览窗(需要 kmind 插件支持,请前往思源集市的插件区下载 kmind 插件版) +![kmindguide.gif](img%2Fkmindguide.gif) + +5.节点内部的文字可以链接到不同的思源块,并且思源超链接会展示思源的 icon,方便识别。 +![siyuanURL.gif](img%2FsiyuanURL.gif) + +6.节点的弹出编辑框支持有限的 markdown 语法,具体的支持列表如下: + +```` +# Headers + +**Bold text** + +*Italic* + +***Bold italic*** + +~~Strikethrough~~ + +- Bullet points + +1. Numbered lists + +[] Checkboxes + +[]() Links + +> Blockquote + +`Inline code block` + +``` +Fenced Code block +``` + +--- Horizontal Rule + +```` diff --git a/kmind-plugin/app/README_en_US.md b/kmind-plugin/app/README_en_US.md new file mode 100644 index 00000000..9c8ca064 --- /dev/null +++ b/kmind-plugin/app/README_en_US.md @@ -0,0 +1,306 @@ +# KMind v2.10.1 + +## Fixes + +- Fixed occasional shortcut key failures caused by MOC mode +- Fixed i18n warnings and improved performance + +# KMind v2.10.0, New MOC Mode + +## Hi~ After a period of design work and incorporating interaction suggestions from enthusiastic community members, another major feature is here: KMind MOC Mode!! + +## New Features: + +1. KMind MOC Mode: Display the document tree as a mind map with a one-to-one correspondence between nodes and Siyuan documents. Access: Right-click any Siyuan document -> Plugin -> KMind -> Switch to MOC Mode + + ![moc](https://s2.loli.net/2025/11/06/XnYp8M1HPso54tD.webp) + + - How is this different from the previous node-associated Siyuan sub-document feature? In previous non-MOC maps, you could add nodes freely and control whether nodes were associated with Siyuan documents; MOC maps render in real-time with a strong correspondence to the Siyuan document tree, and the map's functionality is more restricted. + - Important notes: Since creating nodes requires synchronous creation of Siyuan documents, please avoid creating a large number of nodes in a very short time. Some bulk node creation features will be disabled in MOC mode and may be optimized and enabled later. + - Most edge cases have been handled. If issues occur, you can right-click the MOC map to refresh. + - By default, there are two ways to open the document corresponding to a node: through the hyperlink icon or through the floating toolbar. + - Global configuration allows you to change MOC map settings, such as whether to display hyperlinks, set default theme and layout for MOC maps, set the waiting time for displaying floating windows, etc. + + ![PixPin_2025-11-06_19-24-52](https://s2.loli.net/2025/11/06/xopr7F2wPNuIiOR.png) +2. Node image direct copy functionality + + ![cp](https://s2.loli.net/2025/11/06/MCgjUXdTYvxNEOK.webp) +3. Global read-only functionality: Set global read-only status in the global configuration to prevent accidental operations + +## Bug Fixes: + +1. Fixed a bug where deleting nodes before a summary could cause the summary itself to be deleted due to summary indexing issues +2. Fixed a bug where relationship lines could still be modified in read-only mode +3. Fixed a bug where bottom bar avoidance would not restore to its original position in read-only mode + +## Notes: + +Everyone, please go to the KMind theme sharing website (https://share.kmind.app) to share your themes! The example images in this update use the Matcha Green theme from the theme sharing website~ + +Theme Designer location: KMind menu in the top-right corner of Siyuan -> Theme Designer. After designing, click Share! + +# KMind v2.9.2 Fixes Document Tree Map Search Bug and Adds Auto-Focus to Search Box + +# KMind v2.9.1 Fixes Spacebar Shortcut Bug + +# KMind v2.9.0 Reconstructs the Bottom Layer, Adds Node Hyperlinks and Theme Designer + +## Description: Hello everyone, after several months of refactoring, KMind 2.9.0 is ready to launch~~ We sincerely thank more than a dozen enthusiastic community members for their testing. The purpose of this refactoring is to better integrate with Siyuan, laying the foundation for future advanced features such as direct interaction between Siyuan blocks and mind maps, and MOC functionality. + +## New Features: + +### 1. Added global node hyperlinks, which can be placed in any external software, such as Anki or any other external software. Clicking the hyperlink will open Siyuan and jump to the specified node in the specified mind map + +![kmindhyperlink](https://s2.loli.net/2025/10/22/vi1qtkbJ9XWTA3a.webp) + +### 2. Added theme designer & sharing functionality. After designing and saving a theme, you can use it in any KMind mind map and global configuration, and quickly share it with others or import themes shared by others~ + +Note: After designing and saving a theme, you need to reopen the mind map to select the newly designed theme + +![theme](https://s2.loli.net/2025/10/22/wDZcW8FotUyVmEn.webp) + +### 3. Launched a new theme sharing website + +Feel free to visit: https://share.kmind.app + +### 4. Refactored global configuration, added preview images for theme & structure dropdowns + +![PixPin_2025-10-22_23-43-10](https://s2.loli.net/2025/10/22/RUVMz2TxlqPt3wk.png) + +### Optimizations & Fixes: + +### 1. Optimized mind map theme preview images & structure preview images, adapted to custom themes + +### 2. Fixed bug where node jump to Siyuan block could not accurately locate in certain situations + +### 3. Fixed bug where KMind icon would not display in non-official Siyuan themes in the new version of Siyuan + +# KMind v2.8.1 Optimizes the Floating Toolbar Experience and Adds Global Configuration + +## Description: This version optimizes the floating toolbar experience, adds global configuration, and adds a feature to remove SiYuan PDF links + +## New Features: + +### 1. Added global configuration, allowing users to configure whether to display the floating toolbar on desktop, displayed by default + +### 2. Added the feature to remove SiYuan PDF hyperlinks, accessible via: right-click -> select "Remove SiYuan PDF association" + +### Optimizations: + +### 1. Optimized floating toolbar experience, will automatically hide in certain situations and dynamically update position following node editing + +### 2. Restructured the global configuration settings page + + +# KMind v2.8.0 adds intuitive buttons, direct PDF annotation jumping, and document tree map editing on mobile + +## Note: This version optimizes the underlying data structure, reducing KMind's storage space by about 30%. We've enabled document tree map editing on mobile devices and added intuitive buttons for mobile users, as well as a new feature to jump directly to PDF annotations. + +## New Features: + +### 1. After several internal iterations, KMind's original "Intuitive Button" is now available! We recommend using it with Zen mode - hide other toolbars, hold and drag the intuitive button to easily create nodes centered around your current node. + +![kmind280](https://s2.loli.net/2025/04/19/9VbGhuqtMQHgoBI.webp) + +### 2. When creating document tree maps, the document title is automatically applied as the root node text + +![kmind280](https://s2.loli.net/2025/04/19/1DiXrTapkbdW7sC.webp) + +### 3. New global configuration allowing document tree map editing on mobile devices + +Note: Although KMind has made many synchronization optimizations, to avoid conflicts between devices, please ensure synchronization is complete before editing maps! + +### 4. New direct PDF annotation jump feature + +After highlighting text in SiYuan's PDF viewer, simply click "Copy annotation" and paste it directly onto a node. KMind will automatically parse the annotation data, and clicking it will take you directly to that specific location in the PDF. + +![kmind280](https://s2.loli.net/2025/04/19/426l9YTLIQHvrVF.webp) + +## Optimizations & Fixes: + +### 1. Removed unocss library in favor of native CSS, fixing a strange bug where SiYuan article styles would be lost when copied to WeChat Official Accounts + +### 2. Added "unavailable" tooltips for the mobile dock bar - if you want to use KMind on mobile, try the widget version or document tree maps + +### 3. Fixed unexpected scrollbars when displaying KMind in SiYuan tab pages + +### 4. Fixed FreeMind export bug + +### 5. Child documents in document tree maps now open on the right side by default + +### 6. Optimized mirror blocks and child node mirror blocks logic, with automatic centering + +### 7. Improved initial loading indicators + +### 8. Updated KMind hyperlink parsing to support the latest SiYuan version (v3.1.26+) + +## Important Note: + +This KMind update includes breaking changes to the underlying data structure from upstream libraries. However, we've made every effort to ensure compatibility - simply opening your maps will update them to the new data structure without any noticeable changes. The benefits are clear: smaller data size (typically reducing storage usage by about 30%) and fewer style bugs when copying nodes. + +The downside: when switching themes in older KMind maps, you may notice some styles aren't properly overridden by the new theme. A less-than-perfect solution is to right-click on the map and select "Remove all custom node styles" (this will also remove any manually defined styles), allowing the new styles to be applied smoothly. + +# KMind v2.7.0 Adds Node Mirror Blocks and Global Search Integration for Document Tree Maps (Initial Release) (February 12, 2025) + +## Overview: Added mirror block functionality for document tree maps and node mirror blocks; integrated SiYuan's global search feature (initial version with some limitations); added direct node-to-image copying; updated hover preview to support the latest SiYuan API (v3.1.20+) while maintaining backward compatibility. + +‍ + +## New Features: + +### 1. Document Tree Maps Now Support Mirror Blocks! Quick Start: Right-click on a document tree map -> Plugin -> KMind -> Copy Mirror Block, then simply paste (Ctrl+V) anywhere in SiYuan! + +​![kmind](https://s2.loli.net/2025/02/13/bCiFYyGJRHZ7oSX.webp)​ + +### 2. Individual Nodes in Document Tree Maps Can Now Have Mirror Blocks! Quick Start: Right-click any node -> Select Copy Node Mirror Block, then paste (Ctrl+V) anywhere in SiYuan! + +Note: Node mirror blocks may not display optimally with certain themes. This isn't a bug - it occurs when the theme's background color matches the node text color, making nodes appear blank. Please explore different themes to find one that works best for you. + +​![kmind](https://s2.loli.net/2025/02/13/H1qLdeQTy7kMuVz.webp)​ + +### 3. Document Tree Map Node Content is Now Searchable via SiYuan's Global Search! + +There are some current limitations: only newly created document tree maps will be searchable. To make existing document tree maps searchable, you'll need to manually update them (e.g., by adding and then deleting a node). Once this feature is stable, we'll release a "one-click update" function to make all existing document tree maps searchable without manual intervention. + +​![kmind50](https://s2.loli.net/2025/02/13/hKA2nfIuVDvOSH9.webp)​ + +### 4. New Feature: Copy Node as Image! Quick Start: Right-click any node -> Copy Node as Image. You can even right-click the root node to copy the entire mind map as an image for easy sharing (processing time may vary based on your computer's specifications when dealing with many nodes). + +Due to browser security policies, this feature is guaranteed to work only in the desktop client. Support for other platforms will be considered based on user feedback. + +​![kmind50](https://s2.loli.net/2025/02/13/J5WSigsNMLUtIv1.webp)​ + +## Optimizations and Bug Fixes: + +### 1. Updated to support SiYuan's new API (v3.1.20+). Both old and new versions now support Alt+Left-click on node hyperlinks for hover preview. + +### 2. Fixed an issue where rainbow line configurations weren't being saved during imports. + +### 3. Fixed a bug where exported data was empty when exporting immediately after opening a mind map. + +### 4. Fixed various i18n text errors. + +### 5. When using arrow keys to navigate between child nodes, nodes are now only activated without being centered. + +### 6. Improved mirror block and node mirror block performance - updating the main mind map no longer causes flickering. + +### 7. Adapted to SiYuan v3.1.21's document tree behavior changes, resolving an issue where creating document tree maps would show an error message despite successful creation. + +‍ + +## Other Notes: + +### 1. Known Issue: If you open a KMind map and immediately switch to another tab, the mind map app may fail to find the tab page DOM node to mount to, resulting in an endless loading spinner. No data is damaged - simply reopening the mind map will resolve the issue. We're actively working on a solution. + +### 2. Some users reported that copying SiYuan text to WeChat Official Accounts loses styling. After investigation, this is caused by the unocss library used by this plugin (though we believe it's more of a WeChat limitation). We're migrating to tailwindcss, expected to complete within two versions. As a temporary workaround, you can disable the plugin when copying text. Note that my KNote plugin also uses unocss framework. + + +# KMind v2.6.2 Added One-button Mind Map Insertion into Document Tree, Node Checkbox, and FreeMind Import/Export + +## Description: One-click KMind conversion now supports direct insertion into the document tree, added FreeMind import/export, node checkbox functionality, naming feature when creating mind maps, and various experience improvements + +‍ + +## New Features: + +### 1. When converting to mind map, you can now right-click to export as a sub-diagram in SiYuan documents, quickly inserting the converted mind map into the SiYuan document tree. Quick start: Right-click -> Export -> Select Document Sub-diagram -> Confirm + +![kmind1](https://s2.loli.net/2024/12/19/9gy3SeukUsmGp5A.webp)​ + +### 2. Added FreeMind import and export functionality + +![image](https://s2.loli.net/2024/12/19/jX2aqP5ORZDErc1.png)​ + +### 3. Added node checkbox functionality + +![kmind2](https://s2.loli.net/2024/12/19/ieR6gPbGlqYpJVm.webp)​ + +### 4. When creating a mind map in the document tree, you can now customize the name (of course, you can also just click confirm) + +![kmind3](https://s2.loli.net/2024/12/19/9WOIJkSMmhU8e2b.webp)​ + +## Optimizations: + +### 1. When left-click select and right-click drag are set in desktop global configuration, mobile devices will ignore this configuration by default to ensure mind map dragging functionality + +‍ + +### 2. When there are no actual changes to the mind map data (note that node folding counts as an actual change), view data saving is not triggered by default. This ensures that when you open a mind map and drag to view it, the source file won't be updated, minimizing synchronization conflicts + +‍ + +### 3. Optimized relationship line editing, custom colors, etc. + +‍ + +### 4. Various other minor experience improvements + +‍ + +## Other Updates: + +### 1. Updated i18n and upgraded underlying libraries + +‍ + +### 2. Collecting SVG format link icons - we need an icon that distinguishes SiYuan block links from other links in nodes. The icon should be clearly distinguishable from existing icons. A one-year KMind subscription will be offered as a thank you for accepted submissions ;p + + + +# [KMind v2.6.1 Adds Global Configuration for One-Click Mind Map Conversion](https://docs.kmind.app/en/changelog/kimind-v261-global-configuration-of-one-click-transition-map-1hoxvv.html) + +## Description: Added global configuration for one-click conversion from SiYuan documents to KMind, allowing customization of themes and structures after conversion. Removed some logs, optimized performance, and fixed several bugs. + +‍ + +## New Features: + +### 1. Global configuration for one-click conversion from SiYuan documents to KMind, now supporting customization of themes and structures after conversion + +​![PixPin_2024-12-16_09-53-10](https://s2.loli.net/2024/12/16/FCg9cQDA5a3whjX.webp)​ + +‍ + +## Bug Fixes: + +### 1. Fixed incorrect text in global configuration for "Left-click drag, right-click select" + +### 2. Fixed the bug where export dialog appears twice during one-click KMind conversion + +### 3. Fixed the bug where rainbow line configuration fails to save on second attempt + +‍ + +## Other Updates: + +### 1. Updated mind map saving logic, intercepting first automatic save operation when rendering old mind maps + +### 2. Removed unnecessary log entries, optimized performance + +# KMind v2.6.0 Update - New Global Configuration, Quick Paste for SiYuan Hyperlinks + +## Description: Added global configuration functionality, allowing you to set global mind map behavior through the KMind plugin, including document tree maps, dock bar maps, and widget maps. Added smart pasting of SiYuan hyperlinks as node hyperlinks. + +## New Features: + +### 1. Quick paste SiYuan hyperlinks as node hyperlinks: + +Previously, you needed to copy the SiYuan hyperlink (starting with siyuan://), click the node, click the hyperlink button, and then confirm; + +Now it's much simpler! Just copy the SiYuan hyperlink, select the node, and press ctrl+v to paste. + +![PixPin_2024-11-29_12-32-13-20241129123225-hjodksn.gif](https://s2.loli.net/2024/11/29/TBXkVpu9iRgAOj2.gif) + +### 2. KMind global configuration allows you to configure default behavior for all mind maps with one click. Currently available settings include: 1. Mouse left-click select and right-click drag configuration; 2. Auto-enter zen mode when opening mind maps; 3. Default theme selection when creating mind maps (including document tree maps, dock bar maps, and widget maps), and default structure selection (pro) + +![PixPin_2024-11-29_12-34-00-20241129123433-atg13d5.gif](https://s2.loli.net/2024/11/29/LEmsFr2i9cJHCUe.gif) + +## Optimizations: + +### 1. Removed the language switch dropdown from the bottom toolbar, automatically adapting to SiYuan i18n + +### 2. Optimized some performance issues, fixed some non-functional error logs, improved batch format brush performance + +## Other: + +Features marked as pro in this version are free for a limited time, no payment required :P diff --git a/kmind-plugin/app/app.js b/kmind-plugin/app/app.js new file mode 100644 index 00000000..07f702c8 --- /dev/null +++ b/kmind-plugin/app/app.js @@ -0,0 +1,615 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ function webpackJsonpCallback(data) { +/******/ var chunkIds = data[0]; +/******/ var moreModules = data[1]; +/******/ var executeModules = data[2]; +/******/ +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, resolves = []; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ resolves.push(installedChunks[chunkId][0]); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ +/******/ while(resolves.length) { +/******/ resolves.shift()(); +/******/ } +/******/ +/******/ // add entry modules from loaded chunk to deferred list +/******/ deferredModules.push.apply(deferredModules, executeModules || []); +/******/ +/******/ // run deferred modules when all chunks ready +/******/ return checkDeferredModules(); +/******/ }; +/******/ function checkDeferredModules() { +/******/ var result; +/******/ for(var i = 0; i < deferredModules.length; i++) { +/******/ var deferredModule = deferredModules[i]; +/******/ var fulfilled = true; +/******/ for(var j = 1; j < deferredModule.length; j++) { +/******/ var depId = deferredModule[j]; +/******/ if(installedChunks[depId] !== 0) fulfilled = false; +/******/ } +/******/ if(fulfilled) { +/******/ deferredModules.splice(i--, 1); +/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); +/******/ } +/******/ } +/******/ +/******/ return result; +/******/ } +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // Promise = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "app": 0 +/******/ }; +/******/ +/******/ var deferredModules = []; +/******/ +/******/ // script path function +/******/ function jsonpScriptSrc(chunkId) { +/******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js" +/******/ } +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId) { +/******/ var promises = []; +/******/ +/******/ +/******/ // JSONP chunk loading for javascript +/******/ +/******/ var installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) { // 0 means "already installed". +/******/ +/******/ // a Promise means "currently loading". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise(function(resolve, reject) { +/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; +/******/ }); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var script = document.createElement('script'); +/******/ var onScriptComplete; +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute("nonce", __webpack_require__.nc); +/******/ } +/******/ script.src = jsonpScriptSrc(chunkId); +/******/ +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ onScriptComplete = function (event) { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var chunk = installedChunks[chunkId]; +/******/ if(chunk !== 0) { +/******/ if(chunk) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ chunk[1](error); +/******/ } +/******/ installedChunks[chunkId] = undefined; +/******/ } +/******/ }; +/******/ var timeout = setTimeout(function(){ +/******/ onScriptComplete({ type: 'timeout', target: script }); +/******/ }, 120000); +/******/ script.onerror = script.onload = onScriptComplete; +/******/ document.head.appendChild(script); +/******/ } +/******/ } +/******/ return Promise.all(promises); +/******/ }; +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // on error function for async loading +/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; +/******/ +/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; +/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); +/******/ jsonpArray.push = webpackJsonpCallback; +/******/ jsonpArray = jsonpArray.slice(); +/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ +/******/ +/******/ // add entry module to deferred list +/******/ deferredModules.push([0,"chunk-vendors"]); +/******/ // run deferred modules when ready +/******/ return checkDeferredModules(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "../simple-mind-map/example/exampleData.js": +/*!*************************************************!*\ + !*** ../simple-mind-map/example/exampleData.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nconst createFullData = () => {\n return {\n \"image\": \"/enJFNMHnedQTYTESGfDkctCp2.jpeg\",\n \"imageTitle\": \"图片名称\",\n \"imageSize\": {\n \"width\": 1000,\n \"height\": 563\n },\n \"icon\": ['priority_1'],\n \"tag\": [\"标签1\", \"标签2\"],\n \"hyperlink\": \"http://lxqnsys.com/\",\n \"hyperlinkTitle\": \"理想青年实验室\",\n \"note\": \"理想青年实验室\\n一个有意思的角落\"\n // 自定义位置\n // \"customLeft\": 1318,\n // \"customTop\": 374.5\n };\n};\n\n/** \n * @Author: 王林 \n * @Date: 2021-04-15 22:23:24 \n * @Desc: 节点较多示例数据 \n */\nconst data1 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点1\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\",\n ...createFullData()\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\",\n ...createFullData()\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点2\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点3\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点4\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }]\n }]\n }]\n }\n};\n\n/** \n * javascript comment \n * @Author: 王林25 \n * @Date: 2021-07-12 13:49:43 \n * @Desc: 真实场景数据 \n */\nconst data2 = {\n \"root\": {\n \"data\": {\n \"text\": \"一周安排\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"生活\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"锻炼\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"晨跑\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"7:00-8:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"夜跑\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"20:00-21:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"饮食\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"早餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"8:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"午餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"11:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"晚餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"19:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休息\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"午休\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"12:30-13:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"晚休\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"23:00-6:30\"\n },\n \"children\": []\n }]\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"工作日\\n周一至周五\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"日常工作\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"9:00-18:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"工作总结\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"21:00-22:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"学习\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"工作日\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"早间新闻\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"8:00-8:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"阅读\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"21:00-23:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休息日\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"财务管理\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"9:00-10:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"职场技能\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"14:00-15:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"其他书籍\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"16:00-18:00\"\n },\n \"children\": []\n }]\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休闲娱乐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"看电影\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"1~2部\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"逛街\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"1~2次\"\n },\n \"children\": []\n }]\n }]\n }]\n }\n};\n\n/** \n * javascript comment \n * @Author: 王林25 \n * @Date: 2021-07-12 14:29:10 \n * @Desc: 极简数据 \n */\nconst data3 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }]\n }]\n }\n};\nconst data4 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点1-1\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点1-2-1\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2-2\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2-3\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点2\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1-1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1-1-1\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"子节点2-2\"\n },\n \"children\": []\n }]\n }]\n }\n};\n\n// 带概要\nconst data5 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点\",\n \"generalization\": {\n \"text\": \"概要\"\n }\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }]\n }]\n }\n};\n\n// 富文本数据v0.4.0+,需要使用RichText插件才支持富文本编辑\nconst richTextData = {\n \"root\": {\n \"data\": {\n \"text\": \"理想去年实验室\",\n \"richText\": true\n },\n \"children\": []\n }\n};\nconst rootData = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": []\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // ...data1,\n // ...data2,\n // ...data3,\n // ...data4,\n ...data5,\n // ...rootData,\n \"theme\": {\n \"template\": \"classic4\",\n \"config\": {\n // 自定义配置...\n }\n },\n \"layout\": \"logicalStructure\",\n // \"layout\": \"mindMap\",\n // \"layout\": \"catalogOrganization\"\n // \"layout\": \"organizationStructure\",\n \"config\": {}\n});\n\n//# sourceURL=webpack:///../simple-mind-map/example/exampleData.js?"); + +/***/ }), + +/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js": +/*!************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js ***! + \************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'App',\n components: {},\n data() {\n return {\n currentChunk: '',\n controller: new AbortController(),\n content: ''\n };\n },\n created() {\n this.getData();\n },\n methods: {\n async getData() {\n return;\n const res = await this.postMsg();\n return;\n const decoder = new TextDecoder();\n while (1) {\n const {\n done,\n value\n } = await res.read();\n if (done) {\n return;\n }\n // 拿到当前切片的数据\n const text = decoder.decode(value);\n // 处理切片数据\n let chunk = this.handleChunkData(text);\n // 判断是否有不完整切片,如果有,合并下一次处理,没有则获取数据\n if (this.currentChunk) continue;\n const list = chunk.split('\\n').filter(item => {\n return !!item;\n }).map(item => {\n return JSON.parse(item.replace(/^data:/, ''));\n });\n list.forEach(item => {\n this.content += item.choices.map(item2 => {\n return item2.delta.content;\n }).join('');\n console.log(this.content);\n });\n }\n },\n async postMsg() {\n const res = await fetch('http://localhost:3000/ai/chat', {\n signal: this.controller.signal,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n a: '227d32b1-08aa-413d-9c12-6832c34bc59b',\n b: 'ep-20250214110611-hhf9z',\n messages: [{\n role: 'user',\n content: '帮我写一个【2025年前端学习计划】,需要以Markdown格式返回,因为我要导入思维导图软件进行使用,只需返回内容即可。'\n }]\n })\n });\n if (res.status && res.status !== 200) {\n return false;\n }\n return res.body.getReader();\n },\n handleChunkData(chunk) {\n chunk = chunk.trim();\n // 如果存在上一个切片\n if (this.currentChunk) {\n chunk = this.currentChunk + chunk;\n this.currentChunk = '';\n }\n\n // 如果存在done,认为是完整切片且是最后一个切片\n if (chunk.includes('[DONE]')) {\n return chunk;\n }\n\n // 最后一个字符串不为},则默认切片不完整,保存与下次拼接使用(这种方法不严谨,但已经能解决大部分场景的问题)\n if (chunk[chunk.length - 1] !== '}') {\n this.currentChunk = chunk;\n }\n return chunk;\n },\n stop() {\n this.controller.abort();\n this.controller = new AbortController();\n }\n }\n});\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"551ac3d2-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90": +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"551ac3d2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90 ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n attrs: {\n id: \"app\"\n }\n }, [_c(\"router-view\")], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22551ac3d2-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./src/assets/icon-font/iconfont.css": +/*!*******************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2!./src/assets/icon-font/iconfont.css ***! + \*******************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ./iconfont.woff2?t=1739152990179 */ \"./src/assets/icon-font/iconfont.woff2?t=1739152990179\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! ./iconfont.woff?t=1739152990179 */ \"./src/assets/icon-font/iconfont.woff?t=1739152990179\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! ./iconfont.ttf?t=1739152990179 */ \"./src/assets/icon-font/iconfont.ttf?t=1739152990179\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\n// Module\nexports.push([module.i, \"@font-face {\\n font-family: \\\"iconfont\\\"; /* Project id 2479351 */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format('woff2'),\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format('woff'),\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format('truetype');\\n}\\n\\n.iconfont {\\n font-family: \\\"iconfont\\\" !important;\\n font-size: 16px;\\n font-style: normal;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.iconprinting:before {\\n content: \\\"\\\\ea28\\\";\\n}\\n\\n.iconwenjianjia:before {\\n content: \\\"\\\\e614\\\";\\n}\\n\\n.iconcontentleft:before {\\n content: \\\"\\\\e8c9\\\";\\n}\\n\\n.iconjuzhongduiqi:before {\\n content: \\\"\\\\ec80\\\";\\n}\\n\\n.iconfile-excel:before {\\n content: \\\"\\\\e7b7\\\";\\n}\\n\\n.iconfreemind:before {\\n content: \\\"\\\\e97d\\\";\\n}\\n\\n.iconwaikuang:before {\\n content: \\\"\\\\e640\\\";\\n}\\n\\n.iconhighlight:before {\\n content: \\\"\\\\e6b8\\\";\\n}\\n\\n.iconyanshibofang:before {\\n content: \\\"\\\\e648\\\";\\n}\\n\\n.iconfujian:before {\\n content: \\\"\\\\e88a\\\";\\n}\\n\\n.icongeshihua:before {\\n content: \\\"\\\\e7a3\\\";\\n}\\n\\n.iconyuanma:before {\\n content: \\\"\\\\e658\\\";\\n}\\n\\n.icongundongtiao:before {\\n content: \\\"\\\\e670\\\";\\n}\\n\\n.iconxietongwendang:before {\\n content: \\\"\\\\e60d\\\";\\n}\\n\\n.iconTXT:before {\\n content: \\\"\\\\e6e1\\\";\\n}\\n\\n.iconwenjian1:before {\\n content: \\\"\\\\e69f\\\";\\n}\\n\\n.icondodeparent:before {\\n content: \\\"\\\\e70f\\\";\\n}\\n\\n.icongongshi:before {\\n content: \\\"\\\\e617\\\";\\n}\\n\\n.icontouming:before {\\n content: \\\"\\\\e60c\\\";\\n}\\n\\n.iconlieri:before {\\n content: \\\"\\\\e60b\\\";\\n}\\n\\n.iconmoon_line:before {\\n content: \\\"\\\\e745\\\";\\n}\\n\\n.iconsousuo:before {\\n content: \\\"\\\\e693\\\";\\n}\\n\\n.iconjiantouyou:before {\\n content: \\\"\\\\e62d\\\";\\n}\\n\\n.iconbianji1:before {\\n content: \\\"\\\\e60a\\\";\\n}\\n\\n.icondaohang1:before {\\n content: \\\"\\\\e632\\\";\\n}\\n\\n.iconyanjing:before {\\n content: \\\"\\\\e8bf\\\";\\n}\\n\\n.iconwangzhan:before {\\n content: \\\"\\\\e628\\\";\\n}\\n\\n.iconcsdn:before {\\n content: \\\"\\\\e608\\\";\\n}\\n\\n.iconshejiaotubiao-10:before {\\n content: \\\"\\\\e644\\\";\\n}\\n\\n.iconstar:before {\\n content: \\\"\\\\e7df\\\";\\n}\\n\\n.iconfork:before {\\n content: \\\"\\\\e641\\\";\\n}\\n\\n.iconxiazai:before {\\n content: \\\"\\\\e613\\\";\\n}\\n\\n.iconteamwork:before {\\n content: \\\"\\\\e870\\\";\\n}\\n\\n.iconshuiyin:before {\\n content: \\\"\\\\e67a\\\";\\n}\\n\\n.iconxmind:before {\\n content: \\\"\\\\ea57\\\";\\n}\\n\\n.iconmouseR:before {\\n content: \\\"\\\\e6bd\\\";\\n}\\n\\n.iconmouseL:before {\\n content: \\\"\\\\e6c0\\\";\\n}\\n\\n.iconwenjian:before {\\n content: \\\"\\\\e607\\\";\\n}\\n\\n.iconpdf:before {\\n content: \\\"\\\\e740\\\";\\n}\\n\\n.iconPNG:before {\\n content: \\\"\\\\ec18\\\";\\n}\\n\\n.iconSVG:before {\\n content: \\\"\\\\e621\\\";\\n}\\n\\n.iconmarkdown:before {\\n content: \\\"\\\\ec04\\\";\\n}\\n\\n.iconjson:before {\\n content: \\\"\\\\ea42\\\";\\n}\\n\\n.iconlianjiexian:before {\\n content: \\\"\\\\e75b\\\";\\n}\\n\\n.iconbangzhu:before {\\n content: \\\"\\\\e620\\\";\\n}\\n\\n.iconshezhi:before {\\n content: \\\"\\\\e8b7\\\";\\n}\\n\\n.iconwushuju:before {\\n content: \\\"\\\\e643\\\";\\n}\\n\\n.iconzuijinliulan:before {\\n content: \\\"\\\\e62f\\\";\\n}\\n\\n.icon3zuidahua-3:before {\\n content: \\\"\\\\e692\\\";\\n}\\n\\n.iconzuixiaohua:before {\\n content: \\\"\\\\e650\\\";\\n}\\n\\n.iconzuidahua:before {\\n content: \\\"\\\\e651\\\";\\n}\\n\\n.iconguanbi:before {\\n content: \\\"\\\\e652\\\";\\n}\\n\\n.icondiannao:before {\\n content: \\\"\\\\eac0\\\";\\n}\\n\\n.iconzhuye:before {\\n content: \\\"\\\\e65c\\\";\\n}\\n\\n.iconbendi1x:before {\\n content: \\\"\\\\e606\\\";\\n}\\n\\n.iconbeijingyanse:before {\\n content: \\\"\\\\e6f8\\\";\\n}\\n\\n.iconqingchu:before {\\n content: \\\"\\\\e605\\\";\\n}\\n\\n.iconcase:before {\\n content: \\\"\\\\e6c6\\\";\\n}\\n\\n.iconxingzhuang-wenzi:before {\\n content: \\\"\\\\eb99\\\";\\n}\\n\\n.iconzitijiacu:before {\\n content: \\\"\\\\ec83\\\";\\n}\\n\\n.iconzitixiahuaxian:before {\\n content: \\\"\\\\ec85\\\";\\n}\\n\\n.iconzitixieti:before {\\n content: \\\"\\\\ec86\\\";\\n}\\n\\n.iconshanchuxian:before {\\n content: \\\"\\\\e612\\\";\\n}\\n\\n.iconzitiyanse:before {\\n content: \\\"\\\\e854\\\";\\n}\\n\\n.icongithub:before {\\n content: \\\"\\\\e64f\\\";\\n}\\n\\n.iconchoose1:before {\\n content: \\\"\\\\e6c5\\\";\\n}\\n\\n.iconzhuti:before {\\n content: \\\"\\\\e7aa\\\";\\n}\\n\\n.icondaochu1:before {\\n content: \\\"\\\\e63e\\\";\\n}\\n\\n.iconlingcunwei:before {\\n content: \\\"\\\\e657\\\";\\n}\\n\\n.iconexport:before {\\n content: \\\"\\\\e642\\\";\\n}\\n\\n.icondakai:before {\\n content: \\\"\\\\ebdf\\\";\\n}\\n\\n.iconxinjian:before {\\n content: \\\"\\\\e64e\\\";\\n}\\n\\n.iconjianqie:before {\\n content: \\\"\\\\e601\\\";\\n}\\n\\n.iconzhengli:before {\\n content: \\\"\\\\e83b\\\";\\n}\\n\\n.iconfuzhi:before {\\n content: \\\"\\\\e604\\\";\\n}\\n\\n.iconniantie:before {\\n content: \\\"\\\\e63f\\\";\\n}\\n\\n.iconshangyi:before {\\n content: \\\"\\\\e6be\\\";\\n}\\n\\n.iconxiayi:before {\\n content: \\\"\\\\e6bf\\\";\\n}\\n\\n.icongaikuozonglan:before {\\n content: \\\"\\\\e609\\\";\\n}\\n\\n.iconquanxuan:before {\\n content: \\\"\\\\f199\\\";\\n}\\n\\n.icondaoru:before {\\n content: \\\"\\\\e6a3\\\";\\n}\\n\\n.iconhoutui-shi:before {\\n content: \\\"\\\\e656\\\";\\n}\\n\\n.iconqianjin1:before {\\n content: \\\"\\\\e654\\\";\\n}\\n\\n.iconwithdraw:before {\\n content: \\\"\\\\e603\\\";\\n}\\n\\n.iconqianjin:before {\\n content: \\\"\\\\e600\\\";\\n}\\n\\n.iconhuifumoren:before {\\n content: \\\"\\\\e60e\\\";\\n}\\n\\n.iconhuanhang:before {\\n content: \\\"\\\\e61e\\\";\\n}\\n\\n.iconsuoxiao:before {\\n content: \\\"\\\\ec13\\\";\\n}\\n\\n.iconbianji:before {\\n content: \\\"\\\\e626\\\";\\n}\\n\\n.iconfangda:before {\\n content: \\\"\\\\e663\\\";\\n}\\n\\n.iconquanping1:before {\\n content: \\\"\\\\e664\\\";\\n}\\n\\n.icondingwei:before {\\n content: \\\"\\\\e616\\\";\\n}\\n\\n.icondaohang:before {\\n content: \\\"\\\\e611\\\";\\n}\\n\\n.iconjianpan:before {\\n content: \\\"\\\\e64d\\\";\\n}\\n\\n.iconquanping:before {\\n content: \\\"\\\\e602\\\";\\n}\\n\\n.icondaochu:before {\\n content: \\\"\\\\e63d\\\";\\n}\\n\\n.iconbiaoqian:before {\\n content: \\\"\\\\e63c\\\";\\n}\\n\\n.iconflow-Mark:before {\\n content: \\\"\\\\e65b\\\";\\n}\\n\\n.iconchaolianjie:before {\\n content: \\\"\\\\e6f4\\\";\\n}\\n\\n.iconjingzi:before {\\n content: \\\"\\\\e610\\\";\\n}\\n\\n.iconxiaolian:before {\\n content: \\\"\\\\e60f\\\";\\n}\\n\\n.iconimage:before {\\n content: \\\"\\\\e629\\\";\\n}\\n\\n.iconjiegou:before {\\n content: \\\"\\\\e61d\\\";\\n}\\n\\n.iconyangshi:before {\\n content: \\\"\\\\e631\\\";\\n}\\n\\n.iconfuhao-dagangshu:before {\\n content: \\\"\\\\e71f\\\";\\n}\\n\\n.icontianjiazijiedian:before {\\n content: \\\"\\\\e622\\\";\\n}\\n\\n.iconjiedian:before {\\n content: \\\"\\\\e655\\\";\\n}\\n\\n.iconshanchu:before {\\n content: \\\"\\\\e696\\\";\\n}\\n\\n.iconzhankai:before {\\n content: \\\"\\\\e64c\\\";\\n}\\n\\n.iconzhankai1:before {\\n content: \\\"\\\\e673\\\";\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/assets/icon-font/iconfont.css?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-3-1!./node_modules/postcss-loader/src??ref--7-oneOf-3-2"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css": +/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n* {\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n}\\n#app {\\n font-family: Avenir, Helvetica, Arial, sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n color: #2c3e50;\\n}\\n.el-dialog {\\n border-radius: 5px !important;\\n}\\n.customScrollbar {\\n&::-webkit-scrollbar {\\n width: 7px;\\n height: 7px;\\n}\\n&::-webkit-scrollbar-thumb {\\n border-radius: 7px;\\n background-color: rgba(0, 0, 0, 0.3);\\n cursor: pointer;\\n}\\n&::-webkit-scrollbar-track {\\n box-shadow: none;\\n background: transparent;\\n display: none;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css": +/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css ***! + \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a `));\n });\n // 附加内容\n if (header && headerHeight > 0) {\n clone.findOne('.smm-container').translate(0, headerHeight);\n header.width(rect.width);\n header.y(paddingY);\n clone.add(header, 0);\n }\n if (footer && footerHeight > 0) {\n footer.width(rect.width);\n footer.y(rect.height - paddingY - footerHeight);\n clone.add(footer);\n }\n // 修正defs里定义的元素的id,因为clone时defs里的元素的id会继续递增,导致和内容中引用的id对不上\n const defs = svg.find('defs');\n const defs2 = clone.find('defs');\n defs.forEach((def, defIndex) => {\n const def2 = defs2[defIndex];\n if (!def2) return;\n const children = def.children();\n const children2 = def2.children();\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const child2 = children2[i];\n if (child && child2) {\n child2.attr('id', child.attr('id'));\n }\n }\n });\n // 恢复原先的大小和变换信息\n svg.size(origWidth, origHeight);\n draw.transform(origTransform);\n return {\n svg: clone,\n // 思维导图图形的整体svg元素,包括:svg(画布容器)、g(实际的思维导图组)\n svgHTML: clone.svg(),\n // svg字符串\n clipData,\n rect: {\n ...rect,\n // 思维导图图形未缩放时的位置尺寸等信息\n ratio: rect.width / rect.height // 思维导图图形的宽高比\n },\n origWidth,\n // 画布宽度\n origHeight,\n // 画布高度\n scaleX: origTransform.scaleX,\n // 思维导图图形的水平缩放值\n scaleY: origTransform.scaleY // 思维导图图形的垂直缩放值\n };\n }\n\n // 添加插件\n addPlugin(plugin, opt) {\n let index = MindMap.hasPlugin(plugin);\n if (index === -1) {\n MindMap.usePlugin(plugin, opt);\n }\n this.initPlugin(plugin);\n }\n\n // 移除插件\n removePlugin(plugin) {\n let index = MindMap.hasPlugin(plugin);\n if (index !== -1) {\n MindMap.pluginList.splice(index, 1);\n if (this[plugin.instanceName]) {\n if (this[plugin.instanceName].beforePluginRemove) {\n this[plugin.instanceName].beforePluginRemove();\n }\n delete this[plugin.instanceName];\n }\n }\n }\n\n // 实例化插件\n initPlugin(plugin) {\n if (this[plugin.instanceName]) return;\n this[plugin.instanceName] = new plugin({\n mindMap: this,\n pluginOpt: plugin.pluginOpt\n });\n }\n\n // ========== 多根节点相关API ==========\n\n // 设置为多根节点模式\n setMultiRootMode(enable = true) {\n if (this.isMultiRoot === enable) return;\n this.isMultiRoot = enable;\n const currentData = this.renderer.renderTree;\n if (enable && currentData && !Array.isArray(currentData)) {\n // 从单根转换为多根\n this.renderer.renderTree = [currentData];\n } else if (!enable && Array.isArray(currentData) && currentData.length > 0) {\n // 从多根转换为单根,默认使用第一个根节点\n this.renderer.renderTree = currentData[0];\n }\n this.render();\n }\n\n // 添加新的根节点\n addRootNode(nodeData = {}, index = -1, callback = null) {\n if (!this.isMultiRoot) {\n this.setMultiRootMode(true);\n }\n const roots = this.renderer.renderTree || [];\n const currentRootCount = Array.isArray(roots) ? roots.length : 0;\n const newRoot = {\n data: {\n text: '新根节点',\n expand: true,\n uid: Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUid\"])(),\n ...nodeData.data\n },\n children: nodeData.children || []\n };\n Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUidForAppointNodes\"])([newRoot], false, null, true);\n if (index >= 0 && index < roots.length) {\n roots.splice(index, 0, newRoot);\n } else {\n roots.push(newRoot);\n }\n this.render(() => {\n // 渲染完成后,找到新创建的根节点实例\n if (this.renderer.roots && this.renderer.roots.length > currentRootCount) {\n const newRootInstance = this.renderer.roots[this.renderer.roots.length - 1];\n if (callback && typeof callback === 'function') {\n callback(newRootInstance);\n }\n }\n });\n this.command.addHistory();\n return newRoot;\n }\n\n // 删除根节点\n removeRootNode(index) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (index >= 0 && index < roots.length) {\n roots.splice(index, 1);\n\n // 如果只剩一个根节点,可以选择是否自动切换回单根模式\n // if (roots.length === 1) {\n // this.setMultiRootMode(false)\n // }\n\n this.render();\n this.command.addHistory();\n }\n }\n\n // 获取所有根节点\n getRootNodes() {\n if (this.isMultiRoot) {\n return this.renderer.roots || [];\n } else {\n return this.renderer.root ? [this.renderer.root] : [];\n }\n }\n\n // 转换为多根节点数据格式\n convertToMultiRoot(data) {\n if (data && !data.multiRoot) {\n return {\n multiRoot: true,\n roots: [data]\n };\n }\n return data;\n }\n\n // 转换为单根节点数据格式\n convertToSingleRoot(data) {\n if (data && data.multiRoot && Array.isArray(data.roots) && data.roots.length > 0) {\n return data.roots[0];\n }\n return data;\n }\n\n // 设置根节点布局\n setRootLayout(rootIndex, layoutType) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length) {\n if (!roots[rootIndex].data) {\n roots[rootIndex].data = {};\n }\n roots[rootIndex].data.layout = layoutType;\n this.render();\n }\n }\n\n // 设置根节点主题\n setRootTheme(rootIndex, themeName, themeConfig = {}) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length) {\n if (!roots[rootIndex].data) {\n roots[rootIndex].data = {};\n }\n roots[rootIndex].data.theme = themeName;\n roots[rootIndex].data.themeConfig = themeConfig;\n this.render(null, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].CHANGE_THEME);\n }\n }\n\n // 复制节点数据(不包含循环引用)\n copyNodeData(node) {\n if (!node || !node.nodeData) return null;\n const data = {\n data: {},\n children: []\n };\n\n // 复制所有非undefined的数据属性\n const props = ['text', 'image', 'imageTitle', 'imageSize', 'icon', 'tag', 'hyperlink', 'hyperlinkTitle', 'note', 'expand', 'fontSize', 'color', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'shape', 'uid'];\n props.forEach(prop => {\n const value = node.getData(prop);\n if (value !== undefined && value !== null) {\n data.data[prop] = value;\n }\n });\n\n // 确保至少有文本\n if (!data.data.text) {\n data.data.text = '节点';\n }\n\n // 确保有uid\n if (!data.data.uid) {\n data.data.uid = node.uid || Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUid\"])();\n }\n\n // 递归复制子节点\n if (node.children && node.children.length > 0) {\n data.children = node.children.map(child => this.copyNodeData(child));\n }\n return data;\n }\n\n // 获取根节点主题\n getRootTheme(rootIndex) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) {\n return {\n theme: this.opt.theme,\n themeConfig: this.opt.themeConfig\n };\n }\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length && roots[rootIndex].data) {\n return {\n theme: roots[rootIndex].data.theme || this.opt.theme,\n themeConfig: roots[rootIndex].data.themeConfig || this.opt.themeConfig\n };\n }\n return {\n theme: this.opt.theme,\n themeConfig: this.opt.themeConfig\n };\n }\n\n // 将节点转换为流程图节点\n convertNodeToFlowChart(node, nodeType = 'process') {\n if (!node) return;\n\n // 确保节点有有效的数据\n if (!node.nodeData) {\n console.error('节点数据为空', node);\n return;\n }\n\n // 如果是非根节点且有父节点,需要从父节点移除并创建为新的根节点\n if (!node.isRoot && node.parent) {\n // 使用copyNodeData复制节点数据\n const nodeData = this.copyNodeData(node);\n\n // 标记为流程图节点\n nodeData.data.isFlowChart = true;\n nodeData.data.flowchart = {\n nodeType: nodeType,\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left'],\n preventOverlap: true,\n hideExpandBtn: true,\n hideAddBtn: true\n };\n\n // 设置自定义位置(使用节点当前的屏幕位置)\n const rect = node.getRect();\n const elRect = this.elRect;\n const transform = this.view.transform;\n const scaleX = transform.scaleX || 1;\n const scaleY = transform.scaleY || 1;\n const translateX = transform.translateX || 0;\n const translateY = transform.translateY || 0;\n nodeData.data.customLeft = (rect.x - elRect.left - translateX) / scaleX;\n nodeData.data.customTop = (rect.y - elRect.top - translateY) / scaleY;\n\n // 如果有子节点,先收缩\n if (nodeData.children && nodeData.children.length > 0) {\n nodeData.data.expand = false;\n }\n\n // 从父节点中移除(使用命令来确保数据和渲染都正确更新)\n this.execCommand('REMOVE_NODE', [node]);\n\n // 添加为新的根节点\n this.addRootNode(nodeData);\n } else {\n // 根节点直接转换\n // 确保data对象存在\n if (!node.nodeData.data) {\n node.nodeData.data = {};\n }\n\n // 更新节点数据\n node.nodeData.data.isFlowChart = true;\n node.nodeData.data.flowchart = {\n nodeType: nodeType,\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left'],\n preventOverlap: true,\n hideExpandBtn: true,\n hideAddBtn: true\n };\n\n // 设置节点为自由定位模式\n node._isFlowChartNode = true;\n node.freePosition = true;\n\n // 初始化流程图连接点\n if (!node._flowChartConnector) {\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./src/core/render/node/flowchart/FlowChartConnector.js */ \"../simple-mind-map/src/core/render/node/flowchart/FlowChartConnector.js\")).then(module => {\n const FlowChartConnector = module.default;\n node._flowChartConnector = new FlowChartConnector(node);\n // 立即渲染连接点\n if (node.group) {\n node._flowChartConnector.renderConnectors();\n }\n });\n }\n\n // 如果有子节点,立即隐藏\n if (node.children && node.children.length > 0) {\n node.nodeData.data.expand = false;\n // 立即隐藏子节点和连线\n node.hideChildren();\n }\n\n // 使用setData来触发更新\n node.setData({\n isFlowChart: true,\n flowchart: node.nodeData.data.flowchart,\n expand: false\n });\n\n // 重新渲染节点自身\n node.reRender();\n }\n }\n\n // 将流程图节点转换为普通节点\n convertNodeToNormal(node) {\n if (!node || !node.nodeData || !node.nodeData.data.isFlowChart) return;\n\n // 移除流程图相关标记\n delete node.nodeData.data.isFlowChart;\n delete node.nodeData.data.flowchart;\n\n // 移除流程图行为标记\n node._isFlowChartNode = false;\n node.freePosition = false;\n\n // 恢复展开状态(如果有子节点)\n if (node.children && node.children.length > 0) {\n node.nodeData.data.expand = true;\n // 立即显示子节点和连线\n node.showChildren();\n }\n\n // 使用setData来触发更新\n node.setData({\n expand: true\n });\n\n // 重新渲染节点\n node.reRender();\n }\n\n // 销毁\n destroy() {\n // 设置销毁标记,防止异步操作继续执行\n this._destroyed = true;\n this.emit('beforeDestroy');\n // 清除节点编辑框\n this.renderer.textEdit.hideEditTextBox();\n this.renderer.textEdit.removeTextEditEl()\n // 移除插件\n ;\n [...MindMap.pluginList].forEach(plugin => {\n if (this[plugin.instanceName] && this[plugin.instanceName].beforePluginDestroy) {\n this[plugin.instanceName].beforePluginDestroy();\n }\n this[plugin.instanceName] = null;\n });\n // 解绑事件\n this.event.unbind();\n // 移除画布节点\n this.svg.remove();\n // 去除给容器元素设置的背景样式\n _src_core_render_node_Style__WEBPACK_IMPORTED_MODULE_7__[\"default\"].removeBackgroundStyle(this.el);\n // 移除给容器元素添加的类名\n this.el.classList.remove('smm-mind-map-container');\n this.el.innerHTML = '';\n this.el = null;\n this.removeCss();\n MindMap.instanceCount--;\n }\n}\n\n// 插件列表\nMindMap.pluginList = [];\nMindMap.usePlugin = (plugin, opt = {}) => {\n if (MindMap.hasPlugin(plugin) !== -1) return MindMap;\n plugin.pluginOpt = opt;\n MindMap.pluginList.push(plugin);\n return MindMap;\n};\nMindMap.hasPlugin = plugin => {\n return MindMap.pluginList.findIndex(item => {\n return item === plugin;\n });\n};\nMindMap.instanceCount = 0;\n\n// 定义新主题\nMindMap.defineTheme = (name, config = {}) => {\n if (_src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name]) {\n return new Error('该主题名称已存在');\n }\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"mergeTheme\"])(_src_theme_default__WEBPACK_IMPORTED_MODULE_14__[\"default\"], config);\n};\n\n// 更新已存在的主题(支持动态更新)\nMindMap.updateTheme = (name, config = {}) => {\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"mergeTheme\"])(_src_theme_default__WEBPACK_IMPORTED_MODULE_14__[\"default\"], config);\n};\n\n// 移除主题\nMindMap.removeTheme = name => {\n if (_src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name]) {\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = null;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (MindMap);\n\n//# sourceURL=webpack:///../simple-mind-map/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtyGjkQ/RVqnnar8Bb4lpg3jEnCxgEvGDtxKg9iphm01oyILrZxKv++mrGd3az6KC8UnNa0+nrUGr5lI11VVLtskF198FaU1Dns9w9OOkf7/ePDrJu90bWbiorCgpH2RpLZO9WqaCReqZ8lnReJqKTa/SwL8DXJctPs9Lxs4oSS+bAuVVjXC7/tG/lAxYV0+SYbOOOpm402wojckVlQ8+T4wVFdUDHXlaifrTs91Q/Z4PNeMLu7t3/U6746POm+7vW/dLNlWGuUrOlCW+mkrrPBXr/X+4/gciPz25qszQbhyeyKjG2XZb3ewR+9Xi/sMdVO5k+ebHemcaHzW/57p3/y+qQbPk967We//TxoP191hoVeUWexs44q25nUuTZbbYSj4o9OZ6hUZ97osZ05WTJ3AQ37jMOqQtblIt9QG7lWycKJuhCmeJGGhSOxffccyqPj/W728eXX4cFJNxvavAmRyQbH++HnGf34vdc/etXNFq54d50NXh+2X6/C137v+CnQH8gZmYdQfP6WXX8MCppQTYMlditCBL53/wfTQ65EFeNfvQ6erlQsqX21akJc1rGs0EoJE+NbMnlToZFAVEFkQ3iABW2uGH3CUK1ojUTgMWEbjfaWeUp5G6N5aCwRw5vddkOM98EVqRlPrBJ2E8OPZHSM6prJkrtnVrqNIWbtOjQrg8o7Zq2VDwxId5x3xMe0lpzBuVaa0WGpkkCkmgaON/3qBVODpaHQiIybXz3ZliTi3DO2D2PoNIZGMXQWQ+MYehNDb2PoXQxNYujPGHofQ+cx9CGGpjE0i6GLGPorhuYxtIihyxhaxtBVDF3H0McY+hRDNzG0CqfQLTmeNlZBBvr0+TnIKbmUuTS5Z1jUN6xtw8nBtEjLb7wxDOesmB5j+JfpIIYLmIZiWC6GZAz9HUMMvTItzESL6VqG9rZMKGOI4QaGXpjY+xi6i6H7GGKYdMeQPl9foBBW3GHark9Vo5OqgEd9oe+ZOPOnc3NcqmZgiUuomehYnt1xZ8daaSPZ8wBoyb0Jx3jOBLBtGyvbiRNOLXw0Sy+DpNKAAhpxq/gXYhD6NdMda6bwwyTH0kwhypI70p5wdhR7Gjia3JEhpvfDLCRKI7YcqYXJnxgv/g3vSthEhNNSEKIfCQByUkpurWQaNXjqNtqjSfHp0OdLOwSAG31E7h03uLRMvlbEtDPoq0rkhqvhlSFu40I7kfP9VoRLFrH+G7YLcypCQLkJ1delML5SwjPb6DIMmQxL54L1gyq+YIfMyKNNsQ4zHj8UnoMDdoZwfoMqkJxX7A6Cj3czWzLdqcC+GuGM9tCa4RobSp5J2gTnk0D5CVA0Pp1RAqn7hC0o5J3kqvkTsGyY6gwBHlqmHtqBh2x77UI9QimVS75PljgMAjXDEljn0QNjvMlZIAju/pF0NH95VcFshSgnB3Ug+LhMkwYoVKOAUS+T2kZIG2DVcYInLXDTQkKUYHelH6kuGcEcbPE26aRPNklKOEQpNcCQHPp6k4jc5UYbRtkM7T4HcVsAvADWLtEGnq/M9t2G9e2Aw8xEM1CCQ4QDWq28cnKrmDHTAwcvgYNh1HJSqEKumdvVDlPDFOwjU8UyTpZZ4tTBohzYUSMaRAmdggBNgKLmzVsYGLjXbyujb6lm70CGSmnB1PsWJHuSYhQfupq/ioxBTRngkEaRuQEP3ICIPb/kAq/Axo6ZUEaQFFSStxwa/eDpiARDND4kqhIE+BG1Btp7hjKCjh6UKYt2xk7MkmMJ8PCMlGNy5XiSdvc6wYjYtIp5pSGBRTo9Z45R6Asw4bQ8HgrYhEJmTFsk6pWvyPfJOj4HiXNGFFQJw1hOCVaYgChNUOGcA6tD0DZCMSdDczMBDa5TFVWDqWn5i/yB+BByqARcGhx6ziqXVD4Ii2TqZmnLi8AS3L8dGqRoBIzwkM0LmXNpOAOKTNKbKciPBvg8XdZJ6RDoHEKO5meuGdDzmOiQMTrt0d63SVfAIDBJtgIwwaUvN7ps8l1r7v0I5lKPRUEV+rcqfaHlDvJH4FSdVBVCjk8IiXp87Jv/Ib90s/dk6gshTfPv8Zfv/wDUfBK2\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json": +/*!******************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json ***! + \******************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtyGjkQ/RVqnnarcAo7vuE3jEnCxgEvGDtxKg9iRgxaa0ZEF9s4lX/fnrGdTVZ9lBcKTmvU96PW8C0bmqqStc9OsqsPwYlSdnaPDvb6naP+3v5+1s3emNpPRCVpwdAEq6TdOTW6mC61+hpksyBo/euCTrOg89MKUSm9/XUNwddSletGcbOcfo+90Cof1KWmdTu7e4S4N+pBFhfK5+vsxNsgu9lwLazIvbRz2Tw7evCyLmQxM5Won809PTUP2cnnnYOj7s7eQa97fNjvHvd2v3SzBS21WtXywjjllakbRb3eT4LLtcpva+lcdkJPZlfSunZZ1uu9ftXr9UjFxHiVP7my2drGh84f+Z+d3f5xv0uf/V77udt+vm4/jzqDwixlZ751XlauM65zYzfGCi+LV53OQOvOrNnHdWbSSXtHKOkZ0apC1eU8X8s2dO0mcy/qQtjiRUoLh2Lz7jmWB4cUto8vv/Zf97vZwOVNhGx2crhHP8/kj987uxShbO6Ld9fZyfF++/WKvu72Dp/i/EF6q3IKxedv2fVH2qAJ1YQscRtBEfje/R8sH3Itqhj/Ggx5utSxpA7VsglxWceywmgtbIxvpM2bio0EoiKRo/AAC9pcMfsJK2stV0gEHhOu2dHdMk/p4GI0p0YTMbzebtaS8Z5cUYbxxGnh1jH8KK2JUVMzWfL3zEq/tpJZu6JuZVB1x6x16oEB5R3nneRjWivO4Nxow+zhZKWASDcNHCv9GgRTg6WV1IiMm8ReriWJOPeM7YMYOo2hYQydxdAoht7E0NsYehdD4xj6K4bex9B5DH2IoUkMTWPoIob+jqFZDM1j6DKGFjF0FUPXMfQxhj7F0E0MLekQupWep40lyUCfPj8HOSVXKlc2DwyLhoa1HZ0cTIu0/MYbw3DOkukxhn+ZDmK4gGkohuViSMXQPzHE0CvTwky0mK5laG/DhDKGGG5g6IWJfYihuxi6jyGGSbcM6fP1BQphyR2m7fpUNXqlC3jUF+aeiTN/OjfHpW4GlriEmoGO5dktd3astLGKPQ/ALnmwdIznTADbtnGqHTnh1MJHswyKJJUBFNCI241/IwahXzHdsWIKnyY5lmYKUZbckfaEs6PY08DR5E5ayfQ+zUKitGLDkRpdASTjxX/hXQqXiHBaCkL0IwFALrVWG6eYRiVP/doENCk+Hfp8aVMAuNFH5MFzg0vL5CstmXYGfVWJ3HI1vLSSU1wYL3K+3wq6ZUnWf8t2YS4LCig3oYa6FDZUWgRGjSlpyGRYOhesH7LiC3bAjDzGFiua8fih8BwcsFOE8woqIrmgWQ2Cj3czWzLdqYFeg3Bmd2pNusVSyTNJG+N8SlB+AhRNSGdUgtR9whYU6k5x1fwJWDZIdYYADy1SD23BQ669dqEekaktF3yfLHAYBGqGBbAuoAdGWMkZEQR3/0g6mr+8qmBUIcrJQR0IPi6TpAEa1Shg1MvkbkO0G2DVUYInHXDTQUJUQLs2j7IuGcEMqHibdDIkmyQlHKCUWmBIDn29SUTucm0ss9kUaZ+BuM0BXgBrF0hB4CuzfbfhQjvgMDPRFJTgAOGAVqugvdpoZswMwMFL4CCNWl4JXagVc7vaYmqYAD0qVSyjZJklTh0syoEdNaJBlNAJCNAYbNS8eaOBgXv9trTmVtbsHcjKUjkw9b4FyR6nGCVQV/NXkRGoKQscMigyN+CBGxCx55dc4BXYyDMTyhCSgk7ylkejHzwdkWCAxodEVYIAP6LWQLqnKCPo6EGZckgzdmKaHEuAh2dSeyZXnidpf28SjIhNq5hXGgpYZNJz5giFvgATTsvjVMCWCpkxbZ6oV74i3yfr+BwkzltRyEpYxnKZYIUxiNIYFc45sJqCthaaORmamwlocJOqqBpMTYvf5A/ERyKHSsCl5NBzVrmk8kGYJ1M3TVteEEtw/3YYkKIhMCJANi9UzqXhDGxkk95MQH4MwGfpsk5KB2DPAeRofuaagn0eEx0yQqc90n2bdAUMAuNkKwATfPpyY8om37Xh3o9gLg1YRFuhf6vSF1ruIH8ETtXJrSjk+IRQqMdHofkf8ks3ey9tfSGUbf49/vL9XxrnGMA=\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json": +/*!**************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json ***! + \**************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWVtT2zgU/isZP+3OhE5Iy/UtDaHNFhI2IdDS4UGxFUeLbKW6AKHT/77Hhnbb1fnUFw98x9K5fzpyvmZDU1Wy9tlxdnUenChlZ3e//+awc7B32D/Kutmpqf1EVJJeGJpglbQ706VWX4JshEHrX4Wdn4SiUnr7q5jga6nKdaPvXBYqVISMvdAqH9Slpjd3dvuEuFP1KIsL5fN1duxtkN1suBZW5F7auWxWjx69rAtZzEwl6hc73741j9nx553+QXenv9frHr456h729m672YJetVrV8sI45ZWpG0W93k+Cy7XK72rpXHZMK7MraV37WtbrvX7V6/VIxcR4lT87s9naxovOH/mfnd2jw6MuPY967XO3ffbb5+v2edAZFGYpO/Ot87JynXGdG7sxVnhZvOp0Blp3Zs1urjOTTtp7QknbiN4qVF3O87VsQ9huMveiLoQtvkvpxaHYvH+J6d4+Be/j9//e9Pe72cDlTZxsdrzfP+pmJ/LH/zu7ewfdbO6L99e0crf98+rlzybY59JblVM8Pn/Nrj/S+iZeEzLEbQSF4Vv3f7B8zLWoYvxLMOToUseSOlTLJs5lHcsKo7WwMb6RNm/qNRKIikSOogMsaBPG7CesrLVcIRFYJlyzo7tjVungYjSnNhMxvN5u1pLxnlxRhvHEaeHWMfwkrYlRUzNZ8g/Mm35tJfPuipqWQdU9865Tjwwo7znvJB/TWnEG50YbZg8nKwVEuuniWOmXIJgaLK2kPmTcJBJzLVPEuWdsH8TQ2xgaxtBJDI1i6DSG3sXQ+xgax9BfMfQhhs5i6DyGJjE0jaGLGPo7hmYxNI+hyxhaxNBVDF3H0McY+hRDNzG0pJPoTnqeNpYkA336sg5ySq5UrmweGBYNDWk7OjiYFmn5jTeG4Zwl02MM/zIdxHAB01AMy8WQiqF/YoihV6aFmWgxXcvQ3oYJZQwx3MDQCxP7EEP3MfQQQwyTbhnS5+sLFMKSO0zb91PV6JUu4FFfmAcmzvzp3ByXuplX4hJqpjqWZ7fc2bHSxir2PAC75MHSMZ4zAWzbxql27oRTCx/NMiiSVAZQQCNuN/6NGIR+xXTHiil8GuRYmilEWXJH2jPOjmLPA0eTO2kl0/s0C4nSig1HanQJkIwX/4V3KVwiwmkpCNGPBAC51FptnGIalTz1axPQpPh86POlTQHgRh+RB88NLi2Tr7Rk2hn0VSVyy9Xw0kpOcWG8yPl+K+iyJVn/LduFOV3GaOBmuDvUpbCh0iIwakxJQybD0rlg/ZAVX7ADZuQxtljRjMcPhWfggJ0inFdQEckFzWoQfLyb2ZLpTg30GoQzu1Nr0lWWSp5J2hjnU4LyE6BoQjqjEqTuE7agUPeKq+ZPwLJBqjMEWLRILdqCRa69dqEekaktF3yfLHAYBGqGBbAuoAUjrOSECIK7fyQdzb9/r2BUIcrJQR0IPi6TpAEa1Shg1MvkbkO0G2DVUYInHXDTQUJUQLs2T7IuGcEMqHiXdDIkmyQlHKCUWmBIDn29SUTucm0ss9kUaZ+BuM0BXgBrF0hB4Cuz/bbhQjvgMDPRFJTgAOGAVqugvdpoZswMwMFL4CCNWl4JXagVc7vaYmqYAD0qVSyjZJklTh0syoEdNaJBlNAJCNAYbNR8eaOBgfv8trTmTtbsHcjKUjkw9b4DyR6nGCVQV/NXkRGoKQscMigyN2DBDYjYy0cu8Als5JkJZQhJQSd5y6PRD56OSDBA40OiKkGAn1BrIN1TlBF09KBMOaQZOzFNjiXAwxOpPZMrz5O0fzAJRsSmVcwnDQUsMuk5c4RCX4AJp+VxKmBLhcyYNk/UK1+RH5J1fAYS560oZCUsY7lMsMIYRGmMCucMWE1BWwvNnAzNzQQ0uElVVA2mpsVv8gfiI5FDJeBScuglq1xS+SDMk6mbpi0viCW4XzsMSNEQGBEgmxcq59JwAjaySW8mID8G4LN0WSelA7DnAHI0P3NNwT5PiQ4ZodMe6b5LugIGgXGyFYAJPn25MWWT79pw30cwlwYsoq3Qr1XpCy13kD8Bp+rkVhRyfEIo1OOj0PwOedvNPkhbXwhlm1+Pb7/9C/NFF2U=\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json": +/*!******************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json ***! + \******************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtSGzkQ/RXXPO1WmZSBEAJvjnESb8AmGENCKg+ypj3Wohk5ugAmlX9fzUCyW6s+ysuUfVqXvh61Zr4XI1PX1PjiuLg6C05U1Ns/Ojx42TsYHB4eFf3irWn8VNQUB4xMsIpsCwatU1DUSm8T+JpUtW7XP6NShToiEy+0ksOm0nHkIP53b9UDlefKy3Vx7G2gfjFaCyukJzundu74wVNTUnlhatE8a/XmjXkojr/s7O33d/YOBv3D3YP+68HB136xiEOtVg2dG6e8Mk1xvLM7GPxHcLlW8rYh54rjOLO4Iuu6YcVgsP9iMBjELabGK/lkymZrWxt6f8g/e7tHr4/68Xk06J673XOve+53z8PesDRL6s23zlPtepNGGrsxVngqX/R6Q617F+1qrndBjuxdRONu4ziqVE01l2vqHNgtMveiKYUtf0rjwJHYvH/26MGrvX7x6ee/l3uv+sXQydZPtjh+tXfUL07o1/+d3YPDfjH35fvrOHO3+3n1/LN19hl5q2T0x5fvxfWnOL/11zQq4jYiuuFH/38wPUgt6hT/Fkw0dKlTSRPqZevnqkllpdFa2BTfkJVtdiYCUUeRi94BGnQBY9YTlhpNKyQC04RrV3S3zCwdXIrKWFQihdfbzZoY66MpyjCWOC3cOoUfyZoUNQ0TJX/PjPRrS8zYVSxZBlV3zFinHhiQ7jjriPdpoziFpdGGWcNRrYBIt1WcbvotCCYHK0uxDhkzvwVyHVOksWd0H6bQmxQapdBJCo1T6G0KvUuh9yk0SaG/UuhDCp2m0FkKTVNolkLnKfQxhS5SaJ5Clym0SKGrFLpOoU8p9DmFblJoGU+iW/I8bSyjDNTp8zzIKVIpqawMDIuGlrRdPDiYEun4jVeG4ZwlU2MM/zIVxHABU1AMy6WQSqG/U4ihV6aEGW8xVcvQ3oZxZQox3MDQC+P7kEJ3KXSfQgyTbhnS5/MLJMKSO0y78bls9EqX8KgvzT3jZ/50bo9L3fYraQq1XR3Ls1vu7FhpYxV7HoBVZLDxGJeMA7uycarrOmHXwnuzCipKagMooBV3C/9GDFy/YqpjxSR+bORYmilFVXFH2hPOtmJPDUcbO7LE1H7shURlxYYjtdj6E2PFv+5dCpfxcF4KXPQrAEBOWquNU0yhRkv92gTUKT4d+nxqRwdwrY+QwXONS8fkK01MOYO6qoW0XA4vLXEbl8YLyddbGa9axNpv2SqU8SoWG26Gu0NTCRtqLQKzjalik8mwtBSsHVTzCTtkWh5jy1Xs8fim8BQcsDOE8xvUkeSCZncQvL/b3pKpTg32NQhnVo+lGa+yMeWZoE1wPAmknwBJE/IRJRC6z1iDUt0pLps/A82GucoQYNIiN2kLJrnu2oVqhHJLLvg6WWA3CFQMC6BdQBPGeJOTSBDc/SNrqPz5voLZClGOBHkgeL9MswpolKOAUS+zq43QaoBVxxmedMBMBwlRgd21eaSmYgQXYIt3WSNDtkhywiEKqQWKSGjrTcZzl2tjmcVmaPcL4Lc5wEug7QJtEPjM7N5tuNA1OExPNAMpOEQ4oNU6aK82mmkzAzDwEhgYWy2vhC7VirldbTE1TME+Kpcs42yaZU4dLJJAjwbRIAroFDhoAhZq37zFhoF7/ba05pYa9g5kqVIOdL3vQLAnOUYJsar5q8gY5JQFBhnkmRsw4QZ47PklF3gFNvZMhzKCpKCzvOVR6wdPRyQYovYhk5XAwY+oNNDeMxQRdPSgSDm0MzZilm1LgIUnpD0TK8+TtL83GUbEqtXMKw0FNDL5PnOMXF+CDqfj8ZjANiYyo9o8k698Rn7I5vEpCJy3oqRaWEZzyrDCBHhpghLnFGgdnbYWmjkZ2psJKHCTy6gGdE2L38QP+IeQQRXg0mjQc1S5oPJOmGdDN8trXkaW4L52GBCiEVAiQDYvleTCcAIWsllrpiA+BuAX+bTOSodgzSHkaL7nmoF1HjMVMkanPdr7NmsKaAQm2VIAKvj85cZUbbwbw70fwVwasCguhb5W5S+03EH+CIxqsktFl+MTQqEaH4f2O+TXfvGBbHMulG2/Hn/98Q/b2xEO\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js ***! + \******************************************************************************/ +/*! exports provided: Encodings */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Encodings\", function() { return Encodings; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js\");\n/* harmony import */ var _all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./all-encodings.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json\");\nvar _all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./all-encodings.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json\", 1);\n/* tslint:disable max-classes-per-file */\n\n\nvar decompressedEncodings = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"decompressJson\"])(_all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1__);\nvar allUnicodeMappings = JSON.parse(decompressedEncodings);\nvar Encoding = /** @class */ (function () {\n function Encoding(name, unicodeMappings) {\n var _this = this;\n this.canEncodeUnicodeCodePoint = function (codePoint) {\n return codePoint in _this.unicodeMappings;\n };\n this.encodeUnicodeCodePoint = function (codePoint) {\n var mapped = _this.unicodeMappings[codePoint];\n if (!mapped) {\n var str = String.fromCharCode(codePoint);\n var hexCode = \"0x\" + Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"padStart\"])(codePoint.toString(16), 4, '0');\n var msg = _this.name + \" cannot encode \\\"\" + str + \"\\\" (\" + hexCode + \")\";\n throw new Error(msg);\n }\n return { code: mapped[0], name: mapped[1] };\n };\n this.name = name;\n this.supportedCodePoints = Object.keys(unicodeMappings)\n .map(Number)\n .sort(function (a, b) { return a - b; });\n this.unicodeMappings = unicodeMappings;\n }\n return Encoding;\n}());\nvar Encodings = {\n Symbol: new Encoding('Symbol', allUnicodeMappings.symbol),\n ZapfDingbats: new Encoding('ZapfDingbats', allUnicodeMappings.zapfdingbats),\n WinAnsi: new Encoding('WinAnsi', allUnicodeMappings.win1252),\n};\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js ***! + \**************************************************************************/ +/*! exports provided: FontNames, Font */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FontNames\", function() { return FontNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Font\", function() { return Font; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js\");\n/* harmony import */ var _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Courier-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json\");\nvar _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json\", 1);\n/* harmony import */ var _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Courier-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json\");\nvar _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json\", 1);\n/* harmony import */ var _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Courier-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json\");\nvar _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json\", 1);\n/* harmony import */ var _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Courier.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json\");\nvar _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json\", 1);\n/* harmony import */ var _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Helvetica-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json\");\nvar _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json\", 1);\n/* harmony import */ var _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Helvetica-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json\");\nvar _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json\", 1);\n/* harmony import */ var _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Helvetica-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json\");\nvar _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json\", 1);\n/* harmony import */ var _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Helvetica.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json\");\nvar _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json\", 1);\n/* harmony import */ var _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Times-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json\");\nvar _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json\", 1);\n/* harmony import */ var _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Times-BoldItalic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json\");\nvar _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-BoldItalic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json\", 1);\n/* harmony import */ var _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Times-Italic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json\");\nvar _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Italic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json\", 1);\n/* harmony import */ var _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Times-Roman.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json\");\nvar _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Roman.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json\", 1);\n/* harmony import */ var _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Symbol.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json\");\nvar _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Symbol.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json\", 1);\n/* harmony import */ var _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ZapfDingbats.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json\");\nvar _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./ZapfDingbats.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json\", 1);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// prettier-ignore\nvar compressedJsonForFontName = {\n 'Courier': _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4__,\n 'Courier-Bold': _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1__,\n 'Courier-Oblique': _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3__,\n 'Courier-BoldOblique': _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2__,\n 'Helvetica': _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8__,\n 'Helvetica-Bold': _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5__,\n 'Helvetica-Oblique': _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7__,\n 'Helvetica-BoldOblique': _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6__,\n 'Times-Roman': _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12__,\n 'Times-Bold': _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9__,\n 'Times-Italic': _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11__,\n 'Times-BoldItalic': _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10__,\n 'Symbol': _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13__,\n 'ZapfDingbats': _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14__,\n};\nvar FontNames;\n(function (FontNames) {\n FontNames[\"Courier\"] = \"Courier\";\n FontNames[\"CourierBold\"] = \"Courier-Bold\";\n FontNames[\"CourierOblique\"] = \"Courier-Oblique\";\n FontNames[\"CourierBoldOblique\"] = \"Courier-BoldOblique\";\n FontNames[\"Helvetica\"] = \"Helvetica\";\n FontNames[\"HelveticaBold\"] = \"Helvetica-Bold\";\n FontNames[\"HelveticaOblique\"] = \"Helvetica-Oblique\";\n FontNames[\"HelveticaBoldOblique\"] = \"Helvetica-BoldOblique\";\n FontNames[\"TimesRoman\"] = \"Times-Roman\";\n FontNames[\"TimesRomanBold\"] = \"Times-Bold\";\n FontNames[\"TimesRomanItalic\"] = \"Times-Italic\";\n FontNames[\"TimesRomanBoldItalic\"] = \"Times-BoldItalic\";\n FontNames[\"Symbol\"] = \"Symbol\";\n FontNames[\"ZapfDingbats\"] = \"ZapfDingbats\";\n})(FontNames || (FontNames = {}));\nvar fontCache = {};\nvar Font = /** @class */ (function () {\n function Font() {\n var _this = this;\n this.getWidthOfGlyph = function (glyphName) {\n return _this.CharWidths[glyphName];\n };\n this.getXAxisKerningForPair = function (leftGlyphName, rightGlyphName) {\n return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName];\n };\n }\n Font.load = function (fontName) {\n var cachedFont = fontCache[fontName];\n if (cachedFont)\n return cachedFont;\n var json = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"decompressJson\"])(compressedJsonForFontName[fontName]);\n var font = Object.assign(new Font(), JSON.parse(json));\n font.CharWidths = font.CharMetrics.reduce(function (acc, metric) {\n acc[metric.N] = metric.WX;\n return acc;\n }, {});\n font.KernPairXAmounts = font.KernPairs.reduce(function (acc, _a) {\n var name1 = _a[0], name2 = _a[1], width = _a[2];\n if (!acc[name1])\n acc[name1] = {};\n acc[name1][name2] = width;\n return acc;\n }, {});\n fontCache[fontName] = font;\n return font;\n };\n return Font;\n}());\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json": +/*!*************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json ***! + \*************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG0eyrf8KA0/7RMhzJJK6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o5PmTZy+PTl88eXk6eTT56/Lu/tfZbTc0+Hu3eOju51ezb75bLq532maxYO2oarPb+aJndRCm3fzm425/Y8N/3M8W86tXdzeLoeXjYXv91/mX7vq3+f3Vx8m396tN92jy/cfZanZ1361+73af/PHLfXd33V2/Wd7O7sY+fvfd8svk239/8+T540ffHB+/ePTk8eOTRy+fHf/n0eR8aLxazO+635br+f18eTf59ptBBuHtx/nVp7tuvZ58+3TgF91qXZpNHj8+/svjx4+Hnfy6HAawG8z3y8/9ajeGo/+6+j9HT16+ePpo9+/z8u/L3b8vH5d/nx+9ul6+745+79f33e366B93V8vV5+Vqdt9d/+Xo6NVicfRm9z3rozfduls9DNTDOF8fzY7uV7Pr7na2+nS0/HD0y/xued9/7r4ZGi2OXv3taHZ3/X+Xq6P58AXrzfv1/Ho+W8279V+Gzv447Op6fnfz+9XHrsxA6cnv98NHZqvrqg4Nv599/vs4Ic+fvHg0eVe3np4cP5q8Wl/tAr0axR862/7m+PHzR5Pf76//Pp18+2QnDv+/2P3/9PF+vv7Z3a/mV0NA//0/k+m7ybfHz4dGvw5dWX+eDXH830d7fHJyssfdl6vF7Nb46fPTPf9jsxzi9X5hytOnz/bK3eb2/W6ibu6ydr1cLGYr4y+GiSn8c7e62qV7FZ4fH++F2e0grYf4mGQdLj0oM557/Xm26u4W3YeWRB+r3Zitd9+4/uQdfzEO9/Nis85duBqqdJZ38bH//LG7y82HocyXYiTrxWz9MQfrz261zHR512V4vxUt7z+uOtH2w3KzEnT+INqu518E7B46MbddiKmnw/xOpNXVcrG8y3jd3c6jZDOw2NlAot0fm9ki45tVN5SzD/PZkyc1abp1sZqqvHz+dJx7kX2vMvouo+8z+sH3/Oz5Hv2YO/NX/2BNhb/l7/p7Tph/5DD/lD/4c97jL156NeT/zB/8NffrLA/ot9zqdf6uN/mDv+d+vc0fPM8fvPBZOx0neppbvcvoMu/xXzn53g+L2afuPtiGhfz9oMU65c9FT7FUnK2v5vOr+epqc5tnbbOz7fWw/nR5j8XfQmfsY7M8nve51VVudZ1bieL8kD94k9HH3OV5Rv+d9/gpt/IStiXhNu/xLqNlRp9F1WerFxa4zpG4z9+1yR98yJWwza2Ek/aOdsc9xfRzV3f5FRPh+MXjmpWrRvtD2Xg/X1w3l/rr5VaYe1idPWL35TjNk+NJrbgPuwND9Fkfs1o7PiyWq7ng667xLVeb1bCMX3kAj0+wbNbzcuCaoluPWnRZ3Wzmg3K7vNdHDju5fPFX5Bh6S5wPc8HE8dNwKCcPB65nNzedSNs9x0MxOuDYzV236kTtD8dCs5vV7DOY2tOaWcNJRCd80MP7frY+EOHD6kofK9gERH04KRg/Pxxizz+v52shDWO9/7jchGPFtOyH5PaZW80eRD3Mrjb36tClePmHRfcla43Kup1drdThzvtVp3Z8vbyfXYWKc2k+zCQGwJQV1qF3trseQqqOUTd3N7PV5nYx24jdLG+Gw8xP4utmOA6Yl9uQsy688sOek+cjW66uPwzHeeHA0I9Q4iLrByCR+x7OYA/Pntoebgen2yxwF7ayzMRie70r+vVaLGCLuGNfeSK3I5KlGNRQn8Mp8ZD34hziH2lK3QliBvryH/PGlyY5qf51cfb86Cj3oC4X1/OHOSS0fyT2zA+YRXF4txsfOj/0ob4Rg3U596IygaHmr/T9hVJx3J6IGdWDfyb2zmeCPuBnAWknfs4weASchBxXJ1YDfX7yvIrjVQ+xK3IdXztjHvgodVx+VR3w8mjlaDRVP9KXw7FTqda3RWOFcCarhAzRw1yzJ/rha9z76ct66rn8s7u7EZn7Ju7Cz+LUID05DhbJocx9xQuJHc02xnrFY/Xznxw5i+rbj8uVGNUZ7d3DQFVgJ3pU8Kd1EaOwWTXRDjxienErFzjWm3KUsxL9jSnoUWzxaKtmgrebxf3886IX/WqU/9s4QEuk4Xjrfj5bXM8/fMhz1bet4de4H09YkSxeGwfT7MCq05auGuO9a9lgK2N+jQHyxZDqHy+/DUcMeA3OToFWy0/dHZ4ImTmuupv5Oh76eonGyYblONdFPdRYb4aqDucjHmw6hrTCbERm2Ur1fzU+8C+q8NOX9di1XOmK18Eszj/ef8zw+6YBLpRv2VjuGybTNVfHlvCqdfhwICtjgP18uVUavG9zhdaMtJae1jK6bu0517Ht++BhCa+Y9bigW9wLA78PJu2euF0ecMTUNfu6240YSWMNX8rjTK8FPvixq0/xCOfFySn4+JDAqyGR1/n7fud8Pa2Tv2gsJD8fXH9/iRPnpxJ2X0eZYrIFt4wYJuetGv8ldtviMETt42wBS0Mt8t2pSaxwnwu1BJgvx8MmT7WvTGCjFLrWgG6imeKAxmlVs6rPRn6XB4iWwbLnlhDXg010KmMbS/731AlbuMhtTs3Or+dXymh/iF8EB2aHDnd/pcNa625j3t4czuuD+3rV+M5XTZOOpwM2A/F73IgPHFD+2Fruad9+iVie3dkBWTwSsG87WAo0QeaXB/e0WN7s5vtuKcK9bJvpJq9jNYOGr2pU8s3Bye1gJfeYN9L3Tq7jdnHnLh80u+e3lrsfN7u7kf95NPm5W939NpuvdveQ/z15tbtbPXn0zenj/zwat/buEdC+nxGNpo7wb8PWU9/au0pAODAUzsL3nOUu4NIbuE1VoPv6Dyg4T1DGkAW2vzoU0L5wEL0OW2+HrZe+VWOGKIzehfMQi/M6ekBh9MBh9EDr6AHR6EGx0QMb6zqwYidILoatF7Y1Hbae2dblsPXkiW/WISGDvgPeDJsnvlU/CCjEAjh8H9AaC0AUC1AsFsAsFsDGWDh5CJmwDVoft/KI+tzzsRGWpiEqDuNUpM65UqsC5WqIata4LNyqnuXv5hI2rurYxFzMJlFFG9dlbTLXtglU4Mapyit/nRHUuyEqeueq8qt6niPKHmBcGYGJ2Q1MIkswrn3BZDYHE9ghTIg2UTF4RUVgGBWhaxhj6zBB+EfVwEQMUd0ZV3ZiYrsy2ViMa3cxmS3GBPYZE6LZVPyQE3KbW/UCNQIhXGg0A3QhQ1TfxsmFnLMLVQVcyBC5kHHpQlU9y9/NLmRcuZCJ2YVMIhcyrl3IZHYhE8iFjJMLVf46I3AhQ+RCzpULVfU8R5RdyLhyIROzC5lELmRcu5DJ7EImsAuZEF2oYnChisCFKkIXMsYuZIJwoaqBCxmi4jOuXMjEdmWyCxnXLmQyu5AJ7EImRBeq+CEn5Da36gVqBEK4EIYGrShyqvQokimRyM4UZLCnyMmjoiiNKjQ5a+yPLSuKyrdii2xeUScHi6K2sdiGvSyqZGhRJFcL4usGB3+LnEyOROV0ocl5Y17Y86KojC+2yO4XdbLAKGofjG3YDKPKjhjVaItBA28MHAwycHTJKLBVRlX4ZWgAphk5GUYUlX3GFl/xFTbSKGo3jW3YUqPKvhrVaK5Be2jUxbbRvm/xQ/ETrusEPRcpGRVK5LdBYrcFEbwWKTktStJnocGZ3A97LErKYVHP/ooquStK2luxBTsrauSrKJGrgvRaUnBUpOSnQVJuCg3OZezZSVFSPop6dlFUyUNR0g6KLdg/UWP3RC16JyjgnEDBN4GiayJmz0RNOCbI4JdIqdpRUl6J+kEvYJ9ESbsktmCPRI0dErXoj6A8yAzfyra9pu1ICVccR4+WaIhMxTiZoXN2wqqADRoiDzQuDbCqZ/m72fqMK98zMZueSeR4xrXdmcxeZwIZnXFyucpfZwT+ZojMzblytqqe54iypxlXhmZidjOTyMqMax8zmU3MBHYwE6J9VQzeVREYV0XoWsbYskwQflU1MCtDVH/GlU2Z2K5MNijj2p1MZmsygX3JhGhKFT/khNzmVr1AjUAIF6p9RRtyRhXuAhkRCOxEJoEVOSMvckGakcln4vvZjlxQfuRqNiTXyJFc0JbkOnuSK2RKLpArmfBaMPAlZ2RMIChnMvlcxJe9yQVlTq5md3KN7MkF7U+us0G5wg7lSrQo4+BRxsCkjKFLOWSbckX4lIlgVM6oQF1QVuXqgfpls3JBu5XrbFeusF+5Eg3L+IPI1a1o1yvWiolwrdoxdC1nZAQukGuBwK5lEriWM3ItF6RrmXwmvp9dywXlWq5m13KNXMsF7Vqus2u5Qq7lArmWCa8FA9dyRq4FgnItk89FfNm1XFCu5Wp2LdfItVzQruU6u5Yr7FquRNcyDq5lDFzLGLqWQ3YtV4RrmQiu5Ywq1AXlWq4eqF92LRe0a7nOruUKu5Yr0bWMP4hc3Yp2vWKtmAjXWo2/6OG7q4RMoGLyK8PsVqMAXlUJOVXF0qdG8Sx9L3tUxcqhqpb9qSrkThVrb6oqO1Pl5EsVkyuN+HUi4EiVkB8ZVm40iucphuxEFSsfqlp2oaqQB1WsHaiq7D+Vs/tUHr1npOA8IwHfGQm6TkXsOZULxxkl8JtKqLIqVl5TtWbNsc9UrF2mquwxlbPDVB79ZaQPKeu2qU2fiR69cJUx19FWDFHhGidjcc7OUhWwFkPkLcaluVT1LH8324tx5S8mZoMxiRzGuLYYk9ljTCCTMU4uU/nrjMBnDJHROFdOU9XzHFH2GuPKbEzMbmMS2Y1x7Tcms+GYwI5jQrScisFzKgLTqQhdxxjbjgnCd6oGxmOIas+4sh4T25XJ5mNcu4/JbD8msP+YEA2o4oeckNvcqheoEYjsQt8N9FXcip8tqDoGIBHSwvUeYiALoiAVRvEpLISmkFq+jnbV9cS3LJ0che4CxwRzWrsLiKYcFBsIMBsIsHEge/LDGPdT34pu+gPGHZDw1h8o7kCjo/4Q4g7Mugts7C6QaJs/jCXvW9OwtSv0575VRwcIuux0/3tsdXJ3ZPzJNUOj/2L4DFEMjVMgjatomphDahLF1TgH1wSOsAkxzIYp1pVfZDTNCEJviOJvPE9ClWgmKk7TUV4IjNNREU9H5TwdlcvpqKKYjirxdFSepqMKaTqqQNNRMU/HyC8ymmaE01ERT0flYjpGiadjxDQdfx1n4oVv1V0BqvEHFEIPHDoEtAYckMUamIUZ2BhhIDW4jnbjPPatOgJAdQSAwgiAwwiA1hEAshEAsxEAG0cApI7AUZ2tJ48N2UyN7Kdxqo59Kw70J5wqQGKgP9FUAY0D/SlMFTAa6E8wVUDiQH+CgTqxcTraxK08zE1jTBs5pk0eEx+SgSJGuxGj3YTR/jzZn/Kc+FY8LipIHAQVng6CCo0HQQXJA8mi0OFRYfV8BlA8Ftqhctzy1LbsWMhRPYFBFA6PnOPhEVB7TTRgO2py5MdGzvzYyNhyNwLfskg7ipF2jpF2apF2xJF2xSPtzCLtyCJtaBPivsn5oc47fp6oU46fJ+ls42eR1aCI/ODTi58nfGaxI70tUGUrLtEFpYU2vIsf6oIECgGpKhrUJAeGGlCMSNXhokYcOZKpyEileosqJD8JVIWkUkGyKmqTmuQy5Qa5YqkFFS+pXMckc0lHGaqbBCp0UlXNU5Nc/tSAnIBUbQrUiP2BZLIKUsk1orppJRJ7CalfLyThMNTgYCE1fIcaHS6k5EYkR2OKIngUCWRXpCbn+mWC1/DKVrx8t0fiyt1O2B3ej5eddptTO0bdbZULWce+aSUODOvScfwFzUE6jZLgfo3nl0m6vPPLRF3Z+SW/o+qIgnDwHVVTMRz4BueLiDAw+Q1OFkSIqtaKU9BbYp8DwWFrv/X4S8wriCAJFEdWVTRjG4xpVCCyUcD4ksJRJlnEOrZoRVy0Otykb4WS56BdwGOD0V5xDgxR9J2ruFcVI14ZxLoijLIxjq8JIrJVa8U06C2xz4HgCBpPsRuO08oJ5lPfirccCop3gwoSNyAKT/ceCo23HQqiWwqF0d2EwsKNhELqeunorZn5Gc45ojDdLlyE75mGrXdhy6/QnE3SxZmzibous6P13Nd3aee+I6oWA9NgiObCOE2IcTUrJuapMYnmxzhPkgk8UybE6TJMc4brDoWBZ6+x7pB6kb97mtG7jGBa00LEPE9wlWiWK+apDi9TwXxHTpMeRZr5KKrpjy1yDkSdEiGKnA1R5ZSIasyLqFFypPc6VfQ4TQ6916maXDT2N23wdw0O+aNfb5RizqSgUzoFjXMKXkSBjEJK+YQSZRNKKpdQz5mEKuURSpxFqHEOoRYzCBXKH3qHLceJc6f9DltucCH3M5X0naSQMerVLiHlbAGVcgUUzpT6pgCkiSHKEeOUIMZVdpiYU8MkygvjnBQmcEaYENPBMOUCvuxDYeAsaLzsQ+pF/u5pRu8ygmlP78YwzxNeJZrtinmq47k5zjgrNPEs0/yzrNKA2+Rs4BaUFCxzbrDOKcJ6zBRWKWFIftuMKadPklUWUaOL5n6nTeVdU4EMY4USjeWcb9SC0o5Uzj57uh/yzhllnAuUay6oLHM155drlFkucE65wtnkSswj55RB4UUejghnTetFHpYvxPdPBXsnGORFft8lCTkXTKMsMM7zX083YfoN0ewbp8k3rubexDz1JtHMG+eJN4Hn3YQ47YZp1vEaBIWB57xxDYLUi/zd04zeZQTTnS5KMM+TXSWa64p5qutTYzDVhmiqjdNUG1dTbWKeapNoqo3zVJvAU21CnGrDNNX44CeFgae68eAnqRf5u6cZvcsIpjo9J8k8T3WVaKorpqn+bZzl8cmE33CGkdXZRUZP1rkQHq1z7M/WOYNH6BzCM3QO7SE6R3UGgflzMmUrXjErKD7RWJC4q1J4uq5WaLx/UhDdDymMboIUFu58FBLvKv4G8zZeTdyh2KDLg7L7iIj0oDo5qHCbEHAeayfG2omxLkOK2f0+QOKRr8LTrZxC44NeBcmHw4tCT38VFh8JLyg+2/UbVscY/dcTfMS0bMVHTAsSj5gWnh4xLTQ+YlqQfMS0KPSIaWH0iGlh4RHT155GPow6tD15M9nfzYet+GxOQeLZnMLTszmFxmdzCpLP5hSFns0prE4RoPjY0ZvRn2GrZj6i4MounMetPN7zxnjP5XjP83h5IkER4z2nZ5HewEQ68WXkzQQfMnwzrhSuXcal+Q2tDyOtVzFh9g1RSIyruJiYg2MSRci4DpPJHCsTKEGMU5bgdWhGlC+N69CkngvUiJXMIRPbseJsMn44VimvTODkMiFmWL7UbghyDa+rUyvOOnVdfZTqg8SQeoYonMZVOE3M4TSJwmlch9NkDqcJlHrGKfUqfysQpZ5zlXpVPReoESuZeia2Y8WpZ/xwrFLqmcCpZ0JMPXy0nTIEUg8fbadWnHrq0fYqpefYjqXAoT3wHJtuIsKsn2PTaiPkjefYtMypqp9jk+rbpsDJe+h5B9nmvCkcjLlO6tjkazFPCR7V/5+Y52SPckr5KFPipwdBZJZiEaTnQOQnUkE0nwLZNximu5z9vfSt+g2A6hkToDApwGEPQGv4AVk4gVkMgY2BA1Lz15G/oPoWSxiQONV4S8UKNJ5qvBVlCQqdarzFAgQUTzV2aHeO98K34rsaBcV3NQoS72oUnt7VKDS+q1EQvatRGL2rUVh4V6OQ+K7GDl0tFzTyeu7qbXafeOZbdZSAqrEgwlECh1EihVNXwHXwgGzwwGzwzj72nz925Zzr2NgyjGqZZ2vZmJqlnJplnho+nQVFTJqdzgLKM2Sns45WcSsPZBW93IV1dzvPU74JpbjJ9rFpeMVGesUmewU/kgqKcJGNcJFNcpFtmPA+buUk7XPm4buILwlRENK7iMxVhNS7iCxRrPK7iCxwbPhdRMbktXj8fkqIXFcfv7OY/TcdvzPXTpyP31kgT07H78TBxQxRrRgnnzauHMHEbAsmkTcYZxswgQ3chOjihsko/LXPhQodmXrFXa4Ftnfj5PHOhdGb2K45Zfmmke8bZ/M3gVeAKqRloArLHAxeEIwfygGxNJjUyIHGImFyK0V4uTDeSAVeOCpfCdQYul5HqioWkyrBimKo4ahybTGx7Zy8yhjXS43JLWNNi44J2li3Odt6gRrlpFajcKCPa1IUOI5R5fUpqjLWsYmIeGzAcY9qCm+UU5CjTKGOIq9k6XLAqRR4VTtwOUA3ESucvhyg1cZq17gcoGVe+fTlAKmi7UeBiz6qvCJGVXpibCKcMTZgf4xqssEop/UyyrRqRpENM6jsaCTGdTS+SNeq5bSmRpVXVlLV+hqbfM1L5FobW/CKG9W07kY5rb5BzmtwfMmuFc60Hkf16xmo1ubY4GAGttbp2OhwmqY1O6oHEzGt30FdNYWDYWus6KGNWtdDA1zdo3BwbdIrfWzytdUnrfpRbaz9sdHhJSofB0T50BK1bdVA3xQOWkM+Sjif4BM953g8ACg+x3OeVn7g6XriOa7xgOiZnfOwmgMLT+qc47rtqNroiRH6IZR6PRnH2nj1xjmN+tCrNy7m8TdevXHOkWi9euNCjEnj1RvjFJ30ysrIG6+sEKdgHXplhUQVtq+8skI6BfDgKyukcigPvLJCGgVVvr2hIsjhlW9vBEqhbb+9ESQV1oNvbwSVQnrg7Y2gcTibb28EhUIpXm3IseIw5lcbHFEAG682OFeha7/a4BIFrfVqgwscLv1qg2MKFL8SQKHgEDVfCUgKBezwKwFJVuH76isBqQUF8yuvBCSdQ3vwlYCkUqAbz8LruHLYxbPwwCjUrWfhQVDhPfAsPGgU0uaz8KBwGBvPwgOn0KVHxzkqHC77iW0IlzMKlwsULhdUuFzN4XKNwuUCh8sVDpcrMVzOKVwmULiMc7jGXw6GYFVCoaqYAlWxClPVcpCqQiGqmANUOYen8hicSik0I6bAjJTCcjGG5IVvxdOVCwwFIHG2d0EhABrP6y7C0IHRNYQLGDKQeJK2Q/6zzGUrzlxB8SzLhbO4FVOhIDHfhae5LjTOc0Hy94KLQrNfWD0/BRSnd4d20/rMt+IpS0E1BIDEdYvC0ylNofH6Q0F00aEwutJQ2DhjQOoIHMXT2YtJekR7h+Kguzw5dqUGkZ6vTs5XuBADOE9jJyarozLdMbu44tm5u6Dy0rfiKXlB4jy88HTyXWg84y5InmYXhc6tC6s5Biheyr2Y5Ke2dyxfiNjRTZjZTc7GTSP1NjL1Njn1+DICKCIpNyIpNyEpp6PrwVbs9RRdD5AYyJRcD2gcyDS4HjDq7hRcD0isoekEH7iboncBEo95Tcm7gMYHuqbCu0ChR7em6F2A4oNx09G7Tn0r3gyYoncBEjcFpuRdQOPl/2nwLmD0q7VT8C4g8Vr+FLzrCRC8Cj0drWv/I2VTtC5A9nYJoPwLbVOyLqT4donj+BNt02BdwPztEmNmXT7UZUi4ZS6SZaMilrIilrki2LpAEbVi1gUoFwZdqJ2Sc/m87Zzr1MZvzgUoJp5zTDynlniO+GaTK56SzjwlndWUNNKHeupz3fepvi9Hwxt/qekSHQ+ZvZEGLL6IAwK+iQPYXsUB5m/cAPRXbgDWd24A2RtpznbW99y34ot8l8n6gKd3+y7R+gDRxIFigwFW8xJQ7bajmS2wl2h9gOLN4stkfcDTscElWh8gOgK4DNYHLFxHv0Trc1RL6CmQW/xl5svR+174VjyfuETvQ5TPJy7J+5CC9wGOpxmXwfuA0WnG5Wh0MARzOmTq1cxL8jrE9GrmpXA7lPitzUv0O2T0hublJP8Y9iVZns/XJjbaiIFuWgPd6IFuxEDZ91BSA3XnQxhfT7206/RgBukmRBLY0/RtiKQKd0s3IpKQfC7fikgKOV66GcECeF96x4y5ckH1jhlL5Ietd8xYZmdM75gxJ4+sHIzSELmlcbJM48o3TczmaRI5qHG2URPYS02IhmqYXNVvMoVS5XtPXANgc4bIaY2T3ToXnmtiNl6XsvuaRhZsnH3YBDbjKizFoJMtmyAty1ThW6axeZnQcDDTk42ZwqZtAjt3upPIgvDwKm1E8+TmJhyMj/J101rxaTm86c34ZK83hQyfbvlVJ1T3/JTGzt+866caCP9X9/2UllYBeedPibQWqHt/QoMVASktCiipdQH1vDSgSqsDSnqBwBa8RqBGywRKtFKABIsFUlovUKIlAyW1aqCeFw5Uae1AiZcP1HgFQS0uIqjQOhJuBgfHELeJRYGBaSOlNQUlWlaCJFYW1PPiEtS8vqBMSwxKvMqgxgsNaEsdkrTcoCYdFRsIU0WZfRW1hrVik+SuKPIChBqvQepRAaGJlQjUjf5QWo9Q+1oA1aqE8oEAttYmbHIogHmFQjEuUkM5TfxXQsqW/66PoXj/yYXd3yTc/5WH3dY2bPl1nrIVr/MUlK7zVNfDHhmibhmXfasqdLCibUZ97gH313ju9Ngx7LQh6rRx2emqQqcr2mbU5x5wp43nTodnlaDnkVP3oyjHEJrAQALfNnjf6B+PK4p5cJDuMDSkNDCU5LCgAQwK6FbSXvaJh4NSHkx9zAdGYoiGYVyOoaowgIq2GfW5B9xv47nT9tgH9NoZddsF2W+ToePGtoL1oh/cdxdy5+0hDOi8M+q8C7Lz4c/Tjx0Nf56eWS/6wZ2Xf55+1MYHJaDrlVDHK5bdhr96PXYQ/up1JH3aN3dX/NXrUam/QAe9NUTdNS77i38kd+we/pFcQn3uAfdZ/ZHcvfR+oAvbc9ny4wRDqpdF8IObijbhq+nv4b1PxxrAZd/o7+G9FwcUoNCN0Pfh8AFY+LWK92OkfauPW3kMOY5XA/VA7LY+Be2T+gGRqzH4sBX3dZWDD0K8xXs1dtx70MeZvKKOj7QeC3zMCIZgSPamqguBaETGD38RjQ2PbaiTPEp1bDNK9uJrRjBUQ7KHVV0IREM1fviLaKj4viR1koeq3pes0nBat1jMaLAGcbgOdT9NX0jIg3bla1/HAzelV11Og3clD39/cjRZf55d7T5yOtJywp3/bM1xlhta/MLh9GxybTstW1f7v10LyE38Ovj3dR2ob9kIHeHQ9nTcA+7YEO298of86W1GvUDUI+OpW7uKG4O03zleSj028hA+sA1bX8JWH7diR1J97yldpx87whd2jyN+yJ/fZvQlo14g6qb0or1EPz4w9pVfTz+O+CF/fpvRl4x6gaiv0kxGSbwmUjus3hI5FtpD4+u2Df6lwfsW5+G0zqpGPV+IG0ckrsEcJ+VBftFW0i+S9prSKBonU1X1a3M8CFB4FCA96O/aavxF476BeSio5bHQayHjOPitkOOIH/Lntxl9yagXiPqrzgdHiV8PGDub3g44Jv4gvmIr2BfBesWoy/I0cNT4Gf2xz+kR/WPiD+IrtoJ9EaxXjPosz/722ocJXiSvpItb8aigoHotHFH+AePC05HDnuKflHUcf9e4IPr14sLo14t3bGlHOWUrHjIVJE6KCk8nGoXGk6KC5ElRUeikqLB46FVQfDr0wyRcgq6IDp1OohDozX6unvjGOGwg40whgTgA9jAg9GkCOsYGSA0AoDpHjvykXVxeaF5aqO1gpEbicA3HMTvOAzctjd6VFAKTYhwMUzCMU0TyZeCbxmXgm4OXgSOEMOkfgdBiDNmBn4DQLVL42j8AoRvEUDZ+/kGrFNao3rTCxCEmVQW6/knNY9+KNsN/SHNPP43utHfcT+hOgKJ9Ok+W/QndCRDfA3LFHdSZXVVyZHfK9ij/SoYWaCyHfiVDN8kjbPxKhlb1uFu/kqFlikbjVzL26iKszouwBi/y6ruQ6+4inwct8knPonHSs2if9MQrAvj1+QchtEC7av8gxNig/v2XbUa9QPT16u/P7qXbCV7pLFux2goSi3rhqQoLjYt6QXJRLwot6oXRlc7CwpXO2wn+2d1bHDEg6N2e3k3qTWXbikddd2mwwNMh1t0k3DA2JP9GxN0k3h42RkdZdxO8GVzJ7uD11LbcHsU9FH335C4+4RURBaH1fFcUczjE012R68CoZ7uiwCHKT3YFDMHKt5LvUrUzz7HD37t7Qohip3/vjsUcu/R7d8x17PLv3bHAsePfuyMMscNLLhQIjp265FKl9JtCT6TAcTzwm0K6iYip/k0hrTbi2/hNIS2nWMvfFJIixj0tITKUaQ6aS8jYoN47gzkwRNE3ruJuYo64SRRr4zrKJnN8TeDImhBjivcbTyPqcyA4gu2bi8sJ3llbhnV4t+V/uGkZdrXMe1nqHaB3EYJd4UXck9iqzx/kPbcdbpmucCoOHUlXOE9E+77xPdyvrzw3Aoeu2DV5uRIpdEs++xEodengsx9LvGpHCLqCV+1OYqs+f5B70H6Kg47FsRekQGdIgT6R0je/jXvIcu5ouF7IDDoXrheeULtefJa7cuCxkXrWgX3IB9OGoAd4fE0f5P2r4+tRQksiBLuvCHafjWvZMK5l27g+T/D84DN+FlA6K6gXzFp3GKPeEuM9RvoqU1+4uug+3Ncv3f//m9NnptYPXscPGa73DIXmN3wjjnGMmrrpG1vEa49BC3ERY1jFsBiuHVJavRostdBZ0WI3t88ErjtUWvzFUtLqTWuthu6oFnnyq+SFMgRp96wHbsUJK6j2EpF1DuB4/f2ZkeugW/o4urF6KFt2KcsRXb8ywV569y9bxq08EHXlvPBU1IXGk+yC5El2Uegku7CYvQXFK+c7ZFfOPWx/hAbrMO51NJcVZhEimx+EjVje11s5ZSO0cv5QL0yu9oYHG+GC7Cra3QjtdrsPzRBNlHFKO+ece3Qvv0ay4uvcklPRnqn2uBiipDQuo2lPSFF6Vr4UqDF+ma0m5pQ1ifLWuE5ekzmDTaA0Nk65zM9O8DT8kZuuc+A4v41TkjvnTHfl0AR5bhtRiQ8nDZTJfSaxDsS5wKjY8xweEUOUDMapGJxzMfBfqngW8XVuycVQORSDISoG4zLW6Y9H0A6WAjXGL4tB/e0IlqgYWn87gmUuhvS3I5hTMaS/HUHT8Eduus6B42IwTsXgnIvBlUMT5PluRBUDXMGiTO4zicUgLl9VJVxUwZKIAidGVLk8SE1FEnUqlSBetz6Vyibfr3uqBC6hg/frVJtUTukGlxYORlAXWPMGl27AxXbwBpdulApP3+DSKhdhUFMpBvWP1sfWrWlIxRlVLlFSU6GS/vU0gLqMXJYuXwqV1de3OBVz6zroXo/Xi2qYEOUHEj0gATbuAcJLjXQKPG6Vv905vuhnyJ/1IU63yIN6YadQlUwT2f0JyvHM3JAlB3G8EBClevY+npa/yOKo7PN3mMOJO1rZigVeUDUbQKLQC0/VXWgs6YKoRAuj+4mFhfuJhcT6fADrfWFk518nvhVvOj4kpwKebkY+oCcBIiMCxX9xzVm1HEB1HI7op8u2MLRTI27N2+zH24YJb6XzbrPdbpseuxXGus1uus0WusWh7Qeyu4Ls9x3KVry1UVB8rm6P8o2OwtM9jj1Nz9UVHO96FER3NAqjmxn9WCsnvhXzqsdaASRSradaARpTrQ+1Asx/ws/ZWCtAYo71qVb6MA99noc+z0PfmIdezkOv56HP89CLeegb81CK4KltWRE4ikXgHIvAqRWBIy4CV7wInFkROLIiMET1XRdEzCpDlFrGKb+MqyQzMWeaSZRuxjnnTODEMyFmn2FKQb7MQqGAdDBEGWmc0tK5yE0Tc4K6lLPUNEpV45yvJnDShms3TyOi9G1cuyExJ3K+dkNcp7S4dkMCJXe+dhM5pzncpINMR0rJjhLlO0oq5VHPWY8qJT5KnPuocfqjFisAFSqC/C6IiBWkG1KqBpSoIIIkagL1XBZBzZWBMhUHSlwfqHGJgAZVgpQKBSVVK6jnckGVKgYlXTTYgusGNSodlKh6xGtAY1L8OYHnmP+EHAASnlj+k2ccMJ9n/UnzCzQ8hfwnziag+Lzxn+DjTGKn2cUTzt0XHp6UNBB2cMY0pOTfI68nm10mcVyG47gc53GZlsblShqXSXFchmlcxmlc+JJUp2kcX5DiGKOUxxn0NNaopvEGOY45SDTuoMHY//O//w/7Vd1G\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json": +/*!********************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json ***! + \********************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG0eyrf8KA0/7RMhzRIq6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o+PT0xcnRsxdPXzybPJr8dXl3/+vsthsa/L1bPHT386vZN98tF9dn7xfzPzbdrslmseAmR7smR9Bmdjtf9NxqEKbd/Objbve7Dwzb/7ifLeZXr+5uFkPLb45PBrL+6/xLd/3b/P7q4+Tb+9WmezT5/uNsNbu671a/d7vP/vjlvru77q7fLG9nd2Onv/tu+WXy7b+/OX5++uibk5MXj46Pj08fvXx28p9Hk/Oh8Woxv+t+W67n9/Pl3W5Xjx+D8Pbj/OrTXbdeT759OvCLbrUuzSaPH5/85fHjx8NOfl0OQ9gN5/vl5361G8XRf139n6Pjly+ePtr9+7z8+3L378vH5d/nR6+ul++7o9/79X13uz76x93VcvV5uZrdd9d/OTp6tVgcvdl9z/roTbfuVg8D9YDO10ezo/vV7Lq7na0+HS0/HP0yv1ve95+7b4ZGi6NXfzua3V3/3+XqaD58wXrzfj2/ns9W8279l6GzPw67up7f3fx+9bErc1B68vv98JHZ6rqqQ8PvZ5//Pk7J8+MXjybv6tbTJ8NcvFpf7QK9GsUfOtv+5uTx80eT3++v/z6dfHu8E4f/X+z+f/p4P1//7O5X86shoP/+n8n03eTbk+dDo1+Hrqw/z4Y4/u+jPX7y5Mked1+uFrNb46fDPBb+x2Y5xOv9wpSnT5/tlbvN7fvdRN3cZe16uVjMVsZfDBNT+OdudbXL/yo8PznZC7PbQVoP8THJOlx6UGY89/rzbNXdLboPLYk+VrsxW+++cf3JO/5iHO7nxWadu3A1lO0s7+Jj//ljd5ebD0OZL8VI1ovZ+mMO1p/dapnp8q7L8H4rWt5/XHWi7YflZiXo/EG0Xc+/CNg9dGJuuxBTT4f5nUirq+VieZfxurudR8lmYLGzgUS7PzazRcY3q24oZx/ms+PjmjTdulhNVV4+fzrOvci+Vxl9l9H3Gf3ge372fI9+zJ35q3+wpsLf8nf9PSfMP3KYf8of/Dnv8RcvvRryf+YP/pr7dZYH9Ftu9Tp/15v8wd9zv97mD57nD174rJ2OEz3Nrd5ldJn3+K+cfO+HxexTdx9sw0L+ftBinfLnoqdYKs7WV/P51Xx1tbnNs7bZ2fZ6WH+6vMfib6Ez9rFZHs/73Ooqt7rOrURxfsgfvMnoY+7yPKP/znv8lFt5CduScJv3eJfRMqPPouqz1QsLXOdI3Ofv2uQPPuRK2OZWwkl7R7vjnmL6uau7/IqJcPLicc3KVaP9oWy8ny+um0v99XIrzD2szh6x+3Kc5slxXCvuw+7AEH3Wx6zWjg+L5Wou+LprfMvVZjUs41cewJMnWDbreTl0TdGtRy26rG4280G5Xd7rI4edXL74K3IMvSXOh7lg4vhpOJSThwPXs5ubTqTtnuOhGB1w7OauW3Wi9odjodnNavYZTO1pzazhdKITPujhfT9bH4jwYXWljxVsAqI+nBSMnx8Oseef1/O1kIax3n9cbsKxYlr2Q3L7zK1mD6IeZlebe3XoUrz8w6L7krVGZd3OrlbqcOf9qlM7vl7ez65Cxbk0H2YSA2DKCuvQO9tdDyFVx6ibu5vZanO7mG3EbpY3w2HmJ/F1MxwHzMttyFkXXvlhz5PnI1uurj8Mx3nhwNCPUOIi6wcgkfsezmAPz57aHm4Hp9sscBe2sszEYnu9K/r1Wixgi7hjX3kityOSpRjUUJ/DKfGQ9+Ic4h9pSt0JYgb68h/zxpcmOan+dXH2/Ogo96AuF9fzhzkktH8k9swPmEVxeLcbHzo/9KG+EYN1OfeiMoGh5q/0/YVScdyeiBnVg38m9s5ngj7gZwFpJ37OMHgEnIScVCdWA33+5HkVx6seYlfkOr52xjzwUeq4/Ko64OXRytFoqn6kL4djp1Ktb4vGCuFMVgkZooe5Zk/0w9e499OX9dRz+Wd3dyMy903chZ/FqUF6chwskkOZ+4oXEjuabYz1isfq5z85chbVtx+XKzGqM9q7h4GqwE70qOBP6yJGYbNqoh14xPTiVi5wrDflKGcl+htT0KPY4tFWzQRvN4v7+edFL/rVKP+3cYCWSMPx1v18trief/iQ56pvW8OvcT+esCJZvDYOptmBVactXTXGe9eywVbG/BoD5Ish1T9efhuOGPAanJ0CrZafujs8ETJzXHU383U89PUSjZMNy3Gui3qosd4MVR3ORzzYdAxphdmIzLKV6v9qfOBfVOGnL+uxa7nSFa+DWZx/vP+Y4fdNA1wo37Kx3DdMpmuuji3hVevw4UBWxgD7+XKrNHjf5gqtGWktPa1ldN3ac65j2/fBwxJeMetxQbe4FwZ+H0zaPXG7POCIqWv2dbcbMZLGGr6Ux5leC3zwY1ef4hHOiyen4ONDAq+GRF7n7/ud8/W0Tv6isZD8fHD9/SVOnJ9K2H0dZYrJFtwyYpict2r8l9hti8MQtY+zBSwNtch3pyaxwn0u1BJgvhwPmzzVvjKBjVLoWgO6iWaKAxqnVc2qPhv5XR4gWgbLnltCXA820amMbSz531MnbOEitzk1O7+eXymj/SF+ERyYHTrc/ZUOa627jXl7czivD+7rVeM7XzVNOp4O2AzE73EjPnBA+WNruad9+yVieXZnB2TxSMC+7WAp0ASZXx7c02J5s5vvu6UI97Jtppu8jtUMGr6qUck3Bye3g5XcY95I3zu5jtvFnbt80Oye31ruftzs7kb+59Hk525199tsvtrdQ/735NXubvXk0Tenj//zaNzau0dA+35GNJo6wr8NW099a+8qAeHAUDgL33OWu4BLb+A2VYHu6z+g4DxBGUMW2P7qUED7wkH0Omy9HbZe+laNGaIwehfOQyzO6+gBhdEDh9EDraMHRKMHxUYPbKzrwIqdILkYtl7Y1nTYemZbl8PW8bFv1iEhg74D3gybT3yrfhBQiAVw+D6gNRaAKBagWCyAWSyAjbFw8hAyYRu0Pm7lEfW552MjLE1DVBzGqUidc6VWBcrVENWscVm4VT3L380lbFzVsYm5mE2iijauy9pkrm0TqMCNU5VX/jojqHdDVPTOVeVX9TxHlD3AuDICE7MbmESWYFz7gslsDiawQ5gQbaJi8IqKwDAqQtcwxtZhgvCPqoGJGKK6M67sxMR2ZbKxGNfuYjJbjAnsMyZEs6n4ISfkNrfqBWoEQrjQaAboQoaovo2TCzlnF6oKuJAhciHj0oWqepa/m13IuHIhE7MLmUQuZFy7kMnsQiaQCxknF6r8dUbgQobIhZwrF6rqeY4ou5Bx5UImZhcyiVzIuHYhk9mFTGAXMiG6UMXgQhWBC1WELmSMXcgE4UJVAxcyRMVnXLmQie3KZBcyrl3IZHYhE9iFTIguVPFDTshtbtUL1AiEcCEMDVpR5FTpUSRTIpGdKchgT5GTR0VRGlVoctbYH1tWFJVvxRbZvKJODhZFbWOxDXtZVMnQokiuFsTXDQ7+FjmZHInK6UKT88a8sOdFURlfbJHdL+pkgVHUPhjbsBlGlR0xqtEWgwbeGDgYZODoklFgq4yq8MvQAEwzcjKMKCr7jC2+4itspFHUbhrbsKVGlX01qtFcg/bQqItto33f4ofiJ1zXCXouUjIqlMhvg8RuCyJ4LVJyWpSkz0KDM7kf9liUlMOinv0VVXJXlLS3Ygt2VtTIV1EiVwXptaTgqEjJT4Ok3BQanMvYs5OipHwU9eyiqJKHoqQdFFuwf6LG7ola9E5QwDmBgm8CRddEzJ6JmnBMkMEvkVK1o6S8EvWDXsA+iZJ2SWzBHokaOyRq0R9BeZAZvpVte03bkRKuOI4eLdEQmYpxMkPn7IRVARs0RB5oXBpgVc/yd7P1GVe+Z2I2PZPI8YxruzOZvc4EMjrj5HKVv84I/M0QmZtz5WxVPc8RZU8zrgzNxOxmJpGVGdc+ZjKbmAnsYCZE+6oYvKsiMK6K0LWMsWWZIPyqamBWhqj+jCubMrFdmWxQxrU7mczWZAL7kgnRlCp+yAm5za16gRqBEC5U+4o25Iwq3AUyIhDYiUwCK3JGXuSCNCOTz8T3sx25oPzI1WxIrpEjuaAtyXX2JFfIlFwgVzLhtWDgS87ImEBQzmTyuYgve5MLypxcze7kGtmTC9qfXGeDcoUdypVoUcbBo4yBSRlDl3LINuWK8CkTwaicUYG6oKzK1QP1y2blgnYr19muXGG/ciUalvEHkatb0a5XrBUT4Vq1Y+hazsgIXCDXAoFdyyRwLWfkWi5I1zL5THw/u5YLyrVcza7lGrmWC9q1XGfXcoVcywVyLRNeCwau5YxcCwTlWiafi/iya7mgXMvV7FqukWu5oF3LdXYtV9i1XImuZRxcyxi4ljF0LYfsWq4I1zIRXMsZVagLyrVcPVC/7FouaNdynV3LFXYtV6JrGX8QuboV7XrFWjERrrUaf9HDd1cJmUDF5FeG2a1GAbyqEnKqiqVPjeJZ+l72qIqVQ1Ut+1NVyJ0q1t5UVXamysmXKiZXGvHrRMCRKiE/MqzcaBTPUwzZiSpWPlS17EJVIQ+qWDtQVdl/Kmf3qTx6z0jBeUYCvjMSdJ2K2HMqF44zSuA3lVBlVay8pmrNmmOfqVi7TFXZYypnh6k8+stIH1LWbVObPhM9euEqY66jrRiiwjVOxuKcnaUqYC2GyFuMS3Op6ln+brYX48pfTMwGYxI5jHFtMSazx5hAJmOcXKby1xmBzxgio3GunKaq5zmi7DXGldmYmN3GJLIb49pvTGbDMYEdx4RoORWD51QEplMRuo4xth0ThO9UDYzHENWecWU9JrYrk83HuHYfk9l+TGD/MSEaUMUPOSG3uVUvUCMQ2YW+G+iruBU/W1B1DEAipIXrPcRAFkRBKoziU1gITSG1fB3tquvYtyydHIXuAscEc1q7C4imHBQbCDAbCLBxIHvywxj3U9+KbvoDxh2Q8NYfKO5Ao6P+EOIOzLoLbOwukGibP4wl71vTsLUr9Oe+VUcHCLrsdP97bHVyd2T8yTVDo/9i+AxRDI1TII2raJqYQ2oSxdU4B9cEjrAJMcyGKdaVX2Q0zQhCb4jibzxPQpVoJipO01FeCIzTURFPR+U8HZXL6aiimI4q8XRUnqajCmk6qkDTUTFPx8gvMppmhNNREU9H5WI6RomnY8Q0HX8dZ+KFb9VdAarxBxRCDxw6BLQGHJDFGpiFGdgYYSA1uI524zzxrToCQHUEgMIIgMMIgNYRALIRALMRABtHAKSOwFGdrePHhmymRvbTOFUnvhUH+hNOFSAx0J9oqoDGgf4UpgoYDfQnmCogcaA/wUCd2DgdbeJWHuamMaaNHNMmj4kPyUARo92I0W7CaH+e7E95nvhWPC4qSBwEFZ4OggqNB0EFyQPJotDhUWH1fAZQPBbaoXLc8tS27FjIUT2BQRQOj5zj4RFQe000YDtqcuTHRs782MjYcjcC37JIO4qRdo6RdmqRdsSRdsUj7cwi7cgibWgT4r7J+aHOO36eqFOOnyfpbONnkdWgiPzg04ufJ3xmsSO9LVBlKy7RBaWFNryLH+qCBAoBqSoa1CQHhhpQjEjV4aJGHDmSqchIpXqLKiQ/CVSFpFJBsipqk5rkMuUGuWKpBRUvqVzHJHNJRxmqmwQqdFJVzVOTXP7UgJyAVG0K1Ij9gWSyClLJNaK6aSUSewmpXy8k4TDU4GAhNXyHGh0upORGJEdjiiJ4FAlkV6Qm5/plgtfwyla8fLdH4srdTtgd3o+XnXabUztG3W2VC1knvmklDgzr0nH8Bc1BOo2S4H6N55dJurzzy0Rd2fklv6PqiIJw8B1VUzEc+Abni4gwMPkNThZEiKrWilPQW2KfA8Fha7/1+EvMK4ggCRRHVlU0YxuMaVQgslHA+JLCUSZZxDq2aEVctDrcpG+FkuegXcBjg9FecQ4MUfSdq7hXFSNeGcS6IoyyMY6vCSKyVWvFNOgtsc+B4AgaT7EbjtPKCeZT34q3HAqKd4MKEjcgCk/3HgqNtx0KolsKhdHdhMLCjYRC6nrp6K2Z+RnOOaIw3S5chO+Zhq13Ycuv0JxN0sWZs4m6LrOj9dzXd2nnviOqFgPTYIjmwjhNiHE1KybmqTGJ5sc4T5IJPFMmxOkyTHOG6w6FgWevse6QepG/e5rRu4xgWtNCxDxPcJVolivmqQ4vU8F8R06THkWa+Siq6Y8tcg5EnRIhipwNUeWUiGrMi6hRcqT3OlX0OE0Ovdepmlw09jdt8HcNDvmjX2+UYs6koFM6BY1zCl5EgYxCSvmEEmUTSiqXUM+ZhCrlEUqcRahxDqEWMwgVyh96hy3HiXOn/Q5bbnAh9zOV9J2kkDHq1S4h5WwBlXIFFM6U+qYApIkhyhHjlCDGVXaYmFPDJMoL45wUJnBGmBDTwTDlAr7sQ2HgLGi87EPqRf7uaUbvMoJpT+/GMM8TXiWa7Yp5quO5Oc44KzTxLNP8s6zSgNvkbOAWlBQsc26wzinCeswUVilhSH7bjCmnT5JVFlGji+Z+p03lXVOBDGOFEo3lnG/UgtKOVM4+e7of8s4ZZZwLlGsuqCxzNeeXa5RZLnBOucLZ5ErMI+eUQeFFHo4IZ03rRR6WL8T3TwV7JxjkRX7fJQk5F0yjLDDO819PN2H6DdHsG6fJN67m3sQ89SbRzBvniTeB592EOO2GadbxGgSFgee8cQ2C1Iv83dOM3mUE050uSjDPk10lmuuKearrU2Mw1YZoqo3TVBtXU21inmqTaKqN81SbwFNtQpxqwzTV+OAnhYGnuvHgJ6kX+bunGb3LCKY6PSfJPE91lWiqK6ap/m2c5fHJhN9whpHV2UVGT9a5EB6tc+zP1jmDR+gcwjN0Du0hOkd1BoH5czJlK14xKyg+0ViQuKtSeLquVmi8f1IQ3Q8pjG6CFBbufBQS7yr+BvM2Xk3codigy4Oy+4iI9KA6OahwmxBwHmsnxtqJsS5Ditn9PkDika/C062cQuODXgXJh8OLQk9/FRYfCS8oPtv1G1bHGP3XE3zEtGzFR0wLEo+YFp4eMS00PmJakHzEtCj0iGlh9IhpYeER09eeRj6MOrQ9eTPZ382HrfhsTkHi2ZzC07M5hcZncwqSz+YUhZ7NKaxOEaD42NGb0Z9hq2Y+ouDKLpzHrTze88Z4z+V4z/N4eSJBEeM9p2eR3sBEOvFl5M0EHzJ8M64Url3GpfkNrQ8jrVcxYfYNUUiMq7iYmINjEkXIuA6TyRwrEyhBjFOW4HVoRpQvjevQpJ4L1IiVzCET27HibDJ+OFYpr0zg5DIhZli+1G4Icg2vq1Mrzjp1XX2U6oPEkHqGKJzGVThNzOE0icJpXIfTZA6nCZR6xin1Kn8rEKWec5V6VT0XqBErmXomtmPFqWf8cKxS6pnAqWdCTD18tJ0yBFIPH22nVpx66tH2KqXn2E6kwKE98BybbiLCrJ9j02oj5I3n2LTMqaqfY5Pq26bAyXvoeQfZ5rwpHIy5TurY5GsxTwke1f+fmOdkj3JK+ShT4qcHQWSWYhGk50DkJ1JBNJ8C2TcYpruc/b30rfoNgOoZE6AwKcBhD0Br+AFZOIFZDIGNgQNS89eRv6D6FksYkDjVeEvFCjSearwVZQkKnWq8xQIEFE81dmh3jvfCt+K7GgXFdzUKEu9qFJ7e1Sg0vqtREL2rURi9q1FYeFejkPiuxg5dLRc08nru6m12n3jmW3WUgKqxIMJRAodRIoVTV8B18IBs8MBs8M4+9p8/duWc68TYMoxqmWdr2ZiapZyaZZ4aPp0FRUyanc4CyjNkp7OOVnErD2QVvdyFdXc7z1O+CaW4yfaxaXjFRnrFJnsFP5IKinCRjXCRTXKRbZjwPm7lJO1z5uG7iC8JURDSu4jMVYTUu4gsUazyu4gscGz4XUTG5LV4/H5KiFxXH7+zmP03Hb8z106cj99ZIE9Ox+/EwcUMUa0YJ582rhzBxGwLJpE3GGcbMIEN3ITo4obJKPy1z4UKHZl6xV2uBbZ34+TxzoXRm9iuOWX5ppHvG2fzN4FXgCqkZaAKyxwMXhCMH8oBsTSY1MiBxiJhcitFeLkw3kgFXjgqXwnUGLpeR6oqFpMqwYpiqOGocm0xse2cvMoY10uNyS1jTYuOCdpYtznbeoEa5aRWo3Cgj2tSFDiOUeX1Kaoy1rGJiHhswHGPagpvlFOQo0yhjiKvZOlywKkUeFU7cDlANxErnL4coNXGate4HKBlXvn05QCpou1HgYs+qrwiRlV6YmwinDE2YH+MarLBKKf1Msq0akaRDTOo7GgkxnU0vkjXquW0pkaVV1ZS1foam3zNS+RaG1vwihvVtO5GOa2+Qc5rcHzJrhXOtB5H9esZqNbm2OBgBrbW6djocJqmNTuqBxMxrd9BXTWFg2FrrOihjVrXQwNc3aNwcG3SK31s8rXVJ636UW2s/bHR4SUqHwdE+dAStW3VQN8UDlpDPko4n+ATPed4PAAoPsdznlZ+4Ol64jmu8YDomZ3zsJoDC0/qnOO67aja6BMj9EMo9XoyjrXx6o1zGvWhV29czONvvHrjnCPRevXGhRiTxqs3xik66ZWVkTdeWSFOwTr0ygqJKmxfeWWFdArgwVdWSOVQHnhlhTQKqnx7Q0WQwyvf3giUQtt+eyNIKqwH394IKoX0wNsbQeNwNt/eCAqFUrzakGPFYcyvNjiiADZebXCuQtd+tcElClrr1QYXOFz61QbHFCh+JYBCwSFqvhKQFArY4VcCkqzC99VXAlILCuZXXglIOof24CsBSaVAN56F13HlsItn4YFRqFvPwoOgwnvgWXjQKKTNZ+FB4TA2noUHTqFLj45zVDhc9hPbEC5nFC4XKFwuqHC5msPlGoXLBQ6XKxwuV2K4nFO4TKBwGedwjb8cDMGqhEJVMQWqYhWmquUgVYVCVDEHqHIOT+UxOJVSaEZMgRkpheViDMkL34qnKxcYCkDibO+CQgA0ntddhKEDo2sIFzBkIPEkbYf8Z5nLVpy5guJZlgtncSumQkFivgtPc11onOeC5O8FF4Vmv7B6fgooTu8O7ab1mW/FU5aCaggAiesWhadTmkLj9YeC6KJDYXSlobBxxoDUETiKp7MXk/SI9g7FQXd5cuxKDSI9X52cr3AhBnCexk5MVkdlumN2ccWzc3dB5aVvxVPygsR5eOHp5LvQeMZdkDzNLgqdWxdWcwxQvJR7MclPbe9YvhCxo5sws5ucjZtG6m1k6m1y6vFlBFBEUm5EUm5CUk5H14Ot2Ospuh4gMZApuR7QOJBpcD1g1N0puB6QWEPTCT5wN0XvAiQe85qSdwGND3RNhXeBQo9uTdG7AMUH46ajd536VrwZMEXvAiRuCkzJu4DGy//T4F3A6Fdrp+BdQOK1/Cl41zEQvAo9Ha1r/yNlU7QuQPZ2CaD8C21Tsi6k+HaJ4/gTbdNgXcD87RJjZl0+1GVIuGUukmWjIpayIpa5Iti6QBG1YtYFKBcGXaidknP5vO2c69TGb84FKCaec0w8p5Z4jvhmkyueks48JZ3VlDTSh3rqc933qb4vR8Mbf6npEh0Pmb2RBiy+iAMCvokD2F7FAeZv3AD0V24A1nduANkbac521vfct+KLfJfJ+oCnd/su0foA0cSBYoMBVvMSUO22o5ktsJdofYDizeLLZH3A07HBJVofIDoCuAzWByxcR79E63NUS+gpkFv8ZebL0fte+FY8n7hE70OUzycuyfuQgvcBjqcZl8H7gNFpxuVodDAEczpk6tXMS/I6xPRq5qVwO5T4rc1L9Dtk9Ibm5ST/GPYlWZ7P1yY22oiBbloD3eiBbsRA2fdQUgN150MYX0+9tOv0YAbpJkQS2NP0bYikCndLNyKSkHwu34pICjleuhnBAnhfeseMuXJB9Y4ZS+SHrXfMWGZnTO+YMSePrByM0hC5pXGyTOPKN03M5mkSOahxtlET2EtNiIZqmFzVbzKFUuV7T1wDYHOGyGmNk906F55rYjZel7L7mkYWbJx92AQ24yosxaCTLZsgLctU4VumsXmZ0HAw05ONmcKmbQI7d7qTyILw8CptRPPk5iYcjI/yddNa8Wk5vOnN+GSvN4UMn275VSdU9/yUxs7fvOunGgj/V/f9lJZWAXnnT4m0Fqh7f0KDFQEpLQooqXUB9bw0oEqrA0p6gcAWvEagRssESrRSgASLBVJaL1CiJQMltWqgnhcOVGntQImXD9R4BUEtLiKo0DoSbgYHxxC3iUWBgWkjpTUFJVpWgiRWFtTz4hLUvL6gTEsMSrzKoMYLDWhLHZK03KAmHRUbCFNFmX0VtYa1YpPkrijyAoQar0HqUQGhiZUI1I3+UFqPUPtaANWqhPKBALbWJmxyKIB5hUIxLlJDOU38V0LKlv+uj6F4/8mF3d8k3P+Vh93WNmz5dZ6yFa/zFJSu81TXwx4Zom4Zl32rKnSwom1Gfe4B99d47vTYMey0Ieq0cdnpqkKnK9pm1OcecKeN506HZ5Wg55FT96MoxxCawEAC3zZ43+gfjyuKeXCQ7jA0pDQwlOSwoAEMCuhW0l72iYeDUh5MfcwHRmKIhmFcjqGqMICKthn1uQfcb+O50/bYB/TaGXXbBdlvk6HjxraC9aIf3HcXcuftIQzovDPqvAuy8+HP048dDX+enlkv+sGdl3+eftTGByWg65VQxyuW3Ya/ej12EP7qdSR92jd3V/zV61Gpv0AHvTVE3TUu+4t/JHfsHv6RXEJ97gH3Wf2R3L30fqAL23PZ8uMEQ6qXRfCDm4o24avp7+G9T8cawGXf6O/hvRcHFKDQjdD34fABWPi1ivdjpH2rj1t5DDmOVwP1QOy2PgXtk/oBkasx+LAV93WVgw9CvMV7NXbce9DHmbyijo+0Hgt8zAiGYEj2pqoLgWhExg9/EY0Nj22okzxKdWwzSvbia0YwVEOyh1VdCERDNX74i2io+L4kdZKHqt6XrNJwWrdYzGiwBnG4DnU/TV9IyIN25WtfxwM3pVddToN3JQ9/f3I0WX+eXe0+cjrScsKd/2zNSZYbWvzC4fRscm07LVtX+79dC8hN/Dr493UdqG/ZCB3h0PZ03APu2BDtvfKH/OltRr1A1CPjqVu7ihuDtN85Xko9MfIQPrANW1/CVh+3YkdSfe8pXacfO8IXdk8ifsif32b0JaNeIOqm9KK9RD8+MPaVX08/ifghf36b0ZeMeoGor9JMRkm8JlI7rN4SORHaQ+Prtg3+pcH7FufhtM6qRj1fiBtHJK7BnCTlQX7RVtIvkvaa0igaJ1NV9WtzPAhQeBQgPejv2mr8ReO+gXkoqOWx0Gsh4zj4rZCTiB/y57cZfcmoF4j6q84HR4lfDxg7m94OOCH+IL5iK9gXwXrFqMvyNHDU+Bn9sc/pEf0T4g/iK7aCfRGsV4z6LM/+9tqHCV4kr6SLW/GooKB6LRxR/gHjwtORw57in5R1HH/XuCD69eLC6NeLd2xpRzllKx4yFSROigpPJxqFxpOiguRJUVHopKiweOhVUHw69MMkXIKuiA6dnkQh0Jv9XB37xjhsIONMIYE4APYwIPRpAjrGBkgNAKA6R478pF1cXmheWqjtYKRG4nANxzE7zgM3LY3elRQCk2IcDFMwjFNE8mXgm8Zl4JuDl4EjhDDpH4HQYgzZgZ+A0C1S+No/AKEbxFA2fv5BqxTWqN60wsQhJlUFuv5JzRPfijbDf0hzTz+N7rR33E/oToCifTpPlv0J3QkQ3wNyxR3UmV1VcmR3yvYo/0qGFmgsh34lQzfJI2z8SoZW9bhbv5KhZYpG41cy9uoirM6LsAYv8uq7kOvuIp8HLfJJz6Jx0rNon/TEKwL49fkHIbRAu2r/IMTYoP79l21GvUD09ervz+6l2wle6SxbsdoKEot64akKC42LekFyUS8KLeqF0ZXOwsKVztsJ/tndWxwxIOjdnt5N6k1l24pHXXdpsMDTIdbdJNwwNiT/RsTdJN4eNkZHWXcTvBlcye7g9dS23B7FPRR99+QuPuEVEQWh9XxXFHM4xNNdkevAqGe7osAhyk92BQzByreS71K1M8+xw9+7OyZEsdO/d8dijl36vTvmOnb59+5Y4Njx790RhtjhJRcKBMdOXXKpUvpNoWMpcBwP/KaQbiJiqn9TSKuN+DZ+U0jLKdbyN4WkiHFPS4gMZZqD5hIyNqj3zmAODFH0jau4m5gjbhLF2riOsskcXxM4sibEmOL9xtOI+hwIjmD75uJygnfWlmEd3m35H25ahl0t816WegfoXYRgV3gR90ls1ecP8p7bDrdMVzgVh46kK5xPRPu+8T3cr688NwKHrtg1ebkSKXRLPvsRKHXp4LMfS7xqRwi6glftnsRWff4g96D9FAcdi2MvSIHOkAJ9IqVvfhv3kOXc0XC9kBl0LlwvfELtevFZ7sqBx0bqWQf2IR9MG4Ie4PE1fZD3r46vRwktiRDsviLYfTauZcO4lm3j+jzB84PP+FlA6aygXjBr3WGMekuM9xjpq0x94eqi+3Bfv3T//29On5laP3gdP2S43jMUmt/wjTjGMWrqpm9sEa89Bi3ERYxhFcNiuHZIafVqsNRCZ0WL3dw+E7juUGnxF0tJqzettRq6o1rkya+SF8oQpN2zHrgVJ6yg2ktE1jmA4/X3Z0aug27p4+jG6qFs2aUsR3T9ygR76d2/bBm38kDUlfPCU1EXGk+yC5In2UWhk+zCYvYWFK+c75BdOfew/REarMO419FcVphFiGx+EDZieV9v5ZSN0Mr5Q70wudobHmyEC7KraHcjtNvtPjRDNFHGKe2cc+7RvfwayYqvc0tORXum2uNiiJLSuIymPSFF6Vn5UqDG+GW2mphT1iTKW+M6eU3mDDaB0tg45TI/O8HT8Eduus6B4/w2TknunDPdlUMT5LltRCU+nDRQJveZxDoQ5wKjYs9zeEQMUTIYp2JwzsXAf6niWcTXuSUXQ+VQDIaoGIzLWKc/HkE7WArUGL8sBvW3I1iiYmj97QiWuRjS345gTsWQ/nYETcMfuek6B46LwTgVg3MuBlcOTZDnuxFVDHAFizK5zyQWg7h8VZVwUQVLIgqcGFHl8iA1FUnUqVSCeN36VCqbfL/uqRK4hA7er1NtUjmlG1xaOBhBXWDNG1y6ARfbwRtculEqPH2DS6tchEFNpRjUP1ofW7emIRVnVLlESU2FSvrX0wDqMnJZunwpVFZf3+JUzK3roHs9Xi+qYUKUH0j0gATYuAcILzXSKfC4Vf525/iinyF/1oc43SIP6oWdQlUyTWT3JyjHM3NDlhzE8UJAlOrZ+3ha/iKLo7LP32EOJ+5oZSsWeEHVbACJQi88VXehsaQLohItjO4nFhbuJxYS6/MBrPeFkZ1/PfGteNPxITkV8HQz8gE9CRAZESj+i2vOquUAquNwRD9dtoWhnRpxa95mP942THgrnXeb7Xbb9NitMNZtdtNtttAtDm0/kN0VZL/vULbirY2C4nN1e5RvdBSe7nHsaXquruB416MguqNRGN3M6MdaeeJbMa96rBVAItV6qhWgMdX6UCvA/Cf8nI21AiTmWJ9qpQ/z0Od56PM89I156OU89Hoe+jwPvZiHvjEPpQie2pYVgaNYBM6xCJxaETjiInDFi8CZFYEjKwJDVN91QcSsMkSpZZzyy7hKMhNzpplE6Wacc84ETjwTYvYZphTkyywUCkgHQ5SRxiktnYvcNDEnqEs5S02jVDXO+WoCJ224dvM0IkrfxrUbEnMi52s3xHVKi2s3JFBy52s3kXOaw006yHSklOwoUb6jpFIe9Zz1qFLio8S5jxqnP2qxAlChIsjvgohYQbohpWpAiQoiSKImUM9lEdRcGShTcaDE9YEalwhoUCVIqVBQUrWCei4XVKliUNJFgy24blCj0kGJqke8BjQmxZ8TeI75T8gBIOGJ5T95xgHzedafNL9Aw1PIf+JsAorPG/8JPs4kdppdPOHcfeHhSUkDYQdnTENK/j3yerLZZRLHZTiOy3Eel2lpXK6kcZkUx2WYxmWcxoUvSXWaxvEFKY4xSnmcQU9jjWoab5DjmINE4w4ajP0///v/AGoZ428=\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json": +/*!****************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json ***! + \****************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG8mxrf+KAk/nRGh8eBWleZPnItsaD0dXWNvhB5BsUdgC0TLAFgjt2P/9AI2uzJUrV7X8olB/q4CuyspaVX0p8H8mP7V3d83yfvLj5P3fu/Xstnl0fPbsydGjJ89Oz55MHk9+bZf3v8/uml2BvzSLr839/Hr2w+XVYv7vrtnL3WLB8iOQZ3fzxZYL7IRpM7/9tD/r35ubeXe3I3+9ny3m18+Xt4td2R+OT3Zk/ev8obn5Y35//Wny4/2qax5Pfvo0W82u75vVm2b/6V8e7pvlTXPzur2bLYfa/vnP7cPkx3/+cHxx9PiHk5Pzx8fHx08ePzs9/tfjybtd4dVivmz+aNfz+3m73J/q6AiEt5/m15+XzXo9+fF8x983q3VfbHJ0dPKno6Oj3Ul+b3eN2Dfop/bLdrVvx6P/c/1/Hx0/e3r+eP/vRf/vs/2/z476fy8ePb9pr5pHb7br++Zu/eivy+t29aVdze6bmz89evR8sXj0ev8960evm3Wz+rqjHs35+tHs0f1qdtPczVafH7UfH/02X7b32y/ND7tCi0fPXzyaLW/+X7t6NN99wbq7Ws9v5rPVvFn/aVfZX3anupkvb99cf2r6Xuhr8uZ+95HZ6qaou4I/zb78ZeiUi+Onjyf/KEfnJ6ePJ8/X1/tArwbx58aOfzg5ung8eXN/85fpTnzS//f97r9Pnx566+/N/Wp+vQvnP/9nMv3H5MeTi53w+64i6y+zXRT/9zHh5uF6Mbszfnp+fuD/7tpdtK4WppyfPzkoy+7uat9Nt8us3bSLxWxl/OmuW3r+pVld79O+CE+eXByE2d1OWu+i4zU7OYEa9P3ttTs9Hb5vtmqWi+ZjTaKPlWrM1vtvXH/2ij89Gz616NY5ONe70TrLp/i0/fKpWebiu6bM25vM14vZ+lMO1rdm1WbaLpsM7zei5P2nVSPKfmy7laDzr6Lsev4gYPO1EX3bhJh6OsyXIq2u20UrIrRu7uZRsh5Y7E0g0ebf3WyR8e2q2Q1m0cydD657oynK8dHxkNEzkX7PM/qzoYuSiT9l9HP+4C+Ojo8P6Ff/YInAi/xdf8lx+qu3bG+Xe/S3fMaXuf2/+dgr2fr3fMbfc70u89f/kUu9yt/1On/wTY7E2/zBd/mD7w09Oxt6eppL/SOjD/mM/5WjerWbyz4398E3XNxpcaDy56KpnD0xU7mez6/nq+vuLvdHt3ft9W76gTESDC5Uxj42y+gqp8S1MGAxbnODPuZStxl9ylWeZ/TfuV6fc6lFzksRLeE6wve+iGGfTXqV6yUcXsS+yx/8mrN3k0s9ZLTN6BtU9czzKybCyZOjkpWrSvmYjeaMfTbezxc3TQ7JYa6/aTcizmF69qngvl+meXIclxH3cb8uRKO1z2zV5PFx0a7mgq+byrdcd6vdPH7tATx+dgzDZj3vV66piWXZoofVbTffKXftvV467OX+i78jU+hLz36cCyYWULuVnFwP3Mxub9WcduC4FqMVx77vmlUDY//0whZDs9vV7Iuf7fS8ZNbuUqKBjAuu1DfzarYeifC4utKLBeuAqO+uCYZa7VbY8y/r+VpIu7bef2q7sFg0ty/zfkhu77nV7Kuo7Oy6uxf44OUfF81D1ioj6252vWrFia9WjTrxTXs/uw4jzqX5ricxAG5oOA69srsLut2aWyxSu+XtbNXdLWadOE17u1tnfhZfN1uFxZP1y13IWRee+7Ln9GJg7erm426hF1aGvkKJk6wvQCL3M1zCGZ6c2xnudk7XLfAUdrUxE1PezX7Qr9diAlvEE1tKtZHbiqRtctnd+NxdEe/yXkwxf01d6k4QM9Cn/5g3PjXJTvWvi73nq6NcgzJd3My/ziGh/SOxZr5gFoPDqx0/5Cs99SGbIikGNln3F180TKCp+Sv9fGGoOK53xIzGg3+m0kMdfcCvAtJJ/Jph5xFwEXJSnFg19KI4+HW56SFORa7j68KYB95KHZffVQV8eNRyNJqqr/Rlc+xSqvZt0VghnMkqIUNmsvlr9kQbivN49rOLoc6L9luzvBWZ+zqewq/iRpOzGx0kQvThVZtIVpW2XnNb/fonR85O8/ZTuxKtuqSzexgqbvCG+FmZxChsNpo4Yy1ienLr73Csu36VsxL1pRS0KNY42WoxwbtucT//stiKelEDPclDA88uyqXJbHU/ny1u5h8/5r7a1q3h93geT9ixZPllNM1GZp0sWTpVhueyZoO1jPk9BsgnQ/oivP+2WzHgTTi7BFq1n5slXgiZOa6a2/k6Ln19iMbOhuk4jwtzjm43qsP1iAe7soZcVSLTUmR8XFZS6r9ohJ89K2vX/lZXvBFmcf7l/lOGPyUDNDNXvnV6PLTxvjJvNNXZsTYLPq8tH0ayMgbYr5dpaNitCK6UuUKtR2pTT20aXdcGZR7Hdu7RZQnPmGVd0CzuxQ2f+2DS7ombdsQR6/G960RLKOYWKrnO9LFAofcr1bjCeVpuWPQ+vkvg1S6R1/n73qR8ffas5Kte0b4cnX9/ix3nlxL2WEeZYrIFt4wYJue16ey3WG2Lwy5qn2YLmBrKIN9fmtCtbuuLMZdfxmWTp9p3OrAyFJpag26jmWKDhm5Vvar77o1cIFoGy5qflR682dmEeujRxi4CK9SW1sXyZ+dm5zfza2W0P8cvgoXZ2HL399g/Xt1Kv70ez2ulurdWltDPqyYdLwesB6jOZsQjC8pfatM9O4XdIpYNtQVZXAnYt40OhUoV7kfPtGhv9/29bEW427qZdlkqQ3n3VZWRfDt+RQszuce8kr5LOY/bzZ1lXjS759fG+C/d/nHkvx5PXjar5R+z+Wr/EPmfk+f7h9WTxz+cHv3r8XB0cI+ADvWMaDB1hC/i0cFVAsKGoXAZj3IVcOoN3Loq0MP4Dyg4T1CGkAV2uDsU0GHgIHoVjt7ujo5P/LAELbDQflDe7Q7P/agEAFAIAHAIANASAEAUAFAsAMCGoR1Y7yhI3u+OLuxoGrQP+wYe+WFpEjKoO+AuhLXLydBVkqGTydDlZOiqydCJZOgsFsCGWDj5ujs6s6NNONrGo9IiQFDzgQ6FcHQaopAYp3HqnAdrUV4IRMPWuBy7Rb0UqFJLOZRNzF1oEvWjcd2ZJnOPmkBj3DgN9MJfZYRD3hiPexfk4C8yOIAhsgHjygtMzIZgErmCcW0NJrM/mMAmYUJ0ioLBLgqa5lJoHMbYPUwQFlK0LncYm4nxsZwUtmJSJScrBmNyLSeT1ZgQ/aZgMJ2CNhltBSIPMp6NaPADNCJDFE7jZETO2YiK8kIgMiLj0oiKeilQpZbSiEzMnW4Sdbpx3ekmc6ebQEZknIyo8FcZoREZYyNyQRpRkcGIDJERGVdGZGI2IpPIiIxrIzKZjcgENiITohEVDEZU0DSXQiMyxkZkgjCionW5w9iIjI/lpDAikyo5WTEik2s5mYzIhGhEBYMRFbTJaCsQGZHxbEQYGnSjyCmwUSRfIpHNKcgvapxsKorSq0KRyxofa4i0rlgi50rUKWGiqLMmluHUiSp5WhTJ2IL4qsLR4qLAPkeqNLtQBhwvcrK9KCrviyWyAUadXDCK2gpjGfbDqLIpRjU6Y9DAHgOfVsqjUUaB3TKqwjJDga6SCmyeUfzu0BA2GvWxoVEx1FhmdGgka41q9NeggckGvqnwbY2T50YxG68TtF2k1CEokeUGiQ0XxBeaktmiJK0WClxqWq+6NFnUcx6hSlmEks4hLMEZhBpZK0pkrCC9khRNFTFbatCkoUIJsFOkZKYoKStFPRspqmSjKGkTxRJsoaixgaIW7RMUME+gU1kWjRMx2yZqwjRB7mQ3s2Gi9J0kF2aJaj3JK0aJJUaSPJkkatEiQQGDBLqRdKspWSNK2RiH1qMrGqKQGyc/dM5mWJQXApENGpceWNRLgSq1lNZnYk4JkygfjOtkMJkzwQTyOuNkdIW/yggtzhj7mwvS3IoMzmaIbM248jQTs6GZRG5mXFuZyexjJrCJmRAdrGCwr4KmuRQalzF2LROEZRWtyx3GZmV8LCeFTZlUycmKQZlcy8lkTSZEXyoYTKmgTUZbgciLjGcjKnVFJ3JGAXWBvAgENiOTXihGduSC9COTLxWrVVZakqu5/12jBHBBZ4DrnAKukC+5QMZkwivB0JocsjeBIs3JdHAnZ2RPLih/cjUblGvkUC5oi3KdPcoVNilXoksZB5syNhXl0KgcslO5IqzKxE50IZuVC6PpKuzKtVq6VgzL9Wq6JstyJXqWcTAtYxvBtoqRb7mQjatUDI3LGQXXBTIuENi4THqhGBmXC9K4TL5UrFZZaVyu5kxwjTLBBZ0JrnMmuELG5QIZlwmvBEPjcsjGBYo0LtPBuJyRcbmgjMvVbFyukXG5oI3LdTYuV9i4XInGZRyMy9hUlEPjcsjG5YowLhM70YVsXC6MpqswLtdq6VoxLter6ZqMy5VoXMbBuIxtBNsqRsblQjau1fBDH16FQiiwBZNlGWbDGoQXmZBZFSytahAvM9HVkyZVtNznRaEeL1j3d1G5twsnayqYjGnArxJBUyqILcm4NKRBBTsqhMyoYGVFRctGVBSyoYK1CRWVLahwNqDCo/0MFMxnINNUBo2nILadwoXpDFKXuocNp+CRxBNmUxSdeBWjKWol8ZLJFB4tZqBgMAPZJLLNhKyl4GwsQ7qjsxiiEBonb3HO5lKUFwKRvRiX/lLUS4EqtZQWY2LuapOor43rzjaZe9sE8hnjZDSFv8oIrcYYe40L0myKDG5jiOzGuPIbE7PhmESOY1xbjsnsOSaw6ZgQXadgsJ2CprkUGo8xdh4ThPUUrcsdxuZjfCwnhf2YVMnJigGZXMvJZEEmRA8qGEyooE1GW4HIh4wnI/rzkJvHfuSdYSjED3joHqMlaoAoYKBYrIBZmIANEXJy+F2vxz+cGBl+uqugn6DQqRErNKDyShyVLJiLD8OfixecihdrTh8wgT7y8w49t+7pj2Jn9qi4OKDQR8BTl/e09BEg6wlg1hPAhp4AUizVkXvBz4MNuLZ3gGd+VFoHCKrstATQv9YiN6DSCRA+QxRD4xRI4yqaJuaQmkRxNc7BNYEjbEIMs2GKdeHvcximuRSE3hDF33juBM59Ol/qjn4fYeyOgrg7CufuKFx2RxFFdxSJu6Pw1B1FSN1RBOqOgrk7Bv4+h2GaS2F3FMTdUbjojkHi7hgwdcevQ0889aNyKkAl/oBC6IFDhYCWgAOyWAOzMAMbIgykBNfRzBYU/VFcQfWotACQWE/1PC2lehpXUT2iFVLPaHHUs7Au6klpgaPSW8eOfIXRH8VFTI/iyv+A8pKm52k1c6C27S/guL7pEa1dekbLlj1r41Guc1upYCsr2OaatHKR1Suijm1c7vcorvR/xTEB0V/tx+W5HZkzOSrRRxQW+wfhb8MIO6w+/oYjDFDJT0AhUsAhUkBLpABZPIBZnwEb8hNICZGjWTzKLZjlFswqLZjJFsxyC2aiBTPRgllqwSy3IK60/paXWHvUhY90uZldpU2dbFOX28QXCaCI1naitV1o7cvJ4Tr83I+i/fVIeF3Pk9f1NHpdj+TFYq+QC/asjDpA0fJeDv525kdx7n+J/oYoz/gvyd+Qgr8BjtP/y+BvwGjSfzn4GxzlOreVCraygm2uCfsbKKKO5m+A4trj5QSviV9O0uXwy5TVwJMrv5yk69+XIqtBIVd+OckXvC8nfK27J9uQLduc1ducvcGAcVyQQF9GqhotVOS7p6YxRKoeTlSIRxbJNMhIpfEWVUgPEiijSaUByapIfSqSRwEXyCOWStCQIZXHCMk8pKPcVoXRsMgxT0W+13B2AlK1KVCh8bazVZBKrhFVMBASyEtIVbZCRbLDUAEyG1K171AhtiCS2Y1IjsYUxW1thLFdkZrs47fJcGP52A/tnjKyeDvZlffxcH9ZeWFH/d3VMz+0e3nA8Kad4/ijr1ky/sT41oL1GwYCUOrz38Ke6mNiHIfanmqS3wsGYQk7js+IcYDkjmPSaqEKOscLd+lSLDhyapfuIJV7LRg+Yxw+F2T48NYRMwgf3jsqLU03j5Igwle0WviCzuEr4jbHgsNnXIQvDM4QxKikUJKsAxoKva8qGNwghBBHJQU6yircoUQ16LlUCn0yQhnN1A1VIxwKDNNU6AZj3AEuyNAX+b1gEO6CMNDGOMQmiOAWrRbWoHNAi7jNseAgGk/h2y154W5DfxQvYnsUr9V7JK5re56ua3sar2t7RFevPaOr156Fq9eexGv1y6Hvz/woLjsvc3+78N5m1Muhjz0u/9gdPbGjD9b/l9jNgKDpTsttBD+l3UYYUPFp6AZD1BfGqUOMq14xMXeNSdQ/xrmTTOCeMiF2l2HqM5y/KQzce5XZm1ToR5y7TyOCHsXp/IIQ9a2azEmiXk6P/QYe9k5Cf0dOnR5F6vkoqu6PJXIORJ0SIYqcDVHllIhqzIuoUXKkndwqepwmY/u4VRFImLRt+VRwSJ20nflCcUqi6mZmpVM6BY1zCjadQUYhpXxCibIJJZVLqOdMQpXyCCXOItQ4h1CLGYQK5Q9tWc1x4typb1jNBSBvaMfmaaKQM7SP8yJTypfKLs6sUq6AwplStgRBmhiiHDFOCWJcZYeJOTVMorwwzklhAmeECTEdDFMu4MY+CgNnQWVbH6nQ/7jl7TQi6HncBXdBiPpc7YEjiXq7YO7qeJsDe5wV6niWqf9ZVmnAZXI2cAlKCpY5N1jnFGE9ZgqrlDAkv63GlNMnySqLqBAkEymQU6RAapECGcYKJRrLOd+oBKUdqZx9tocH8s4ZZZwLlGsuqCxzNeeXa5RZLnBOucLZ5ErMI+eUQWHHHkeEs6a2X49lyJSwhe2UGGRH2NZ2wYwyQm5qY42ywDj3f7nchO43RL1vnDrfuOp7E3PXm0Q9b5w73gTudxNitxumXsfbEBQG7vPKTQhSocfxFsRpRNDfeFfighD1tronQRL1dcHc1eWVUOhqQ9TVxqmrjauuNjF3tUnU1ca5q03grjYhdrVh6mp8sZvCwF1dea2bVOhqfOX5NCLoanwL+oIQdbV6B5ok6uqCqav/GHp5eCX9D+xhZKV3kcUXf0HAe2KA7dVfYP6GL0B/xRdgeccXUOlBYLPQMntDBVB8i7BH4sldz9Pjup7GZ3Q9omduPaOHjD0L7wn2JD5w+wP67fipocYyqT+KD5V6VBIUUX583fP00OlA4Ykr4Pj8ukf0PLpn9L7bnrXxKNe5rVSwlRVsc034cSgooo724BNQfDr+B46OIfqvJvgGfH8U34DvkXgDvufpDfiexjfgeyTfgO8VegO+Z/QGfM/CG/CvJ4e3Hk78KLp2j4Qx9zx5ck+jHfdIvsPUK+TRPSvxBxQd+PVgvqd+FF9tfJ0t14V3NoheYy8BEqP8NfUS0DjKX4teAoXG/+vQS8DC+H8d5ojXYXp4PUwDrn2II+g1mf9Ayy1K6H1DlALGVR6YmJPBJMoI4zotTObcMIESxDhlCd5kPiVE+VK5yUwqZI4hSh/jKodMzIlkEmWTcZ1SJnNemcDJZULMsHwf3dA0B+JDLsVZp26aD1J5sgqpZ4hSz7hKPRNz6plEqWdcp57JnHomUOoZp9TDB+ynhCj1Ko/XSYXUM0SpZ1ylnok59Uyi1DOuU89kTj0TOPVMiKmHLxBQhkxzID7kUpx66u2BIqX3/U6kwGk48r6fLiJSUr/vp9VKelbe99Myp6p+30+qmLb6jYaKKlM4lMFEjgKnc1RlUsciIrVjAU7wqFbSPBZKyR7llPJRpsRPL3rILJ3WQvmh9ok0IKpveRwKvJnwPsg3k7QP8g0/6yTMxXmbF+FUPG1xTEL6SGgWfyyI9NFdfuO1bH9I17I9o2vZnqlr2V7I17I9pmvZnvG1bA/5WraH8Vq2R3Qt+3YwsjM/iiPpbbIs4GnMvEVzAiRHx9tgQ8Diu6Nv0XAczWIjZqIH7Br8iaNaB8x0B8xEB/hlOHyviv8sx98uxP2j1+0CfPgtJCN8jqrQiNbaxXlgleY2urnh+hx5CYNXuxFRaFQUPm2/fGr6ennntbFIK5rT1qre6qq3oqf40h0lUX27dsdyucP84t2LrehQNGgl+of2cIGybu7mOTO6WKgTp+lqcet03DoRN37RGSURt051e5eTfxMPt3QoGoOvnA3nww3WpWTaYZ0E9mK9xzqpImRpl3USkj/nfdZJoWClndYsgGenqx/myr3V1Q9L5OO1qx+W2dHT1Q9z8vbCZ6LZyeVNIKs3Ptq/yvRNq/Vvsn8Tqt3LE4FxMhdf9YSBz4sh/hpVyzRDmMA25MJYqNSE4ZqYNUykqcN4LYx5EilKmkmK0IrCaU4xYbSdanYxrZYStXnG9Fpb04xjQiUz0txThJVitRCkqcgFOR8VWUxKRepE8TQ9mTDaBWqiMq3WBbUpy/RaF+TJy5TKqN0ItlWs1nw1q4ULjjC3RSV9Z5TTPBdlHfdYRkU/lkh9EOU8/0U9BzzqHPaophkx3ZQ5kwLPjiM3ZXQRMVPqmzJarcyalZsyWuYZVN+UkeqsGrI8p0aZZ9ao/gcZJWfZWGI8o/KMG+XvJFSafaPKTkv3BaLbyZsG+ovr7clzc5STO5P8/ZDL2ZpKqDk7FuGZO6rjnSJm8aDnuTzIbfWDeV6P8n8QHTnHxxLjCVmd72Op8QjluT/Ko3mZ1wFBXtWV8fDllQHJen0QCqlVQijQVT+aVwxR/g86V64eYonxzq2uJGKp8c4Vq4qoj3rSpqps68p46PKa492w0DjzozhHvsMFBSAxV76jhQPQOCu+CwsEYHTv+x0sBIDEKe7dhF8/ejdJbx6VJwPY1rRDijm1Wu+QYjG3P+2QYs6RyDukWIgxSTukiFN0KjuLwuMRjJPeWSRFitjIziJZIsdO7yySIkexsrNIqjGeemeREimyY5ts4NESBldtshESBba6yUboOahqk42QOKByk43QYjDVJpssUSDrO1DKAziMYdqBwpyip3egsJjjlnagMOeI5R0oLMRYpR0oxClKlZ0b73h7Ql2hgNV2blRkFb6RnRuVEhTM6s6Nis6hrezcqKgU6NEtC6xy2MOWhcQo1HnLQhJUeOWWhaRRSMWWhaRwGNOWhcQpdJU3/J1zuOyPHTxXjMLlAoXLBRUuV3O4XKNwucDhcoXD5UoMl3MKlwkULuMcruEH3J9nQqEqmAJVsApT0XKQikIhKpgDVDiHp/AYnEIpNAOmwAyUwvJ+CMlTPyrhABR/S/R9CgPw9Fui77H5gOi3RN+HZgMLvyX6Hpvr6EVoz4vYcz2KV1wuXMajmAo9Ev3d89TXPY393CN5y6pXqPd7Fm9O9Sh27x75b8T2R3G7QY9KCACFhgBPmxJ6WhoCyKoLzHoM2NBjQEoLHJUr2zMg5TbQeUGxk5ucmHaPB5FOzEYmZrh/AzjnayPytRH5andkHLXxKDejrdS5lXVuc+X4Tgoootp2ywRQHlNwb8Q6BO9JeM91oWe7nI1dJfU6mXpdTj2+mQCKSMpOJGUXknI6uN65H8XXtaboeoDELogpuR7QuAtiGlwPGO3HmILrAYnbH6YTfHVyit4FSLwkOSXvAhpfh5wK7wKFXnyconcBiq84Tie452eK3gUo2vc0eRfwZMJT9C5AZLXT4F3AwgQ7Re9yVJzqqZG9fupHpU2A4jub02RUwNPvA03ZqADHX9qbBqMCRj+XN0Wj8oa1oUCbm6F+CXpKRgU0V07/EvQ0GBWw+EvQUzQqR2ZU3h9dKNDlhqhfOZySIwHNDdE/YjgNjgRMxD/+RuGebMM42ebxvE3j9sNgZMMPZX1AJ0NmDzSBxbvAIOCtX8B2vxeYP6QE6DdtAZY7tYDsGaSzvaU9PbcjmyodxanSOU6VTm2qdMRTpSs+VTqzqdKRTZWG+mXLmTXCHwUCiwuyD8nUsGz+lbIPaGvIaPr7EHwNC5b4A7L4OyuT+xMgw7LMC9FnGtFcf/iGrNLeRrc3PlsDLuLQiDg0Kg78wGzP5mE4zeO46xFtVv4weCV8RyuC0NYa3OoGt6Jh6RkZSD74ANrjMGCio3115wxXd54AXRyhnbCXrmYlnbaSTlhJel4EknKZTrlMRy6DDy0S44akxxZJkM1UDy6Sxg3Ojy6SktrHDy8SZz/F7YWDWaXthcyVvarthSyR0da2F7LMlpu2FzIn8y0cHcoYD0kTyIuNy/Fqqhi0pvHINYF9yYRkTqaQUxuPF9HGacTyMyv+GlXL5OAmsI27MBYqZeiuCVc3sRbH5O8mVOOYnL4IYPeGyPONs/EXoRXfm6YAE0aDpSYD02rxqE0LptfileYHE3iSSE85WRDTRZFwzjBW81s9e5g6YqtpHjGhMpmYXrXdPK2YQrZLjyMV5harB5JKkwGpPJJUModFPpRUYmq8eCypJJ55QIPJBynNPyipKQj1PAuhShMRSnouwhI8HaFGMxJKNCmBhA6MmK0CNZqdUJJGggWEl6DMdoIaOwZqyWRRpPkKJZqywvPqYBziSbb4vkrV0/SFGs9gQftOONU8FmQxlaE+Eu40oaE2Fu40rYEGMxtSmtxQ4vkNtFafI81yqH0voGquQ3kkYLUZD4ukCyIUeeJDjec+9fqE0MQMCCpOgohHZgU9FWKBcedPEyJqlTkRi4xNDnlmRDFODvudwl8tq/ZHm3DkP5feH8X7cz1K9+GKZeL3FrTJaJs/yKcxns81WDCeq6BNRtv8QT6X8Xyu8M4TnDDwTYVvK9/D549irgR0JVQB6EbSrfwGPjlK+dTlJRw4b0GbjLb5g3w64/lc9i4FnMzYRrCt+Cyfz4V8QnsbAU5obCPYVnyWT+hCPiH8zfuTQDaJbNOn+ETib94PCv5Z65OINhlt8wf5VOrPWh+kqx292luLHcUXG/ZkYefsj+KE16P4/B+E+MzqapLekLia4J8YvEIHBySetF2RXwONT9quhDuDQk/aroIXAws/nHgVOudqgk8XrjD+gFJdr3E5dl7I56B/VpG9TnchzgP+nEvq70l7Ns8D/pxLVr4n/bJF+SYTPqvS+tsOU/5k/WV2vQ/h+UD7L85/R+Qoy6TlSMULb0NfbVTEkbY/egjaNmjU2zzQBqo7zTDXByfk0/gNm/ylD7nUNpfiiqo5epB0ahjm2hYOtcWdiPSlD7nUNpfi2qqdiUVSbz2Xqsm3npWIldfLg8gfKuW3lfKpQbVlw6Cry7ZzVrhFtNY4TV+1kSd4kGW3siy3o7ICKapfxqVmgJTaARo2BPBGn+RBl97q0qkxqOXW8LvOQ23Tu87EoQV5+WXoIZfa5lJcY7UiG6T01utQrfzWKwtQYbGEc/Ygym1FOa60XNYNWnr5dKhcfvmUBai1WAc6exDltqIc11quDQ/ax8nhftSpH8VFWI/K3SdA4l2JnqelWk/juxI9ojciekZvRPQsvBHRk/i2x0eIuJPdeFg063V/8+NpgfFDTW4ovZFzQLqh+Y2cA01v5PQ4t5/fyOmZaH8bj3Kd1es3PZcVbHNN9Os3vSLqSK/f9Ch3CP1F7o95CfQkCgM9rJr21xf9Nks/svsjjuwmHqC4hfIglMvslUD0tcbpu52rE4j9oVKgk9V2h2pVnDj+jTnx5+X0X5b7PIyEEz+KfvEZRwKifDnzmUYCUhgJgONVzucwEoDRtcznYSTAUa5zW6lgKyvY5prwSABF1LGNV4mfcSQMKO9a1wK1pbJnvaKKRtd3rFcK5L6q7FfXKkentl9dym1VGA2L7O36ZnRdYLRZlXSo7UTXMiVJZSP6Qb2bDDeI/Sh6Ro/ET5X3HO8CO40/Vd4j+VPlvUI/Vd4z+qnynoWfKr8bbOiwqrlDGwKEtevpMjR2mRu7rDR2KRu7zI1dVhu7FI1disYuU2PjfcJlaPoyN52XigMNj8SPIqIgVB6Ik5jDkR+HE9eBEQ/DSeAQpUfhEUOw8BKfAsFhU5f4gxR+FekoIopd5TeRSMyxy7+IRFzHLv8eEgscu/RzSBFD7MKPIcVAcOzUDYci5d+KOFICx3HslyJkERHTyu9ESLUS38qvRGg5xVr/SIQSMe75JyJUKFMfVH8gYihQbm1DHxii6BtXcTcxR9wkirVxHWWTOb4mcGRNiDHNjwOWeO+fAsERVPf+D9JuvUB3+/eEbtC3w4n9I5tw5NdKbVhFt3kV3cpVdFmccFXSjVHiUCm8MUroIZ9nKxBVtP7wspW3Gs+ExvVOtxqHmqZbjYo/VCqwrXFq0HeeUML6jtukbjVmCdpDtxozfZCn3WpK7Rh92NnyzbmziLn+eHNuqCbenCP0kM+zFYgqXH9c2o7u5meV604yNIGUTVV5qFZlW1eoeSznVlY23rf5FiQL0KZwC5LZgzjZVjGq+8iT5XKx0d/ROz+PqHwNc9vQSDzuaiQRTs2S7W8k7pscSfCdjiSU7Y6Ebc9j5FcZXQtUCUN5VJh5eeyXlCExnkV8k0ve7Bo+u89cVKOpVK+pVK8Z66Wm3kvxj4WRVunBptaDTa0HP2YkOvS2koHxFhirnzKaC1SJ53wsbvN63OaV2MxrsZnXYvPfGYlSn0djsBCo0uDF+BfZX1aL/C4j0cZl5ZzLStIuR+uyrIzvVqDKidux3m3rvdtWejf9mTqSa53fVsLaVpr4RaAyzZDN/DsXXQlUCdCq0jOr0Z4REVtXTrCunGBdtdP16KkVGv1AJ1Clrt1YtnT1bOkq2cLXVSzXsqWrWUWnJ8L9QuMizvubjPx9eUPbXMoWGcyh+SR9yzX6Vonwt0o2fBOzkP7bp4Z52YUXmcfxGzYZwZorv4bWVl5Da+uvoX2Bip6eF+IPvwxtw0foBF/0dw/fUnt3KOo1sbyOdHjcRl9l6pmri+bjffnSw/9/OL8wtXywX+UcZWwrnayFaoqvXOmPuYUJzfJKadEecol1BY+ccD1yQrQ2pX63OkNfHIbZaljFH/tRvC20wrU7IHGTaEUrdqDx1tAqrNOB0R2fFazOgdgL84aGl+JOARwGy7mR3aLtMEhXsFwDgu0B7M0BOLQGSGkMoNIWR/EgdJTzRThI9VzUPjZ4nZPdmurEDpbhYPhWIEO+IcHzAB+C7+QLxt0syQMP+xS83O47z/wgnMt5h83pUig63WWd6rIudRnNniDkvuxyXw5zpYOv2LxtOBhqDsSrOMByRw2GoiEaj8ZpUBpXI9PEPDxNojFqnAeqCTxaTYhD1jCNW7+xicnBtzvPI/ZhbCQmhmGRHaalFDEl5olhygnjlBjwijETNW6LuMhEN0qOfhOjBRTsPlDIMpPoCIajLTgW3mBiNAi7TZ06mK2i8OwXRXFzMKKcAx56Uig6HVVlJOKJJys6VbSvpMedzCuJFG0G7u1TaLaZRNcRt+wHJfytJkJkPekvNTFX1iP/UBNJZD35zzSxwNaT/koTYbIe+iNNp0yD9RTs1mMk5pNhkU+mpXwyJeaTYcoY45QxsCuBiTKNIi4y0Y2S1mNitJ6C3XoKWWYSrcdwtB7HwnpMjNZjL+OnDmbrEX8biT7h7mJEWQ+8M0Ch6HRUlfWIFwZY0amirSe9LcC8kkjReuBVAQrNNpNoPeI9gaKEp9doQFFgG4oqm1FUpSXFIsKYYgG2p6gmk4pysqook2FFkW0rqJSppEULCyIYWeSUo1FUmRpL5HyNOmVtFDk7o8o5GtQql5YViixqfCwU2gpjETLEIIItBr6scbLIKJJRkqjsMhYh0wzil0p6JQMNqrDRoINfRi4tlV8lkiFle62/SKRLfCd12XDH3iLSZUbTO1mweoVIal8rId7WOFlz7fWhg563VoktVeVNhuEjfP02FEqrfuLwDXpv3TpN3sTxGyobLtfiT4knBb9Hemr5hB4RUoXv9LFBWziHo/3fzGUS7wY6Frf6ivg+kandfy1k/+fjn0VSZlrCMENGpdzoHe7gnmZxUA73hb8O0/zBbL7i3A6oTOiA4jvYzvHFa6f2trUjf3vamb8u7qzsY3Zir04bKonw1NoU9Sa3yd+tB6Tb1Mg2xVfnHeemNqKpjWhqG49yndtKBVtZwTbXJL3X7oqoo7/B7ijHnn5vd1PWjed2FN/v24QVoqO4LHSe3gLchAWgI1/1OfOlnrOyvnNiizpDJaGeWJt80bfBhAIUt/FsUkIBT+vbDScU4LjW3YSEAkar2s2QUHCU69xWKtjKCra5JulneFwRdfQf3XEUF9QbTKhD8B8muH3vAYMPKG7fe0jBB56etz1w8AHHTXMPIfjAaPvetriqH9lodmSu6kjsbNmyqzqNe1i20VWd0SacLbqqk7ghZYvT65GhWKDJjaItS9tsq85lo8SOpG2wVUeirbzhaFts1Y9yndV+oi3bqtNcE71daBtt1VncGLQNtmrIly9D9PGBxAkhalN6IMFcNVg9kGCJmp4fSLDA3cEPJBhTHNLSlWIhinJOGqfEdD4SC5GiLuU8Na0Sp5SxJtTi1ApUaaDMYhPrDeF8Nq6T2uRaWzi9jVf6NiU6vDINuY6UIoASZTxKKj6o5xChSlFCiSOBGncsanEMoEKhUr+rkYOlP8DjASUaEkEaD5YYGEHNYwPleizTCEFtJJatpvW2y9GC+mgDecygpIcNlhhpIw8elOpJwUPoW1mvnttRXIN/C+tVQHkN/o3Xq0Bxveo4Ls2/xfWqM1qafyvrVT/KdW4rFWxlBdtck7RedUXU0derjuK1wjeciRhR/dNMlLhonJqJkpT7Ic1EzLm1eSYioRWo0kDZS2omYqlS2Uqn5ZmIBeq+NBMNvNyvUoiaaJz60Llouom56S7lPjSNwmKc220C92ERWoEqDZR9aGK9IdyHxnUfmlxrC/ehcepD/BWkGqamBo36M2oiFKFADkeUc98GnUIWNI5LELmfUWwreCQIss9DgfGGct8HTfd/KDLWVs6DoEEu/Ot//z8nhUqv\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json": +/*!********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json ***! + \********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG8mxrf+KAk/nRGh8eBWleZPnItsaj0ZXWNvhB5BsUdgE0TLAFgjt2P/9AI2uzJUrV7X8olB/q4CuyspaVX0p8H8mP7V3d83yfvLj5MPfu/Xspnl0enH05Nmjs6dHz84mjye/tsv732d3za7AX5rF1+Z+fjXb426xUHh2N19shTBt5jef92f5e3M97+525K/3s8X86vnyZrEre7Q7Xv86f2iu/5jfX32e/Hi/6prHk58+z1azq/tm9bbZf/aXh/tmed1cv2nvZsuhbn/+c/sw+fGfPxw/efL4h5OT88fHR0dHj5+dHv/r8eT9rvBqMV82f7Tr+f28XU5+/GEng/Du8/zqdtms15Mfz3f8Q7Na98UmR0cnf9p90e4kv7e7Juyb81P7Zbvat+LR/7n6v4+Onz09f7z/96L/99n+32dH/b8Xj55ft5fNo7fb9X1zt3701+VVu/rSrmb3zfWfHj16vlg8erP/nvWjN826WX3dUQvVo/n60ezR/Wp23dzNVreP2k+Pfpsv2/vtl+aHXaHFo+cvHs2W1/+vXT2a775g3V2u59fz2WrerP+0q+wvu1Ndz5c3b68+N30f9DV5e7/7yGx1XdRdwZ9mX/4ydMnF8dPHk3+Uo/OT08eT5+urfaBXg/hzY8c/nBxdPJ68vb/+y3QnPun/+2H336dPD7319+Z+Nb/ahfOf/zOZ/mPy48nFTvh9V5H1l9kuiv/7mHDzcLWY3Rk/PT8/8H937S5alwtTzs+fHJRld3e576abZdau28VitjL+dNctPf/SrK72SV6EJ08uDsLsbietd9Hxmp2cQA36/vbanZ4O3zdbNctF86km0cdKNWbr/Teub73iT8+GTy26dQ7O1W5szvIpPm+/fG6WufiuKfP2OvP1Yrb+nIP1rVm1mbbLJsP7jSh5/3nViLKf2m4l6PyrKLuePwjYfG1E3zYhpp4O86VIq6t20YoIrZu7eZSsBxZ7E0i0+Xc3W2R8s2p2g1k0899ds+6NpijHR8dDRs9E+j3P6M+GLkom/pTRz/mDvzg6Pj6gX/2DJQIv8nf9Jcfpr96yvV3u0d/yGV/m9v/mY69k69/zGX/P9XqVv/6PXOp1/q43+YNvcyTe5Q++zx/8YOjZ2dDT01zqHxl9zGf8rxzVy91cdtvcB99wcafFgcqfi6Zy9sRM5Wo+v5qvrrq73B/d3rXXu+kHxkgwuFAZ+9gso8ucElfCgMW4zQ36lEvdZPQ5V3me0X/net3mUouclyJawnWE730Rwz6b9CrXSzi8iH2XP/g1Z+8ml3rIaJvRN6jqmedXTISTJ0clK1eV8jEbzRn7bLyfL66bHJLDXH/dbkScw/TsU8F9v0zz5DguI+7Tfl2IRmuf2arJ49OiXc0FXzeVb7nqVrt5/MoDePzsGIbNet6vW1MTy7JFD6ubbr5T7tp7vXTYy/0Xf0em0Jee/TQXTCygdis5uR64nt3cqDntwHEtRiuOfd81qwbG/umFLYZmN6vZFz/b6XnJrN0FRAMZF1ypb+blbD0S4XF1pRcL1gFR7y8ZDrFZLOZf1vO1kHZtvf/cdmGxaG5f5v2Q3N5zq9lXUdnZVXcv8MHLPy2ah6xVRtbd7GrVihNfrhp14uv2fnYVRpxL811PYgDc0HAcemV3l3O7NbdYpHbLm9mqu1vMOnGa9ma3zrwVXzdbhcWT9ctdyFkXnvuyZ3fdOnz56vrTbqEXVoa+QomTrC9AIvczvIIzPDm3M9ztnK5b4CnsamMmprzr/aBfr8UEtogntpRqI7cVSdvksrvxubsi3uW9mGL+mrrUnSBmoE//MW98apKd6l8Xe89XR7kGZbq4nn+dQ0L7R2LNfMEsBodXO37IV3rqQzZFUgxssu4vvmiYQFPzV/r5wlBxXO+IGY0H/0ylhzr6gF8FpJP4NcPOI+Ai5KQ4sWroRXHwq3LTQ5yKXMfXhTEPvJU6Lr+rCvjwqOVoNFVf6cvm2KVU7duisUI4k1VChsxk89fsiTYU5/HsZxdDnRftt2Z5IzL3TTyFX8WNJmc3OkiE6MOrNpGsKm294rb69U+OnJ3m3ed2JVr1is7uYai4wVviZ2USo7DZaOKMtYjpya2/w7Hu+lXOStSXUtCiWONkq8UE77rF/fzLYivqRQ30JA8NPLsolyaz1f18trief/qU+2pbt4bf43k8YceS5ZfRNBuZdbJk6VQZnsuaDdYy5vcYIJ8M6Yvw/ttuxYA34ewSaNXeNku8EDJzXDU383Vc+voQjZ0N03EeF+Yc3W5Uh+sRD3ZlDbmqRKalyPi4rKTUf9EIP3tW1q79ra54I8zi/Mv95wx/SgZoZq586/R4aON9Zd5oqrNjbRZ8Xls+jGRlDLBfL9PQsFsRXClzhVqP1Kae2jS6rg3KPI7t3KPLEp4xy7qgWdyLGz73waTdEzftiCPW43vXiZZQzC1Ucp3pY4FC71eqcYXztNyw6H18l8CrXSKv8/e9Tfn67FnJV72ifTk6//4WO84vJeyxjjLFZAtuGTFMzmvT2W+x2haHXdQ+zxYwNZRBvr80oVvd1hdjLr+MyyZPte90YGUoNLUG3UQzxQYN3ap6VffdW7lAtAyWNT8rPXi9swn10KONXQRWqC2ti+XPzs3Or+dXymh/jl8EC7Ox5e7vsX+8upV+ezOe10p1b60soZ9XTTpeDlgPUJ3NiEcWlL/Upnt2CrtFLBtqC7K4ErBvGx0KlSrcj55p0d7s+3vZinC3dTPtslSG8u6rKiP5ZvyKFmZyj3klfZdyHrebO8u8aHbPr43xX7r948h/PZ68bFbLP2bz1f4h8j8nz/cPqyePfzg9+tfj4ejgHgEd6hnRYOoIX8Sjg6sEhA1D4VU8ylXAqTdw66pAD+M/oOA8QRlCFtjh7lBAh4GD6HU4erc7Oj7xwxK0wEL7QXm/Ozz3oxIAQCEAwCEAQEsAAFEAQLEAABuGdmC9oyD5sDu6sKNp0D7uG3jkh6VJyKDugLsQ1i4nQ1dJhk4mQ5eToasmQyeSobNYABti4eTr7ujMjjbhaBuPSosAQc0HOhTC0WmIQmKcxqlzHqxFeSEQDVvjcuwW9ZVAlVrKoWxi7kKTqB+N6840mXvUBBrjxmmgF/46IxzyxnjcuyAHf5HBAQyRDRhXXmBiNgSTyBWMa2swmf3BBDYJE6JTFAx2UdA0l0LjMMbuYYKwkKJ1ucPYTIyP5aSwFZMqOVkxGJNrOZmsxoToNwWD6RS0yWgrEHmQ8WxEgx+gERmicBonI3LORlSUFwKRERmXRlTUVwJVaimNyMTc6SZRpxvXnW4yd7oJZETGyYgKf50RGpExNiIXpBEVGYzIEBmRcWVEJmYjMomMyLg2IpPZiExgIzIhGlHBYEQFTXMpNCJjbEQmCCMqWpc7jI3I+FhOCiMyqZKTFSMyuZaTyYhMiEZUMBhRQZuMtgKRERnPRoShQTeKnAIbRfIlEtmcgvyixsmmoii9KhR5VeNjDZHWFUvkXIk6JUwUddbEMpw6USVPiyIZWxBfVzhaXBTY50iVZhfKgONFTrYXReV9sUQ2wKiTC0ZRW2Esw34YVTbFqEZnDBrYY+DTSnk0yiiwW0ZVWGYo0FVSgc0zit8dGsJGoz42NCqGGsuMDo1krVGN/ho0MNnANxW+rXHy3Chm43WCtouUOgQlstwgseGC+EJTMluUpNVCgVea1qsuTRb1nEeoUhahpHMIS3AGoUbWihIZK0ivJUVTRcyWGjRpqFAC7BQpmSlKykpRz0aKKtkoStpEsQRbKGpsoKhF+wQFzBPoVJZF40TMtomaME2QO9nNbJgofSfJhVmiWk/yilFiiZEkTyaJWrRIUMAggW4k3WpK1ohSNsah9eiKhijkxskPnbMZFuWFQGSDxqUHFvWVQJVaSuszMaeESZQPxnUymMyZYAJ5nXEyusJfZ4QWZ4z9zQVpbkUGZzNEtmZceZqJ2dBMIjczrq3MZPYxE9jETIgOVjDYV0HTXAqNyxi7lgnCsorW5Q5jszI+lpPCpkyq5GTFoEyu5WSyJhOiLxUMplTQJqOtQORFxrMRlbqiEzmjgLpAXgQCm5FJLxQjO3JB+pHJrxSrVVZakqu5/12jBHBBZ4DrnAKukC+5QMZkwmvB0JocsjeBIs3JdHAnZ2RPLih/cjUblGvkUC5oi3KdPcoVNilXoksZB5syNhXl0KgcslO5IqzKxE50IZuVC6PpKuzKtVq6VgzL9Wq6JstyJXqWcTAtYxvBtoqRb7mQjatUDI3LGQXXBTIuENi4THqhGBmXC9K4TH6lWK2y0rhczZngGmWCCzoTXOdMcIWMywUyLhNeC4bG5ZCNCxRpXKaDcTkj43JBGZer2bhcI+NyQRuX62xcrrBxuRKNyzgYl7GpKIfG5ZCNyxVhXCZ2ogvZuFwYTVdhXK7V0rViXK5X0zUZlyvRuIyDcRnbCLZVjIzLhWxcq+GHPrwKhVBgCybLMsyGNQgvMiGzKlha1SC+ykRXT5pU0XKfF4V6vGDd30Xl3i6crKlgMqYBv04ETakgtiTj0pAGFeyoEDKjgpUVFS0bUVHIhgrWJlRUtqDC2YAKj/YzUDCfgUxTGTSegth2ChemM0hd6h42nIJHEk+YTVF04lWMpqiVxEsmU3i0mIGCwQxkk8g2E7KWgrOxDOmOzmKIQmicvMU5m0tRXghE9mJc+ktRXwlUqaW0GBNzV5tEfW1cd7bJ3NsmkM8YJ6Mp/HVGaDXG2GtckGZTZHAbQ2Q3xpXfmJgNxyRyHOPackxmzzGBTceE6DoFg+0UNM2l0HiMsfOYIKynaF3uMDYf42M5KezHpEpOVgzI5FpOJgsyIXpQwWBCBW0y2gpEPmQ8GdGfh9w89iPvDEMhfsBD9xgtUQNEAQPFYgXMwgRsiJCTw+96Pf7hxMjw010F/QSFTo1YoQGVV+KoZMFcfBj+XLzgVLxYc/qACfSRn3fouXVPfxQ7s0fFxQGFPgKeurynpY8AWU8As54ANvQEkGKpjtwLfh5swLW9Azzzo9I6QFBlpyWA/rUWuQGVToDwGaIYGqdAGlfRNDGH1CSKq3EOrgkcYRNimA1TrAv/kMMwzaUg9IYo/sZzJ3Du0/lSd/T7CGN3FMTdUTh3R+GyO4oouqNI3B2Fp+4oQuqOIlB3FMzdMfAPOQzTXAq7oyDujsJFdwwSd8eAqTt+HXriqR+VUwEq8QcUQg8cKgS0BByQxRqYhRnYEGEgJbiOZrag6I/iCqpHpQWAxHqq52kp1dO4iuoRrZB6RoujnoV1UU9KCxyV3jp25CuM/iguYnoUV/4HlJc0PU+rmQO1bX8Bx/VNj2jt0jNatuxZG49yndtKBVtZwTbXpJWLrF4RdWzjcr9HcaX/K44JiP5qPy7P7cicyVGJPqKw2D8IfxtG2GH18TccYYBKfgIKkQIOkQJaIgXI4gHM+gzYkJ9ASogczeJRbsEst2BWacFMtmCWWzATLZiJFsxSC2a5BXGl9be8xNqjLnyky83sKm3qZJu63Ca+SABFtLYTre1Ca19ODtfh534U7a9Hwut6nryup9HreiQvFnuFXLBnZdQBipb3cvC3Mz+Kc/9L9DdEecZ/Sf6GFPwNcJz+XwZ/A0aT/svB3+Ao17mtVLCVFWxzTdjfQBF1NH8DFNceLyd4Tfxyki6HX6asBp5c+eUkXf++FFkNCrnyy0m+4H054WvdPdmGbNnmrN7m7A0GjOOCBPoyUtVooSLfPTWNIVL1cKJCPLJIpkFGKo23qEJ6kEAZTSoNSFZF6lORPAq4QB6xVIKGDKk8RkjmIR3ltiqMhkWOeSryvYazE5CqTYEKjbedrYJUco2ogoGQQF5CqrIVKpIdhgqQ2ZCqfYcKsQWRzG5EcjSmKG5rI4ztitRkH79NhhvLx35o95SRxdvJrnyIh/vLygs76u+unvmh3csDhjftHMcffc2S8SfGtxas3zAQgFKf/xb2VB8T4zjU9lST/EEwCEvYcXxGjAMkdxyTVgtV0DleuEuXYsGRU7t0B6nca8HwGePwuSDDh7eOmEH48N5RaWm6eZQEEb6i1cIXdA5fEbc5Fhw+4yJ8YXCGIEYlhZJkHdBQ6ENVweAGIYQ4KinQUVbhDiWqQc+lUuiTEcpopm6oGuFQYJimQjcY4w5wQYa+yB8Eg3AXhIE2xiE2QQS3aLWwBp0DWsRtjgUH0XgK327JC3cb+qN4EdujeK3eI3Fd2/N0XdvTeF3bI7p67RldvfYsXL32JF6rvxr6/syP4rLzVe5vFz7YjPpq6GOPyz92R0/s6KP1/yvsZkDQdKflNoKf0m4jDKj4NHSDIeoL49QhxlWvmJi7xiTqH+PcSSZwT5kQu8sw9RnO3xQG7r3K7E0q9CPO3acRQY/idH5BiPpWTeYkUS+nx34DD3snob8jp06PIvV8FFX3xxI5B6JOiRBFzoaockpENeZF1Cg50k5uFT1Ok7F93KoIJEzatnwqOKRO2s58oTglUXUzs9IpnYLGOQWbziCjkFI+oUTZhJLKJdRzJqFKeYQSZxFqnEOoxQxChfKHtqzmOHHu1Des5gKQN7Rj8zRRyBnax3mRKeVLZRdnVilXQOFMKVuCIE0MUY4YpwQxrrLDxJwaJlFeGOekMIEzwoSYDoYpF3BjH4WBs6CyrY9U6H/c8nYaEfQ87oK7IER9rvbAkUS9XTB3dbzNgT3OCnU8y9T/LKs04DI5G7gEJQXLnBusc4qwHjOFVUoYkt9VY8rpk2SVRVQIkokUyClSILVIgQxjhRKN5ZxvVILSjlTOPtvDA3nnjDLOBco1F1SWuZrzyzXKLBc4p1zhbHIl5pFzyqCwY48jwllT26/HMmRK2MJ2SgyyI2xru2BGGSE3tbFGWWCc+79cbkL3G6LeN06db1z1vYm5602injfOHW8C97sJsdsNU6/jbQgKA/d55SYEqdDjeAviNCLob7wrcUGIelvdkyCJ+rpg7urySih0tSHqauPU1cZVV5uYu9ok6mrj3NUmcFebELvaMHU1vthNYeCurrzWTSp0Nb7yfBoRdDW+BX1BiLpavQNNEnV1wdTVfwy9PLyS/gf2MLLSu8jii78g4D0xwPbqLzB/wxegv+ILsLzjC6j0ILBZaJm9oQIovkXYI/HkrufpcV1P4zO6HtEzt57RQ8aehfcEexIfuP0B/Xb81FBjmdQfxYdKPSoJiig/vu55euh0oPDEFXB8ft0jeh7dM3rfbc/aeJTr3FYq2MoKtrkm/DgUFFFHe/AJKD4d/wNHxxD91xN8A74/im/A90i8Ad/z9AZ8T+Mb8D2Sb8D3Cr0B3zN6A75n4Q34N5PDWw8nfhRdu0fCmHuePLmn0Y57JN9h6hXy6J6V+AOKDvxmMN9TP4qvNr7JluvCextEb7CXAIlR/oZ6CWgc5W9EL4FC4/9N6CVgYfy/CXPEmzA9vBmmAdc+xhH0hsx/oOUWJfS+IUoB4yoPTMzJYBJlhHGdFiZzbphACWKcsgRvMp8Sonyp3GQmFTLHEKWPcZVDJuZEMomyybhOKZM5r0zg5DIhZli+j25omgPxMZfirFM3zQepPFmF1DNEqWdcpZ6JOfVMotQzrlPPZE49Eyj1jFPq4QP2U0KUepXH66RC6hmi1DOuUs/EnHomUeoZ16lnMqeeCZx6JsTUwxcIKEOmORAfcylOPfX2QJHS+34nUuA0HHnfTxcRKanf99NqJT0r7/tpmVNVv+8nVUxb/UZDRZUpHMpgIkeB0zmqMqljEZHasQAneFQraR4LpWSPckr5KFPipxc9ZJZOa6H8WPtEGhDVtzwOBd5OeB/k20naB/mWn3US5uK8zYtwKp62OCYhfSQ0iz8WRProLr/xWrY/pGvZntG1bM/UtWwv5GvZHtO1bM/4WraHfC3bw3gt2yO6ln03GNmZH8WR9C5ZFvA0Zt6hOQGSo+NdsCFg8d3Rd2g4jmaxETPRA3YN/sRRrQNmugNmogP8Mhy+V8V/luNvF+L+0at2AT78DpIRPkdVaERr7eI8sEpzG93ccH2OvITBq92IKDQqCp+3Xz43fb2889pYpBXNaWtVb3XVW9FTfOmOkqi+XbtjudxhfvHuxVZ0KBq0Ev1De7hAWTd385wZXSzUidN0tbh1Om6diBu/6IySiFunur3Lyb+Jh1s6FI3BV86G8+EG61Iy7bBOAnux3mOdVBGytMs6Ccmf8z7rpFCw0k5rFsCz09UPc+Xe6uqHJfLx2tUPy+zo6eqHOXl74TPR7OTyJpDVGx/tX2X6ptX6N9m/CdXu5YnAOJmLr3rCwOfFEH+NqmWaIUxgG3JhLFRqwnBNzBom0tRhvBbGPIkUJc0kRWhF4TSnmDDaTjW7mFZLido8Y3qtrWnGMaGSGWnuKcJKsVoI0lTkgpyPiiwmpSJ1oniankwY7QI1UZlW64LalGV6rQvy5GVKZdRuBNsqVmu+mtXCBUeY26KSvjPKaZ6Lso57LKOiH0ukPohynv+ingMedQ57VNOMmG7KnEmBZ8eRmzK6iJgp9U0ZrVZmzcpNGS3zDKpvykh1Vg1ZnlOjzDNrVP+DjJKzbCwxnlF5xo3ydxIqzb5RZael+wLR7eRNA/3F9fbkuTnKyZ1J/n7I5WxNJdScHYvwzB3V8U4Rs3jQ81we5Lb6wTyvR/k/iI6c42OJ8YSszvex1HiE8twf5dG8zOuAIK/qynj48sqAZL0+CIXUKiEU6KofzSuGKP8HnStXD7HEeOdWVxKx1HjnilVF1Ec9aVNVtnVlPHR5zfF+WGic+VGcI9/jggKQmCvf08IBaJwV34cFAjC69/0eFgJA4hT3fsKvH72fpDePypMBbGvaIcWcWq13SLGY2592SDHnSOQdUizEmKQdUsQpOpWdReHxCMZJ7yySIkVsZGeRLJFjp3cWSZGjWNlZJNUYT72zSIkU2bFNNvBoCYOrNtkIiQJb3WQj9BxUtclGSBxQuclGaDGYapNNliiQ9R0o5QEcxjDtQGFO0dM7UFjMcUs7UJhzxPIOFBZirNIOFOIUpcrOjfe8PaGuUMBqOzcqsgrfyM6NSgkKZnXnRkXn0FZ2blRUCvTolgVWOexhy0JiFOq8ZSEJKrxyy0LSKKRiy0JSOIxpy0LiFLrKG/7OOVz2xw6eK0bhcoHC5YIKl6s5XK5RuFzgcLnC4XIlhss5hcsECpdxDtfwA+7PM6FQFUyBKliFqWg5SEWhEBXMASqcw1N4DE6hFJoBU2AGSmH5MITkqR+VcACKvyX6IYUBePot0Q/YfED0W6IfQrOBhd8S/YDNdfQitOdF7LkexSsuF17Fo5gKPRL93fPU1z2N/dwjecuqV6j3exZvTvUodu8e+W/E9kdxu0GPSggAhYYAT5sSeloaAsiqC8x6DNjQY0BKCxyVK9szIOU20HlBsZObnJh2jweRTsxGJma4fwM452sj8rUR+Wp3ZBy18Sg3o63UuZV1bnPl+E4KKKLadssEUB5TcG/EOgTvSXjPdaFnu5yNXSX1Opl6XU49vpkAikjKTiRlF5JyOrjeuR/F17Wm6HqAxC6IKbke0LgLYhpcDxjtx5iC6wGJ2x+mE3x1coreBUi8JDkl7wIaX4ecCu8ChV58nKJ3AYqvOE4nuOdnit4FKNr3NHkX8GTCU/QuQGS10+BdwMIEO0XvclSc6qmRvX7qR6VNgOI7m9NkVMDT7wNN2agAx1/amwajAkY/lzdFo/KGtaFAm5uhfgl6SkYFNFdO/xL0NBgVsPhL0FM0KkdmVN4fXSjQ5YaoXzmckiMBzQ3RP2I4DY4ETMQ//kbhnmzDONnm8bxN4/bjYGTDD2V9RCdDZg80gcW7wCDgrV/Adr8XmD+kBOg3bQGWO7WA7Bmks72lPT23I5sqHcWp0jlOlU5tqnTEU6UrPlU6s6nSkU2Vhvply5k1wh8FAosLso/J1LBs/pWyj2hryGj6+xh8DQuW+AOy+Dsrk/sTIMOyzAvRZxrRXH/4hqzS3ka3Nz5bAy7i0Ig4NCoO/MBsz+ZhOM3juOsRbVb+OHglfEcrgtDWGtzqBreiYekZGUg++ADa4zBgoqN9decMV3eeAF0coZ2wl65mJZ22kk5YSXpeBJJymU65TEcugw8tEuOGpMcWSZDNVA8uksYNzo8ukpLaxw8vEmc/xe2Fg1ml7YXMlb2q7YUskdHWtheyzJabthcyJ/MtHB3KGA9JE8iLjcvxaqoYtKbxyDWBfcmEZE6mkFMbjxfRxmnE8jMr/hpVy+TgJrCNuzAWKmXorglXN7EWx+TvJlTjmJy+CGD3hsjzjbPxF6EV35umABNGg6UmA9Nq8ahNC6bX4pXmBxN4kkhPOVkQ00WRcM4wVvNbPXuYOmKraR4xoTKZmF613TytmEK2S48jFeYWqweSSpMBqTySVDKHRT6UVGJqvHgsqSSeeUCDyQcpzT8oqSkI9TwLoUoTEUp6LsISPB2hRjMSSjQpgYQOjJitAjWanVCSRoIFhJegzHaCGjsGaslkUaT5CiWassLz6mAc4km2+L5K1dP0hRrPYEH7TjjVPBZkMZWhPhLuNKGhNhbuNK2BBjMbUprcUOL5DbRWnyPNcqh9L6BqrkN5JGC1GQ+LpAsiFHniQ43nPvX6hNDEDAgqToKIR2YFPRVigXHnTxMiapU5EYuMTQ55ZkQxTg77ncJfLav2R5tw5D+X3h/F+3M9SvfhimXi9xa0yWibP8inMZ7PNVgwnqugTUbb/EE+l/F8rvDOE5ww8E2Fbyvfw+ePYq4EdCVUAehG0q38Bj45SvnU5SUcOG9Bm4y2+YN8OuP5XPYuBZzM2Eawrfgsn8+FfEJ7GwFOaGwj2FZ8lk/oQj4h/M37k0A2iWzTp/hE4m/eDwr+WeuTiDYZbfMH+VTqz1ofpMsdvdxbix3FFxv2ZGHn7I/ihNej+PwfhPjM6nKS3pC4nOCfGLxEBwcknrRdkl8DjU/aLoU7g0JP2i6DFwMLP5x4GTrncoJPFy4x/oBSXa9wOXZeyG3Qb1Vkr9JdiPOAb3NJ/T1pz+Z5wLe5ZOV70i9blG8y4VaV1t92mPIn6y+zq30Izwfaf3H+OyJHWSYtRypeeBv6aqMijrT90UPQtkGj3uaBNlDdaYa5Pjghn8Zv2OQvfciltrkUV1TN0YOkU8Mw17ZwqC3uRKQvfciltrkU11btTCySeuu5VE2+9axErLxeHkT+UCm/rZRPDaotGwZdXbads8ItorXGafqqjTzBgyy7lWW5HZUVSFH9Mi41A6TUDtCwIYA3+iQPuvRWl06NQS23ht91Hmqb3nUmDi3Iyy9DD7nUNpfiGqsV2SClt16HauW3XlmACoslnLMHUW4rynGl5bJu0NLLp0Pl8sunLECtxTrQ2YMotxXluNZybXjQPk0O96NO/SguwnpU7j4BEu9K9Dwt1Xoa35XoEb0R0TN6I6Jn4Y2InsS3PT5BxJ3sxsOiWa/7mx9PC4wfanJD6Y2cA9INzW/kHGh6I6fHuf38Rk7PRPvbeJTrrF6/6bmsYJtrol+/6RVRR3r9pke5Q+gvcn/KS6AnURjoYdW0v77ot1n6kd0fcWQ38QDFLZQHoVxmrwSirzVO3+1cnUDsD5UCnay2O1Sr4sTxb8yJPy+n/7Lc7TASTvwo+sUtjgRE+XLmlkYCUhgJgONVzm0YCcDoWuZ2GAlwlOvcVirYygq2uSY8EkARdWzjVeItjoQB5V3rWqC2VPasV1TR6PqO9UqB3FeV/epa5ejU9qtLua0Ko2GRvV3fjK4LjDarkg61nehapiSpbEQ/qHeT4QaxH0XP6JH4qfKe411gp/Gnynskf6q8V+inyntGP1Xes/BT5XeDDR1WNXdoQ4Cwdj1dhsYuc2OXlcYuZWOXubHLamOXorFL0dhlamy8T7gMTV/mpvNScaDhkfhRRBSEygNxEnM48uNw4jow4mE4CRyi9Cg8YggWXuJTIDhs6hJ/kMKvIh1FRLGr/CYSiTl2+ReRiOvY5d9DYoFjl34OKWKIXfgxpBgIjp264VCk/FsRR0rgOI79UoQsImJa+Z0IqVbiW/mVCC2nWOsfiVAixj3/RIQKZeqD6g9EDAXKrW3oA0MUfeMq7ibmiJtEsTauo2wyx9cEjqwJMab5ccAS7/1TIDiC6t7/QdqtF+hu/57QDfp2OLF/ZBOO/FqpDavoNq+iW7mKLosTrkq6MUocKoU3Rgk95PNsBaKK1h9etvJW45nQuN7pVuNQ03SrUfGHSgW2NU4N+s4TSljfcZvUrcYsQXvoVmOmD/K0W02pHaMPO1u+OXcWMdcfb84N1cSbc4Qe8nm2AlGF649L29Hd/Kxy3UmGJpCyqSoP1aps6wo1j+XcysrG+zbfgmQB2hRuQTJ7ECfbKkZ1H3myXC42+jt65+cRla9hbhsaicddjSTCqVmy/Y3EfZMjCb7TkYSy3ZGw7XmM/DKjK4EqYSiPCjMvj/2SMiTGs4ivc8nrXcNn95mLajSV6jWV6jVjvdTUeyn+sTDSKj3Y1HqwqfXgp4xEh95UMjDeAmP1c0ZzgSrxnI/FbV6P27wSm3ktNvNabP47I1HqdjQGC4EqDV6Mf5H9ZbXI7zISbVxWzrmsJO1ytC7LyvhuBaqcuB3r3bbeu22ld9OfqSO51vltJaxtpYlfBCrTDNnMv3PRlUCVAK0qPbMa7RkRsXXlBOvKCdZVO12Pnlqh0Q90AlXq2o1lS1fPlq6SLXxdxXItW7qaVXR6ItwvNC7ivL/JyN+XN7TNpWyRwRyaT9K3XKNvlQh/q2TDNzEL6b99apiXXXiReRy/YZMRrLnya2ht5TW0tv4a2heo6Ol5If7wy9A2fIRO8EV/9/AttXeHol4Ty+tIh8dt9FWmnrm6aD7dly89/P+H8wtTywf7Vc5RxrbSyVqopvjKlf6YW5jQLK+UFu0hl1hX8MgJ1yMnRGtT6nerM/TFYZithlX8sR/F20IrXLsDEjeJVrRiBxpvDa3COh0Y3fFZweociL0wb2h4Ke4UwGGwnBvZLdoOg3QFyzUg2B7A3hyAQ2uAlMYAKm1xFA9CRzlfhINUz0XtY4PXOdmtqU7sYBkOhm8FMuQbEjwP8CH4Tr5g3M2SPPCwT8HL7b7zzA/CuZx32JwuhaLTXdapLutSl9HsCULuyy735TBXOviKzduGg6HmQLyKAyx31GAoGqLxaJwGpXE1Mk3Mw9MkGqPGeaCawKPVhDhkDdO49RubmBx8u/M8Yh/GRmJiGBbZYVpKEVNinhimnDBOiQGvGDNR47aIi0x0o+ToNzFaQMHuA4UsM4mOYDjagmPhDSZGg7Db1KmD2SoKz35RFDcHI8o54KEnhaLTUVVGIp54sqJTRftKetzJvJJI0Wbg3j6FZptJdB1xy35Qwt9qIkTWk/5SE3NlPfIPNZFE1pP/TBMLbD3przQRJuuhP9J0yjRYT8FuPUZiPhkW+WRayidTYj4ZpowxThkDuxKYKNMo4iIT3ShpPSZG6ynYraeQZSbRegxH63EsrMfEaD32Mn7qYLYe8beR6BPuLkaU9cA7AxSKTkdVWY94YYAVnSraetLbAswriRStB14VoNBsM4nWI94TKEp4eo0GFAW2oaiyGUVVWlIsIowpFmB7imoyqSgnq4oyGVYU2baCSplKWrSwIIKRRU45GkWVqbFEzteoU9ZGkbMzqpyjQa1yaVmhyKLGx0KhrTAWIUMMIthi4MsaJ4uMIhklicouYxEyzSB+qaRXMtCgChsNOvhl5NJS+VUiGVK21/qLRLrEd1KXDXfsLSJdZjS9kwWrV4ik9rUS4m2NkzXXXh866HlrldhSVd5kGD7C129DobTqJw7foPfWrdPkTRy/obLhci3+lHhS8Hukp5ZP6BEhVfhOHxu0hXM42v/NXCbxbqBjcauviB8Smdr910L2fz7+WSRlpiUMM2RUyo3e4Q7uaRYH5XBf+OswzR/M5ivO7YDKhA4ovoPtHF+8dmpvWzvyt6ed+evizso+Zif26rShkghPrU1Rb3Kb/N16QLpNjWxTfHXecW5qI5raiKa28SjXua1UsJUVbHNN0nvtrog6+hvsjnLs6fd2N2XdeG5H8f2+TVghOorLQufpLcBNWAA68lWfM1/qOSvrOye2qDNUEuqJtckXfRtMKEBxG88mJRTwtL7dcEIBjmvdTUgoYLSq3QwJBUe5zm2lgq2sYJtrkn6GxxVRR//RHUdxQb3BhDoE/2GC2/ceMPiA4va9hxR84Ol52wMHH3DcNPcQgg+Mtu9ti6v6kY1mR+aqjsTOli27qtO4h2UbXdUZbcLZoqs6iRtStji9HhmKBZrcKNqytM226lw2SuxI2gZbdSTayhuOtsVW/SjXWe0n2rKtOs010duFttFWncWNQdtgq4Z8+TJEHx9InBCiNqUHEsxVg9UDCZao6fmBBAvcHfxAgjHFIS1dKRaiKOekcUpM5yOxECnqUs5T0ypxShlrQi1OrUCVBsosNrHeEM5n4zqpTa61hdPbeKVvU6LDK9OQ60gpAihRxqOk4oN6DhGqFCWUOBKocceiFscAKhQq9bsaOVj6AzweUKIhEaTxYImBEdQ8NlCuxzKNENRGYtlqWm+7HC2ojzaQxwxKethgiZE28uBBqZ4UPIS+lfXquR3FNfi3sF4FlNfg33i9ChTXq47j0vxbXK86o6X5t7Je9aNc57ZSwVZWsM01SetVV0Qdfb3qKF4rfMOZiBHVP81EiYvGqZkoSbkf0kzEnFubZyISWoEqDZS9pGYiliqVrXRanolYoO5LM9HAy/0qhaiJxqkPnYumm5ib7lLuQ9MoLMa53SZwHxahFajSQNmHJtYbwn1oXPehybW2cB8apz7EX0GqYWpq0Kg/oyZCEQrkcEQ5923QKWRB47gEkfsZxbaCR4Ig+zwUGG8o933QdP+HImNt5TwIGuTCv/73/wO+9kRf\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json ***! + \*****************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJx9WFlv2zgQ/iuGnnYBt5DkS85bmk13g27SoEkPbNEHWqIlIhSpklSuov99R7JIkSLtFyGZjxzN8c0h/4oueF1jpqKz6Mt1K1GJZ4s4S+PZYrvdbqJ59J4zdYNqDAfuXuodp52spdSToZrQl6n0KyZl1Sm/xgVpa5BcKURJfs5KCgdj+F++J8+4uCUqr6IzJVo8jy4qJFCusLjD3d27BucE0cGYd+/4c3T2/U2SxfM36XYxT+JtDI8k/jGPPrMCC0oYvuWSKMJZdPYmiWMLuK9I/sCwlNHZCuRfsJD9sSiOk7dxnMFbbrgieefGBW9eROfA7I/8z1myzVbz7rnpn9vuCW/unpvZecF3eHb3IhWu5eyK5Vw0XCCFi7ezc0pnvRo5E1hi8QhCeM0lHCoIK+/yCvdR67zrfd2THPA7VfzzNTrbpv2fX+BPeH8fm2usBMnBg++/oq/forO08+QGNMgGgeG/5wfxYrE4iPFzTlFt5JtkkLeMPIL/EFoNreJBE2vrXReako3YcqvVEXCTKWJdzPS7Gizyjk/mZZvsAKC66d7FCgMtF4NC2eaVqpDyLW+QwIzi/TGoD6tvPQL7BJEPNVKVb39DW2mkJnY5FALyD9eEhU6DL4SPrqTaS0mRrHyDXrHgvpQz7AvVU+CkqgQOnN3zVgSkkFVfKslzQIgfMfPFOBxWRiyDjcs5p5wFIoFr4kImprQrP59WP1ubiVpcCgxlNLq5XC4PwM8Wy77EvSs5ZyU0EpuFaXqAzmlTjVlerzcH8TuskH/4oiLj0WQQ/oWpdXadJAfxZSOJ7exmPfD01lYSD8K/kU0288JLS7Mh+hW337dINCPA5MRX8QE1jXU8Wx/E/6J6V4zyLBtCdd36Km4Cso+QTOG4N6T5dvRusxxsu6/scK5Wgw2fKovZ20HxHSnrQDjv0WjEejvw7/MkxmMD6ZQkvnEfa1xayperg/ibZfN2kN1K4lvxHw4lZAfD6QErpy1lOt2QF4H3XATa8HDP7VnrVWY6SoNZQfKWokBRt90Ak7mt2GACwTVE8bNPE+Tw3VTIzkmQqRuLqsvtUGaFw3cTcjzJxSod3tjYSnQgS4fvpgyc8KaDZuLwXR8FtYlv8YPD9rHBuGxfbQYG1q1vL2v9+3zC9nF0EF+BqoLBFBbbjRfSYbsJprLYboxtpx1Fj23esXoMhqlx7rB9uR2OPxP/aCMDmX61/Vhm8cha7HA91bzbWUR1z0/m8tLUKSyJ1qWNHqeXrTUf16lb76Or6XIzTmWFA4mHyeLOkUS3+H23UpJQPAnbE0bUS2CSUi6IdWM13Mhpu/OlBUE1t/YbA1QYCeWLYVsrRh+SeDm0RCQEf9pxa3Xpds4RcpJhqNVDbXPkzqTpOJcK/mT1VO17gUtn57C3J3cpMlUucW77Px3hRwZ83VJFGvriJ6YRHJboLmnWPUNXWAC7FbQg+/0IrjUL4RMFBxhYkEdSBLxiXB0xD8TkEZorywPXoP0I/jxhXGzWKEoJUFgeiTvs3srq2eO9Hq2Aeq92S9eDIgeYwIeawKoVY+KyVOumuBmpY0r+CgrgQVn7ohl9n6aIoc4TJjB0lEDWvmaGa05ETrGfPRd3lm1jI64b9SKtBJlbhAFTgEhuqWoUvlhCFdwRBW613cNWqnGYyDAdj+OQfdnugpBWHUa14jAKbbN2tlDrfR6mXUT9p7F3peyGvHNBb0UCl933GHgmyN6Hc/0R6+KZxiG7Ba6ReJjg6RiAos0DpTRsHWNz1s284Mr58DI+UF52N8B7vyIGzP4+nGJcWLXiNMtiR0/0S0BPtExAj3ZNwE42zh11e6duTZS/YlZaK6DebfrkOsb4aURMnsqiA+viHpPowDrwsoX1y6moRTZ20cMXtmpOgFYf8sGd8kFrRw4ptuCQagu2lJvwmpXEUu2DNSlOoEf12vY4aXOZkG6WY8OC4hzrwHRcjVhWepjd4KdYKK7jrx5H89WjRxPWoycydlS3jZ/I2VS/G9yp9gB6PG1T1aY4YAp3LfPHPPqABbtFRHS/jf34/T82FAfb\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json": +/*!*********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json ***! + \*********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnVtzG0eShf8KA0+7EfKseJXkN9nj0Vj0yNaNEHZiHkCySWEJsmmAIA1PzH/fRqMr8+TJU9CLQv2dYqMrK/NU9Q349+jH9va2uXsYfT86+8dqOb1u9o72Tw5P9o4PTk72R89Gf2vvHt5Nb5uuwafZbbP87od2frnhq/kc+V7h09vZfI1KB8fN7Prr5jOGRj8/TOezi9d31/Ou1fNue/m32R/N5W+zh4uvo+8fFqvm2ejHr9PF9OKhWXxsNn/50x8Pzd1lc/mhvZ3eDcf1ww/tH6Pv//nd/snLZ98d7L98tv/8+fNnrw6P//Vs9LlrvJjP7prf2uXsYdbejb7/rpNB+PR1dnFz1yyXo++PO37WLJZ9s9Hz5wd/6XbUfci79mF2senIj+39erHpw95/Xfz33v6rl8fPNv++6P99tfn31fP+38P+3xd7ry/b82bv43r50Nwu936+u2gX9+1i+tBc/mVv7/V8vvdhs7fl3odm2SweO7oN4my5N917WEwvm9vp4mavvdr7ZXbXPqzvm+/+3nR/9frN3vTu8n/axd6s++Pl6nw5u5xNF7Nm+ZfucH/qPuZydnf98eJr08e/P4qPD92fTBeXRe0a/ji9//swJCcvTp6NvpSto5P9Z6PXy4tNqBed+PLw2eivjW13QX7xbPTx4fLv467tUf/fs+6/+4evtgP2j+ZhMbvoIvrPf4/GX0bfH2wi+647kuX9tAvkf55t8eHh4RY3f1zMp7fGj4+Pt/z3VduF6nzuyvNhR3er2/PNSF3fZe2ync+nC+N9NvTCfbO42CR5UV6Wz5/edtKyi08+tP4Q+jHP2v100dzNm6uaFP/Mjm+63OxxeePKi3KA89XSqAXtoqvNaf6Ir+v7r81dbt51ZdZ6Tw5evBxiP58uv+aj+bNZtJm2d02GD0+i5cPXRSPaXrWrhaCzR9F2OftDwOaxEYPb6Jjeze5EXl208/Yu42VzO4uSjcB8YwSJNr+vpvOMrxdNV8qim7+vmmVvNkV5dVjG3o/9xcHBlr02dHLyYot+yK1+zOiv+Q9/crS/v0V/8z8sqfAmo797mDon69HPuWNv8x+e5oP4xfu9cYcN+kc++nd5X7/mo/8tt3qf9/UBvONkiz7m4/qU//BzRmfCOca52ZeMJvkj/zdn33k3n900D8E3rEjPOy0WKv8dmcrL/WIqF7PZxWxxsbrNw7ba+Paym3xEjfQGFw7GjSpH9dzQURnai9zqMrcSn3yVP/E67+trDtIs7+v/8h/e5D/0Gjbrv81/KFynza3uM/o9d9vNwcpqmY/+Ie9rlQ/iMWfcU24lrHSdj+tPP4hXR55fMREODp6XrFxU2lM2HjyHbHyYzS+rk/1l+yTiHKZnnwoe+qWaJ8d+Ka+rzdoQjdb7rCaPq3m7mAm+bCp7uVgtunn8Yp1TqS+b5axfuwr/365bdFldr2adcts+6KXDRu53/A2ZQl8S52ommFhBdWs5uR64nF5fqzlty3ExRiuOzdg1i8Zr//io6N0S/noxvQdTK3963p0/NKKXHt7z6XJHhHerlQWYDUDU3e67NfbsfjlbCqnr68PXdhUWi2neD8ntI7eYPop6mF6sHtTapffyq3nzR9YqlXU7vVio9c75olEffNk+TC9Cxbk060YSA2DKAuvQD7a57EKqFqmru+vpYnU7n67Ex7TX3TrzRuxuiv2AcbkNOevCa1/3HJpnLy6vuoVeWBn6EiVOsr4Cidw/4Vf4hEP/hNvO6VZz/Ajz5qkzc43LTdEvl7OszCvL85YOtOy9hbQvZd7VZ3dW3OU9jJst5tKQ+tQcM9Cn/5g3PjXJQfXdxdHz1VE6AltIX84eZ5cihJN4ZL5iFsXhh135o8+7/mhNVWiTdX/yRWUCXc279M8LpeI4h8GOnOrB/4ZGyEaC/sBPA9KH+ElD5xFwFhLPMqmjL45eFHG48CE+ilzH14UxD7yXOi7v1AF4edRyNJqqL/Vld+xcqra3aKwQzmyVniGhm8DJE335Gj/9qCyo5u2fzd21yNwPVFF2Gqc66cmxs0h2Ze7r2pAu4oHAUFNf/fwnR85O7T59bReiV7/Sp3sYKlXwMfKTF0P7y4oRfaYP8IjFyS1c4Viu+lXOQhxvTEGPYo2TrRYTvF3NH2b387U4LuqgJ3kcjpJI3XrrYTadX86uxCnWum4N7+LneMKKZPHa2JlmO2adunRRGei7mg3WMuZdpTZ/ph3h9bduxYAX4ewUaNHeNHd4ImTmuGiuZ8u49PUSpbWXT8e5LuxsZNVVdTgf8WDHnPLCrBhaS5Hxuqyk1P+SaR+9KmvX/lJXvBBmcf7pQaxQfqwa4FxOqvvDaD5UTKapzo414XVt+bAjKysB/rNWGvzZ5gq1EalNPbx4t3mk9sm5ju2zdy5LaMbcL+uCZv4gLvg8BJN2T3xqdzhiXuKU3d2uRE/iEXmo5DrTa4FC71ef4grnxTH6eJfAiy6RxaF9TCcxNjFX5t9Tlcd+ihEHzk8l7MaOMsX6QuNnOn80XqvxX+iwSxy6qH2dzmFqKEW+OTWhS902FsrlzZfjsslT7RsDSOsgCwLPz3beHs0UOzQMqxrVqZzrP8oFomWwPsWxayGdTaibHm1lyv+xchAryvwyEF2CzC6U0f614o2Lncvdd3F8/HAr4/Zhd17v/KzXlX2+rpp0PB2wEYj7cSMWE6cvRSrTfc0pbuQC2hZkYSXge9tZCnQIdsVm5yfN2+vNeN+14mJVWzfTVZZKBnW7qlTytTwSu8ICM7nHvJK+d2pXfv3lLi+a3fNrNf7TanM78l/PRqfN4u636WyxuYv8z9Hrze3q0bPvjo//9WzY2rpHQNvjjGgwdYRv4tbWVQLCjqHwa7d15FvlEABBcgRuQxXotv4DCs4TlCFkgW2vDgW0LRxE78PWp27rlW+VmCEKvXfh8yYWz23LBsBR6D1w6D3Q0ntA1HtQrPfAhroOrLcTJGfd1r53f7zZPDR1stl87pulU8jg6AHfd5sHtlt4TuDZdy+OCl6FQ1nlkK0qIVvJkK1yyFbVkK1EyFYiZKsUssfY06dNFtjWOnRwXboECA59oEMjLGFDVMfGqZidc0UX5Y1AVNvGZYEXFarcEJW6cVXvJuaiN4kq37guf5PZA0wgIzBOblD4+4zAFwyROThXDlFUsAlDlPjGVfabmEvAJKoD47oYTOaKMIHLwoRYGwWjpxSGxlIYuosxthgThM8UDcymIOU4RVvlQ2bvMb5rCIQLmVQZgoofmVwbguRMJugheBRRAqMqaJ2Dw5ZlPPvWYB/oW4bIt4yTbzln3yrKG4HIt4xL3yoq+JYh8i3jyrdMzL5lEvmWce1bJrNvmUC+ZZx8q/D3GYFvGSLfcq58q6jgW4aoaIyrojExF41JVDTGddGYzEVjAheNCbFoCkbfKgx9qzD0LWPsWyYI3yoa+FZByreKtsqHzL5lfNcQCN8yqTIEFd8yuTYEybdM0EPwKKIEvlXQOgeHfct49i2MDZpX5ORgUSQbI5G9LMhvapxcLYrS2kIT8LfIyeSiqJwutsh2F3XyvChq44tt2P2iShYYRfLBIL6vcHDEyMkWSVTeGJqAQUZOJRpFVaexRS7WqFPFRlGXbWzDtRtVLuCoxioOGrppENBSg4C+GgU216gKhw0NwGYDV14bGqwqXWPXjeI3h1T4b9R3DWnFiWObnUOaPDmqO4b0sRZhsOjA15XAsllHMTu2E/RrpOTWKJFXB4mdGsQ3mpJLoyQ9GhqAQyMlf0ZJuTPq2ZtRJWdGSfsytmBXRo08GSVyZJDeSwpujJS8OEjKiaEB+DBSKlmUVMGinssVVSpWlHSpYgsuVNS4TFGLRQoKui5g9FzA6LiI2W9RE24LMngtUOW0IK9kV9hlUfrGkAmHRbU+ZBV3xRY7hiw5K2rVIXvUkQRPBbqWAWQ/RSm76dB9tFJD5KPGyUSds4MW5Y1A5J3GpXEWFVzTEFmmceWXJmazNImc0ri2SZPZI00ggzRO7lj4+4zAFw2RKTpXjlhUsENDVFjGVVWZmEvKJKon47qYTOZKMoHLyIRYQwWj5xWGhlcYup0xtjoThM8VDUyuIOVwRVvlQ2ZvM75rCISrmVQZgoqfmVwbguRkJugheBRRAgMraJ2Dw9ZlPPtWOVg0LmfkXC6QdYHA3mXSG8XIvVyQ9mUy+JczMjAXlIO5mi3MNfIwF7SJuc4u5grZmAvkYya8FwyczBlZGQjKy0wGM3NGpeSCqiVXczG5RtXkgi4n17meXOGCciVWlHF0NYNoawbR1xyysbkinM1EsDZjyttMXIlDZ3dzYeeQCH9zrTYkFYdzvTokyeNcqQzJo4oY2JyxtQgUG50L2enKkaHTOSOnc4GcDgR2OpPeKEZO54J0OpPB6ZyR07mgnM7V7HSukdO5oJ3OdXY6V8jpXCCnM+G9YOB0zsjpQFBOZzI4nTMqKxdUWbmay8o1KisXdFm5zmXlCpeVK7GsjKPTGUSnM4hO55CdzhXhdCaC0xlTTmfiShw6O50LO4dEOJ1rtSGpOJ3r1SFJTudKZUgeVcTA6YxtnO6QAmVOlwTo9qAthi9bcTsphFyuYPI4w+xwg/AmE3K3gqW3DSI4WyHkawUrVyta9rSikKMVrP2sqOxmhZOXFUxONuD3iYCLFUIeZlg52CCCfxVCpVKwKpSi5TIpChVJwbpEisoFUjiXR+GxOAaKbjUg9KoBoVMVxD5VuHCpQQKPGohyqEFapUNldyp4R8iFMxVFh7ziSkWthDw5UuEy5I85MuBFA1mngPCKq+C83hpqA23IEPmQcTIi5+xERXkjEHmRcWlGRQU3MkR2ZFz5kYnZkEwiRzKuLclk9iQTyJSMkysV/j4j8CVDZEzOlTMVFazJEBWKcVUpJuZSMYlqxbguFpO5WkzgcjEh1kvB6FGFoUkVhi5ljG3KBOFTRQOjKkg5VdFW+ZDZq4zvGgLhViZVhqDiVybXhiA5lgl6CB5FlMC0Clrn4LBtGU++9UNHX2/WUs9ty5ZejorHAAoxBY7rM6clkoAsSsAsQMCG2AApBe/ocx8p2/L0MxQOF3hISKPlcAHRmINiHQFmHQE2dGRL/lrifmxbFndHFndHMe7OMe5OLe6OPO7OPO7OStydWNwNbUziyPozDluTuGWziyOcO4wO367XecEWDf6MwTJEETNOYTOuYmdiDqBJFEXjHEoTOJ4mxKAapsgWDuEtaJzRRCCKtvEc8iKluPfveMa4F8RxL5zjXriMexFF3IvEcS88xb0IKe5FoLgXzHEfOMZ9QOOMJgJx3AsXcR8kivvfhpC/8q2yT0Al0IBCjIHDJwMtkQVkQQVm8QQ2hBJIiaKjqc3l/VbpAaDSA0ChB8ChB0BLDwBZD4BZD4ANPQBSeuBo+52gXZ8OCol6k/vUlKUkIt2nRvYJXk4OOHe1EV1tRFfbuJWPua0cYCsPsM1H0tK8CIo4xras4QHl2FtJ7G/nyrdhjfI2r1He5jXK28oa5a1co7zNa5S3Yo3yVqxR3qY1ytu8Rnk71MT+sW3ZGsVR6QGguGxxjssWp7ZsceSLE2e+OHFWFidOSg8c0VbugVUAIt2DRvYgVADg3LFGdKwRHWvjVj7mtnKArTzANh8JVwAo4hitAgDlSNOksEGr0GCVO7KqdGQlO7LKHeHTGlBER1Yi2KuQRaej7XWGbQn0W7FseyRqtOepRnsaa7RHdNSgUPX2rIQfUCzV02D1p9nqT7PVn1as/lRa/am2+tNs9afC6k+F1Z8Gqz/NVn9asfpTafWn2epPq1Z/Kqz+NFv9abb605DVpzmrTytZfSqz+jRn9Wk1q09FVp+KrD6VWb054z7yrXjhrEfpslj4KpNQFyRQiZCqqoWa5MKhBlRDpOpyokZcWSRTkZFK9RZVSA8SKKNJpYJkVaQ+NclVwA1yxVILKhlSuUZI5pKOclsVdoZF1jw1+VbH2QlI1aZAjXb3na2CVHKNqIKBkEBeQqqyFWqSHYYakNmQqn2HGrEFkcxuRHI0piiCR5FAdkVqcq5fRsOF8wPbsmvmgOLlchPOwtY4bE3ilp3nOsKTV6Pxy4fLGsmUgoeTh1+GWBxbZywAgPAi8JaGt/YPIqL+197aj+pZRuOMJgJRYNTr7CRVQiTfbC9xwhe6KQYcMfVC9yDFbILgkUAhZFUFMrY5qwnjmjCpChRgUnOYY4NKsEUjDnmuWBlFDn+9YocGg59i+A1R4J2rkBf1LKNxRhOBKLTGc1CLVAlnkDmQRVznGHDwjKewvRttLzNsP7DfssnVkV24chQnWec4szq16dSRT4/OfD3grFy4cmJz4xaVwnwtEPXFOHXIuOqViblrJlH/jHMnTeCemhC7a5j6jDcIGFGf0w0C5qrP6gYBS9TnfIOABe4z3yBgzH0ODvC6KnD/o8pRiKqMRWwiIhIbcFyimqIT5RSjKFOkokjxKvc/XwtEMTJO0TGu4mJijohJFAvjHAUTuP8mxJ4bjn3+dejukW/FmxO/YicBxcc9nKdbGL9irwD5AxzOrC/Ahm4AsSc5DH2KW2XyQhTmLRc2U9axbY3D1pfQchI0m7EApUcEfkWjPSJEYU5Gy1wFXBktSxT6bLQs8CCw0TKm4cAVMSMamMqKmNSzHM9xRl/yH05yKx42tUgepPCmOAxg5DSKUaShjKIaz9giD2rUaWSjyMMbVR7jqMaBjhqNdvrCC8lp3Hd94YVqclYZlXGFf6nsZ1Jpz1lR/dKHQYeXXiExkFJaoERJgZJKCdRzQqBK6YASJwNqnAqoxURAhdKA3rMXlFKg/p59bnAmIz+W9Ivcw0S25WGvvHs+qOV1QRhxQzTcxmmsjauBNjGPskk0xMZ5fE3gwTUhjqxhGlZ8R5gRDWjlHWFSz3I8xxl9yX84ya14+NT7tIMUL7LhELJCI8kyDSjLaly5TR5ebkGjzDIPNus85qzHoWeVMoDkT3WF8iHJKi2o0Vl1xMZV5Ut1b5Pq33DmsJwTyF6hg9RxRknjAqWLCypRXM0p4holhwucFq5wQrgSU8E5JUF4wzYxGvjaG7Ysn4nojgX7Iv52ItrxoMq3UAetXN2B0TREg2mcxtK4GkoT80iaRANpnMfRBB5GE+IoGqZBxKt9jGgIK1f7SD3L8Rxn9CX/4SS34sFTFwAHCU/SjwjR2KWTdOZq7NRJOks0dvkknQUeOz5JZ0xjh28mMKKxq7yZQOpZjuc4oy/5Dye5FY+deop/K/02DNv2mfLfcMQAlcECFMYJeHpO/TccHUA2MMBsTIANwwGkjISj/gkt648/oeXIntByJB4s73l6sLyn8cHyHtHj4z2jx8d7Fh4f74k9N2QoPrW4IX5BqN+KF7t6ZHfOAeVLXD1PV7e2FG+MO47Xu3pEl7p6Rle5NqyNW/mY28oBtvIA23wk6a61K+IY/f60o3ixbYP4qcX3I3wvod+KGdUjkT49T+nT05g+PZLvJfQKJVbPKLF6FhLr/Sg9ffZhhM+r9FvxIZUeiSdTep4eR+lpfAalR/LBk16hp016Fh8x6VF8ruRDcNUP2VA/1Lz0wzBwvp/Pub+fK/39LPv7OfeXBw4U0d/P9NTpBxg4J735H5etje8f2tYkbsVH+D+Qqw+0XESD0TdEITGu4mJiDo5JFCHjOkwmc6xMoAQxTlmSL2o6onzZeVHT1M9535w+xnfFSiSSSZVYVVLK5FqsUnKZEDMsXLeNGTLOSTMRiLJOXaQdpHLnC1LPEIXTuAqniTmcJlE4jetwmszhNIFSzzilXuGQeoYo9Zyr1Cvq57xvTj3ju2IlUs+kSqwqqWdyLVYp9UyIqYdvRB3HDBnnpJkIRKmn3ogqUuVJTRY4tN98UpObiDDvelKT1UrIdz6pyTKn6q4nNUnFtNXP9lRUmcKhzefaZ6Z0juq3Y65SOzbYGfNamsdGu2OeUz7KlPjpoadjlaXjWvpOqgIXRPWhp22DbrjhxbR+y57tcRRfTOuReDGt5+nFtJ7GF9N6RC+m9YxeTOtZeDGtJ/HFtE9DNe+/tC1bkDuKC3LnuCB3agtyR7wgd8UX5M7sdRBHdlpnyE/p+q34TFWP7EsgHMWX3p3jybtTe9Xdkb/G7szj7qzE3Unpgf/hRTuHs/Qt2Z6qOoldanIv7VQVUcgu57KX4VQVGufON6Lzjej81/X91yYe0iwM3Syn2MxPwoy1YRdt7ntb6Sie8gK1MnJEeQmKF5izkpeArJoM2YmiF9giDOkiXgXqURlERGFKcGHZ3M5y5qzCMaxyrFaVWK1krFY5VvzsNigiViuRF6tUFE+hD/6dV/2WebGj9D1XZVpFF04PujEnP9YPurGYnTk96MacPTo/6MZCdOv0oBtx8O10GsBcObg6DWCJvLx2GsAyu3o6DWBO/l44mLwhym3jZPfGleebmC3RJDJA4+yCJnDKmxDz3jDNCIVTcTsOc0PBIhI8SxinqcK5sAYT6xFSM4dpleilOcSEWvR4Nil8lrOF5xXjPLkUoc275WnG+K4giQnHJHJS49pOTWZPNYEmIeM0ExXO01Hhi5xKPDEZp9nJuZqiiirmqSKt8mHyjGV8V9jF3GVSJeyVWczkWtjTfGaCLu6n3GuY3gzRHGdcTHTp6eYyoPrpZq3y1Lfj6WbdREyD+ulmraYpsfJ0s5ZpetRPN0sVp0p9wUKrctqsXrDQDXgK3XnBQjdK06m+YKFVnlqDihNsFLggo8qTbVTllBubiGklNuAJJKppGolyqtYoU81GkafloLKjkRin6Pgya+0D03QdVZ60SVX2GJt8K9JyGo8tdo5FntKjvHss0vQe1Fktb9NUH9U04Qe5rX1cmvyj+u1gq4VAbMDzUlQrs1NslOaoKPMCIaq8TAhqWiwEdVFL7bRwiCovH0iVi4jQRi0lQoNVrUNpWRHVbw+oWmLEBjsHtLbciI12D2heekR5l5k91SKGi5Eo8JIkqmlh8nlYjZw8t62yB0BlugAUYg8cPgFoiTIgixowCxWwIT5ASg04Ks59bMRKYUD4cssJIepwermFueq6ermFJQpCfrmFBQ4Hv9zCmAJTOEWnYA5ReofkRHEKln6HRIoqbNV3SKROAay8QyJVDqV8h0RqFNQgUmSDxuGl9zBOMqXQqvcwhKTCWnkPQ6gUUvkehtA4nOI9DKFQKEGiQILCYcQ3G04IUQDTmw3MVejUmw0sUdDymw0scLj4zQbGFKjCKUoFc4jECwQnWqGA1V4gqMgqfDteIKi0oGBWXyCo6BzaygsEFZUCTTLFm1QOe3js/oQZhTo/dp8EFV752H3SKKTisfukcBjTY/eJU+hMoKAZ53DZz19AuJxRuFygcLmgwuVqDpdrFC4XOFyucLhcieFyTuEygcLlv8NC4Rq+pR+CVQiFqmAKVMEqTEXLQSoKhahgDlDhHJ7CY3AKpdAMmAJTfvohhuVsCMn+9ob+GcYDmT3kDCxeHAIBLwkBtgtBwPzKDkA/ewVYnkgFZFd2nG1+DOHQema/gwAonm+54L9+0G/ZywWOxG8e9Dx9O1JP4y8d9Ej+yEGv0O8b9Cz+tEGP4q8abJBfv+q34ulej+ySpyNx2tfzdK7X03iC1yM6YesZnaX1LJya9SSefp+N/IoSkm3i7h+8Kqgf5ec2Vv41o8DKaXZg8UlqF8Kj1IDxq0aB+zPWzuBRaofwLLVBu8SzPRPdoM11ncMXtmXnnI7iY0vO8QTUqT2g5MgfOHLmTxkZa+OxtiKybS2KrY5iK6KVvhAVJBVI/0pUYP5ugzF/wN5rAi+XeFat4lauFHU1pOeyLFa5LPTFjl4RBcOXNXoWCmZcvHn7yP04eDMw82ZgcchAwCEDbEMGzMcFoCc4wOLNgGysnPU3IXwrvvgwTg4LPL34MEaHBSRffBgHhwXmOWYovj4zHhz25Ni2bLHgyBYKjuIiwTkuEJza4sCRLwyc+aLAWVkQOLHFgKFSC8dA8JWg8WCw/hdN7qXZKyLdy0b2Mngr4Nz5RnS+EZ03X9262XiE18vHo3SRfDzKV8bHgwW+sL2aAwKKb6Q5xzfSnNobaY4oL0Hxd9WclbwEZC+mGfJr1TaIaHw+2P6jOGM0PkDip3DGZHxA4w/gjIXxgUI/ezMOxgcs/NjNhmwu0J74Vlyj9ygttifFL/d90zIAmPklsOg8IKD1ADbvAeYWA9DzDWDxS0BmPM76p8yPbSs+mztJfgk8Pag7Qb8ExI8uu0I/pzFBvwQUfyxjMvjlS98qRw2oxB9Q6Ahw6AjQ0hFAdrjALPTAhsgDKT1wFNcOk+SXk8Ev9/f3bdPzzJktSJHFPHMBrQQorkehtVmMIzcSZ5B8BumG42SEq9HJKK1GJ6O8cJwMrgm7bUUE2lpvw8IRsFeVM57SQYKCc2iTOjAvLmNkn5ORWjdORrhunIzSunGS7BN4WjdORmndOBH2CQqtGyejvG6cjHjdOLH7GeAn6WZNEtgW9e2apAqDTDdskpCsMt+ySQqZZrppwwLYZ35BkbgyUvmCIklkqdUXFElmc80vKBInmy0cvNYQGa5xcl3jynpNzP5rEpmwcXZiE9iOTYiebJiM2W/GhQrle3SEseqNsVWZwI7tgjIyU7N3uyQM3ERyceNs5SYkPy8Km3rh4OyGyN6Ns8cXoRWfl9zehJ2RUr5vGpu/CZUZwPQ0DZjCc4EJPCGkW7oURzE1FGklEE0SxtVMYWKeLkyiOcO4njhM5tnDBJ5CTIjzCN1xLQarbrkqjSeU6k1X1UBMK+q2q9LS5CJvvCqRphh161VoMNEgpbkGJTXdoJ5nHFRp0kFJzzvYgqce1Gj2QYkmIJBgDkJK0xBKNBOhpCYj1PN8hCpNSSjxrIQaT0yoxbkJFZqewr34YBTiLn1W0IwQs8+ixrNV0JQNY4M8ZwVVTFuo08yFEk9eqKX5C0SewkCCWQwpTWQo8VwGWqs/Ps1oqH0rmmpeQ5mnNtQqsxs2SRMcijzHocbTnHosJIdbTHagrjSlKQ8lNeuhnic+VGnuQ0lPf9iCZ0DUeBJELcyDXcX2P7u8/a2Z4myIBkdDFB5lAg6fArQ8iQLI7vsDs5vbwOC37AeCPxW9Refd1vmoXNU+x+E/MrQZ2APfKgMKSHzD0jkNIND4DUvnYsBAoW9YOg8DBCx8zfn50Mntb90M5pp+K+Ioq0XaXiTtwtA/KLrdzeXF8COsjprwOQ0mwIDKiyuIOAEGTglQqBsuYsyLAYW8GFjIiy27gunGSfcx82a5nNlMfjXY64FttXHL0sCR+P2oKzJBoPGXoq6E5YFCvwl1hQYHKP760xXms/eV8mB7afmKUmCbAdd5D9elpplXnhjfquX3RmDL5hVHOFv0dFaGrj/GWUiwLcrZtOWcTVsa0maLYtpsWUybnt2UtYhvxft0N2HlASjfuruhdQbScJ/dcLyjdxOWE8DoC8tuyqx+bFsx6Dd5DneeBuMmzNiO5G933cT52Vn8Sc+bMBsbWsetfNQ5VW7yWzVDFCpv1WiVRnDXWzW6SR7XHW/V6BY02rW3arTMOZDfcJHx4szY9YaLbvKtEeHU2f2Gi27ECVV5w0WrlGb5vQct7AxMzsNiJdv1wx1a1oBwTiwo7BQEXLJsURtsqS3z8XYrG6QhaFXxzMihvfRSpNA2O6whaEUPvD5WFfgbYdTOoF350tzHjKAVBpaQtyqTWFo6bWfHKEet/MW8uSqPSm/3yUK0I1bjd6iyKuyImyQ74gbRbFgls2GZzIbl8GWZLMYnSnpVB2tHpHaE6Vsx2h2gHdHZFZpdcakH5dsRgf9/d3Jo6pByI//60YiHFbvSQsqKXS70ny3i2U/UytwptfB0qWjhD+5FHC9mRK18oNS6mXg+n9bU+LCraHE/vegv5Bwl6dE60AVpdLEZsJe2FZ+s6ZEtKQDZwQEM18AWZQ1jepN33eRd0xLFOeY5UFyMOI6vpi/issMZPTO0YZ7a/VYszB7F0LtATy1tkM/0/VaciXtkAQAU9+9CnP8XZTVkh97mALeVaLYymm0OW1rWuCIC2sYX9hdh1WLoPoTNT7SeG/s9tPcprlQvJq0h6r1xyjHnnMP6jqNhsW9O6Xy/kbkYDnW3MUk5zdPNRuY8PuJmYxSuc5w5/43LIkg3LYdKKBwS3RDVhHEqDOeqOkylEgl3OmNnuVgq9zlJrA8R1071JifJtVHiUsp3OCO/z8OQKqsIv+c/hxqz72XyVoYoaMYp351zjfGXPg01hl/6RC25xtKXPiUuBlB96VOSco2lL31izqOXv/SJhOscZ64x47LG0rdHDTVWONSMIaox41RjzlWNmUo1hl85RZ3lGtNfOcVifYi4xmpfOcVybZS4xtJXThG/z8OQaqwIv+c/xxqLX68CbaPAAYwqVwCpqfbkd7qUCsxXn9RfpWqsXH3Sqhr2+tUn3UBUaeXqk1RTLtSuPin5ujaCqYajqitZf11MqeegYpVGgWs7qlzhpMo6j2242vPVOBWoVPm7rsbJJt9KhOQFu6/GyUa7cyG5Q+VqnFLva8Oc/SLIv9d26N4xnNj1Fxm2l2qMlKATtq+0iji+HBA1fEEgKvaSQMT+OkDk/kpA5OW1gEjtG6oC/jQqr3MasRNnwuIV0CJuvk37KOx3nNpM0mdPdEwnKUDdAMFPCvVb8XpPj6JN9Ehc3+l5uq7T03g9p0d0HadndP2mZ+G6TU/i9ZpHmBS8T1Fvcp/ojsNjNnrnsk/ihsJj8HFHoqt8v+Cx2JJv5WPmFx+NywNs85Hktx5NEcfYxvfRHoN9GDJreNGjpzQcT6FrT7lrT5WuPcmuPeWuPVW79iS69pS79pS79pS7tk5dW4dMW+dMW+dMW1cybS0zba0zbZ0zbS0ybS0ybT3Ce+prHA5A4p76moYDaLynvhbDAQrdU1/jcACK99TXYjj4wscwJuHCR2zJo5MvfDAX4yQvfLCURyxf+CDOYycufEQBRjFdHmCuxlNdHmCJRrZ2eYBlHuN0eYA5jXa6FjAMuXh2cRh1fnYxteexl08uCklkQOW5RaXmPFCPLQqJs0E/tpg0yAn1MKGQVGZUHiUUKuXHjgcJRQvOEvUYoZAoV9RDhF26/Os//w8s8zdF\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json": +/*!***************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json ***! + \***************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnV9TG0myxb8K0U/3RjC7NgZj5o0ZZnYGz5pZGyH3bsyDEA3oImhWfxCajf3ut1Xqyjx5Mkt+cbh/p9RdlZV1qrrVJf5T/dg+PjZPi+r76urvy/nortk7PPpwfLh39P7DyUm1X/3cPi0+jR6brsDl5LGZf/dDO735dTGaTsYbdTmdorq3UfdUHj1Opmss0MFhM7m731xwU7Y73pY+fbqbdqW+e3vUkfnPk9fm5vfJYnxffb+YLZv96sf70Ww0XjSzL83msz+9Lpqnm+bmc/s4euqr+cMP7Wv1/b++O3jzZv+7g7cf9k9O3u+fHLz9Y78adGVn08lT83s7nywm7dPmSl0xFS7vJ+OHp2Y+r74/6vhVM5unYtWbNwd/efPmTXeNT+1iMt605Mf2eT3bNGLvf8b/u/f25MPR/ubf4/Tvyebfkzfp33fp3+O905v2utn7sp4vmsf53q9P43b23M5Gi+bmL3t7p9Pp3ufN2eZ7n5t5M3vp6DaYk/neaG8xG900j6PZw157u/fb5KldrJ+b735puk+d/m1v9HTz13a2N+k+PF9ezyc3k9Fs0sz/0lX3p+4yN5Onuy/j+yZ1QKrFl0X3kdHsJqtdwR9Hz7/0ffL+/cl+9TUfHb4/2K9O5+NNpGed+OHdfnXWyHEX4+P96svi5pdhV/Yg/feq++/bg7fb/vp7s5hNxl1E//Wfavi1+v5gE9lPXU3mz6MukP/d3+J3XcwSbl7H09Gj8KOjoy3/97LtQnU9VeVNf6Kn5eP1pqfunrx2006no5nwD+/ebflzMxtvMj4Lx8cftsLosZPmXXi0ZvkzqQapy732PJo1T9PmtiTZj0n1RvPNGecPqhz3yvN0ORcqMRt3A3XkL3G/fr5vnnzxrimTVltykBs5n47m9742fzaz1tP2qfFwsQpKLu5nTVD2tl3OAjp5CcrOJ68BbF6aoG+bOKZPE6iwhGjcTtsnj+fN48RK0gPTjQ842vx7OZp6fDdrupEcNPPfy2aevEZT8KDve637+/fHW3bq0Q8e/ahpe9Cf7MyX+smjn/0H/+aHwC9+UP7qG3buT/9R0du3W/Sbtjuf6+++Ep88uvDn+t2X+oevxGewjvdb9MWf69Kfa+DPdeVrP/SlvvrT1x790yffdTeZPTQLYxsyRq87zY5T/hx5yrF4yngyGU9m4+Wj77XlxrXn3dQTDJHkb6Yy6lMeXQs6PDzsx1jgv75UcOVb/8E73433PkgTj/7Pn+vBl9IhLGn/6K8YmE5ge8/BqPdDaObR3Ndr4Sux9CF88Um48pV49R9c+0r8qejwg+aXTYSDg9zrMJna8ruycTGZ3hSn+pt2FcTZzM46EyzSQk2T421u/+1mYYg+K59ZR3PH7bSdTQI+bwpnGS9n3TQ+XvsuS8NmPklL18D+t6uWeFjdLSed8tgu4pXDRk4n/oZMoc+JczsJWLB+6lZy4XLgZnR3F01pW45LMVpwbPqumTU3/qPdWmh0Nxs9g6nlj153dxFN0EoN7/VoviPCu9XC+ks6wOrdXUGOzXQ6eZ5P5oHUtXVx3y7NWtFN+ya5tedmo5fABkfj5SJauiQvv502r16jkZXx42g8i5Y717MmuvBNuxiNzYhTadL1JAZAlBmOQ61sc9OFNFqjLp/uRrPl43S0DC7T3nXLzIfgdCNsB/TLo8nZk2xwp7rqOXjf53w7u7ntlnlmXagLFDvH6vrDcrnAhV7gncwJs5vHzueWU7yCnGmkTDzjZjPk5/Ng+poW1uZtoZ5tkPTd6OxuiLush16TlZzrUJ2Ybf7p5G+zRiemsEv1dLbvdG3kaiCTxc3kZXITdFJta6bL5WBoaLXth3SdF3xIJ0gagzJVpzsvGiTQVH9KvZ4ZKIp9GKTmNBr0M9RD0hP0Ab0HcBfRO4bOIeAWxN5iUkOPD4+z2D/0CC5FnqOrQpsH2so4Lp+iCujwKOWotVRd50dn0xup0tmsrUI4vVFqhphmAidH1MWrvfrhSR+waftn83QXXP6zvYTew0WN1OTYOUgCUYcXTyOylrUVga6mturdj4+c9tF9OwtadUFX1zAURsEXcok32WwLYRvQBTRidmozjzfmy7TGmQX1pRSUKJY42Wo2wcfldDF5nq6DelEDNcltd+RE6lZbi8loejO5vfV9tS5bwyd7HU3YXcny08402zHrlKVxoaOfSjZIHQqeEo/NX+lE+PCtWzDgEzi5AZq1D80T3gaJOc6au8ncLnx1iNLKS6djPy7kXmTZjWpzN6LBphWkDMyCobU8lmRcFlLqn2Tahyd55Zqec9mnYNLKnxb3vq4/Fg1wGvnWu7xsWxRMpinOjqVZ8LS0fNiRlYUA/1kaGqVKXZR6pDT1lDx3XrpyeRxf7FyW8IyZ1wXNdBE87lkYk1ZPXLU7HDFY6b3PJhe0xNZIQxWuM3UsUOj1PtWucI6P0Me7BJ51iQxVk2nE3cJ8OMj5OgonpI/hIkPuMGzH6T2MfKkTmWJ5ofFrITV/LY3x32j+y3HoonY/msKztzzIN7cm9Jxb+iJyefFlu2zSVPtGB9I6SILA87Pc31gzxQb13Rr16iic67+E613J4PgWRzKss4noG4+2MOX/WKjEkjL/UOz8ZjKOjPasMKHNdrbmk+0frW5huft5d17vXFqfFs55WjTp+HbgovDs8M9g4tSlSGG6LznFQ9iUN9mrzEpAz7ZzKNgq6PPdnVeatneb/n5qg0dVrTdTSR8v5QzqTlUYyXfhTYM8X4GZXGNeSN+ncB6H7w/dFKGeXxrjPy0330X+sV99bGZPv48ms803yP+qTjdfVVf7370/+mO/P9q6h0HbelrUmzrCv22O3sjR1lUMwoahcNEdHelRrgIgSA7DpasM3Y5/g4zzGKUPmWHbp0MGbQcOon9sjqT1l/YoxwyRab0KA3PWgW/9oND6Qdj6gW/9oNj6QdD6vPAzLNkJkqvu6ETaMOyOuqk4H9bd4bEe5SYBgqorhVcCOnyY8bI7eieFlvlsgEyAgMNVgOYAAaIAgSIBAiYBAtYHSMmLacPKHK3tkcRHEcZnS/tCOF4F0aAVTiNXOQ/frMAYFkQDWXg4mrMKQ1oQZbbwKL1F9DkuEiW68DjbReaUF4FGvXAa+pnD+M/oMkDkBMojO8jqwF+OjUH4rvAFFiFSIXwFsxC5FD5nGyJY78gYDCQjdJHMwEoEkZ8I96aSpchZsgb2Iog8RnhkNCJ6txGJLEd47Dsis/mIwA4kgrWhjF98q1cerQNE1iTc+1NvE+hPgsifhJM/KWd/ygr4kyDyJ+GhP2UV/EkQDTDh0QAT0Q8wkWiACY8HmMg8wEQgfxJO/pQ5+FNGlwEif1Ie+VNWB/5y7E/Cd4Uv8CeRCuEr+JPIpfA5fxLB+lPG4E8ZoT9lBv4kiPxJuPenLEX+lDXwJ0HkT8IjfxLR+5NI5E/CY38Smf1JBPYnEaw/ZfziW73yaB0g8ifh3p8wNGhSlpNTWZHsikT2LCODcVlO7mXF0MJMEfAxy2k0WjEakraEH5dWp8FpxXiE2jI8TK1KVmdF8jsjgukZflniZH8kRh5oigwK9WA3tOI34x/4otV3xb/gkLbMzvg7r7SqNUyjgWsajtZpBPBPy8lEreid1OiRnZoC4KmWk7FaMXJXW8JbrNXJZ60Ym60tw45rVbZdq1rvNdpLIU6rAl+XOPmxFb0pK0FLRkqGjBLZsZHYjEEEK0ZKRoxSaMNQAEwYKVkASpEBoO6HP6o0+FGKhz6W4IGPGtkuSmS6IIHlAr2MKdmtkSKzhQKD8OpstCh9I8qByaJajnLBYLHEjig7c0XNWisoYKxA0VYBg6kiJUtFyRsqqJGdggxmipSsFKXISFH3NooqmShKsYViCTZQ1Ng+UbPmCcpLGJNVSNcxJdNEyVtm33r0S0FklsLJKZWzTWYFPFIQGaTw0B2zCtYoiEas8Gi4iujHqkg0UIXHo1RkHqIikAsKJwvMHPwvo8sAkfMpj2wvqwN/OTY84bvCF1idSIXwFUxO5FL4nL2JYL0tYzC2jNDVMgNLE0R+JtybWZYiJ8sa2Jgg8jDhkYGJ6N1LJLIu4bFvicymJQI7lgjWrjJ+8a1eebQOEFmUcO9Pua5oUMrIoVQgiwKBPUokMCll5FIqhDYlMviUMhppKkRDTVU/1lSjwaZCPNpU5+GmCtmVCuRXIoBhCbuMGFkWCJFniTwIrsmupcLOWAa+pVoplgXnUr0YS+ddqljzEg7uJQztSyD4lzIyMBW8g4kWWZiI4GHKyMRUiFxMVW9jqpGPqRAbmersZKqwlalivUz4S9D+VcDWESM/U8EbWq4YGpoyMjQVyNBAYEMTCQxNGRmaCqGhiQyGpowGoQrRIFTVD0LVaBCqEA9C1XkQqkKGpgIZmghgaMIuI0aGBkJkaCIPgmuyoamwM5aBoalWimXB0FQvxtIZmirW0ISDoQlDQxMIhqaMDE0Fb2iiRYYmIhiaMjI0FSJDU9UbmmpkaCrEhqY6G5oqbGiqWEMT/hK0fxWwjaG9YyYxYQFbvdVm/W+UqANlQmaWMVmZYDayXgAby4RMLOPQwnoRDCwTGnIZRwMua364ZYUGW8bxUMsqD7TMybIyJsPqMdhVTy49IasSHBlVLw7cldikMt4RscCgshJHrGBOWS1EzBlT5taWegqm1BO0pB6BIWVCdpSxN6Neiayol8CIMiEbyjgyoax5C8oKGVDGsf1klc0nc7aezK3x9PTFtXXlyNoTWkFl7NdP/SBAvxFEhiOcHEc5W05WwHMEkekID10nq2A7gmgUCY+GkYh+HIlEA0l4PJJE5qEkArmPcLKfzMF/MroMEDmQ8siCsjrwl2MTEr4rfIENiVQIX8GIRC6Fz1mRCNaLMgYzygjdKDOwI0HkR8K9IWUpcqSsgSUJIk8SHpmSiN6VRCJbEh77kshsTCKwM4lgrSnjF9/qlUfrAJE9CXf+9ENHT7ujgyM5yp8FlL0EkAkpcLgC0BxIQBIkYBIfYH1ogOSBrWiQMlCOcgsAmeoCh+oCzdUFRF0OijQEmDQEWN+QLTkzcT/zcT/zcT8rxP0sjPuZj/tZEPezIO5nLu5nPu5nvRkcSXs2PnAoR7XRamuDZzTue9qbLkZGEIVHOMVIeBQoEX20RKKQCee4icDBE8FGUDCFMfMrHwYIaEa1L8WhFR7EN21itPHNiOObOcc38zC+WQzimyWOb+Yuvllw8c0CxTdjjm/Pr3wYML49qn0pF9/MXXx/7kPbT4Y/Y1iR5ZAiI4NSwTiUYrUoZeBECsGKFIoXKcphAzaSuT4d5aYAyi0BZBoCHNoBNDcDkLQCmDQCWN8GILkJira/cdk16uAkI2pjE3RQkxd/hhU6qIk7CHbdWh50XBN1XBN13EQyNh3lugMy1QQOtQSaKwNI6gJMqqKsldVaOrJru4RMTYC75V6iuSaAaMoFReoILN8GAMr5oKj/EVOTEDMzfmd2tCck9wKA7G1AEs6Ns557Uz33fnpesNLz0EXPvYGeB955HtjmuXPMc2+W5/2gP5T2jGyKneOgBxRk3TkNeqA2687NoAdGWXcOgx5IboEiGfRCrN74NsmIRxS3qQnbZIY7YN/UJmhqEzS1tUe+zm2hgm1YwdbXhAcYKEEdZYAB8rHXASZoaQosfUOWhYYsw4YsfUP4fgyUoCHLINhLk1cfq+2TkHd6ZO8sEwpuKhN395OJ2lvJhMK7yKTQDWRiOfyAcvgV6VD+iIkOKCc6Im8/HynRkUKiA7au9NEkOjBypY99osORr3NbqGAbVrD1NeFEByWooyQ6IGuTH/usPpC4S1YDsrVWjrVWKrVWxLVWRWutTCOrLPu9kLU98rVe+9qZqQ7HBQk0REiNRgsV8QOHCtAYIjUeTlSIRxbJNMhIpfFmVUgPEiijSaUByWqQ+lTEjwIu4EcslaAhQyqPEZJ5SFu5LQo7wxKOeSryrYazE5AamwIV2t12tgpSyTWsuiyNMPYSUiNboSLfGsNsNqTGvkOF2IJIZjci2RqTFddFYWdgvHP9Vm0f7b/9IEdyYwfIrORV2DwveHecj4bmqLZH4nyK0MuEmsfZ268OfusbrIXW/mxrfzbcc9/X2e25dzxqKW5Ip3MPPaoDRPWN9qOTFMUBt2FTcY5ItA27l2xKQHBIoBCxGgXKlrkqXXNYEuqiQM0j9VuNjILpB1T4UQ5seUD1BXq7w8AKopAqj4KZ1St/7qFHdYCo6sLLlY4ClbW1L87BEe6u8Kna3vdvlwXpyK6FEsp3zYCCNVHibiGUqF39JESrmcToO6bEzNdLidilzKc8pE4DRG0RTg0SHrVKRN80kah9wrmRInBLRbDNFUxtxi8bGFGb3ZcNzKM2R182sERt9l82sMBt5i8bGHObzQg/LQrcfqtyFKwaxsIWCSJiC3BcrOqiY2UXIytTpKxI8cpfnJ4GiGIknKIjPIqLiD4iIlEshHMUROD2i2BbLti2+aJv7qEe2Uc2F9hIQMFTnAtqGlD7FOfCNAgYPau5gGYAsc+hLvoZCo7s470LPy+poN8TXfSzkR59NSVro9HXRBdV9A3RBRrtISEKszNa5lHAI6NliULvjZYF7gQ2WsbUHbhWZUQdU1irknrl4zn06Kv/YO1LcbdFy9deMtu5oQMtp160InWlFaP+tCV8p1qdetaK3L1W5T62qu1oq1Fvux+eCDn1+64fnoiKXBV6ZVjgXwvnqQvlOSuKv7/Q67BpFRIDKaUFSpQUKEUpgbpPCFQpHVDiZECNUwE1mwioUBrQZviAUgqUN8P7Aldh5Ich/RqeoQ7LcrcX9oj3at4GCD0uiLpbOPW18KijRfS9LBJ1sXDuXxG4c0WwPSuYuhX3+DKiDi3s8SX1ysdz6NFX/8Hal+Lui7bE9pJ9xoVdyAr1JMvUoSxH/cplfPdyCepllrmzWec+Z912PauUASRflhXKBydHaUGFroo9NiwqX4tnq4uf4cxh2SeQ7JmD1FFGSaMCpYsKUaKo6lNENUoOFTgtVOGEUMWmgnJKArNz1jHq+NLOWZavgugOA/Y1+GwdlONODTeY9lp+ugO9KYg6Uzj1pfCoK0X0PSkSdaRw7kcRuBtFsL0omDoRn+Yxoi4sPM0j9crHc+jRV//B2pfizose8PUS3qQfEqK+czfpzKO+i27SWaK+8zfpLHDf8U06Y+o73LrAiPqusHWB1Csfz6FHX/0Ha1+K+y56038r/d5324cjOcqfBZQ7C5DpJ+BwBaC5dwBJxwCTPgHWdweQ3BOK9JWpdGRzLiGbbgkFmZa4S7JEbX4lRKmVGGVVYiahErG5tEH0nuQGNaaTGtulCdnX4rbIb2pJPOx488U0YLvDJSHavZIYbVzZsM2XzUfSLfINMyBbQeVYQaVSE0W8zUYVraMy2ZukSLYlCeKXEv9R4Y6GdGR3NCQU7GhI3O1oSNTuaEgo3NGQFNrRkBjtaEjM7Gj4XG1fDjnUIzsQEgqyPnGX9YnarE8ofNUrKTQeErPvrCVkk/9z76Hv9CinNSLjnCoMzHkGvr2DQnsHYXsHvr3cS6AE7R3Q+P8MvaRkY/Xb7+E+9y6vR7U9krxThPm1pfmRGfS+IAqJ8CguIvrgiEQREh6HSWSOlQiUIMIpS/AR5jtClC+FR5ikDvy5OX2E74pVkEgiFWJVSCmRS7FyySWCzTB8SksZMvSoDhBlXfRItpfy91yQeoIonMKjcIrowykShVN4HE6ROZwiUOoJp9TLHFJPEKWe8ij1sjrw5+bUE74rVkHqiVSIVSH1RC7FyqWeCDb1cC8VZcjQozpAlHrRXqosudcicyXi1yJjNQxw8bXIuAAHe+drkXEhF/j4tchY5YR17+C8CwVO3l3v4IRlBqVrunS26rdjHqW2LbAz5qU0t4V2x9ynvJUp8d3LSWGWDktCXRR4QBRfTtoW6Lo73dBtV7fpyK7CE8q3Q4CChXnibmGeqF2YJ0TL78T0FkFZ3tauxK7IL/vRrO25sDG4dOMWeBgQGaGAePWtiq6+leUBCEj26wlK2/UO5CjXGpBs11Nkt+spx+16SmW7niLdrqdMt+spy9v1lMh2PUHjdrrd1nWoZHtjqmXsJxrfSrkvRRS30tyXAoX7UigsSadIk05Z0Pj79fN9Y6u02cm3fX0sHdmXzRLS1ziEbe5vTyRL5f4WULD7MnG3+zJRu/syIcpLUGhfZmI5LwHZTZgbJPe32vqZadbMt1723CGyU4II8+Zx4jNnacos/SXoVyGUuxf8EpXXcBTxjgNV9N0cZUF/yu8+CFmZo7U98m3wLyPmaRVd2L3Wxpz8OH6tjUXvzO61Nubs0f61NhasW7vX2oiDb7vbAOaRg0e3ASyRl5duA1hmV3e3AczJ3zMHMxREHiic7F545IYieuMXidxfOE8BIrAVimAnA8E0I2ROg1uxmRsyDk7As4RwmiqU74hQMGmo5GcO0Wj6EM5ziAil6PFskjlMKYLIMoSzGWUBZhhBNM0Ij+YaEf2EIxLNOsLjqUdknn9EoElIOM1EmfN0lPnMR4MnJuE0OymPpqisBvNUlpa+NM9YwqNpS8TyfMATmPB4FhOZpzIRSilEk1rGK4/WASq0Opro3LvMeTaI32WOVZ76drzLHBcJpsH4XeZYdVNi4V3mWKbpMX6XOVRxqowfWMRqOG0WH1jEBXgK3fnAIi7kptP4gUWs8tRqVJxRrMCTiFV5srVqOKHYIsHEawvw9GtVNwlb2U0mVqYJ2Yo8LRuVHY1EO0XbnaNFYWek3aRN6jcjHU3gVCCYxm0Jnsyt6qZ0K+/uCze9GxUneSuwc1rVubXdqgrTpBV48rdquASwRYKFgC3AywGrFhYFtpBbGliZFwhW5WWCUd1iwaizUjzdwsGqvHwgNVxEmDLRUsIUWJY+6ZYVVg0XF7bIt2Zit9CwamG5YQu5RYeVdyczL0CMuCoJ66KwM2J+YTLoVyOHR3Ikz6MVyRshiuxzaeX4MFqpPIFWpE+UleljZGX52bESeYS/RWaXCiFqi9+lQjxqVbhLhSRqX7BLhQRuqdulQpja7Hd3RJxaX9jdEYlRHMq7OyKdIlLa3RGpHJt4d0ekUZR4o4OnFKFwo4OXouiUNjp4lSITb3TwGkcl2ujgFYqI2QVAiGLhdwEQj6IQ7gIgidof7AIggVvudgEQpjZHb8/HCkWg+PZ8LEfx2PX2fFyColN+ez7WOValt+djlSJnXxtnRtEKXhtnIYpQ/No4axSV6LVxVjgS/rVx5tR6+bsMpxGj1qtArVchar2qvvWqUetV4Narwq1XxbZeObW+/5H4U0+o5RlTuzOOWp013+asUIsz5vZmzq3N3LY1U9vSq76VH/TIvtV7ha0DFLzVe0WtAmrf6r0yrQFGb/VeQSuA2Ld6N2jzo/rbVxvTkf5oqyC7UFdBfyMrHdmN4gkFe8ETd9vAE7U7wBMKf+wqKbQtPDH7s1YJ2U3fG5Te/337Vg7lORAwCQIw+0QIBHwOBFie/gDTxzkA9ZVTgPmdU0DyOEeZvTfaEvOG8wbRZ5qgwfpLsMgKDcbnCsdA8YdgobT84qki/V1TZVEU5BHBsfTe5rnAkeTuxD70TIgeJW5Ya0/bBhFoS61t4+5tg+7lm3iUop6XG3ZkQS/zi9Mb5u+MN3Rpmr300VkGT3oTd493E7XPdBMKXwxPCj3iTSzojKV5mDvsPXTbhiF6KKA8HgHZn91VjsmpVJJQkSahMqkusL66QOT3dgWlp8zSHn20rMiml3LMLqWSXIo4t1TR1FImmaVIEkvQSOaBIRohIDt3DZ0NAndz1xBNEBDNXUNjgcDM3DVEA1SUR8ARkK3/ad+kZ15v5Ege9CmSB62AzAM/5W6Dx5CtDwrbDR5D43zA9DGpMDE+LaYPRIeVewo6rPyjz2FvfB/kFOJ7gGx3KsfuVCrdqYjyEhTtaGU5LwFJrwoSv9NORLvTzl7aI2t3w4LdDUO7G3q7GxbtbhjY3TCwu2Fod2t75Gu9drWrjUvW3iVr75J1wSXr0CVr75J14JJ14JK1c8nau2Tdu+SBtEdcElDwa5g1uSRQ+7uXdeCSoNAvXNbokoDsb1nWFX5RVlfu27G6cl+J1c4lgbsvv+rKfeNVV/5rrrry323VFX+hVVfuW6waXBIJfl9VV2aRWFd+kVhXfpFYO6M8Vu7WiDUbJZ7FrhHryq8R6ypYI9aV+xqprnCNWFdujVhXfo1YV2aNWFd+jVg7s0TBrxHryq8R68AvUeI1Yl35NWJd+TVi7T2zJs/U4CztkU/nZSF3l2HuLn3usmeCEmT1Msjqpc1qfEzfN889pmdOXhg/pmfRu6J7TM+c/dE/pmfBOqV7TE8cPNNtNmMeuWe02Ywl8tHSZjOW2VHdZjPm5K2Zj3xPs8sKJ6sVHuWsiD5xRaLsFc6JKgJnqwhxyrIbZ07jUrHx5YxxrAtjgxKBbVqFwKtF9IatUuDaIpJ1C2f/FsGZeFbYyTMHOxdEni6cjT0LbXA9Z/EihD4vamD2orHji1CwfdGd94vCE4AIPAtkgaeCzIP5IEvLABWGYDg9iFgeajxRCI9nC5FLI9HNGyLYkUjf5PUxib7JCySaRYrf5AW6n0uib/ICiWeU8Ju8QLPzSvRNnpdgdkFKEwxK0RyDup9mUKWZBqV4ssESPN+gRlMOSjTrgDQKs4TnHpRo+kEpGhao+5GBKg0OlHgAoMZjALXiMOA5CSSyB6OYmQkUtCDE7K6o8RRltGCWQt1PVEYN5irUabpCiWcs1NykBSLPWyDB1IWUZi+UeAIDrY0v76Yx1MKZDAsEkxnKPJ+hVpjSsIib1VDkiQ01nttA4+kNpGCGA3UZ0/JwD6c61HeOaZ7wUIrnPCyxY9S7mQ81M+qvO3Jd5a/srjF4h4L0D3RcYzgABX+K45qaD9T+0Y3roLmg0J/XuDbNA2b+kMZ4M+ikWZujB3sUfWE5lmWmRw8BCs8hW1M8eghQfI78183NWQQ+hDA809aStz/4f3M9zb/5v33B06hWakxaZKNGlFuACF+XAg7Jh1RtGHF+0QaQvEQBTF4tUHZb8R+825DuMtNmPk/PxgU2pgj84UtB9m9WCqbf/tmw2yq/Pn+bHVi01p+Z/Fa5/V2i28g+VRFjVKR/tTQj+gt0t9TV2+njoQ/HNjgPGA5A9hcKHtwkDNx9cf/A8QRsv89/MHMsMPod9wcT6Acf6IdCoB94PlNqw/9QDP+DnbSU2S558F1iRygGvfDOf6xSV+x65z8u4jtoxzv/cQnqttI7/7HMnenfvw/jxV286/37uIjv+ML797Eap0Pp/ftYpiQpvH+/VTeO9yLz8FP2YEDZgxGZM4KQf3lQUdsfbb/t3Rxt3gg/kCMN5OZobY9sZyTkwttilfurZASXyujVf3AdILqycH95Mx9BHQyHihj+WjjPusSpXlb0lYNJEaoGFCoG9DU8wzqmVCWUfIXyxAu1yQiqktGr/+A6QFQD4f7y9LYo1IIUqAwpr8WzrcsK1ZBlX1FZjUAVhUHlhL0Gn11HjKqigq9E/g1YqENGUIWMXv0H1wGi60d/5qmX0Ez6y2cEl8/o1X9wHSC6vHB3+byuKSxrrWy1hKbN7SLL2//3N4r4gepG2mbxePtH7yPNXDA45Sz+mGyRijR5DhJpdsnvS8zjeszt80yr5QuGWr7diFVTnajE82hcuKxugLI42gFmSmgKdtGV9f97IbII7hF/j0KYi/MvLBB2xcM9n6FIH+1js/37SseG2Bd5BMtfV7I42LcmGi79rGJ3qgmm3WfC6UUi4Wa/mVB5w9bgzW9zbd/azGToSO2J5K7F+MwvKS/QAdsLv/Sr7m26vOBSG5AdcC9uUQ3cvZn3wstnwPaFvRezUAamd5jCWnvk69wWKtiGFWx9TdzaVpWgjq19dfDFLF0FSX5vg9/NC5Xemacja/gJ2VfLEwoW9om7aSFRu4RPiJbkidF9fGLmN3wTsevxlUuoVYWPElaVe5SwMgkFKG5TE7YpeBaxMgmlKGgqP7JYmYRa+YRaFRJqFSbUyifUqphQqyChVj6hVj6hVj6hXk3wX33wX33wXwvBfw2D/xoH/9UH/zUI/msQ/LVLobVv2JqnKMJcPPgKxiv4oT/++/9jjgIE\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnV1320aWtf+KF6/mXcvpsWTJsnPnTtLdsdNx7ESGMb36gpZgmSNKcEhRCjNr/vsLgqhz9tlnFz03XsaziwDqVNWuDxSg/5l919/cdLd3s29n7/+5Wc+vukcnZ2fHZ49On5+dHs8ez/7W3979PL/phgS/LW669Tc/3s2Xi4udslkuUXnkyvxmsdyiNsCmW1x93l3nn93lYnMzkH36l7dXyyHdN0enfzkd2Ppviz+6y18WdxefZ9/erTbd49l3n+er+cVdt/q12/3+hz/uutvL7vJdfzO/ne7wr3/t/5h9+69vjp69ePzN8dHZ46MnR08eP3/+9N+PZ+dD4tVycdv90q8Xd4v+dnexJ09A+O3z4uL6tluvZ9+eDvx9t1qPyWZPnhz/5cmTJ8NFfu7vFhe77HzXf9mudjl59B8X/+/R0Yvnp493/56N/77Y/fviyfjv0/Hfs0cvL/uP3aNft+u77maI0e1Fv/rSr+Z33eVfHj16uVw+erc72/rRu27dre4Hug/mYv1o/uhuNb/sbuar60f9p0c/LW77u+2X7pt/dMOvXv790fz28j/71aPF8OP15uN6cbmYrxbd+i/D7f4wXOZycXv168XnbiyF8S5+vRt+Ml9dFnVI+N38yz+mgnl2+vTx7EM5Ojk5ejx7ub7YhXo1iM8H8fvOjscgz369u/xHM/v26fH43/fDf8+e7cvrn93danExBPRf/zNrPsy+Pd4F9ufhRtZf5kMc//fxHj99+nSPuz8ulvMb4yfHU/LfN/0QqY9LU06fTMrt5ubjrqCubrN22S+X85Xx5+UqX7rVxa6yF+Hs7PlemN8M0nqITr6z8Q7GEs/al/mqu112n2pS/Jnd3ny9O+P62pRnZ6fTr5abtVGL2cXQRuf5Ep+3Xz53tzn5kJVF7zk5LplcL+frz/lu/uxWfab9bZfh3YNIefd51Ym0n/rNStDFvUi7XvwhYHffibLtdExvF7eiWl30y/4243V3s4iSlcByZwOJdr9v5suMr1bd0JBFNn/fdOvRaoryolToud/7s6OjPXuZ0V8dPTvbo++82h4f79H3+Yc/ZPS3/MO/Z/SPHKYfvT2enOzRq3xfrz37p8/26Kfc9P6Zf/hzvok3+e5/yane5lTvchn8mu/rt3yu83yu9/num5zqQz59m9F/eVSH3mFEH4fO7Lq7C7ZhbfTjoMV2yr+LnnJS8jFfXywWF4vVxeYmh2KzM+310POIJjL6W7gZ96mMPuYqcSH8N6fqcl4/5R9eZfQ5/3CR0X/nK17nVMtc/iJawnSE7X0RrT4X2iqjdb4vEftNztB9bkIPOdUfGW3zTfzpqaxoh/rVUa08LbVyVUlPPdzJEdTGu8XyssuX3nf1l/2DiHPonb0nuBvHaV45jkr+P+0Ghuiz9put6js+LfvVQvB1VznLxWY1dOMXHsDjoxNoNuvFOHhNrb6MWnSzutosBuWmv9Mjh508nvgrcmVw8Wmh8i360WEoqIYDl/OrK9Wl7TkOxWjAsSu7btV52z899rHQ/Go1/wKmVn76cZhEdCKXHt6P8/WBCB9WKyGyAoj6c6uhy+Xiy3rhDXWYLnhW7z73mzBUTL1+qNtecKv5vfDf+cXmTo1cRiv/tOz+yBo1rIJv5hcrNdr5uOrUhS/7u/lFaHAuLYaCxACYssJm6Dc7TOmGEbcYom5ur+arzc1yvhGX6a+GUea1ON0c8+HFchNqrPGXPuY5PptqQL+6/DQM8sKo0IcnsYf10UfkL4p/vvELPD16Yhe4GVxus8QrmC/PRXd3uWvw67XovJaVkXkfuZ29F0PooW0O0+GhzotC+zGVp3fLsfp51x8rjXdLskT9dLHofGSU7sDG0JeL+8WlKKQ23pkPlkXL8NuOP/JRnviRd4/UBK2jHudd1EYgq/mUfr3QThynMPidU2Pw31RKaEM/8BlAuojPFwaDgAlInGBSRs+emTiteIhLkeX4mJDqgeUyxMVnAuoGvHnU6mh0VB/lq7P5NKp2tuiqEM7sk15DQjaBkyH60DVe/eRsusqy/7O7vRKXfxcv4TM4lUmvHAcbiRC9eXEvYiPZeCNQ1JRXn/vkyNllfvvcr0Su3tDVPQyVUvuVeLmry0rYzukCHrHYs4XFjfVmHOGsxP3GKuhRrPFoq2aCN5vl3eLLcivuizLolTwWR+n4hrHW3WK+vFx8+pTLaptt2JpgvI5X2EOV5YeD1exAr1OXLioFfVuzQa4x7ilzORr6kfoVXHobBgy4/mbTn1V/3d3iJMjMcdVdLdZx2OtNtDLw+lG0C5uJbIZWHeYiHmwaQFrDrESm56pu7bJSpf6LTPvkRRm4jqtccQ3McvnDnRihfFc1wKXyLW9uFZPpqr1jrRd8WRs+HKiVlQD/WWsatZt6UyuRWtdT89x17cr1Lv7NwWEJ21IZF3TLO7HYcxdM2gvpoT/giPUhzs1G5IT6cAuVHGd6W6DQ+yw1jnDOTtHHhwq8GiqyuLVf0wymKMtYI33VU/a/NsOIBffiebmN8kBHeWJ9PvZjZe74Y627/Im6vxKGIWif50tYeCttfDcziQ3ci+KQyd/GUZPXtK+UHw2DLAi17vkqeilmaCpVVah6EPqrHO5aBdYzHKtgg0uoxx09NS13Qn0Tm5j+5LRMsIdu80L57PeVsebq4Gj351g+fruV0e67w9VaXsustXLOl1WP1rOkN5WFwz8PjCd/qPX2dG1fHZZZsfFYGAj42Q42hXgLvrh78ErL/mpX3re9GMX3dS/dZKk05eFUlZZ8dXDO0N2Jhw5/Vqrv7cFufAh56iHc8mtt/IfN7kHkvx/PXner21/mi9Xu8fG/Zi93j6lnj795+uTfj6ejvXsEtL/PiCZPR/j33dGpHe1dJSDMGApvhqMTO8+bcguAoHIEbkUV6L79BxScJyhTyALbLw4FtG84iN6Go992OTqzI4sZoJh7E86Ho1M7z3nJPaCQe+CQe6Al94Ao96BY7oFN7Tqw0U6QvB+Ojp5YETbD4Qs7andJ/ciy5Ahv3SjsB8AAbYajY7vwppwNUAgQcLgK0BIgQBQgUCxAwCxAwKYAObkPWXsIR9t4lOOzzfGZEmF7NUSN1ji1XOfcfIsCbdgQNWTjsjUXFZq0IWrXxlXjNjG3cJOomRvXbd1kbvAmUKs3Tk2/8LcZgQkYIidwruygqOAJhsgYjCt3MDFbhEnkE8a1WZjMjmEC24YJ0TsKRgMpDFykoDa3APYT4/VGo5ylaGAvhshjjCujMTG7jUlkOca175jM5mMCO5AJ0YYKvs8RechoK1Al1MKfJptAfzJE/mSc/Mk5+1NRwJ8MkT8Zl/5UVPAnQ+RPxpU/mZj9ySTyJ+Pan0xmfzKB/Mk4+VPhbzMCfzJE/uRc+VNRwZ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxWM/lQY+FNBbW4B7E/G641G+VPRwJ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxV8nyPykNFWoEqohT9haNCkIieniiLZFYnsWUEG44qc3CuK0sJCEvCxyMnMoqgcLabIthZ18rYoaoOLadjlokpWF0XyuyC+rXBwvsjJ/khUHhiSgBFGTm4YRWWJMUX2xaiTOUZRO2RMwzYZVfbKqEbDDBq6ZhDAOgNvKy2UTTSKX2neyk5DAvDUyMlYo6jcNabIFht18tkoarONadhxo8q2G9XovUG7rwTyocK3NX6o1IQpO0FLRkqGjBLZcZDYjEEEK0ZKRoyStGFIACaMlCwYJWXAqGf7RZXMFyVtvZiCjRc1sl2UyHRBeispGC5SstsgKbOFBGC1SMloUVI2i3o2WVTJYlHSBosp2F5RY3NFLVorKGisgMFWgbayhbGlonSwaSo7BRnMFClZKUrKSFHPNooqmShK2kIxBRsoamyfqEXzBOVehuxB0q2m9XIRljnlHv3SEJmlcXJK52yTRQGPNEQGaVy6Y1HBGg2RLxpXpmhidkSTyA6Nay80mY3QBHJB42SBhb/NCMzPEDmfc2V7RQXPM0SGZ1y5nYnZ6kwinzOuTc5kdjgT2N5MiN5WMBpbYeBqBbW5BbCfGa83GuVkRQMbM0QeZlwZmInZvUwi6zKufctkNi0T2LFMiHZV8H2OyENGW4EqoRb+VO4VDcoZOZQLZFEgsEeZBCbljFzKBWlTJoNPOSOjckE5lavZqlwjr3JBm5Xr7FaukF25QH5lwlvBwLGckWWBoDzLZDAtZ+RaLijbcjX7lmtkXC5o53KdrcsV9i5XonkZR/cyCPZlrBUthA3MhQPNSlmYieBhzsjEXFAu5mq2MdfIx1zQRuY6O5krbGWuRC8zfi+C8yDYVrFa5IWhlRtDQ3NGhuYCGRoIbGgmgaE5I0NzQRqayWBozsjQXFCG5mo2NNfI0FzQhuY6G5orZGgukKGZ8FYwMDRnZGggKEMzGQzNGRmaC8rQXM2G5hoZmgva0FxnQ3OFDc2VaGjG0dAMgqEZa0ULYUNz4UCzUoZmIhiaMzI0F5ShuZoNzTUyNBe0obnOhuYKG5or0dCM34vgPAi2VawWeWFoq+n7JO5AhZCZFUxWZpiNbBLAxgohEytYWtgkgoEVQvZVsDKvomXrKgoZV8HatorKplU4WVbBZFgTfpsImFUhZFWGlVFNIthUIWRSBSuLKlo2qKKQPRWszamobE2FszEVHm1pomhKEwJLmkibajjbUcHVJqGsaJLAiAohGypYmVDRsgUVhQyoYG0/RWXzKZytp/BoPBO9T2F4SGSbiY6tsJupEaDfGCLDMU6O45wtpyjgOYbIdIxL1ykq2I4h8h3jynhMzM5jElmPce09JrP5mEDuY5zsp/C3GYEBGSIHcq4sqKjgQYbIhIwrFzIx25BJ5EPGtRGZzE5kAluRCdGLCkYzKgzcqKA2twD2I+P1RqMcqWhgSYbIk4wrUzIxu5JJZEvGtS+ZzMZkAjuTCdGaCr7PEXnIaCtQJdTZn/460Je7K/uRBdFR8RJAMaTOMZpOLZCOPEjOPD7OSmiclIbt6HyslHZUcgAo3C5wuF2g5XYBUZGDYhkBZhkBNmVkT76f4r733+8x7oCih3+f4g4cMgK0ZASQ3S4wu11g0+0CKXF39N689PvJBvyojUexF/me2v1EJ9PFyBii8BinGBlXgTIxR8skCplxjpsJHDwTYgQNUxgLf5/D0GTUCkShNS7iO77DGONbEMe3cI5v4TK+RRTxLRLHt/AU3yKk+BaB4lswx3fi73MYmoxagTi+haf4/m0K7dHRqR2aFwErIUUWDQoEdCjAZlHA3IkAuhUBLF4EqIQN2G6keeZHJSuASk4AhYwAh3wALdkAZLkAZpkANuUBSMmCo/0HLodMPTUUE3Q5U10Z+iHSmepkpuCF24BzXjuR107kdbGrYn5kFdJRHIw7xzrq1Ibgjnx47czuxFnvw7/x0LtaZ9TXuhA6W8fe2zpL3a1L0N86LJMAZFajnU1fMA0VYmWDofEoDp1GVCoEojAN2Auvpua/N4NX2PoBlSYDSMykXlHTBxrnT69CwwfmhedsajJA4iTp1dTon1p+5rFbeIWNHpDoDF5Rowcau4BXodEDI+N/BY0eSLT7V9Doj4108SiOcF9hm0eUR7ivqM0jhTYPOA58X4U2D4wGvq+mlgZH+Z77yg328gb7fCfcyEAR92hNDFAcib/CBuZoEwpnkyvUplJ7NrL2bHLt4fkYKKJebUS92oR69Xq2XwnZT33HoziLH5GYwI88zd1HGqftI5Iz9lGhyfrISvgBlfA76kIeuhjr11jREeXwv6aKjhQqOuBYKq9DRQdGsX89VfQTy0EfLfN1qujAkz++xooOSC4tvQ4VHVhcUHqNFd3RJh7lu95U7noj73qT75prNSjirjfk96+hVjvZxqN819t8d6Grw3ZBAjURUlVroSS54VACakOk6uZEibhlkUyNjFRqb1GFyk8CtUJSqUGyKtomJcnNlBPkFkspqPGSyu2YZG7SUe5rFYkbOqmq9VCSr1VVdgJSdfOiRNzSSCarIJVcI6qbqnAwMNJWKMnXAsNmQ+r/JTDJgkhmNyI5GlMUt1XhYGCyc/002y/tH/uRDfMAhZG8C7v1gv24fnfUhKM2pGzjsvOI0qLyjorl7J+mDD+1RJZLQNjE9xTfuT8mRJmsvHNPKmQX30cn1OYfcu7V++gkqTjga9iUR46Ieg17kmKVgOCQQCFiVQUqpoFwRaGpCW3tVBxAUnMYYwIVzNygZHw4sPUGNSWY7A4Da4hC6lwFs6gQxoKajNr8Qw6a8RyuIqlAFW2b88jBMZ7C8vNseoZyZkd2d47sGYqjOIFzjnlwahM4Rz5Nc+ZTSWflGYoTm7ntUWlSLwWivBinDBlXuTIxZ80kyp9xzqQJnFMTYnYNU57xYQMjynN62MBc5Vk9bGCJ8pwfNrDAeeaHDYw5z6GFv6wKnP+ochSiKmMRk4iIxAQcl6im6EQ5xSjKFKkoUrzKg9OXAlGMjFN0jKu4mJgjYhLFwjhHwQTOvwkx54Zjnt9M2d178BvMKaCSSUBxhuc8PXN+g7kC5HMzZ747wVnZmODEJmaGfrNR4BvsnBCFfsmFsUuyoyYcfQgp26D59gZHaUb7Bo12uttktMwp1tpoWcxRT0bLnOOfjZaFWBLJaIlDmaSxauKqdMJYNaImow/5h21OxcWmhq+TFF7nhgKMnEoxilSUUVTlGVPkQo06lWwUuXijymUc1VjQUaPSTh+eOBHR43I/9OEJleR9pVSaCv9QOU9bSc+1ov79hb0OL61CxUBK1QIlqhQoqSqBeq4QqFJ1QIkrA2pcFVCLFQEVqgb0MvxJihNXgfrL8DnBexn5RtIP8gytTMvFXntHfK+W1wChxA1RcRunsjauCtrEXMomUREb5/I1gQvXhFiyhqlY8R3fkxgGLtDKO76kvs/xbDL6kH/Y5lRcfPKV2L0U17iwCFmhkmSZCpRlVa6cJhcvp6BSZpkLm3Uuc9Zj0bNKNYBkqAisUH1IsqoWlOh9tcSaqvKhera2+huuOSznCmTvzEHVcUaVxgWqLi6oiuJqriKuUeVwgauFK1whXIlVwTlVgvDm7AlFhAu+9uYsy+9FdBvBPojftiIdF6p+wXSvldUdKE1DVJjGqSyNq6I0MZekSVSQxrkcTeBiNCGWomEqRFzNO4lh4CKsrOaR+j7Hs8noQ/5hm1Nx4akFvknCSfqUtTRJZ05lpyfpLOayS5N05lx2eZLOQiy7NEknDmWXXl1IXJUd7uuneDYZfcg/bHMqLju503+UfpmK7YUfld8CKoUFKJQTcLgC0FI6gKxggFmZAJuKA0gpCUe7zUbP/ajkAFDJAaCQA+CQA6AlB4AsB8AsB8CmHAApOXBE+yR3KCbocqbsyTUinalOZio8mAac89qJvHYir308yvfcV26wlzfY5zvhp8agiHu058OAcvB5U+LbGb7RMB7FNxpGJN5oGHl6o2Gk8Y2GEck3GkaF3mgYGb3RMLLwRsO7Gb4+Nh7F57UjEk+vR54e3o40PqcekXw4PSr0RHpk8fn8iOJD+XdTrOEo3/V55a7P5V2f57vmWIMi7vqcHp6/g1g7GV/Eel6OmnDUxiOrPY6wluxpWfiCMjREITGu4mJiDo5JFCHjOkwmc6xMoGI2TmVd+LlAlSzKojexnkWuBMYPZzFVBxO4TpgQKwYukVLBNhm1AlFlUeuhk1QeMkGNMUThNK7CaWIOp0kUTuM6nCZzOE2gGmOcakzh5wJVsihrjIn1LHKNMX44i6nGmMA1xoRYY/D9IyrYJqNWIKox6v2jIqWthOUm9FZCrcoAV7cS6gQc7INbCXWiFHi9lVCrXM+Cel4VDgZG17yY5GuBSbUwqv+XwOQaGeVUL6NMtTPtupFVqakJbVXgWlvddbNPMEy09hPMJ3YUZzkjsmmlI7HxdeRpLjTSuMV1RLRldWT00vbIwvvaI4n7VX+bmpzn502MwW+pcQGXAbFmBIiHla74sNKZvbfjyF7bMbSbmbw4tiObITqyGaKjOEN0jjNEpzZDdOQzRGc+Q3RWZohObIZo6KJfwirAnuxnXGcnhcRfdDmXNuFCFGqXc6xdQGHCBSexSufIK50zkfnP2y+fu9uQjUXIpr2rBoiWPnasD2ftc977SnH2sjj7XJw8cQNFFLRN3ADlUrWJm+d+FbK1yrmnl8n2SLxMthPW3c2i1JxnRjchzSZfYiMWsUae1q9GGpeuRsRb6V2h9ayRifLchFWsHXkIYdrGo5IHQLjLbk9xv9bkaGm/FnPyY71fi8XszGm/FnP26Lxfi4Xo1mm/FnHw7TTEZq4cXA2xWSIvrw2xWWZXT0Ns5uTvhYPJGyIfME52b1yZhInZKUwiuzDOzmACW6EJsTMwTN5ROHULjkPfULA4AfcSxqmrcC76CxNzp+FS7jlMo+7DOPchJtSix71J4YscIu5XjLMZFaHPl+NuxvihaiQ6HJMq1ajS9Zhcq2XcCRmv1Cbujgpf5Whwx2SceifnqosqquinirTJqbnHMq66LRNz32USdWDGdS9mMndlJtSqEHVqBT/kiG8Foj7OuOjo0ibd0hvoTbpa5a7vwCZdnUR0g3qTrlZTl1jZpKtl6h71Jl2pYlepVxW0KrvN6qqCTsBd6MFVBZ0odad6VUGr3LUGFTvYKLAPRpU726hKr4xJhGPGBOybUU32GOXUmUSZOuQospEGlTtnEmMXnV4FladM3bV+FbSiqq67+ipoJYHoxvWroPr3qUuvvAoqz52696AuaqFOXX1Uk1vHdzBrN5M6/6h+vVqrgUBMcLBa1wYFMdHhup8GCFE9WLvTYCGoq1o808Ahqjx8IFUOIkIaNZSIr47WfpmGFVGVg4uYRAwxYgIeaES1MtyIidKgI8qHKzMPQIL4UCvLbVXgIUn99b8xwfk0GtkvzZ7jEARQ/L7NeRpsAE+L0ec4rABEK8rnYQABLKwdn+NQwVFx7v0HSs5n6ZslZZEd85re0WBOudbvaLCY85/e0WDOkcjvaLAQY5Le0SBO0SmYQ5RehZhOo1+FkCJF7MCrEDJFjp1+FUKKHMXKqxBSjfHUr0IokSIbNA4vvU4wnU69TiAkCmz1dQKh56Cq1wmExAGVrxMILQZTvU6QJQokKBxG3KA/nSdt0GdO0dMb9FnMcUsb9JlzxPIGfRZirNIGfeIUpYI5RGIf/HSi2j74ikxxO7gPvpImR7G2D74ic0yr++AreoxwbR+8linepHLYw+7x6YR593gSKMiV3eNJzYHNu8eTwMEUu8eTEgOYd4+zQEEzzuGyv+cA4XJG4XKBwuWCCperOVyuUbhc4HC5wuFyJYbLOYXLBAqXcQ7X9DV6CFYhFKqCKVAFqzAVLQepKBSigjlAhXN4Co/BKZRCM2EKzEQpLO+nkDx7YkclHIBKKACFMACHEAAt2QdkWQdm2QY2ZRlIya6j3fLWUz8qOQAUPxnlPH23YqT26SdH/DU9V/xLUM7KHBSQfZLR0Li3+OjIDm0pDph/FdcZfRXXBVyKA+xfxXUGX8V1CF/FdWhfxXXkX8U1Fqen76H6HR2/KIh+04kM23JPYJUMhy/NAoX1HExtn5p15J+adaaiYKs0p5a/3dLMfo44HsVp44hinXOe5pAjtTrnyGuWM/8QrrE+3msvwtrXQtjrOtOLOpM+PwuSqk7++Vlgour4Tm+vKbji4RndxKMc8rigARwrilOrEI4oj6B4VXEmCqMsR+xJE+y1yfbaZHttKvbaSHttsr02wl4bYa9Nstcm22sz2eu+u2jQXgGJr642ZK9A41dXG2GvoNBXVxu0V0Dxq6vNDJf2m1laz29maRG/Sd4KPK1rNrO0Rt/M8sJ8M8ur8c2Ml+CbWVp3b5KpNmCqnib+osu5pAX0Jhkq8LRU3rCfQuK4KN7M8kp4M8vL3w266f6DU80MF7qbWVrdbmZ5SbuZ4Tp2M0uL102yPeCyOPtcnHpBupnlVehmlpaem1lab27Q7xzlBd5mhqu6zSwt5TbJ7oCnRdtmllZqG2F3oNCabDPLC7HNjFdfd2RcWTXr8OVUR2jGI21n+ES3RZcEFJ/dtsklgaentC26JCB6HtsGlwQWnry26JKOxmesp3ZkvbCj2Ak7xz7YqXXBjrgHdsU7YGfW/zqy7teQu0mbXbLNLtlWXLKVLtlml2yFS7bCJdvkkm12yTa5ZJtcsg0u2WaXbLNLthWXbKVLttol2+ySrXDJVrhkO0tPBtsZjjnbWRpzjkiMOUeexpwjjWPOEdGYs53lMWcbrLfN1ttWrLeV1ttm622r1tsK622z9bbZettsva203nayXk+zydnbVLK3kdnb5Oyx9YIisrcR9WMTGwc+oJlMKT2gYU6Wqh/QsJjNNT2gYc42mx/QsBANNz2gIQ7Wm17PY65MWL2exxLZce31PJbZmNPreczJoguf55JmszZOjm1c1VkTc8U1iWqvca6oJnBtNUFXWTZ1f+4W2iU/jqPU4gRs9MbJ7Z0fiJDwfZey+ZtGPYBx7gZMqEWPO4TCFwJR12Bc9Q8m5k7CJOopjHN3YQL3GUXoc7649zB+qDREP2JSpb5WehSTa9WZ+xbjlWrLvUzhoqsp0ian5k7H+KGoiO7HpEpUKh2RybWopC7JhNjI+StwTxKl3kl+BS5Lqo+qfQUuq9RT6a/AZY37K/UVuKxQrwUSdFxIqe9CSXVfqOceDFXqxFDS/Rim4K4MNerNUKIODaS5rCXcraFEPRtKqlmgnlsGqtQ4UOIGgBq3AdSqzYC7u/AYP9iDeMCff6PPxF0fStT7BelwFEUfGNTcDaJMPSFK3BmidiDI3CWCtNCUOkaUVN+Ieu4eUaUeEiXuJFHjfhK0XmaZe0uUvlJ6os9Etd4GKj0npjjQSrj/RKneFLgXBUl0pKBu5G+4O0XpK2ETnSqq9bBVulZMcSBsqYNFLZjL4Asz/+bMeGTPDR3FjaaTUDrtK4HoHMbliabEeCJDdCLj8kRhD9hVjdMpoyjPC9G70pTOiZI8Y9k+dCUQncu4PJFt8bhSjE7lgjyX7X+4UozO5YI817Rl4CoTOk/B8izlQ2dXAtF5jKsTfURTODHkf/L8IzZzQPHhlHN8OOXUHk45kn/Z/GNovsDo75l/hOa6Jxe7jssGRLuj66Bdx9xPgs0C/ZcFXedU+hz2TqGfo6DrnKpyjmEMsFzO6SwGr1VKfab9iGb/J0guPy7LXyE5OskyabgKcGTEd8aEugUo3oYL/gj6tKD7cPQQjrwe7Y78z6SMR3HzyYjSJpMyOONMoBufEKLsVNyYVM5Y4fcZPWQE+Sxom/PAOTaes83v8h5FDNk2RNk2LrOdXvqcMlT4fUYPGUG28d1FygNnW767OElqy/OR0DAAsruTog6F3EpdcorifYU/VDiGB/m2kuEUqCDmaIlJz1FSIFKqCxeSjJIab055Bule0gdJITpAtzJ7HBmURFx8cpUCAxJGBjGHBjUdG0iRggPavcYPGmN8AG91PlOEUMsh4n3eRxFDaNJAjbkMSdowPmWw8PuMHjKCEBS0zXngrBvP2U5bh4+IQ8bzuDIJMut5G/KUKxPuBXsQDLJvbCsywwFwIUcg7QY+Ig4RyKPhJMgI5J3FU85MuBfsQTCIgLGtyAxHwIUUgU8p7zsyNJdlt17vlkKeGfw0K+9C744Wdi/jEQ1eP+XsfqIx2X4KepWuvyNdPLJlTUe23RNQ/obryHFlEyhu9nQcP+06IvqA68joA65xtiNmOtVZzlUOVPkpx6XgTiCKkHEKk3MRKxNzwFzKUTONQmec42cCBzEvBVxVlgKuDi4FmMqB1W+dTz/Kb51rgUJdeeu8ooqw1986ryTIRVB561yrXBy1t86lfFUVqIBIlcVUeYd6X1jXoRCuc+Svc7ivKzG+loG91tG8ziG8FnG7FsHasT4e5XvuKzfYyxvs852k/dSuiHv03dSO7MmKoW08yne9zXdXazAs0MkONpikilh9rcGkBLmIDzYYVjmohxsMyX1VOBgWWUnqn0zQCQ5mq1KLap9M0DLVrconE6S6rQoHA5PrYRlC7kdbt7hSMSGcxRcUTgpCWUl01Afb67PX9TWD68vQbn+Ul8z7tEjDXJ42LMbsUWXxuz+0+N1/ffG7zxP+PZeL4r2aUQtJXomnzXual8r7ylJ5f3CpvA8zrT2it0qv6gpdiWV5QUoE1xWr9n1t1b4/vGrfx0nUnpU/7nIlEJ3duDx5UeHceU2+r6zJ9wfX5HtsZ3tU+v/aum7USRzZsvt0V/T9/8vrQviTmb/EGPEQyfmd1uIlxTlX+nf2gRellZ5PanHdO6dYmz9FXC6otHJBqZU1d62KeW1M8WV+0VVis/vJ0/yTu3hSkcLrxhDe/VuPp3YUt7qMyCqgI7HrZeRpt8tI4y6XEdHelZF5j++svO3oJG5f2aGLWXlzZTyySbqjUkKIrGAAlpnLPtqrqVJ7AqvLjuKVunzxLl88Dr+A4zICUBhoAbYNDo58Y4Mzi6qzq3hUyhcQ1SETbH/HsdWf3UjsxMrChl+A4hvaziG3QO3NbEf8QXdX/H1tZ/ZNe0f2QrYhnxV5Wf8esuojoRUaAKA4xF7F5o5QGHVxMGx+aR8xc2qIeh8xi7lJpn3EzLlx5n3ELMRmmvYRE4cGa4gajnFqPc65/aZHeFPBFn6Zk3Jzxp3LjCr3x61b71xmMbdzuXOZNWrxeecyC9z2cajMiFygMlQmlf0AdxWfxEJnZ9C7ilnMHpF2FTPXbpF3FbNAvpF2FRNPDlKE33OYwEsMkaEYJ1dxztbiivIX/GL11PzSF6uZk7/oL1azmP0lfbGaOftL/mI1C9Ff0heriYO/GKL2a5zar3P2l/SsfCr2wi9zUvYX/EY2o8r9sb/ob2SzmP1FfiObNfKX/I1sFthfcOMAI/KXysYBUtlf8EPZJ7HQ2V/0h7JZzP6SPpTNXPtL/lA2C+Qv6UPZxJO/FOH3HCbwF0PkL8bJX5yzv7gi/SWs9KDLRIG9JqrsOFGVvhOTCPeJCdiDopqcKMrJj6JMrhRF9qb4jATKMArsA1FlNyA1eZZ+MFMqVFAvaz9LLpbWp7VwMCfJ1w6sT+skwuPq69M6BftdZX1ay8n70gMdLbAPHnqgI9MkT0wL4yeqyiV/PLAwrpMIr9QL41qt+GZlYVzL7KF6YVyq2U+D/Hst3OitUWCHjSr7LKnJbUkXnjstBo2vbe03DBixW4nY7DVi8RV509BQoxK/G2+YvgVv3L0z8mKakcaPwhf8WyYWVsIxXkHc/UG2/R+tLWT3l9hOQkx3f4LtLKSxv71GGAK0V+7BWvcvjdxjddujh5ToISfaQqL9Bzy2mGhCPNElzMnF9r2s4I/+/b//H63X5Vs=\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json": +/*!**********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json ***! + \**********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnVtzG0mOhf+Kgk+7Ee5ZSdbN/aa+ebzuMdvupmjORD9QUlnmmmJpSMoSZ2L++9YNwMEBkn5xuL6TdUkkgLxUFvXv0Y/1/X212o6+H1397XEzv6sOTl6+Onx1cHry6uXJ6MXol3q1fTe/r5oCfyzuq813H+r7+aoVHpdLFA5UmN8vljuUGjitFnef27tIqTfb+XJxc7m6WzbFDpvjzS+L5+r2t8X25vPo++36sXox+vHzfD2/2Vbr36v21J+ft9XqtrrVGzWP9sMP9fPo+398d3R28eK746OLF0eHh4cvLl5d/PliNGkKr5eLVfVbvVlsF/Vq9P13jQzCH58XN19W1WYz+v604VfVetMVGx0eHv+luVBzk3f1dnHT1uTH+mG3bitx8F83/31w9Ori9EX773n376v231eH3b8vu3/PDy5v6+vq4PfdZlvdbw7erG7q9UO9nm+r278cHFwulwcf2qs1dqs21fprQ3szLjYH84Pten5b3c/XXw7qTwe/Llb1dvdQfffXqjnr8vXBfHX7P/X6YNGcvHm83ixuF/P1otr8pXncn5vb3C5Wd7/ffK66Buie4vdtc8p8fStqU/DH+cNfhzY5Ozt+MfooRyetJS43N62p14148fLF6KdKjxsjn78Y/b69/et09P3xRfffq+a/Fyd9e/2t2q4XN41B//Hv0fRjU6S93LvmQTYP88aO/3nR45cvX/a4er5Zzu+Vnxxe9Pyfj3VjqeulKqeHw4VWj/fXbUPdraJ2Wy+X87XyC7nLQ7W+ab1chPPz4Tbz+0baNNaJT9Y9QdfiUXuYr6vVsvpUkvxp+njzTXvFzRdTzk6Gs5aPG6Vqs5smOOfxFp93D5+rVSzeVGVRW02OpZKb5XzzOT7Nv6p1HWm9qiLcPiUlt5/XVVL2U/24Tujia1J2s3hOYPW1Stq2ym26WsADa5Vv6mW9SixR3S+8pC2wbNNAoNU/H+fLiO/WVRPIVs2TkxNxmmrTpRpRXh0fDW0P3nd83LNLRWdn5z36IaIf44k/Wamj4fo/21OenvXol3ji64j+Gh3sjaEmtXXof+OJb+ND/GqhJyf+LZ74LqJxfPrfYqn30Tgf4om/x+f6I15rEtGVtZq05zSW+hjRLN7x79Gq101n9qXaurShnnndaD5O+TyfU07OXklOuVksbhbrm0fLohocj23S3jQ9T5J5u/zmHka9eB6vdB1L3ST5N5ZK7vwpnngX0edopEVE/xdP/BJLWQhr5k+slSSdJO09RPTPWEfLDRpCm/hcST57jOhr9LinWCrJpLvYHP8ydHFo/uUd4VhbHTpTX556uJMj8MbtYnlb7Opv66fEzq53tp5g243TzDmOJOw/tQNDzLNW56zv+LSs14uEb6rCVW4e1003fmMGPJLad2GzWXQD1yT996MWZ01z8sdFo9zX23zk0Mrdhb8hk+kl7X1aJCwZPzUDuXQ4cDu/u6uSnrvnOBSjAUfbdtW6gtg/tbHQ/G49f4CkJqdeN9OHKqmlmfd6vtlj4f1qYfylDeD1bs7Q22a5XDxsFptEauq6/Vw/urFi6Padc1vLredfk3iY3zxuE9zn8k/L6jlqhci6n9+s6+TG1+squ/FtvZ3fuIgzadG0JBrAEhrGoT1sdduYNBujPq7u5uvH++X8MblNfdcMM78kl5tjPaBd7p3P6uDi0kY9x+eDz9fr20/NMM+NC22A4vtYG394rjcY2w1eHh3qDe6bPPe4dHeQzDRPRqO3bchvNkn3tSyMzevCc9bJILqJzmZC3Hh90mpvQoNax+z9zzp/7zXWMaVNapfzbWdjo/AEOoq+XXxdgDvbKf7JbLichIY9duGkSXKSdRYUg9pVdzMvChKoaryk3c8FiuFyQ8wpGuwc/3TWEnSCzQHCTWzG0GQImIL4KSZV9PxMxWHNI7kV5RwbFXo/sFrmdnmXPYCFR8lHfUq1cX52NZtIla7m0yqYMyZK8xBXTeCUEW3wSnc/H+6yrP9Vre6STPKhEFGvs0qac+wNkn2ee1nqRtaFJr3hutrsJ1pOxyR/fK7XSa3GdHczA0WBTvOIX0iyLZhtQjcwi/muzS1vbB67Mc46eV7vgmbFEqe0Kknw/nG5XTwsd8lz+QqCk/vmkI6vGW1tF/Pl7eJTMsHalVPDO38fc9jEWSw29rrZnl6nLN0U0t2qlAapQSGnzFM/fkMXwsW3ZsCAK3A6AVrXX6oVToM0Oa6ru8XGD3wtRAsjrzcxLs50LvLYRLWbjZixCyPIdcEyNceSxmXBpf7uLXZ68kpGrt06l18F01r+vLURiiXZYgJcZnnr5fHgvdtCkqmKvWNJuCwNH/Z4pTewzZZLoVG697jUIqWuh3Ou9iOlO5fjeLx3WMI9powLquU2We7ZuiRtOfGp3pMR40hPzrt/TGrin8hMlY4zLRbI9DZP9SOc81PM440DrxtHhkfTbiRMYaRtloWO5G06yNAZhm+4V7JuoK90spxYnpC9KYT+m1KI/0pPLWZojPZ5voSeQWK8nZnQMrc2xb6x88qPmszTvtF+hUioSt3znc+lWKGhVbNG9fnMeDbcVQfOZzjqYE2WyF541BRalgnn+XiDks2pZvPbxU2WZ38q9GfrvbV559vHHpdGuzbc3OvWe+91WfCFy2KOzmcDY38dy8NJv2kjkUJvX0oUX9Lxs47H3EDArrY3FPwj2PLu3jst67u2vVd1Moqvy7n0MUoSys2lCpF8t3fOUEFHbjYvuO8q7cbh9WHoISzll2L858f2VeSfL0Zvq/Xqt/li3b5A/sfosn1RPXrx3cnhny+Goz57ONQ/p0dDTkf42h/1WcUhrBgK4+bo9FSP5BEAgXM4rk3laB//DrnM45TBZI71i0MO9YGD6L07+qM5Ojo60kMxmmOu/qBM3KUm0QCTggEmqQEm0QCTogEmiQFk6OdYl1GQXLWVeKmH0+bwlbbprBUPVZxJnZDBwwOGfQHOSF+bw/MTOXpq73YsRzt/JDcDBPca6FAIA0ARRYFyCgXjHA+ivE4QRYbyNDxEhRhRRH6iPHMWFaPHqERuozz3HZXZgVSgMFJOsST8fUQYVco4tExI40vkSbw8R5ryfRZMYk6lggUL0adyyYIhDlXwwSgYI1IYhKUgjE1lHKAqJFEqWhqqIkK8CoKgFbRLEIWv8hjDQyhhDCuiGFZOMWycY1iU1wmiGFaexrCoEMOKyAOVZx6oYvRAlcgDleceqDJ7oAoUw8ophoW/jwhjWBnHsAlpDIs8iZfnGFa+z4JJDKtUsGAhhlUuWTDEsAo+hgVjDAuDGBaEMayMY1iFJIZFS2NYRIhhQRDDgnYJohhWHmMY2wkD2XOKZi9SSJPIce3k1yVOEe7FNMxdEYh1z8ldvZj5rC8RHdfr5L1ezF3Yl2E/9iqlAy9STnDi+wLH7OAFThGkpnnClZkUbskZw4vfbIIkd3h9XxMUsogvs7cJQj7xqk8qTsPM4gRIL45jjvECJxqvJtnGFUhTjisBecdxSD6O70qc0pAXYy4ygpkIKeUhlCgLOYlzEIivc0r5B6U0+0AByD1Iye1Rypwe9ejyqJLDo5S7O5ZgZ0eNsg1KlGtAep9SzDOIOcs4Lc0xUGKS3orzC0rfMHSSW1AtG7qQV7DEHkOHnIKazyigYD4BDNkEKOYSxJxJUEvyCMhpFgEdcghQyCBAdzml7IFSzB1D42DiUERZQzmlDOOcL0R5nSDKFMrTNCEq5AhF5LfKM6dVMXqsSuSuynNfVZkdVQVKB8opFwh/HxFmAWWcAkxI41/kSbw8R77yfRZMYl6lggUL0a5yyYIhzlXwQS4YI1wYhLcgjG1lHNgqJFEtWhrSIkI8C4JgFrRLEIWx8hjDYjgMYmMUxSZQGIPAcazS64xRJJuQhrLKEMvGyBVNyHzR1OiMppE3mpC7o+nsj6ZQSJtAMa3C+4RhVBvksAYljWvVJ8ktOLJN2GvOJLZNK5mzEN2mF80Z4tsUH+DKMcIVQogrwxg3yEFuShLlKqZhrirEuTIIdGW7jFGomxBjXWyFsW6MYt0EinUQONZVep0xinUT0lhXGWLdGDmnCZlzmhqd0zRyThNy5zSdndMUinUTKNZVeJ8wjHWDHOugpLGu+iS5Bce6CXvNmcS6aSVzFmLd9KI5Q6yb4mNdOca6Qoh1ZRjrBjnWTUliXcU01lWFWFfWxvopheguY9pMLGBD9Np6+CjbAkoIxblginLFHOOD8DoSim/BaXQPIsS2EHJFwZkjihbdUBRyQsG5C4rKDiicolkwxfKA3weCcSyIo1h5GsODOgmX5vgVvMdoSeyKkhutELeiFowWYla4j9iBYrwOCKJ1IBirgjhShSdxOkhplA4axOhAoDceyC4S6okFx3548BgMTkUUncopPI1zfIryOkEUocrTEBUVYlQR+ZvyzOFUjB6nErmc8tznVGanU4FCVTnFqvD3EWG0KuNwNSGNV5En8fIcscr3WTCJWZUKFixErcolC4a4VcEHrmCMXGEQuoIwdpVx8KqQRK9oafiKCPErCAJY0C5BFMLKQwz/0NDL5qivcnck5wKSeAPk2hc43AGotCogbTFg2ljAhnYCIs5vaNJZVo+sIRS5xwXumkapPC4g8j9QtCLAtCLAhor05KfB7id25DPmT2h3QK4iwKEiQKUigPRxgenjAhseF4jY3dCVO2rj5KUezTS4fsLgABSywLCb11lGEZlHOdlIeWYoFaO1VCKTKWe7qcDGU8FbUDGZUfhVRGBQQbNoLDat8sS+3XcA3r6C2L7C2b7CU/uKmNhXJLav8GBfEYJ9RSD7Cmb7DvwqIrTvgGbRWMG+woN9fxlM2+fsX9CqgMSggJwtgcMdgIoFAanxgKndgA0mAyLWMtSOwY60PnNNpoakBoB8fjWO+dWo5ldDlkWNWRY1JlnUiNTAUP/jUC++uzgUUju9jnWqCxWo0wrUsQI1dxCmJFWrZWAHKNZj+NUqqcj/Du51ZkdSEUDSOIBc3YBD3YBK3QBpDYBp4wAbGgeIVKpHb0f9MPylHelow5AfWhjHoYVRHVoYoqYAxQYdxqQpAOkIQ1F7dHyqR/LUgGRMjQgrAhwqglQ/5HBY6gdIawFMm8NYrWOkt+j0gJJB3FtyeqB+EPc2cXpQaHj3Fp0ekB/LtehRQ6A78qHaoSRUOx5CtaM+VDuUhmqnUKh2jLJQx1wWasnOWX4X/WMXG91NtjAuSKAQITWLFioSA4cKUAyRmocTFeLIIpmCjFSKN69WJYtxFJJKAclqEptU5FstlkUslaDgJZXjmGQOaS9DdJNAgU5qFvNUJIY/FaBMQGqeFKgQ5weSKVWQSlnDq5BASKBcQmqWVqhIzDBUgJINqXneoUKcgkjmbESyT0xe3JVcidMVqSEOfh3160r9EkJ3JMGGyK0lmdAtsRweyuFUB5+/jmRhRUVYUzHm5uyK3UqK3a17/6BPvfNj+V+pegPFb1iGK4VPWALPauu+7hgeFb/uGOrtv+7wxYIF8q87vJbZAj/boHqyVbLPNgZJJpfZHUTbxeJ8B+XJHZzzQROQQA3BatYcvgw2ilegabwwK54SmonkpLF8idSgIXxTGwXjFsN3KDAkVzSuIjKr8cygoqIphYERBc2SYsFwKiQmEy0zlmi7WE82kPJgmncjXA7tjnxv2iG/HNqhpFfteOhKO+r7zw5Rf9gxWg7tmFsO7YjvDN9J8F4miOqinCqkPKuVirFqKlH9lHMlVeCaquCrq5jqjOuGjKjOYd2QeVbnbN2QJapzXDdkgevM64aMuc4uyi+LAtffq2wFr6a28EUSi/gCbBevBut4OdjIy2QpL5K95B3IZYLIRsrJOsozu6gYLaIS2UI5W0EFrr8KvuaKfZ3HrrrjWNNxrOS4UL9xWrVxrNU4qdA4qcs4VGOc16DtpfqF2zF2UIiS177joVs61aOpu+pHV3LmStqKryHsKnoaE+24kGjHhUQ73pdox+VEOy4k2nEp0Y5LiXacJ9pxIdEqhzYJI+PAs9bBkTHZcxpv9zGeOIsncrNlI+VBcl8TQQN6Tq3oRWpKL2bt6UvERvU6tawXuXm9ym3sVd/QXqPWDp/7nSTW43bf97FfVuSq0CrTwnN8LFxnVrgOe0Xxg7dBh09FwDGQklugRE6BUuYSqEeHQJXcASV2BtTYFVDzjoAKuQF9i3US7MQuUP4SKxa4Si0/Te/+Mb3CLL0CN3vh66RBlQ8LoMUVUXMrp7ZWnjW0irGVVaImVs7tqwI3rgq+ZRVTs+KXNSfeDNyghe9qSL2K9pzG232MJ87iidx82Tcog+RX1bAJWaGWZJkalOWsXblMbF4uQa3MMjc269zmrPumZ5U8gGRwBFbIH4KcuQUVuiq22LT4RB+LV5sVr8aew3J0IP3UAFzHGDmNCeQuJmSOYmp0EdPIOUxgtzCFHcIU7wrGyQnctzgnZBFu+NKXOCxfJdadJvf8mJw7S87lRk2/Vhk0Wd2B1lREjamc2lJ51pQqxpZUiRpSObejCtyMKvhWVEyNiCt6J94M3ISFFT1Sr6I9p/F2H+OJs3giN162wjdIcZI+LkzSx4VJ+njfJH1cnqSPC5P0cWmSPi5N0sf5JH1cmqTjTt0TbwZuu8I+XVKvoj2n8XYf44mzeCK3XbantZd+G5qtX479DVsMkDQWINdOwMNe1d+wdQBpwwDTNgE2NAcQaQlDtvmpO/JvDDvkNz91KHlz2PHwurCj/h1hh+idX8foRV/H3Nu9jvhNQy2SzU/DZuIW6T6igb0f4ZbZ7shvme1QsmW242HLbEf9ltkOpVtmO4W2zHaMtsx2zG2Z/TDqN0mc2JHfs9ihZFtix8OOxI76zYgdoqcGhXYodkzeUwPy+w8/DJF9ZkcS1IhcPJswcdeZxPpOCvWdpPWdxPpyK4GS1HdCmzE/QCsZaRPQhR61uad/u/JhyDFndqQb2AzhrrSeykIOtL4iMonyzC4qRuOoRBZSnptJZbaVCuQgyslLcGHtjBD5S2FhjdRJvDa7j/J9tkocSaWCrQoupXLJVsG5VPAehmuHFx6Br+FCIfkRe122UDhI8vYFXE8RmVN5Zk4VozlVInMqz82pMptTBXI95eR6wsH1FJHrGc9cT9RJvDa7nvJ9tkpcT6WCrQqup3LJVsH1VPCuh5v1LzwC18PN+uRH7HrZZn2RwvZAeYh8e2CupgYubg/MC7Cx924PzAsFw+fbA3OVHTbsEDlLBXbefTtE0jKT0j2DO3v12zbPXNsX2Gvzkpv7QvttHl3ey+T4YevMRSZgEISdM6lfh4Ao7pvpC/wxGqYZL/VIpxmGdJphyE8zjOM0w6hOMwzZNMOYTTOMyTTDiE4zFLXRfHShRzr6NuRH38Zx9G1UR9+GePRtio2+jen3CIZ0aqHIvqnojuSpAYndAbmKAA8R0FHv9h0iN+6Y2h0uONgdiM8bLer/wrVMWXvST5f6rUotac84V103GQOSxILIfcFjPGy97ilsHIbC+mGPIdpW3TH7sEfZ8HfPZSbbosVIpvzdkV896RCtW7SsdgasYwvXhebEPcNApUaAyC9B0boCE78EJK1qSOe31ohrV611rP1aGhGR6xJMsL+NLtmtpe0+4xM70i7BkO8HjKPrG1XXN8Rp3hQLCmOW0I1JFlfy5Cy380exvXexXXGz1ZDRwmYr5pSP881WLMbMHDZbMeccHTdbseCzddhsRRzydpgGMM8yeDYNYIlyeWkawDJn9TANYE75Xfg8tjRneuWU7pVnSULFmPhVouyvnLsAFbgfUMF3BoqpRxBO3YJh1zcIhhStiHoJ5dRVGI9f7ZgYOw2TYs+hGnUfyrkPUYE7EhG4NxEOXYoiyqzKuXMRoY6twt2M8n1ulHQ4KlGvozzvelTm/kcF6oSUU08knLsj4etoDe6YlFPvZDzrokRN+imRoLNSRD2W8qzbUjH2XSpRB6Y878VU5q5MBe7PVPCdmuCn2BK7BBWcLevowg5b6Q3yHba5yl3fnh22eZGkG8x32OZq6BILO2xzmbrHfIdtqmJXmS9Y5GrabRYXLPIC3IXuXbDIC4XuNF+wyFXuWp06L3lY6Ga9yp2tV9Nc6YskHa8vwN2vV0Mn7OXQFXuZOmQvcrfsVO6cSfRdtP+CEro2L3B37VXutEnNum5fJOnAqUDSjfsS/pNcVu33HlI5dOxODt27U7GT9wL3VV4NHb7/ZLPU9qHz9+q33TobCPgCPBzwamFQ4AuFoYGXeYDgVR4mODUMFpy6LtkzDBy8ysMHUtNBhCuTDSVcARxQeIGHFV5NBxe+SDLE8AV4oOHVwnDDFwqDDi+HoYeXaQDixKdSS++Kwt4QiAOTyTAaObEjvx49wXEHoGRdekIjDKC+N5i4sQQwWkaewKgBiM/wsn6O1QjfTjCnCuXfTrAYqxa+nWDOlYzfTrDgqxu+nRh4+OYg5VT7/JuDVMzsUPzmINXJIoVvDlKVbZN+c5BqZCXafp9QslC2/T6RMusUtt8nKlkm3X6faGyVZPt9opBFcG86I7JF2JvOPLNCtjedJap/3JvOAtec96Yzpjone7oLClmgtKe7IGf22LOnu1CCrFPc013Q2VaFPd0FlSznNjMHRtaKm5mDkFko3cwcNLJKspk5KGyJsJk5cKq9/pL0Zcao9iZQ7U3Iam9qrL1pVHsTuPamcO1N8bU3TrUffqn3MhKquWCqt+Cs1qLFOotCNRbM9RXOtRXu6yrU1/RqqOXwS61XWEVkulcTmF9fAAFXFQDrWgIwWxwAaBsYAcoORkC6OGCs/Y3jIzvyW0w75IfsJoydTWgvSIeSxux4aMiO+kbsULrXoFOoaTvmd3J0KLYd7E/tDrXtgKkRgPm3rMbxdxKN6nq4IZs3G7N2gztJuwHSX0pUJBOkfurWk2Hz7fErQVSHKqmrLTgAyqtapVV16wl44WiCKjFBlZlAVwmGH99oWbs2cGZHunXDkP9ZLeP4G0JG9eexDNlvYhmjnxpsWe2NbL/oCMxHOgg4ozKqywSGeKUQrmErAsZ0URDK6eRfke3GtmI43TZvaufY5xrqOrEG5L3EOHqJUfUGQ1RDUMxPjNm6kjH5SdGOTCUx9603dYkZmAY3MGouEzAxA9bEDMwSM0DzboAS4IA0MRvrFrHtyO+Sn4b0Cjzskp9iegWU7pKfuvQKTF3MkD62Ilthno7CsvJ0FNaSpyG3Ag/LD1PMrYBojWw6iovC0xGvBE8xsxqSWHh5bqTPrP2a5XRIrHZGFWupaRVRXssq9IZTTqtQ2HeSU5dVgSWV16R6puGycCctfA8+denPWO2uWse6ZwunU859RmNz5uui01FcDJ2OwgrodBSWPaeY+awRMfFZY7eJ71RP08QHyP95AePhs6QpJj5A/PcETLE/JWDM/oqAMfkDAkraBb7zl3qk6doQpuWOzny+nCX5cpbky1kpX87yfDlL8uUsy5ezLF/OYr6cJflyNsIfMZ1hvgSUvD2ZUb4E6t+CzJJ8CQrtc5hhvgTkf2x0NuTLYZQzw4SJTFsAGOV+E3DXqlH/w8ozlzOBwYdQBvVLKEP+p5VnkDX78JqNwnh0NqRNuEyVVFYTp2OFylZpZf2IFEpHI1SJEarMCDYi7UepsyF79u8nZpg9AdEfAJkN2fPoSK9rg0dgvrogYAwb9XtvZkkCxWvQ67sZZlAsp1MORTx4nFEOtaZ/9IZ6pHnHLGRRFMIsY4ZpFFCopEk00Zi5PIoF/VxrpuvnkFrCy4EgcIbMXw8ENcmV4QVBEELWjK8IgkL5M7wkYAEyafjWjXmWU7Nv3Vii7Fr61o1lzrPhWzfmlHGFY9pVxulIBU7AKqSJSdWYnVSiVKSc85EKISmpQulZOeVo4RSthn22Fp5VO+RtFTh5m7DPUEkaNynJ5SoWrBiyugpFK4b8LgIkeUWU6ZVzuhcBc74yTvwqpNlf1dgFqET9gPJCZ6A69wgqcLegAvUNwkMHIULSS4j0mNg89BcqpJ2GqrHnUIm6D+WFPkR17khUCL2JKtSl0EtFybXZW8VM476l+F4xK5D0MNmbxUwL/Uz6bjETqbfJ3i4mGvQ5SKnbQSnreVCPnQ+q1P+glHdBWIJ7IdSoI0KJ+iKQsDtCzIkWNe6UUEvTLRaIGRdVyqsocWpFLWRXFKmbQslWkYJGWcMpvsMCqXCt0G2hxj2X075hzaT/cmrShaFetnboyFDbZ+3QnYEGPRpS6tRQ4n4NNOzaEHPvhlrawWGB2MehSt0cSoWeDotwZ4ca93eoUZcHUuj1QEs6PlAf8wYK3R9qaQ+IBWIniCr1gygVukIswr0haqFDRNH3iU3Ydn9fsu8F2qN241r/YlFSHhYQBKWG5IelBEEpt9sHijoO5eGRoTRQKCvbR6CgICiluwWgmDIo5/629VDO/W3roRz8dd2hFPx13aEM/gnPoRD+Cc++1DV6br+4ez245LEdiScCSt6yXZPfAfVv2a4TPwOF3r9dO7cCNniTka9arZtRvxYKRxpNhnBc1FNxsV2C6ALK41Xw2w9GdJXs2w+R5M8Ru+sY5CuZEq/Vd5L9Hy24vV7K3y3os5hTvdRW0H7uqTvyOwM6lO0MUM/Toyd39OxK7vyRr1puZenG8fkU0UMqT5/UpRqPniJ6jifuEkRVKHuLDDmwHoqoHsrTeogK9cAPkwg9xxN3CaJ6lP3VDY9cZRznGjkxr1bI3gl/KvDnwnV2Jc71dWKsNHQKdzmlCqOUVpc7n0CfUvqcXmGXU6okSkkVbdzq6oiYK4laXksogdUE/JTj5/wiuwLmqqIW6ypd912CqI7K0/q5YYFHTxE9xxN3CaK6KI/10LHFXcaoJiakVfFjF2JPCXtOzt1ljOpjQqyQDoLuMkYVMiGtkB9kEXtK2HNy7i5jVCETQoU+jWS2r0d+Z0eHbG6vKNns0fGw2aOjfrNHh2hLR8fohw875n74sCN+l0eLmmhaVptNN5VU+Ekt2B4tdITWHfmR5CcadfQTy7vBNnagk1IlYhkj/nW8Ynwbr1BfxiuxN+6KbLqrSN63KxCT9ESmHvNIfA0U+2ooTuqiWqiQKr5Wiqlqyql+yl0llfqaxs9JU+5rXfiYNBUTC5Q/JU11b43Sh6SpSpbJPyNNNWcl/VNgeuDsEf78VwsXLi0t4tB0URgOLdJxwyL2Q4skny+SlNgeWbR3Rz5DdcjWywzFDNXxkKF66lbFFPvE1SFKXB2jxNWy2h/FZ64LD1inD1jHJwnrS6Ykz1j7/XId8pnUdydJR5J3IV/il8bD9QpfGucqteC+L43zItFse740zkuQjUtfGucy+0D86jcX9poldZLyV795gb3VKnhR6avfXCbfKnz1m6q7kiOx85W/Be0LLIdRU3+XpVul61H8OnUQ5GfYDUleOtEje85kzJiPFleYNocrxbn6qjBXX5Xn6iucYg8XjpPnVWHyvCpPnlfeRHj5QqOxwLf6RqOtcHVwuJWgXSzFl1ceLlyPcB2udiPqWi5+qEc+CGu+ZE+xOYfrxgWa2rWwP5Fvk7ZwL4XudbhhYbWhjqsKyXX4/uVVhV6nvnx4hHQNoObZfrgC37w02+9VHDAM940T19rNUv2JfLt0ltpL9B0h3JIUuDMpu+LV+DlYjo/jBkbDgyQT3dpPaulcvm0+qe01SX9wP8yIxx7t4ol8s+yvyg4SxvtwL3wbcOzRLp7I90pTQCc9uAs8xHMf8tOG1xCFVWove03OWFaf5Fvdi1SQ58hV/0kCq8l2di4CdcoL+E3urNKudpZpMz/L7qMGFv1O+E7NjbXHUnvM9C0b7TfQHuvsM80+u5SN8m2LwP+HL6HQ5Ubtm7LTw4ibB5xvc22pTu6xDwuv0dJVUsIP/pzmYyTWYZ0/p/6kS6bJRCHV3MMmJboJ7mnEfruB1/SGmSZvu3LVP05S4mF+U+Wm6ax9ETG1RyzxVWveWFf3pZwoudPTuiNd2zOU3aIVdBvHsV5M39n2lZOG49u6d2QXHtEDlN6ReZUfJez5G56Hf79yeB73ruvCI3qe0rsur/LzhB9AlOdJf7JLnsqJ+Gxe4Cf0av6c+c9eHWc3pmcefLRL0ER81CjWFTWP/Vqa13D9ySu6fuaxrZx5TpuDlMtqmae6TubwH2o3Jbo6QTixtYj2t6eEdH96ypH2t+BfeSI2JQwG6pUmzLsFz37E1B3porYhaQpAfseEcdwxYVR3TBiyfRHGbF+EMdkXYUTMbUgi4EyJze66Iz/h65C2BaD4Z6c6HqaFPcWFIMP+r1F1iP4aVcfor1G1rNZQ6o78y4UOJdtUOh62qXTUb1PpULpNpVNom0rHpEsGpLZXpHHeG/9phK+CntChAPlXQU/BoYCHkfUTOhQgWlx6cg4FzL0KekKHMuQd6mmEK29Po7Dc9hQaB3hagTpWIF9CexrFdbOnUVgsexqFFbKn2DjPLjKeY2Q8x8h4LkTGcxoZz3lkPMfIeE4i4zmJjF1ojl2s2I5HDIS5eLLlNip40p//+X+DG1I7\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w==\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json": +/*!************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json ***! + \************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJztWsuy48iN/Ret74KZfHtX47meqfGjPHaXx4/wgpJ4JbooUU1JVXXb0f9u4JwESF13R7TD29koIpFi8gCJBHDA/Pvm+nraTuPmZ3/f5HHzs7/k8WlzvXS7fvPXp02eqyR/2vRfd2N3gqhUUfm0Od9P236+DoczxLWK66fNpZ93/fkGWaOy5mnTnUR67c57lRaZSItM/tnN/XnsX/DfIqg0JOk8HI4UK4BCAFzG+xWCQgXF02Y3nU4dJJVKKrx5mPgKBVMImOvYXY+QKJRCoHzXzxMErQrap810hqaloioF1e0L5kvFUwqe23Hu+Q+1TinWeZnuMwSKrRRsL8Nn/kOxlYLtOnzFWE1Viqmu/eceVioVaylYe1OwVKilQD0PCYgiLRtVcJz4kEItW13mNLi0UsCVAB77KyxTKeJKEPff3rsREkVcCeLD3He3HqArBV0J6G/v/fU2cK1WH23l0e3c7T71N9uUVv/c5i73bWlVs1Y0u5/3srO7aQb2EPUB+eUTva0TYgG5mGbbzZSUkJTpn75ygF4PThhq1SMGMds4HYZdN54n/rdWc8rv02bfH9I2hbqGsKbPnIYzHSc0qmTIxI6nuwpiAIQmU8F4Gy7jK8RwntAI1v3wedj39FmFECp508s4zUOyGmwpKrwbL8eOIlVU//Yf/S1J9C212Pa/uuSwbVDYlWzxf/aj/UtfWgm258t1GG1X1BVawfdnX0xdoRbjPCdBVGs1svo3R/tPVD1r2YL3k0kUfC04f9ldLkmk0NVwv+pO232SKXa126/vHAO5wPxNGivsRsZ/HDhWzLVg/iBuOSfMUTGrTX+b/qSIG0H8u+NEl1J4jcD7/XBI9kDcUYN/0/FNCDuNAP64skYOeLrykUsjElWC9+cmAEAB9NtrEijCplaE/YHvKuC5Iup8zxBAWtFrayakC2QC8uCbhggSskx9zXYNQSRkeuZWQBFKQowabNIfS/qeqOgSOFTINcC4DKcnE70H2zqElJAJ3k++dwgrIRPA47J5iCwr724RWELINFBTAAWiCL7SOogrIQj6abWBOH8hCPoL/4a4EoJgn9MWIq40lcY52cJAGbCHMgkpA3g9t7e0sRWgB1HnvjJYRez6yrSTlYJvRZmdCQhe80Pa24roNYL75uLo10WyKYHVeFLjYnImilM0qPDOJOKWNGlFCJsIrw/qsNv7OPY3SnNYSQ9DP46DLHylvGCcEFU08Nz6JIVx9Chd+93ENNhEWroSuC8SAi0WNznNpqH9+c5k1RQ0nIbi9/LnTzdmoKZAaAwaib/0g0Ti29wxG8gUgLey/O8eHmmqt4eiKTNYo416LPrLkcIWa2u06eZ5+mLBXCaoTp4m7pckBm41P8Qe0mUG6DUCYWY/fTmnCQbwkCa2043vrhA2gqakncwM3aGfe9GAj1Vw9qiuzPW2o4Or4PcxhmUu4atwAGKMy8wCscJhiDFfJh1lhY2K6mo250DrTJXOC82EUgVIkTMmOd0moqC5Dd24H15e0hRKJS0Cvg7Xm9RKgz9ErdWrTpfb6zV5Wx2ytwlDZLplUQ/8Ye72Qyq5RI5kqY4t6fe0iHOItdCYbo8zKOi0vLjvjrdjZ2IYRAPUZZ72910SI7vEiL9LaHSvrZFkipKOf02y8gc9vEbmKHQjRP95uH6ShZI9c9pao41otTPLICMETXSC5jLNupbP8bxo2Dy/DOfh9prk8BKNk935MPIo1jiKUSNQqiVSVSozBWYan5nmNMGz1+r6AleO8KJJwXdk2H8XwgVVP31AticBhdvqIZPwNPcvqWhqah74iIB6GsYuvbdGeYFS93yY775hPNh6giUlzNNXr/eaJmNYKrnLKznOt4ZsEQ6f5ZCfWVvJFK2Xs5BcP8ND23r5uJqDyaPmM90Oscl9a87aIC3HLCxz+uOzNFgOhA+P4XRq8hPTjP3Xhzn4oiYIm1svybSpOX03zDuJX4kqyAx3rrKZdZ3XNMggGh9lsUt/Fm+7m+1bGCxqOttPN/fOFiExKh+xnb1d0gz8qiiXmS0r5YxLaaULN/TaOsu4WEgTS3Fd1TCvlsvj9F1/PvQpPzHAZqiN9yZEntcyaDfet0mGOKLl5LGX6EMhU5ZGkf3QnVIWqvJA5FoG7KbLK1BcBcyLTfNYZGr7g8ar+WEWm63VgmSefX/q5k+r6Rplrdo/Heb+q00gKzcWUiVy3pY5RkGL7kept7/zSRS8Uc+Kw+nOV5ukqeu1KqtZ2Ds2a6yrWZghX/NS7q3OwQZ5WM0tgGCBPK7muPM6B2fP8wditayKMKG5YzW7rIvzkJcPs8vKOBGaRJxo+boMocrFfe407G0SJlJS7pO+KOrwqKkAcw4lp28Xi28vU7AM2Lfz9gUITKM8fJlcnoRtlJIvkwsSRtD2kXkuC8M2ytbX08vSME4ZHqd9cTQgojL5hXr60uhDxDJfTy7WQ3kXy2I9q+t+L7V+d3nZD+fDtrtdf7iZ8gPUNhVNSLOdFKmrqgg5UGR5ktUWkERW4ETnYSnQpK5PsqU2k3I5yZbCTGhJki0lmbJ2ypxOd8rYKXM23Slnp6yxclZkVZK1li1EVlMWmY0yyJokC5bIRdYm6sDCW/9X54knZEYnurpKJCEzNtHVdYqTmdGJrm6SiJRMsdWJmTS1MYWuSZwAHg3D5dSJO6tnpqPiNXIHapSQHkL9WNCyDwEZymTtQzyGcfx/rQVukWUP4RgGS29oG5RieEMSVKm67GISoHZUs0g6TKImlZMdbde2cDMFUCZBSBWevKlNIlRrBNQkEVpt0CXUSYTWGvzG1q5TldeFIklgFfiMvQ6tNXgMtk5IM+qSAjbJSpOh4wdUtYnQYgOqxkRosgFVayK02SJsYCJ02tRw9HkVodUG00UTodcG4+UmQrdN0dPhVYR2m8KPBhX1t/bkumgaofzWplwXDT2Oo9K2Lhp6dogUvT+HBpGC98fQxlDs/lSVCr/OVGZ7CGY3lXEIKyD3fylyrQS63P4VjTl0uRkGJxB+l5th2CBS5LkZhg0iRZ6bYdgPUqC5aYMEh8CSmzrsCinU3PRBKkNYyQ0qTgSiSmFQcSAQVAqDimSFmFIYVPaKFGphUNktUqiFQUVaUvLVFbaHSEZK47vC0LNfpOgLQ8+OkaIvDD2SjZbOXWHokWBQgJeGHkmlwaEz9EglKHFKQ48og8qmNPQgJEp0u9LQg4mAjJeGnm0rRV8aeratFH1p6EE8tBnQlYYebSutwLrS0KNrhRZYZegRbpV3dpWhR8tKSU9XGXr2rJTsdJXBTz0ruLjhT00rVaAyBVLTSjWoTIPUs1IVKlOBbSulAV1lOrBzpZS2q0wJNq8yhH7TovIOb1cb5tSXUny14Ut9KUYQUyS1phRgbaDZmEIiFrKThCnpIMMYGrZh0JBo7M01e+H65sZeUpPp6ZsbX4+dcH1xa1YgxYsIAWYF9rXBI1p/L9tiiL6ZmYGtrYpZybaz8caUCA1iA4iIPcEN0ZAQIuq70g2ZPCOQ7R+yE5riIjTojfMRESbsge1zHMhgsSlk5PR4u0WnQDraMOdEE7JTj7dbhAqpw4K3W4wKGZv3eHtempBkA+nHQldgrwXHM1jwCgj0pB7BwlcIbI7BnhbAAmsvHNJgISyw+MIxDRbEAqsvHNRgYSyw/GqZSE0j1l84rMFCWWABhuMaLJgFVmA4sMHCWUi8CRpZQAvkSzizwUJaIE/CoQ0W1ALpEU5tsLDGDzqg6yI0jaKzfxGaRuRBOLjBglsgAcpYHZhG5D04usECXCDdQd0WLMQFshwc6GBBLqQOETSyMBdIa3DMgwW6QD6Dcx4s1AXyDpSRYmoTsrpmzWKQyDJw0GWjTci2GCBZIAtkFDj+wSJZIJPA+Q8WygIJRCQkw8meFCJAsGAWCu8BiNAsjzTAXkKwEBfYg2IQqM3y7EFFauT/ZAcUGlk0DAU7nyzETPeSHBIa1aZmSe4IjWpTsyRphEa1qVmSTFMjU7Mki4ZGreEsSZ+hUWO6s7+bc4/8cdJlaNSYQdjTRbEbM3+c5BgaWTgOSA7stkSLiqFiCwbgLUiHinQX4C1Kh4pEl+BN94oEl+DNdBWJLcH74yS0AG8RPeCjRmRZ3JiR0ZWKrItbW7MmZWVlbG+vSVWxHY2tyW+lJTUy0yEVgdTKmmYlNplKagSDCMFlTIaH8GmVMWkpIj6sMsQv+Ae3UmUIX3AP6q0yRC94x/IOBC84B4+VyhC7yHTIELQRhGgM32hchmAM14hMRCpEMIZrNC6DJvAMWkxl0ASOQYOpDJqACrX+EmgCX9EQ8f3T5stwlggXf/otCfss8O19uvX7LfqmP3Z1AiRPP2JPY2pA/vTbFIhHqhFedB2s0/2v3bIAG1z14yH8CVcvwJFFoePr5cgbDv9/G+Pfvo2BUIP6ix0r8EO9ZYARuKFeMMAIvFA/gWMESqifiTACG9QrBTpCBFGK9wuMQKz0UgJGoH+C7L8xAvPTL40Y4au7gPkfjEAB9SYBRmB/eokAIxA/vT6AETifXh7ACHRPrwroqAFX0i/5GIEmCZb/xQj8Tu8LYARqp5cFMAKr03sCGIHQ6SUBjMDlBMsfMLIP//+HERicXlzACORNsPxJR2iW4I4FRj92EQa8TTuGInY3/vHrMSBwuoPX3TDot4c7osKPXJtBm0XLvsPc0XfRZkHNhxE4nLZsMQJ902/jDOQIkriXkAL7JhEyNh1ZemtZ98IxCZvebeCYZE3AHjkmUdMPGRyTpAm6v3FMgqY3EjgmOdPPZhyTmOlFBIwZxHEPgWNeJ9BbBxyz+af9c45J2PRMcEyyph8EOSZP03PMMTmaXjLgmN0+vWLAMfBpFfeZY7838AVjNilxLYJj4NOy7ZVjUju9zcHxv3/FiVcKULCpf9yGcb9qEOPL/6pp7GyO2cU+S7N2AaOzDMHKBXxO4/goyYBiZ3S7+yxxf0fNKud0r31a0gnddp4+9WfTpHJOt/r4yfIlfVDq5z7dgWABg8amf4SBnLxZQ9A0718keFqMZSGDNurhPoxjf5r84LGeQY/77d0vb3QvyYc1DTrd9nWo56movd196uyqy792faz2prfkJHyAHPiBONTe+kZ2ephrlhb4Ll0HSRfRNOLxqk5onB1LWu4kCPAGRmicIDOZ6j67Ro0T5V2/F6t1lDpTlkz6iMTpspj/JI53H83+jZNmt/+ybY2TZ1lRctmcUldonEDLxLEbGV5aZ9AwRnqAJmydSFu6c2dunU6/8yDIL5Og0+8W67VOp98xsL6kr1H8FglO/W45Uq1z6ncPXto6rX432zlpnVW/e6bAGfXPV0aOmXPqZwcbM+fUzw42Zs6pnx/BxsyJ9fMaV8ycW79fre3c+v1qbefW79+u7QT7/ePazrGf+UE7Zk6wf+Mmi8EJ9ocFQnCC/WGBEJxgf3gDgddNNIp/WC3Mb12i24cHXIEfkcs3FzGDM/UPnnJjcKb+cQXOmfrHFThn6h/fgItO1z8+4IjO2P+0LBOdsX9znHgBKUYn7Id+Pkklvh3TCgtpX9DFhbSvll1I+1t0C3NfTBcX5v4IeSHv5sYxX7g7H86dt+/Wbpw7c+8XsLkz934Bmztz79+AzZ2+9w+4cmfww2ptZ/DDam1n8MPbtZ3GDw9rs9ui3KZPblw4tz8vJiuc208LhMK5/bRAKJzbT28gFE7wp9XCTvCnR1zO8ZeLw7Fwjj8tTlw4x78v0Ern+PcFWukc//4GWulE//6AonSu/7paxrn+zZ2YnRclRK/rBXJsCAjxh2cKEAWVJ02ku/wOoFv2+12XkmnODwHgW4uQGVbZ0uM7mAJ1b/68/JlpUMnWdy5MF6/Vd5eL19YYSPd6FqPwBkNQo/h2NQxdQQ3bn/dpCxrGrqCW7U8rKZl/mfi0Xytk3Am66ZhYbg4y+KAVslDwbXdNL2d5qU5hnYBlTZaa6hs2t1qWdaeeTptcLco+hl5R7w4H5uOGcQbtEkpT18GusOI2xT9dYcVJf7zCSjmbD+Iud2s1NPRb9E+0UICmizb8ZK/+5JOLOulSqwaw5VJr2vB8dSFn89fvv/8H0oq1dA==\\\"\");\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js ***! + \***************************************************************************/ +/*! exports provided: FontNames, Font, Encodings */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Font__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Font */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontNames\", function() { return _Font__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Font\", function() { return _Font__WEBPACK_IMPORTED_MODULE_0__[\"Font\"]; });\n\n/* harmony import */ var _Encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Encoding */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Encodings\", function() { return _Encoding__WEBPACK_IMPORTED_MODULE_1__[\"Encodings\"]; });\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js ***! + \***************************************************************************/ +/*! exports provided: decodeFromBase64, decompressJson, padStart */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return decodeFromBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decompressJson\", function() { return decompressJson; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return padStart; });\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * The `chars`, `lookup`, and `decodeFromBase64` members of this file are\n * licensed under the following:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n *\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar decodeFromBase64 = function (base64) {\n var bufferLength = base64.length * 0.75;\n var len = base64.length;\n var i;\n var p = 0;\n var encoded1;\n var encoded2;\n var encoded3;\n var encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var bytes = new Uint8Array(bufferLength);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return bytes;\n};\nvar arrayToString = function (array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n str += String.fromCharCode(array[i]);\n }\n return str;\n};\nvar decompressJson = function (compressedJson) {\n return arrayToString(pako__WEBPACK_IMPORTED_MODULE_0___default.a.inflate(decodeFromBase64(compressedJson)));\n};\nvar padStart = function (value, length, padChar) {\n var padding = '';\n for (var idx = 0, len = length - value.length; idx < len; idx++) {\n padding += padChar;\n }\n return padding + value;\n};\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar UPNG = {};\n\n\t\n\nUPNG.toRGBA8 = function(out)\n{\n\tvar w = out.width, h = out.height;\n\tif(out.tabs.acTL==null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer];\n\t\n\tvar frms = [];\n\tif(out.frames[0].data==null) out.frames[0].data = out.data;\n\t\n\tvar len = w*h*4, img = new Uint8Array(len), empty = new Uint8Array(len), prev=new Uint8Array(len);\n\tfor(var i=0; i>3)]>>(7-((i&7)<<0)))& 1), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>2)]>>(6-((i&3)<<1)))& 3), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>1)]>>(4-((i&1)<<2)))&15), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>>3)]>>>(7 -((x&7) )))& 1), al=(gr==tr*255)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 2) for(var x=0; x>>2)]>>>(6 -((x&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 4) for(var x=0; x>>1)]>>>(4 -((x&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 8) for(var x=0; x>>2<<3);while(i==0){i=n(N,d,1);m=n(N,d+1,2);d+=3;if(m==0){if((d&7)!=0)d+=8-(d&7);\nvar D=(d>>>3)+4,q=N[D-4]|N[D-3]<<8;if(Z)W=H.H.W(W,w+q);W.set(new R(N.buffer,N.byteOffset+D,q),w);d=D+q<<3;\nw+=q;continue}if(Z)W=H.H.W(W,w+(1<<17));if(m==1){v=b.J;C=b.h;X=(1<<9)-1;u=(1<<5)-1}if(m==2){J=A(N,d,5)+257;\nh=A(N,d+5,5)+1;Q=A(N,d+10,4)+4;d+=14;var E=d,j=1;for(var c=0;c<38;c+=2){b.Q[c]=0;b.Q[c+1]=0}for(var c=0;\ncj)j=K}d+=3*Q;M(b.Q,j);I(b.Q,j,b.u);v=b.w;C=b.d;\nd=l(b.u,(1<>>4;if(p>>>8==0){W[w++]=p}else if(p==256){break}else{var z=w+p-254;\nif(p>264){var _=b.q[p-257];z=w+(_>>>3)+A(N,d,_&7);d+=_&7}var $=C[e(N,d)&u];d+=$&15;var s=$>>>4,Y=b.c[s],a=(Y>>>4)+n(N,d,Y&15);\nd+=Y&15;while(w>>4;\nif(b<=15){A[I]=b;I++}else{var Z=0,m=0;if(b==16){m=3+l(V,n,2);n+=2;Z=A[I-1]}else if(b==17){m=3+l(V,n,3);\nn+=3}else if(b==18){m=11+l(V,n,7);n+=7}var J=I+m;while(I>>1;\nwhile(An)n=M;A++}while(A>1,I=N[l+1],e=M<<4|I,b=W-I,Z=N[l]<>>15-W;R[J]=e;Z++}}};H.H.l=function(N,W){var R=H.H.m.r,V=15-W;for(var n=0;n>>V}};H.H.M=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8};\nH.H.I=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8;N[V+2]|=R>>>16};H.H.e=function(N,W,R){return(N[W>>>3]|N[(W>>>3)+1]<<8)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)};\nH.H.i=function(N,W){return(N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16|N[(W>>>3)+3]<<24)>>>(W&7)};H.H.m=function(){var N=Uint16Array,W=Uint32Array;\nreturn{K:new N(16),j:new N(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new N(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new W(32),J:new N(512),_:[],h:new N(32),$:[],w:new N(32768),C:[],v:[],d:new N(32768),D:[],u:new N(512),Q:[],r:new N(1<<15),s:new W(286),Y:new W(30),a:new W(19),t:new W(15e3),k:new N(1<<16),g:new N(1<<15)}}();\n(function(){var N=H.H.m,W=1<<15;for(var R=0;R>>1|(V&1431655765)<<1;\nV=(V&3435973836)>>>2|(V&858993459)<<2;V=(V&4042322160)>>>4|(V&252645135)<<4;V=(V&4278255360)>>>8|(V&16711935)<<8;\nN.r[R]=(V>>>16|V<<16)>>>17}function n(A,l,M){while(l--!=0)A.push(0,M)}for(var R=0;R<32;R++){N.q[R]=N.S[R]<<3|N.T[R];\nN.c[R]=N.p[R]<<4|N.z[R]}n(N._,144,8);n(N._,255-143,9);n(N._,279-255,7);n(N._,287-279,8);H.H.n(N._,9);\nH.H.A(N._,9,N.J);H.H.l(N._,9);n(N.$,32,5);H.H.n(N.$,5);H.H.A(N.$,5,N.h);H.H.l(N.$,5);n(N.Q,19,0);n(N.C,286,0);\nn(N.D,30,0);n(N.v,320,0)}());return H.H.N}()\n\n\nUPNG.decode._readInterlace = function(data, out)\n{\n\tvar w = out.width, h = out.height;\n\tvar bpp = UPNG.decode._getBPP(out), cbpp = bpp>>3, bpl = Math.ceil(w*bpp/8);\n\tvar img = new Uint8Array( h * bpl );\n\tvar di = 0;\n\n\tvar starting_row = [ 0, 0, 4, 0, 2, 0, 1 ];\n\tvar starting_col = [ 0, 4, 0, 2, 0, 1, 0 ];\n\tvar row_increment = [ 8, 8, 8, 4, 4, 2, 2 ];\n\tvar col_increment = [ 8, 8, 4, 4, 2, 2, 1 ];\n\n\tvar pass=0;\n\twhile(pass<7)\n\t{\n\t\tvar ri = row_increment[pass], ci = col_increment[pass];\n\t\tvar sw = 0, sh = 0;\n\t\tvar cr = starting_row[pass]; while(cr>3]; val = (val>>(7-(cdi&7)))&1;\n\t\t\t\t\timg[row*bpl + (col>>3)] |= (val << (7-((col&7)<<0)));\n\t\t\t\t}\n\t\t\t\tif(bpp==2) {\n\t\t\t\t\tvar val = data[cdi>>3]; val = (val>>(6-(cdi&7)))&3;\n\t\t\t\t\timg[row*bpl + (col>>2)] |= (val << (6-((col&3)<<1)));\n\t\t\t\t}\n\t\t\t\tif(bpp==4) {\n\t\t\t\t\tvar val = data[cdi>>3]; val = (val>>(4-(cdi&7)))&15;\n\t\t\t\t\timg[row*bpl + (col>>1)] |= (val << (4-((col&1)<<2)));\n\t\t\t\t}\n\t\t\t\tif(bpp>=8) {\n\t\t\t\t\tvar ii = row*bpl+col*cbpp;\n\t\t\t\t\tfor(var j=0; j>3)+j];\n\t\t\t\t}\n\t\t\t\tcdi+=bpp; col+=ci;\n\t\t\t}\n\t\t\ty++; row += ri;\n\t\t}\n\t\tif(sw*sh!=0) di += sh * (1 + bpll);\n\t\tpass = pass + 1;\n\t}\n\treturn img;\n}\n\nUPNG.decode._getBPP = function(out) {\n\tvar noc = [1,null,3,1,2,null,4][out.ctype];\n\treturn noc * out.depth;\n}\n\nUPNG.decode._filterZero = function(data, out, off, w, h)\n{\n\tvar bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth;\n\tbpp = Math.ceil(bpp/8);\n\t\n\tvar i=0, di=1, type=data[off], x=0;\n\t\n\tif(type>1) data[off]=[0,0,1][type-2]; \n\tif(type==3) for(x=bpp; x>>1) )&255;\n\n\tfor(var y=0; y>>1));\n\t\t\t for(; x>>1) ); }\n\t\telse { for(; x>8)&255; buff[p+1] = n&255; },\n\treadUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); },\n\twriteUint : function(buff,p,n){ buff[p]=(n>>24)&255; buff[p+1]=(n>>16)&255; buff[p+2]=(n>>8)&255; buff[p+3]=n&255; },\n\treadASCII : function(buff,p,l){ var s = \"\"; for(var i=0; i=0 && yoff>=0) { si = (y*sw+x)<<2; ti = (( yoff+y)*tw+xoff+x)<<2; }\n\t\t\telse { si = ((-yoff+y)*sw-xoff+x)<<2; ti = (y*tw+x)<<2; }\n\t\t\t\n\t\t\tif (mode==0) { tb[ti] = sb[si]; tb[ti+1] = sb[si+1]; tb[ti+2] = sb[si+2]; tb[ti+3] = sb[si+3]; }\n\t\t\telse if(mode==1) {\n\t\t\t\tvar fa = sb[si+3]*(1/255), fr=sb[si]*fa, fg=sb[si+1]*fa, fb=sb[si+2]*fa; \n\t\t\t\tvar ba = tb[ti+3]*(1/255), br=tb[ti]*ba, bg=tb[ti+1]*ba, bb=tb[ti+2]*ba; \n\t\t\t\t\n\t\t\t\tvar ifa=1-fa, oa = fa+ba*ifa, ioa = (oa==0?0:1/oa);\n\t\t\t\ttb[ti+3] = 255*oa; \n\t\t\t\ttb[ti+0] = (fr+br*ifa)*ioa; \n\t\t\t\ttb[ti+1] = (fg+bg*ifa)*ioa; \n\t\t\t\ttb[ti+2] = (fb+bb*ifa)*ioa; \n\t\t\t}\n\t\t\telse if(mode==2){\t// copy only differences, otherwise zero\n\t\t\t\tvar fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; \n\t\t\t\tvar ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; \n\t\t\t\tif(fa==ba && fr==br && fg==bg && fb==bb) { tb[ti]=0; tb[ti+1]=0; tb[ti+2]=0; tb[ti+3]=0; }\n\t\t\t\telse { tb[ti]=fr; tb[ti+1]=fg; tb[ti+2]=fb; tb[ti+3]=fa; }\n\t\t\t}\n\t\t\telse if(mode==3){\t// check if can be blended\n\t\t\t\tvar fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; \n\t\t\t\tvar ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; \n\t\t\t\tif(fa==ba && fr==br && fg==bg && fb==bb) continue;\n\t\t\t\t//if(fa!=255 && ba!=0) return false;\n\t\t\t\tif(fa<220 && ba>20) return false;\n\t\t\t}\n\t\t}\n\treturn true;\n}\n\n\n\n\nUPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte)\n{\n\tif(ps==null) ps=0;\n\tif(forbidPlte==null) forbidPlte = false;\n\n\tvar nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]);\n\tUPNG.encode.compressPNG(nimg, -1);\n\t\n\treturn UPNG.encode._main(nimg, w, h, dels, tabs);\n}\n\nUPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) {\n\tvar nimg = { ctype: 0 + (cc==1 ? 0 : 2) + (ac==0 ? 0 : 4), depth: depth, frames: [] };\n\t\n\tvar time = Date.now();\n\tvar bipp = (cc+ac)*depth, bipl = bipp * w;\n\tfor(var i=0; i1, pltAlpha = false;\n\t\n\tvar leng = 8 + (16+5+4) /*+ (9+4)*/ + (anim ? 20 : 0);\n\tif(tabs[\"sRGB\"]!=null) leng += 8+1+4;\n\tif(tabs[\"pHYs\"]!=null) leng += 8+9+4;\n\tif(nimg.ctype==3) {\n\t\tvar dl = nimg.plte.length;\n\t\tfor(var i=0; i>>24)!=255) pltAlpha = true;\n\t\tleng += (8 + dl*3 + 4) + (pltAlpha ? (8 + dl*1 + 4) : 0);\n\t}\n\tfor(var j=0; j>>8)&255, b=(c>>>16)&255;\n\t\t\tdata[offset+ti+0]=r; data[offset+ti+1]=g; data[offset+ti+2]=b;\n\t\t}\n\t\toffset+=dl*3;\n\t\twUi(data,offset,crc(data,offset-dl*3-4,dl*3+4)); offset+=4; // crc\n\n\t\tif(pltAlpha) {\n\t\t\twUi(data,offset, dl); offset+=4;\n\t\t\twAs(data,offset,\"tRNS\"); offset+=4;\n\t\t\tfor(var i=0; i>>24)&255;\n\t\t\toffset+=dl;\n\t\t\twUi(data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc\n\t\t}\n\t}\n\t\n\tvar fi = 0;\n\tfor(var j=0; j>2, bln>>2));\n\t\t\tfor(var j=0; jnw && c==img32[i-nw]) ind[i]=ind[i-nw];\n\t\t\t\telse {\n\t\t\t\t\tvar cmc = cmap[c];\n\t\t\t\t\tif(cmc==null) { cmap[c]=cmc=plte.length; plte.push(c); if(plte.length>=300) break; }\n\t\t\t\t\tind[i]=cmc;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//console.log(\"make palette\", Date.now()-time); time = Date.now();\n\t}\n\t\n\tvar cc=plte.length; //console.log(\"colors:\",cc);\n\tif(cc<=256 && forbidPlte==false) {\n\t\tif(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8;\n\t\tdepth = Math.max(depth, minBits);\n\t}\n\t\n\tfor(var j=0; j>1)] |= (inj[ii+x]<<(4-(x&1)*4));\n\t\t\t\telse if(depth==2) for(var x=0; x>2)] |= (inj[ii+x]<<(6-(x&3)*2));\n\t\t\t\telse if(depth==1) for(var x=0; x>3)] |= (inj[ii+x]<<(7-(x&7)*1));\n\t\t\t}\n\t\t\tcimg=nimg; ctype=3; bpp=1;\n\t\t}\n\t\telse if(gotAlpha==false && frms.length==1) {\t// some next \"reduced\" frames may contain alpha for blending\n\t\t\tvar nimg = new Uint8Array(nw*nh*3), area=nw*nh;\n\t\t\tfor(var i=0; i palette indices\", Date.now()-time); time = Date.now();\n\t\n\treturn {ctype:ctype, depth:depth, plte:plte, frames:frms };\n}\nUPNG.encode.framize = function(bufs,w,h,alwaysBlend,evenCrd,forbidPrev) {\n\t/* DISPOSE\n\t - 0 : no change\n\t\t- 1 : clear to transparent\n\t\t- 2 : retstore to content before rendering (previous frame disposed)\n\t\tBLEND\n\t\t- 0 : replace\n\t\t- 1 : blend\n\t*/\n\tvar frms = [];\n\tfor(var j=0; jmax) max=x;\n\t\t\t\t\t\tif(ymay) may=y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(max==-1) mix=miy=max=may=0;\n\t\t\t\tif(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; }\n\t\t\t\tvar sarea = (max-mix+1)*(may-miy+1);\n\t\t\t\tif(sareamax) max=cx;\n\t\t\tif(cymay) may=cy;\n\t\t}\n\t}\n\tif(max==-1) mix=miy=max=may=0;\n\tif(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; }\n\tr = {x:mix, y:miy, width:max-mix+1, height:may-miy+1};\n\t\n\tvar fr = frms[i]; fr.rect = r; fr.blend = 1; fr.img = new Uint8Array(r.width*r.height*4);\n\tif(frms[i-1].dispose==0) {\n\t\tUPNG._copyTile(pimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0);\n\t\tUPNG.encode._prepareDiff(cimg,w,h,fr.img,r);\n\t\t//UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 2);\n\t}\n\telse\n\t\tUPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0);\n}\nUPNG.encode._prepareDiff = function(cimg, w,h, nimg, rec) {\n\tUPNG._copyTile(cimg,w,h, nimg,rec.width,rec.height, -rec.x,-rec.y, 2);\n\t/*\n\tvar n32 = new Uint32Array(nimg.buffer);\n\tvar og = new Uint8Array(rec.width*rec.height*4), o32 = new Uint32Array(og.buffer);\n\tUPNG._copyTile(cimg,w,h, og,rec.width,rec.height, -rec.x,-rec.y, 0);\n\tfor(var i=4; i>>2]==o32[(i>>>2)-1]) {\n\t\t\tn32[i>>>2]=o32[i>>>2];\n\t\t\t//var j = i, c=p32[(i>>>2)-1];\n\t\t\t//while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; }\n\t\t}\n\t}\n\tfor(var i=nimg.length-8; i>0; i-=4) {\n\t\tif(nimg[i+7]!=0 && nimg[i+3]==0 && o32[i>>>2]==o32[(i>>>2)+1]) {\n\t\t\tn32[i>>>2]=o32[i>>>2];\n\t\t\t//var j = i, c=p32[(i>>>2)-1];\n\t\t\t//while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; }\n\t\t}\n\t}*/\n}\n\nUPNG.encode._filterZero = function(img,h,bpp,bpl,data, filter, levelZero)\n{\n\tvar fls = [], ftry=[0,1,2,3,4];\n\tif (filter!=-1) ftry=[filter];\n\telse if(h*bpl>500000 || bpp==1) ftry=[0];\n\tvar opts; if(levelZero) opts={level:0};\n\t\n\tvar CMPR = (levelZero && UZIP!=null) ? UZIP : pako__WEBPACK_IMPORTED_MODULE_0___default.a;\n\t\n\tfor(var i=0; i>1) +256)&255;\n\t\tif(type==4) for(var x=bpp; x>1))&255;\n\t\t\t\t\t for(var x=bpp; x>1))&255; }\n\t\tif(type==4) { for(var x= 0; x>> 1);\n\t\t\t\telse c = c >>> 1;\n\t\t\t}\n\t\t\ttab[n] = c; }\n\t\treturn tab; })(),\n\tupdate : function(c, buf, off, len) {\n\t\tfor (var i=0; i>> 8);\n\t\treturn c;\n\t},\n\tcrc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; }\n}\n\n\nUPNG.quantize = function(abuf, ps)\n{\t\n\tvar oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer);\n\t\n\tvar KD = UPNG.quantize.getKDtree(nimg, ps);\n\tvar root = KD[0], leafs = KD[1];\n\t\n\tvar planeDst = UPNG.quantize.planeDst;\n\tvar sb = oimg, tb = nimg32, len=sb.length;\n\t\t\n\tvar inds = new Uint8Array(oimg.length>>2);\n\tfor(var i=0; i>2] = nd.ind;\n\t\ttb[i>>2] = nd.est.rgba;\n\t}\n\treturn { abuf:nimg.buffer, inds:inds, plte:leafs };\n}\n\nUPNG.quantize.getKDtree = function(nimg, ps, err) {\n\tif(err==null) err = 0.0001;\n\tvar nimg32 = new Uint32Array(nimg.buffer);\n\t\n\tvar root = {i0:0, i1:nimg.length, bst:null, est:null, tdst:0, left:null, right:null }; // basic statistic, extra statistic\n\troot.bst = UPNG.quantize.stats( nimg,root.i0, root.i1 ); root.est = UPNG.quantize.estats( root.bst );\n\tvar leafs = [root];\n\t\n\twhile(leafs.length maxL) { maxL=leafs[i].est.L; mi=i; }\n\t\tif(maxL=s0 || node.i1<=s0);\n\t\t//console.log(maxL, leafs.length, mi);\n\t\tif(s0wrong) { node.est.L=0; continue; }\n\t\t\n\t\t\n\t\tvar ln = {i0:node.i0, i1:s0, bst:null, est:null, tdst:0, left:null, right:null }; ln.bst = UPNG.quantize.stats( nimg, ln.i0, ln.i1 ); \n\t\tln.est = UPNG.quantize.estats( ln.bst );\n\t\tvar rn = {i0:s0, i1:node.i1, bst:null, est:null, tdst:0, left:null, right:null }; rn.bst = {R:[], m:[], N:node.bst.N-ln.bst.N};\n\t\tfor(var i=0; i<16; i++) rn.bst.R[i] = node.bst.R[i]-ln.bst.R[i];\n\t\tfor(var i=0; i< 4; i++) rn.bst.m[i] = node.bst.m[i]-ln.bst.m[i];\n\t\trn.est = UPNG.quantize.estats( rn.bst );\n\t\t\n\t\tnode.left = ln; node.right = rn;\n\t\tleafs[mi]=ln; leafs.push(rn);\n\t}\n\tleafs.sort(function(a,b) { return b.bst.N-a.bst.N; });\n\tfor(var i=0; i0) { node0=nd.right; node1=nd.left; }\n\t\n\tvar ln = UPNG.quantize.getNearest(node0, r,g,b,a);\n\tif(ln.tdst<=planeDst*planeDst) return ln;\n\tvar rn = UPNG.quantize.getNearest(node1, r,g,b,a);\n\treturn rn.tdst eMq) i1-=4;\n\t\tif(i0>=i1) break;\n\t\t\n\t\tvar t = nimg32[i0>>2]; nimg32[i0>>2] = nimg32[i1>>2]; nimg32[i1>>2]=t;\n\t\t\n\t\ti0+=4; i1-=4;\n\t}\n\twhile(vecDot(nimg, i0, e)>eMq) i0-=4;\n\treturn i0+4;\n}\nUPNG.quantize.vecDot = function(nimg, i, e)\n{\n\treturn nimg[i]*e[0] + nimg[i+1]*e[1] + nimg[i+2]*e[2] + nimg[i+3]*e[3];\n}\nUPNG.quantize.stats = function(nimg, i0, i1){\n\tvar R = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0];\n\tvar m = [0,0,0,0];\n\tvar N = (i1-i0)>>2;\n\tfor(var i=i0; i>>0) };\n}\nUPNG.M4 = {\n\tmultVec : function(m,v) {\n\t\t\treturn [\n\t\t\t\tm[ 0]*v[0] + m[ 1]*v[1] + m[ 2]*v[2] + m[ 3]*v[3],\n\t\t\t\tm[ 4]*v[0] + m[ 5]*v[1] + m[ 6]*v[2] + m[ 7]*v[3],\n\t\t\t\tm[ 8]*v[0] + m[ 9]*v[1] + m[10]*v[2] + m[11]*v[3],\n\t\t\t\tm[12]*v[0] + m[13]*v[1] + m[14]*v[2] + m[15]*v[3]\n\t\t\t];\n\t},\n\tdot : function(x,y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; },\n\tsml : function(a,y) { return [a*y[0],a*y[1],a*y[2],a*y[3]]; }\n}\n\nUPNG.encode.concatRGBA = function(bufs) {\n\tvar tlen = 0;\n\tfor(var i=0; i\n* @license MIT\n*\n* BUILT: Mon Jun 12 2023 10:34:51 GMT+0200 (Central European Summer Time)\n*/;\nconst methods$1 = {};\nconst names = [];\nfunction registerMethods(name, m) {\n if (Array.isArray(name)) {\n for (const _name of name) {\n registerMethods(_name, m);\n }\n\n return;\n }\n\n if (typeof name === 'object') {\n for (const _name in name) {\n registerMethods(_name, name[_name]);\n }\n\n return;\n }\n\n addMethodNames(Object.getOwnPropertyNames(m));\n methods$1[name] = Object.assign(methods$1[name] || {}, m);\n}\nfunction getMethodsFor(name) {\n return methods$1[name] || {};\n}\nfunction getMethodNames() {\n return [...new Set(names)];\n}\nfunction addMethodNames(_names) {\n names.push(..._names);\n}\n\n// Map function\nfunction map(array, block) {\n let i;\n const il = array.length;\n const result = [];\n\n for (i = 0; i < il; i++) {\n result.push(block(array[i]));\n }\n\n return result;\n} // Filter function\n\nfunction filter(array, block) {\n let i;\n const il = array.length;\n const result = [];\n\n for (i = 0; i < il; i++) {\n if (block(array[i])) {\n result.push(array[i]);\n }\n }\n\n return result;\n} // Degrees to radians\n\nfunction radians(d) {\n return d % 360 * Math.PI / 180;\n} // Radians to degrees\n\nfunction degrees(r) {\n return r * 180 / Math.PI % 360;\n} // Convert dash-separated-string to camelCase\n\nfunction camelCase(s) {\n return s.toLowerCase().replace(/-(.)/g, function (m, g) {\n return g.toUpperCase();\n });\n} // Convert camel cased string to dash separated\n\nfunction unCamelCase(s) {\n return s.replace(/([A-Z])/g, function (m, g) {\n return '-' + g.toLowerCase();\n });\n} // Capitalize first letter of a string\n\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n} // Calculate proportional width and height values when necessary\n\nfunction proportionalSize(element, width, height, box) {\n if (width == null || height == null) {\n box = box || element.bbox();\n\n if (width == null) {\n width = box.width / box.height * height;\n } else if (height == null) {\n height = box.height / box.width * width;\n }\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * This function adds support for string origins.\n * It searches for an origin in o.origin o.ox and o.originX.\n * This way, origin: {x: 'center', y: 50} can be passed as well as ox: 'center', oy: 50\n**/\n\nfunction getOrigin(o, element) {\n const origin = o.origin; // First check if origin is in ox or originX\n\n let ox = o.ox != null ? o.ox : o.originX != null ? o.originX : 'center';\n let oy = o.oy != null ? o.oy : o.originY != null ? o.originY : 'center'; // Then check if origin was used and overwrite in that case\n\n if (origin != null) {\n [ox, oy] = Array.isArray(origin) ? origin : typeof origin === 'object' ? [origin.x, origin.y] : [origin, origin];\n } // Make sure to only call bbox when actually needed\n\n\n const condX = typeof ox === 'string';\n const condY = typeof oy === 'string';\n\n if (condX || condY) {\n const {\n height,\n width,\n x,\n y\n } = element.bbox(); // And only overwrite if string was passed for this specific axis\n\n if (condX) {\n ox = ox.includes('left') ? x : ox.includes('right') ? x + width : x + width / 2;\n }\n\n if (condY) {\n oy = oy.includes('top') ? y : oy.includes('bottom') ? y + height : y + height / 2;\n }\n } // Return the origin as it is if it wasn't a string\n\n\n return [ox, oy];\n}\n\nvar utils = {\n __proto__: null,\n map: map,\n filter: filter,\n radians: radians,\n degrees: degrees,\n camelCase: camelCase,\n unCamelCase: unCamelCase,\n capitalize: capitalize,\n proportionalSize: proportionalSize,\n getOrigin: getOrigin\n};\n\n// Default namespaces\nconst svg = 'http://www.w3.org/2000/svg';\nconst html = 'http://www.w3.org/1999/xhtml';\nconst xmlns = 'http://www.w3.org/2000/xmlns/';\nconst xlink = 'http://www.w3.org/1999/xlink';\nconst svgjs = 'http://svgjs.dev/svgjs';\n\nvar namespaces = {\n __proto__: null,\n svg: svg,\n html: html,\n xmlns: xmlns,\n xlink: xlink,\n svgjs: svgjs\n};\n\nconst globals = {\n window: typeof window === 'undefined' ? null : window,\n document: typeof document === 'undefined' ? null : document\n};\nfunction registerWindow(win = null, doc = null) {\n globals.window = win;\n globals.document = doc;\n}\nconst save = {};\nfunction saveWindow() {\n save.window = globals.window;\n save.document = globals.document;\n}\nfunction restoreWindow() {\n globals.window = save.window;\n globals.document = save.document;\n}\nfunction withWindow(win, fn) {\n saveWindow();\n registerWindow(win, win.document);\n fn(win, win.document);\n restoreWindow();\n}\nfunction getWindow() {\n return globals.window;\n}\n\nclass Base {// constructor (node/*, {extensions = []} */) {\n // // this.tags = []\n // //\n // // for (let extension of extensions) {\n // // extension.setup.call(this, node)\n // // this.tags.push(extension.name)\n // // }\n // }\n}\n\nconst elements = {};\nconst root = '___SYMBOL___ROOT___'; // Method for element creation\n\nfunction create(name, ns = svg) {\n // create element\n return globals.document.createElementNS(ns, name);\n}\nfunction makeInstance(element, isHTML = false) {\n if (element instanceof Base) return element;\n\n if (typeof element === 'object') {\n return adopter(element);\n }\n\n if (element == null) {\n return new elements[root]();\n }\n\n if (typeof element === 'string' && element.charAt(0) !== '<') {\n return adopter(globals.document.querySelector(element));\n } // Make sure, that HTML elements are created with the correct namespace\n\n\n const wrapper = isHTML ? globals.document.createElement('div') : create('svg');\n wrapper.innerHTML = element; // We can use firstChild here because we know,\n // that the first char is < and thus an element\n\n element = adopter(wrapper.firstChild); // make sure, that element doesn't have its wrapper attached\n\n wrapper.removeChild(wrapper.firstChild);\n return element;\n}\nfunction nodeOrNew(name, node) {\n return node && node.ownerDocument && node instanceof node.ownerDocument.defaultView.Node ? node : create(name);\n} // Adopt existing svg elements\n\nfunction adopt(node) {\n // check for presence of node\n if (!node) return null; // make sure a node isn't already adopted\n\n if (node.instance instanceof Base) return node.instance;\n\n if (node.nodeName === '#document-fragment') {\n return new elements.Fragment(node);\n } // initialize variables\n\n\n let className = capitalize(node.nodeName || 'Dom'); // Make sure that gradients are adopted correctly\n\n if (className === 'LinearGradient' || className === 'RadialGradient') {\n className = 'Gradient'; // Fallback to Dom if element is not known\n } else if (!elements[className]) {\n className = 'Dom';\n }\n\n return new elements[className](node);\n}\nlet adopter = adopt;\nfunction mockAdopt(mock = adopt) {\n adopter = mock;\n}\nfunction register(element, name = element.name, asRoot = false) {\n elements[name] = element;\n if (asRoot) elements[root] = element;\n addMethodNames(Object.getOwnPropertyNames(element.prototype));\n return element;\n}\nfunction getClass(name) {\n return elements[name];\n} // Element id sequence\n\nlet did = 1000; // Get next named element id\n\nfunction eid(name) {\n return 'Svgjs' + capitalize(name) + did++;\n} // Deep new id assignment\n\nfunction assignNewId(node) {\n // do the same for SVG child nodes as well\n for (let i = node.children.length - 1; i >= 0; i--) {\n assignNewId(node.children[i]);\n }\n\n if (node.id) {\n node.id = eid(node.nodeName);\n return node;\n }\n\n return node;\n} // Method for extending objects\n\nfunction extend(modules, methods) {\n let key, i;\n modules = Array.isArray(modules) ? modules : [modules];\n\n for (i = modules.length - 1; i >= 0; i--) {\n for (key in methods) {\n modules[i].prototype[key] = methods[key];\n }\n }\n}\nfunction wrapWithAttrCheck(fn) {\n return function (...args) {\n const o = args[args.length - 1];\n\n if (o && o.constructor === Object && !(o instanceof Array)) {\n return fn.apply(this, args.slice(0, -1)).attr(o);\n } else {\n return fn.apply(this, args);\n }\n };\n}\n\nfunction siblings() {\n return this.parent().children();\n} // Get the current position siblings\n\nfunction position() {\n return this.parent().index(this);\n} // Get the next element (will return null if there is none)\n\nfunction next() {\n return this.siblings()[this.position() + 1];\n} // Get the next element (will return null if there is none)\n\nfunction prev() {\n return this.siblings()[this.position() - 1];\n} // Send given element one step forward\n\nfunction forward() {\n const i = this.position();\n const p = this.parent(); // move node one step forward\n\n p.add(this.remove(), i + 1);\n return this;\n} // Send given element one step backward\n\nfunction backward() {\n const i = this.position();\n const p = this.parent();\n p.add(this.remove(), i ? i - 1 : 0);\n return this;\n} // Send given element all the way to the front\n\nfunction front() {\n const p = this.parent(); // Move node forward\n\n p.add(this.remove());\n return this;\n} // Send given element all the way to the back\n\nfunction back() {\n const p = this.parent(); // Move node back\n\n p.add(this.remove(), 0);\n return this;\n} // Inserts a given element before the targeted element\n\nfunction before(element) {\n element = makeInstance(element);\n element.remove();\n const i = this.position();\n this.parent().add(element, i);\n return this;\n} // Inserts a given element after the targeted element\n\nfunction after(element) {\n element = makeInstance(element);\n element.remove();\n const i = this.position();\n this.parent().add(element, i + 1);\n return this;\n}\nfunction insertBefore(element) {\n element = makeInstance(element);\n element.before(this);\n return this;\n}\nfunction insertAfter(element) {\n element = makeInstance(element);\n element.after(this);\n return this;\n}\nregisterMethods('Dom', {\n siblings,\n position,\n next,\n prev,\n forward,\n backward,\n front,\n back,\n before,\n after,\n insertBefore,\n insertAfter\n});\n\n// Parse unit value\nconst numberAndUnit = /^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i; // Parse hex value\n\nconst hex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i; // Parse rgb value\n\nconst rgb = /rgb\\((\\d+),(\\d+),(\\d+)\\)/; // Parse reference id\n\nconst reference = /(#[a-z_][a-z0-9\\-_]*)/i; // splits a transformation chain\n\nconst transforms = /\\)\\s*,?\\s*/; // Whitespace\n\nconst whitespace = /\\s/g; // Test hex value\n\nconst isHex = /^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i; // Test rgb value\n\nconst isRgb = /^rgb\\(/; // Test for blank string\n\nconst isBlank = /^(\\s+)?$/; // Test for numeric string\n\nconst isNumber = /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i; // Test for image url\n\nconst isImage = /\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i; // split at whitespace and comma\n\nconst delimiter = /[\\s,]+/; // Test for path letter\n\nconst isPathLetter = /[MLHVCSQTAZ]/i;\n\nvar regex = {\n __proto__: null,\n numberAndUnit: numberAndUnit,\n hex: hex,\n rgb: rgb,\n reference: reference,\n transforms: transforms,\n whitespace: whitespace,\n isHex: isHex,\n isRgb: isRgb,\n isBlank: isBlank,\n isNumber: isNumber,\n isImage: isImage,\n delimiter: delimiter,\n isPathLetter: isPathLetter\n};\n\nfunction classes() {\n const attr = this.attr('class');\n return attr == null ? [] : attr.trim().split(delimiter);\n} // Return true if class exists on the node, false otherwise\n\nfunction hasClass(name) {\n return this.classes().indexOf(name) !== -1;\n} // Add class to the node\n\nfunction addClass(name) {\n if (!this.hasClass(name)) {\n const array = this.classes();\n array.push(name);\n this.attr('class', array.join(' '));\n }\n\n return this;\n} // Remove class from the node\n\nfunction removeClass(name) {\n if (this.hasClass(name)) {\n this.attr('class', this.classes().filter(function (c) {\n return c !== name;\n }).join(' '));\n }\n\n return this;\n} // Toggle the presence of a class on the node\n\nfunction toggleClass(name) {\n return this.hasClass(name) ? this.removeClass(name) : this.addClass(name);\n}\nregisterMethods('Dom', {\n classes,\n hasClass,\n addClass,\n removeClass,\n toggleClass\n});\n\nfunction css(style, val) {\n const ret = {};\n\n if (arguments.length === 0) {\n // get full style as object\n this.node.style.cssText.split(/\\s*;\\s*/).filter(function (el) {\n return !!el.length;\n }).forEach(function (el) {\n const t = el.split(/\\s*:\\s*/);\n ret[t[0]] = t[1];\n });\n return ret;\n }\n\n if (arguments.length < 2) {\n // get style properties as array\n if (Array.isArray(style)) {\n for (const name of style) {\n const cased = camelCase(name);\n ret[name] = this.node.style[cased];\n }\n\n return ret;\n } // get style for property\n\n\n if (typeof style === 'string') {\n return this.node.style[camelCase(style)];\n } // set styles in object\n\n\n if (typeof style === 'object') {\n for (const name in style) {\n // set empty string if null/undefined/'' was given\n this.node.style[camelCase(name)] = style[name] == null || isBlank.test(style[name]) ? '' : style[name];\n }\n }\n } // set style for property\n\n\n if (arguments.length === 2) {\n this.node.style[camelCase(style)] = val == null || isBlank.test(val) ? '' : val;\n }\n\n return this;\n} // Show element\n\nfunction show() {\n return this.css('display', '');\n} // Hide element\n\nfunction hide() {\n return this.css('display', 'none');\n} // Is element visible?\n\nfunction visible() {\n return this.css('display') !== 'none';\n}\nregisterMethods('Dom', {\n css,\n show,\n hide,\n visible\n});\n\nfunction data(a, v, r) {\n if (a == null) {\n // get an object of attributes\n return this.data(map(filter(this.node.attributes, el => el.nodeName.indexOf('data-') === 0), el => el.nodeName.slice(5)));\n } else if (a instanceof Array) {\n const data = {};\n\n for (const key of a) {\n data[key] = this.data(key);\n }\n\n return data;\n } else if (typeof a === 'object') {\n for (v in a) {\n this.data(v, a[v]);\n }\n } else if (arguments.length < 2) {\n try {\n return JSON.parse(this.attr('data-' + a));\n } catch (e) {\n return this.attr('data-' + a);\n }\n } else {\n this.attr('data-' + a, v === null ? null : r === true || typeof v === 'string' || typeof v === 'number' ? v : JSON.stringify(v));\n }\n\n return this;\n}\nregisterMethods('Dom', {\n data\n});\n\nfunction remember(k, v) {\n // remember every item in an object individually\n if (typeof arguments[0] === 'object') {\n for (const key in k) {\n this.remember(key, k[key]);\n }\n } else if (arguments.length === 1) {\n // retrieve memory\n return this.memory()[k];\n } else {\n // store memory\n this.memory()[k] = v;\n }\n\n return this;\n} // Erase a given memory\n\nfunction forget() {\n if (arguments.length === 0) {\n this._memory = {};\n } else {\n for (let i = arguments.length - 1; i >= 0; i--) {\n delete this.memory()[arguments[i]];\n }\n }\n\n return this;\n} // This triggers creation of a new hidden class which is not performant\n// However, this function is not rarely used so it will not happen frequently\n// Return local memory object\n\nfunction memory() {\n return this._memory = this._memory || {};\n}\nregisterMethods('Dom', {\n remember,\n forget,\n memory\n});\n\nfunction sixDigitHex(hex) {\n return hex.length === 4 ? ['#', hex.substring(1, 2), hex.substring(1, 2), hex.substring(2, 3), hex.substring(2, 3), hex.substring(3, 4), hex.substring(3, 4)].join('') : hex;\n}\n\nfunction componentHex(component) {\n const integer = Math.round(component);\n const bounded = Math.max(0, Math.min(255, integer));\n const hex = bounded.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n}\n\nfunction is(object, space) {\n for (let i = space.length; i--;) {\n if (object[space[i]] == null) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getParameters(a, b) {\n const params = is(a, 'rgb') ? {\n _a: a.r,\n _b: a.g,\n _c: a.b,\n _d: 0,\n space: 'rgb'\n } : is(a, 'xyz') ? {\n _a: a.x,\n _b: a.y,\n _c: a.z,\n _d: 0,\n space: 'xyz'\n } : is(a, 'hsl') ? {\n _a: a.h,\n _b: a.s,\n _c: a.l,\n _d: 0,\n space: 'hsl'\n } : is(a, 'lab') ? {\n _a: a.l,\n _b: a.a,\n _c: a.b,\n _d: 0,\n space: 'lab'\n } : is(a, 'lch') ? {\n _a: a.l,\n _b: a.c,\n _c: a.h,\n _d: 0,\n space: 'lch'\n } : is(a, 'cmyk') ? {\n _a: a.c,\n _b: a.m,\n _c: a.y,\n _d: a.k,\n space: 'cmyk'\n } : {\n _a: 0,\n _b: 0,\n _c: 0,\n space: 'rgb'\n };\n params.space = b || params.space;\n return params;\n}\n\nfunction cieSpace(space) {\n if (space === 'lab' || space === 'xyz' || space === 'lch') {\n return true;\n } else {\n return false;\n }\n}\n\nfunction hueToRgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nclass Color {\n constructor(...inputs) {\n this.init(...inputs);\n } // Test if given value is a color\n\n\n static isColor(color) {\n return color && (color instanceof Color || this.isRgb(color) || this.test(color));\n } // Test if given value is an rgb object\n\n\n static isRgb(color) {\n return color && typeof color.r === 'number' && typeof color.g === 'number' && typeof color.b === 'number';\n }\n /*\n Generating random colors\n */\n\n\n static random(mode = 'vibrant', t, u) {\n // Get the math modules\n const {\n random,\n round,\n sin,\n PI: pi\n } = Math; // Run the correct generator\n\n if (mode === 'vibrant') {\n const l = (81 - 57) * random() + 57;\n const c = (83 - 45) * random() + 45;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'sine') {\n t = t == null ? random() : t;\n const r = round(80 * sin(2 * pi * t / 0.5 + 0.01) + 150);\n const g = round(50 * sin(2 * pi * t / 0.5 + 4.6) + 200);\n const b = round(100 * sin(2 * pi * t / 0.5 + 2.3) + 150);\n const color = new Color(r, g, b);\n return color;\n } else if (mode === 'pastel') {\n const l = (94 - 86) * random() + 86;\n const c = (26 - 9) * random() + 9;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'dark') {\n const l = 10 + 10 * random();\n const c = (125 - 75) * random() + 86;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'rgb') {\n const r = 255 * random();\n const g = 255 * random();\n const b = 255 * random();\n const color = new Color(r, g, b);\n return color;\n } else if (mode === 'lab') {\n const l = 100 * random();\n const a = 256 * random() - 128;\n const b = 256 * random() - 128;\n const color = new Color(l, a, b, 'lab');\n return color;\n } else if (mode === 'grey') {\n const grey = 255 * random();\n const color = new Color(grey, grey, grey);\n return color;\n } else {\n throw new Error('Unsupported random color mode');\n }\n } // Test if given value is a color string\n\n\n static test(color) {\n return typeof color === 'string' && (isHex.test(color) || isRgb.test(color));\n }\n\n cmyk() {\n // Get the rgb values for the current color\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const [r, g, b] = [_a, _b, _c].map(v => v / 255); // Get the cmyk values in an unbounded format\n\n const k = Math.min(1 - r, 1 - g, 1 - b);\n\n if (k === 1) {\n // Catch the black case\n return new Color(0, 0, 0, 1, 'cmyk');\n }\n\n const c = (1 - r - k) / (1 - k);\n const m = (1 - g - k) / (1 - k);\n const y = (1 - b - k) / (1 - k); // Construct the new color\n\n const color = new Color(c, m, y, k, 'cmyk');\n return color;\n }\n\n hsl() {\n // Get the rgb values\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const [r, g, b] = [_a, _b, _c].map(v => v / 255); // Find the maximum and minimum values to get the lightness\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2; // If the r, g, v values are identical then we are grey\n\n const isGrey = max === min; // Calculate the hue and saturation\n\n const delta = max - min;\n const s = isGrey ? 0 : l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const h = isGrey ? 0 : max === r ? ((g - b) / delta + (g < b ? 6 : 0)) / 6 : max === g ? ((b - r) / delta + 2) / 6 : max === b ? ((r - g) / delta + 4) / 6 : 0; // Construct and return the new color\n\n const color = new Color(360 * h, 100 * s, 100 * l, 'hsl');\n return color;\n }\n\n init(a = 0, b = 0, c = 0, d = 0, space = 'rgb') {\n // This catches the case when a falsy value is passed like ''\n a = !a ? 0 : a; // Reset all values in case the init function is rerun with new color space\n\n if (this.space) {\n for (const component in this.space) {\n delete this[this.space[component]];\n }\n }\n\n if (typeof a === 'number') {\n // Allow for the case that we don't need d...\n space = typeof d === 'string' ? d : space;\n d = typeof d === 'string' ? 0 : d; // Assign the values straight to the color\n\n Object.assign(this, {\n _a: a,\n _b: b,\n _c: c,\n _d: d,\n space\n }); // If the user gave us an array, make the color from it\n } else if (a instanceof Array) {\n this.space = b || (typeof a[3] === 'string' ? a[3] : a[4]) || 'rgb';\n Object.assign(this, {\n _a: a[0],\n _b: a[1],\n _c: a[2],\n _d: a[3] || 0\n });\n } else if (a instanceof Object) {\n // Set the object up and assign its values directly\n const values = getParameters(a, b);\n Object.assign(this, values);\n } else if (typeof a === 'string') {\n if (isRgb.test(a)) {\n const noWhitespace = a.replace(whitespace, '');\n const [_a, _b, _c] = rgb.exec(noWhitespace).slice(1, 4).map(v => parseInt(v));\n Object.assign(this, {\n _a,\n _b,\n _c,\n _d: 0,\n space: 'rgb'\n });\n } else if (isHex.test(a)) {\n const hexParse = v => parseInt(v, 16);\n\n const [, _a, _b, _c] = hex.exec(sixDigitHex(a)).map(hexParse);\n Object.assign(this, {\n _a,\n _b,\n _c,\n _d: 0,\n space: 'rgb'\n });\n } else throw Error('Unsupported string format, can\\'t construct Color');\n } // Now add the components as a convenience\n\n\n const {\n _a,\n _b,\n _c,\n _d\n } = this;\n const components = this.space === 'rgb' ? {\n r: _a,\n g: _b,\n b: _c\n } : this.space === 'xyz' ? {\n x: _a,\n y: _b,\n z: _c\n } : this.space === 'hsl' ? {\n h: _a,\n s: _b,\n l: _c\n } : this.space === 'lab' ? {\n l: _a,\n a: _b,\n b: _c\n } : this.space === 'lch' ? {\n l: _a,\n c: _b,\n h: _c\n } : this.space === 'cmyk' ? {\n c: _a,\n m: _b,\n y: _c,\n k: _d\n } : {};\n Object.assign(this, components);\n }\n\n lab() {\n // Get the xyz color\n const {\n x,\n y,\n z\n } = this.xyz(); // Get the lab components\n\n const l = 116 * y - 16;\n const a = 500 * (x - y);\n const b = 200 * (y - z); // Construct and return a new color\n\n const color = new Color(l, a, b, 'lab');\n return color;\n }\n\n lch() {\n // Get the lab color directly\n const {\n l,\n a,\n b\n } = this.lab(); // Get the chromaticity and the hue using polar coordinates\n\n const c = Math.sqrt(a ** 2 + b ** 2);\n let h = 180 * Math.atan2(b, a) / Math.PI;\n\n if (h < 0) {\n h *= -1;\n h = 360 - h;\n } // Make a new color and return it\n\n\n const color = new Color(l, c, h, 'lch');\n return color;\n }\n /*\n Conversion Methods\n */\n\n\n rgb() {\n if (this.space === 'rgb') {\n return this;\n } else if (cieSpace(this.space)) {\n // Convert to the xyz color space\n let {\n x,\n y,\n z\n } = this;\n\n if (this.space === 'lab' || this.space === 'lch') {\n // Get the values in the lab space\n let {\n l,\n a,\n b\n } = this;\n\n if (this.space === 'lch') {\n const {\n c,\n h\n } = this;\n const dToR = Math.PI / 180;\n a = c * Math.cos(dToR * h);\n b = c * Math.sin(dToR * h);\n } // Undo the nonlinear function\n\n\n const yL = (l + 16) / 116;\n const xL = a / 500 + yL;\n const zL = yL - b / 200; // Get the xyz values\n\n const ct = 16 / 116;\n const mx = 0.008856;\n const nm = 7.787;\n x = 0.95047 * (xL ** 3 > mx ? xL ** 3 : (xL - ct) / nm);\n y = 1.00000 * (yL ** 3 > mx ? yL ** 3 : (yL - ct) / nm);\n z = 1.08883 * (zL ** 3 > mx ? zL ** 3 : (zL - ct) / nm);\n } // Convert xyz to unbounded rgb values\n\n\n const rU = x * 3.2406 + y * -1.5372 + z * -0.4986;\n const gU = x * -0.9689 + y * 1.8758 + z * 0.0415;\n const bU = x * 0.0557 + y * -0.2040 + z * 1.0570; // Convert the values to true rgb values\n\n const pow = Math.pow;\n const bd = 0.0031308;\n const r = rU > bd ? 1.055 * pow(rU, 1 / 2.4) - 0.055 : 12.92 * rU;\n const g = gU > bd ? 1.055 * pow(gU, 1 / 2.4) - 0.055 : 12.92 * gU;\n const b = bU > bd ? 1.055 * pow(bU, 1 / 2.4) - 0.055 : 12.92 * bU; // Make and return the color\n\n const color = new Color(255 * r, 255 * g, 255 * b);\n return color;\n } else if (this.space === 'hsl') {\n // https://bgrins.github.io/TinyColor/docs/tinycolor.html\n // Get the current hsl values\n let {\n h,\n s,\n l\n } = this;\n h /= 360;\n s /= 100;\n l /= 100; // If we are grey, then just make the color directly\n\n if (s === 0) {\n l *= 255;\n const color = new Color(l, l, l);\n return color;\n } // TODO I have no idea what this does :D If you figure it out, tell me!\n\n\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q; // Get the rgb values\n\n const r = 255 * hueToRgb(p, q, h + 1 / 3);\n const g = 255 * hueToRgb(p, q, h);\n const b = 255 * hueToRgb(p, q, h - 1 / 3); // Make a new color\n\n const color = new Color(r, g, b);\n return color;\n } else if (this.space === 'cmyk') {\n // https://gist.github.com/felipesabino/5066336\n // Get the normalised cmyk values\n const {\n c,\n m,\n y,\n k\n } = this; // Get the rgb values\n\n const r = 255 * (1 - Math.min(1, c * (1 - k) + k));\n const g = 255 * (1 - Math.min(1, m * (1 - k) + k));\n const b = 255 * (1 - Math.min(1, y * (1 - k) + k)); // Form the color and return it\n\n const color = new Color(r, g, b);\n return color;\n } else {\n return this;\n }\n }\n\n toArray() {\n const {\n _a,\n _b,\n _c,\n _d,\n space\n } = this;\n return [_a, _b, _c, _d, space];\n }\n\n toHex() {\n const [r, g, b] = this._clamped().map(componentHex);\n\n return `#${r}${g}${b}`;\n }\n\n toRgb() {\n const [rV, gV, bV] = this._clamped();\n\n const string = `rgb(${rV},${gV},${bV})`;\n return string;\n }\n\n toString() {\n return this.toHex();\n }\n\n xyz() {\n // Normalise the red, green and blue values\n const {\n _a: r255,\n _b: g255,\n _c: b255\n } = this.rgb();\n const [r, g, b] = [r255, g255, b255].map(v => v / 255); // Convert to the lab rgb space\n\n const rL = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n const gL = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n const bL = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; // Convert to the xyz color space without bounding the values\n\n const xU = (rL * 0.4124 + gL * 0.3576 + bL * 0.1805) / 0.95047;\n const yU = (rL * 0.2126 + gL * 0.7152 + bL * 0.0722) / 1.00000;\n const zU = (rL * 0.0193 + gL * 0.1192 + bL * 0.9505) / 1.08883; // Get the proper xyz values by applying the bounding\n\n const x = xU > 0.008856 ? Math.pow(xU, 1 / 3) : 7.787 * xU + 16 / 116;\n const y = yU > 0.008856 ? Math.pow(yU, 1 / 3) : 7.787 * yU + 16 / 116;\n const z = zU > 0.008856 ? Math.pow(zU, 1 / 3) : 7.787 * zU + 16 / 116; // Make and return the color\n\n const color = new Color(x, y, z, 'xyz');\n return color;\n }\n /*\n Input and Output methods\n */\n\n\n _clamped() {\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const {\n max,\n min,\n round\n } = Math;\n\n const format = v => max(0, min(round(v), 255));\n\n return [_a, _b, _c].map(format);\n }\n /*\n Constructing colors\n */\n\n\n}\n\nclass Point {\n // Initialize\n constructor(...args) {\n this.init(...args);\n } // Clone point\n\n\n clone() {\n return new Point(this);\n }\n\n init(x, y) {\n const base = {\n x: 0,\n y: 0\n }; // ensure source as object\n\n const source = Array.isArray(x) ? {\n x: x[0],\n y: x[1]\n } : typeof x === 'object' ? {\n x: x.x,\n y: x.y\n } : {\n x: x,\n y: y\n }; // merge source\n\n this.x = source.x == null ? base.x : source.x;\n this.y = source.y == null ? base.y : source.y;\n return this;\n }\n\n toArray() {\n return [this.x, this.y];\n }\n\n transform(m) {\n return this.clone().transformO(m);\n } // Transform point with matrix\n\n\n transformO(m) {\n if (!Matrix.isMatrixLike(m)) {\n m = new Matrix(m);\n }\n\n const {\n x,\n y\n } = this; // Perform the matrix multiplication\n\n this.x = m.a * x + m.c * y + m.e;\n this.y = m.b * x + m.d * y + m.f;\n return this;\n }\n\n}\nfunction point(x, y) {\n return new Point(x, y).transformO(this.screenCTM().inverseO());\n}\n\nfunction closeEnough(a, b, threshold) {\n return Math.abs(b - a) < (threshold || 1e-6);\n}\n\nclass Matrix {\n constructor(...args) {\n this.init(...args);\n }\n\n static formatTransforms(o) {\n // Get all of the parameters required to form the matrix\n const flipBoth = o.flip === 'both' || o.flip === true;\n const flipX = o.flip && (flipBoth || o.flip === 'x') ? -1 : 1;\n const flipY = o.flip && (flipBoth || o.flip === 'y') ? -1 : 1;\n const skewX = o.skew && o.skew.length ? o.skew[0] : isFinite(o.skew) ? o.skew : isFinite(o.skewX) ? o.skewX : 0;\n const skewY = o.skew && o.skew.length ? o.skew[1] : isFinite(o.skew) ? o.skew : isFinite(o.skewY) ? o.skewY : 0;\n const scaleX = o.scale && o.scale.length ? o.scale[0] * flipX : isFinite(o.scale) ? o.scale * flipX : isFinite(o.scaleX) ? o.scaleX * flipX : flipX;\n const scaleY = o.scale && o.scale.length ? o.scale[1] * flipY : isFinite(o.scale) ? o.scale * flipY : isFinite(o.scaleY) ? o.scaleY * flipY : flipY;\n const shear = o.shear || 0;\n const theta = o.rotate || o.theta || 0;\n const origin = new Point(o.origin || o.around || o.ox || o.originX, o.oy || o.originY);\n const ox = origin.x;\n const oy = origin.y; // We need Point to be invalid if nothing was passed because we cannot default to 0 here. That is why NaN\n\n const position = new Point(o.position || o.px || o.positionX || NaN, o.py || o.positionY || NaN);\n const px = position.x;\n const py = position.y;\n const translate = new Point(o.translate || o.tx || o.translateX, o.ty || o.translateY);\n const tx = translate.x;\n const ty = translate.y;\n const relative = new Point(o.relative || o.rx || o.relativeX, o.ry || o.relativeY);\n const rx = relative.x;\n const ry = relative.y; // Populate all of the values\n\n return {\n scaleX,\n scaleY,\n skewX,\n skewY,\n shear,\n theta,\n rx,\n ry,\n tx,\n ty,\n ox,\n oy,\n px,\n py\n };\n }\n\n static fromArray(a) {\n return {\n a: a[0],\n b: a[1],\n c: a[2],\n d: a[3],\n e: a[4],\n f: a[5]\n };\n }\n\n static isMatrixLike(o) {\n return o.a != null || o.b != null || o.c != null || o.d != null || o.e != null || o.f != null;\n } // left matrix, right matrix, target matrix which is overwritten\n\n\n static matrixMultiply(l, r, o) {\n // Work out the product directly\n const a = l.a * r.a + l.c * r.b;\n const b = l.b * r.a + l.d * r.b;\n const c = l.a * r.c + l.c * r.d;\n const d = l.b * r.c + l.d * r.d;\n const e = l.e + l.a * r.e + l.c * r.f;\n const f = l.f + l.b * r.e + l.d * r.f; // make sure to use local variables because l/r and o could be the same\n\n o.a = a;\n o.b = b;\n o.c = c;\n o.d = d;\n o.e = e;\n o.f = f;\n return o;\n }\n\n around(cx, cy, matrix) {\n return this.clone().aroundO(cx, cy, matrix);\n } // Transform around a center point\n\n\n aroundO(cx, cy, matrix) {\n const dx = cx || 0;\n const dy = cy || 0;\n return this.translateO(-dx, -dy).lmultiplyO(matrix).translateO(dx, dy);\n } // Clones this matrix\n\n\n clone() {\n return new Matrix(this);\n } // Decomposes this matrix into its affine parameters\n\n\n decompose(cx = 0, cy = 0) {\n // Get the parameters from the matrix\n const a = this.a;\n const b = this.b;\n const c = this.c;\n const d = this.d;\n const e = this.e;\n const f = this.f; // Figure out if the winding direction is clockwise or counterclockwise\n\n const determinant = a * d - b * c;\n const ccw = determinant > 0 ? 1 : -1; // Since we only shear in x, we can use the x basis to get the x scale\n // and the rotation of the resulting matrix\n\n const sx = ccw * Math.sqrt(a * a + b * b);\n const thetaRad = Math.atan2(ccw * b, ccw * a);\n const theta = 180 / Math.PI * thetaRad;\n const ct = Math.cos(thetaRad);\n const st = Math.sin(thetaRad); // We can then solve the y basis vector simultaneously to get the other\n // two affine parameters directly from these parameters\n\n const lam = (a * c + b * d) / determinant;\n const sy = c * sx / (lam * a - b) || d * sx / (lam * b + a); // Use the translations\n\n const tx = e - cx + cx * ct * sx + cy * (lam * ct * sx - st * sy);\n const ty = f - cy + cx * st * sx + cy * (lam * st * sx + ct * sy); // Construct the decomposition and return it\n\n return {\n // Return the affine parameters\n scaleX: sx,\n scaleY: sy,\n shear: lam,\n rotate: theta,\n translateX: tx,\n translateY: ty,\n originX: cx,\n originY: cy,\n // Return the matrix parameters\n a: this.a,\n b: this.b,\n c: this.c,\n d: this.d,\n e: this.e,\n f: this.f\n };\n } // Check if two matrices are equal\n\n\n equals(other) {\n if (other === this) return true;\n const comp = new Matrix(other);\n return closeEnough(this.a, comp.a) && closeEnough(this.b, comp.b) && closeEnough(this.c, comp.c) && closeEnough(this.d, comp.d) && closeEnough(this.e, comp.e) && closeEnough(this.f, comp.f);\n } // Flip matrix on x or y, at a given offset\n\n\n flip(axis, around) {\n return this.clone().flipO(axis, around);\n }\n\n flipO(axis, around) {\n return axis === 'x' ? this.scaleO(-1, 1, around, 0) : axis === 'y' ? this.scaleO(1, -1, 0, around) : this.scaleO(-1, -1, axis, around || axis); // Define an x, y flip point\n } // Initialize\n\n\n init(source) {\n const base = Matrix.fromArray([1, 0, 0, 1, 0, 0]); // ensure source as object\n\n source = source instanceof Element ? source.matrixify() : typeof source === 'string' ? Matrix.fromArray(source.split(delimiter).map(parseFloat)) : Array.isArray(source) ? Matrix.fromArray(source) : typeof source === 'object' && Matrix.isMatrixLike(source) ? source : typeof source === 'object' ? new Matrix().transform(source) : arguments.length === 6 ? Matrix.fromArray([].slice.call(arguments)) : base; // Merge the source matrix with the base matrix\n\n this.a = source.a != null ? source.a : base.a;\n this.b = source.b != null ? source.b : base.b;\n this.c = source.c != null ? source.c : base.c;\n this.d = source.d != null ? source.d : base.d;\n this.e = source.e != null ? source.e : base.e;\n this.f = source.f != null ? source.f : base.f;\n return this;\n }\n\n inverse() {\n return this.clone().inverseO();\n } // Inverses matrix\n\n\n inverseO() {\n // Get the current parameters out of the matrix\n const a = this.a;\n const b = this.b;\n const c = this.c;\n const d = this.d;\n const e = this.e;\n const f = this.f; // Invert the 2x2 matrix in the top left\n\n const det = a * d - b * c;\n if (!det) throw new Error('Cannot invert ' + this); // Calculate the top 2x2 matrix\n\n const na = d / det;\n const nb = -b / det;\n const nc = -c / det;\n const nd = a / det; // Apply the inverted matrix to the top right\n\n const ne = -(na * e + nc * f);\n const nf = -(nb * e + nd * f); // Construct the inverted matrix\n\n this.a = na;\n this.b = nb;\n this.c = nc;\n this.d = nd;\n this.e = ne;\n this.f = nf;\n return this;\n }\n\n lmultiply(matrix) {\n return this.clone().lmultiplyO(matrix);\n }\n\n lmultiplyO(matrix) {\n const r = this;\n const l = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n return Matrix.matrixMultiply(l, r, this);\n } // Left multiplies by the given matrix\n\n\n multiply(matrix) {\n return this.clone().multiplyO(matrix);\n }\n\n multiplyO(matrix) {\n // Get the matrices\n const l = this;\n const r = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n return Matrix.matrixMultiply(l, r, this);\n } // Rotate matrix\n\n\n rotate(r, cx, cy) {\n return this.clone().rotateO(r, cx, cy);\n }\n\n rotateO(r, cx = 0, cy = 0) {\n // Convert degrees to radians\n r = radians(r);\n const cos = Math.cos(r);\n const sin = Math.sin(r);\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a * cos - b * sin;\n this.b = b * cos + a * sin;\n this.c = c * cos - d * sin;\n this.d = d * cos + c * sin;\n this.e = e * cos - f * sin + cy * sin - cx * cos + cx;\n this.f = f * cos + e * sin - cx * sin - cy * cos + cy;\n return this;\n } // Scale matrix\n\n\n scale(x, y, cx, cy) {\n return this.clone().scaleO(...arguments);\n }\n\n scaleO(x, y = x, cx = 0, cy = 0) {\n // Support uniform scaling\n if (arguments.length === 3) {\n cy = cx;\n cx = y;\n y = x;\n }\n\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a * x;\n this.b = b * y;\n this.c = c * x;\n this.d = d * y;\n this.e = e * x - cx * x + cx;\n this.f = f * y - cy * y + cy;\n return this;\n } // Shear matrix\n\n\n shear(a, cx, cy) {\n return this.clone().shearO(a, cx, cy);\n }\n\n shearO(lx, cx = 0, cy = 0) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a + b * lx;\n this.c = c + d * lx;\n this.e = e + f * lx - cy * lx;\n return this;\n } // Skew Matrix\n\n\n skew(x, y, cx, cy) {\n return this.clone().skewO(...arguments);\n }\n\n skewO(x, y = x, cx = 0, cy = 0) {\n // support uniformal skew\n if (arguments.length === 3) {\n cy = cx;\n cx = y;\n y = x;\n } // Convert degrees to radians\n\n\n x = radians(x);\n y = radians(y);\n const lx = Math.tan(x);\n const ly = Math.tan(y);\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a + b * lx;\n this.b = b + a * ly;\n this.c = c + d * lx;\n this.d = d + c * ly;\n this.e = e + f * lx - cy * lx;\n this.f = f + e * ly - cx * ly;\n return this;\n } // SkewX\n\n\n skewX(x, cx, cy) {\n return this.skew(x, 0, cx, cy);\n } // SkewY\n\n\n skewY(y, cx, cy) {\n return this.skew(0, y, cx, cy);\n }\n\n toArray() {\n return [this.a, this.b, this.c, this.d, this.e, this.f];\n } // Convert matrix to string\n\n\n toString() {\n return 'matrix(' + this.a + ',' + this.b + ',' + this.c + ',' + this.d + ',' + this.e + ',' + this.f + ')';\n } // Transform a matrix into another matrix by manipulating the space\n\n\n transform(o) {\n // Check if o is a matrix and then left multiply it directly\n if (Matrix.isMatrixLike(o)) {\n const matrix = new Matrix(o);\n return matrix.multiplyO(this);\n } // Get the proposed transformations and the current transformations\n\n\n const t = Matrix.formatTransforms(o);\n const current = this;\n const {\n x: ox,\n y: oy\n } = new Point(t.ox, t.oy).transform(current); // Construct the resulting matrix\n\n const transformer = new Matrix().translateO(t.rx, t.ry).lmultiplyO(current).translateO(-ox, -oy).scaleO(t.scaleX, t.scaleY).skewO(t.skewX, t.skewY).shearO(t.shear).rotateO(t.theta).translateO(ox, oy); // If we want the origin at a particular place, we force it there\n\n if (isFinite(t.px) || isFinite(t.py)) {\n const origin = new Point(ox, oy).transform(transformer); // TODO: Replace t.px with isFinite(t.px)\n // Doesn't work because t.px is also 0 if it wasn't passed\n\n const dx = isFinite(t.px) ? t.px - origin.x : 0;\n const dy = isFinite(t.py) ? t.py - origin.y : 0;\n transformer.translateO(dx, dy);\n } // Translate now after positioning\n\n\n transformer.translateO(t.tx, t.ty);\n return transformer;\n } // Translate matrix\n\n\n translate(x, y) {\n return this.clone().translateO(x, y);\n }\n\n translateO(x, y) {\n this.e += x || 0;\n this.f += y || 0;\n return this;\n }\n\n valueOf() {\n return {\n a: this.a,\n b: this.b,\n c: this.c,\n d: this.d,\n e: this.e,\n f: this.f\n };\n }\n\n}\nfunction ctm() {\n return new Matrix(this.node.getCTM());\n}\nfunction screenCTM() {\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537\n This is needed because FF does not return the transformation matrix\n for the inner coordinate system when getScreenCTM() is called on nested svgs.\n However all other Browsers do that */\n if (typeof this.isRoot === 'function' && !this.isRoot()) {\n const rect = this.rect(1, 1);\n const m = rect.node.getScreenCTM();\n rect.remove();\n return new Matrix(m);\n }\n\n return new Matrix(this.node.getScreenCTM());\n}\nregister(Matrix, 'Matrix');\n\nfunction parser() {\n // Reuse cached element if possible\n if (!parser.nodes) {\n const svg = makeInstance().size(2, 0);\n svg.node.style.cssText = ['opacity: 0', 'position: absolute', 'left: -100%', 'top: -100%', 'overflow: hidden'].join(';');\n svg.attr('focusable', 'false');\n svg.attr('aria-hidden', 'true');\n const path = svg.path().node;\n parser.nodes = {\n svg,\n path\n };\n }\n\n if (!parser.nodes.svg.node.parentNode) {\n const b = globals.document.body || globals.document.documentElement;\n parser.nodes.svg.addTo(b);\n }\n\n return parser.nodes;\n}\n\nfunction isNulledBox(box) {\n return !box.width && !box.height && !box.x && !box.y;\n}\nfunction domContains(node) {\n return node === globals.document || (globals.document.documentElement.contains || function (node) {\n // This is IE - it does not support contains() for top-level SVGs\n while (node.parentNode) {\n node = node.parentNode;\n }\n\n return node === globals.document;\n }).call(globals.document.documentElement, node);\n}\nclass Box {\n constructor(...args) {\n this.init(...args);\n }\n\n addOffset() {\n // offset by window scroll position, because getBoundingClientRect changes when window is scrolled\n this.x += globals.window.pageXOffset;\n this.y += globals.window.pageYOffset;\n return new Box(this);\n }\n\n init(source) {\n const base = [0, 0, 0, 0];\n source = typeof source === 'string' ? source.split(delimiter).map(parseFloat) : Array.isArray(source) ? source : typeof source === 'object' ? [source.left != null ? source.left : source.x, source.top != null ? source.top : source.y, source.width, source.height] : arguments.length === 4 ? [].slice.call(arguments) : base;\n this.x = source[0] || 0;\n this.y = source[1] || 0;\n this.width = this.w = source[2] || 0;\n this.height = this.h = source[3] || 0; // Add more bounding box properties\n\n this.x2 = this.x + this.w;\n this.y2 = this.y + this.h;\n this.cx = this.x + this.w / 2;\n this.cy = this.y + this.h / 2;\n return this;\n }\n\n isNulled() {\n return isNulledBox(this);\n } // Merge rect box with another, return a new instance\n\n\n merge(box) {\n const x = Math.min(this.x, box.x);\n const y = Math.min(this.y, box.y);\n const width = Math.max(this.x + this.width, box.x + box.width) - x;\n const height = Math.max(this.y + this.height, box.y + box.height) - y;\n return new Box(x, y, width, height);\n }\n\n toArray() {\n return [this.x, this.y, this.width, this.height];\n }\n\n toString() {\n return this.x + ' ' + this.y + ' ' + this.width + ' ' + this.height;\n }\n\n transform(m) {\n if (!(m instanceof Matrix)) {\n m = new Matrix(m);\n }\n\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n const pts = [new Point(this.x, this.y), new Point(this.x2, this.y), new Point(this.x, this.y2), new Point(this.x2, this.y2)];\n pts.forEach(function (p) {\n p = p.transform(m);\n xMin = Math.min(xMin, p.x);\n xMax = Math.max(xMax, p.x);\n yMin = Math.min(yMin, p.y);\n yMax = Math.max(yMax, p.y);\n });\n return new Box(xMin, yMin, xMax - xMin, yMax - yMin);\n }\n\n}\n\nfunction getBox(el, getBBoxFn, retry) {\n let box;\n\n try {\n // Try to get the box with the provided function\n box = getBBoxFn(el.node); // If the box is worthless and not even in the dom, retry\n // by throwing an error here...\n\n if (isNulledBox(box) && !domContains(el.node)) {\n throw new Error('Element not in the dom');\n }\n } catch (e) {\n // ... and calling the retry handler here\n box = retry(el);\n }\n\n return box;\n}\n\nfunction bbox() {\n // Function to get bbox is getBBox()\n const getBBox = node => node.getBBox(); // Take all measures so that a stupid browser renders the element\n // so we can get the bbox from it when we try again\n\n\n const retry = el => {\n try {\n const clone = el.clone().addTo(parser().svg).show();\n const box = clone.node.getBBox();\n clone.remove();\n return box;\n } catch (e) {\n // We give up...\n throw new Error(`Getting bbox of element \"${el.node.nodeName}\" is not possible: ${e.toString()}`);\n }\n };\n\n const box = getBox(this, getBBox, retry);\n const bbox = new Box(box);\n return bbox;\n}\nfunction rbox(el) {\n const getRBox = node => node.getBoundingClientRect();\n\n const retry = el => {\n // There is no point in trying tricks here because if we insert the element into the dom ourselves\n // it obviously will be at the wrong position\n throw new Error(`Getting rbox of element \"${el.node.nodeName}\" is not possible`);\n };\n\n const box = getBox(this, getRBox, retry);\n const rbox = new Box(box); // If an element was passed, we want the bbox in the coordinate system of that element\n\n if (el) {\n return rbox.transform(el.screenCTM().inverseO());\n } // Else we want it in absolute screen coordinates\n // Therefore we need to add the scrollOffset\n\n\n return rbox.addOffset();\n} // Checks whether the given point is inside the bounding box\n\nfunction inside(x, y) {\n const box = this.bbox();\n return x > box.x && y > box.y && x < box.x + box.width && y < box.y + box.height;\n}\nregisterMethods({\n viewbox: {\n viewbox(x, y, width, height) {\n // act as getter\n if (x == null) return new Box(this.attr('viewBox')); // act as setter\n\n return this.attr('viewBox', new Box(x, y, width, height));\n },\n\n zoom(level, point) {\n // Its best to rely on the attributes here and here is why:\n // clientXYZ: Doesn't work on non-root svgs because they dont have a CSSBox (silly!)\n // getBoundingClientRect: Doesn't work because Chrome just ignores width and height of nested svgs completely\n // that means, their clientRect is always as big as the content.\n // Furthermore this size is incorrect if the element is further transformed by its parents\n // computedStyle: Only returns meaningful values if css was used with px. We dont go this route here!\n // getBBox: returns the bounding box of its content - that doesn't help!\n let {\n width,\n height\n } = this.attr(['width', 'height']); // Width and height is a string when a number with a unit is present which we can't use\n // So we try clientXYZ\n\n if (!width && !height || typeof width === 'string' || typeof height === 'string') {\n width = this.node.clientWidth;\n height = this.node.clientHeight;\n } // Giving up...\n\n\n if (!width || !height) {\n throw new Error('Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element');\n }\n\n const v = this.viewbox();\n const zoomX = width / v.width;\n const zoomY = height / v.height;\n const zoom = Math.min(zoomX, zoomY);\n\n if (level == null) {\n return zoom;\n }\n\n let zoomAmount = zoom / level; // Set the zoomAmount to the highest value which is safe to process and recover from\n // The * 100 is a bit of wiggle room for the matrix transformation\n\n if (zoomAmount === Infinity) zoomAmount = Number.MAX_SAFE_INTEGER / 100;\n point = point || new Point(width / 2 / zoomX + v.x, height / 2 / zoomY + v.y);\n const box = new Box(v).transform(new Matrix({\n scale: zoomAmount,\n origin: point\n }));\n return this.viewbox(box);\n }\n\n }\n});\nregister(Box, 'Box');\n\nclass List extends Array {\n constructor(arr = [], ...args) {\n super(arr, ...args);\n if (typeof arr === 'number') return this;\n this.length = 0;\n this.push(...arr);\n }\n\n}\nextend([List], {\n each(fnOrMethodName, ...args) {\n if (typeof fnOrMethodName === 'function') {\n return this.map((el, i, arr) => {\n return fnOrMethodName.call(el, el, i, arr);\n });\n } else {\n return this.map(el => {\n return el[fnOrMethodName](...args);\n });\n }\n },\n\n toArray() {\n return Array.prototype.concat.apply([], this);\n }\n\n});\nconst reserved = ['toArray', 'constructor', 'each'];\n\nList.extend = function (methods) {\n methods = methods.reduce((obj, name) => {\n // Don't overwrite own methods\n if (reserved.includes(name)) return obj; // Don't add private methods\n\n if (name[0] === '_') return obj; // Relay every call to each()\n\n obj[name] = function (...attrs) {\n return this.each(name, ...attrs);\n };\n\n return obj;\n }, {});\n extend([List], methods);\n};\n\nfunction baseFind(query, parent) {\n return new List(map((parent || globals.document).querySelectorAll(query), function (node) {\n return adopt(node);\n }));\n} // Scoped find method\n\nfunction find(query) {\n return baseFind(query, this.node);\n}\nfunction findOne(query) {\n return adopt(this.node.querySelector(query));\n}\n\nlet listenerId = 0;\nconst windowEvents = {};\nfunction getEvents(instance) {\n let n = instance.getEventHolder(); // We dont want to save events in global space\n\n if (n === globals.window) n = windowEvents;\n if (!n.events) n.events = {};\n return n.events;\n}\nfunction getEventTarget(instance) {\n return instance.getEventTarget();\n}\nfunction clearEvents(instance) {\n let n = instance.getEventHolder();\n if (n === globals.window) n = windowEvents;\n if (n.events) n.events = {};\n} // Add event binder in the SVG namespace\n\nfunction on(node, events, listener, binding, options) {\n const l = listener.bind(binding || node);\n const instance = makeInstance(node);\n const bag = getEvents(instance);\n const n = getEventTarget(instance); // events can be an array of events or a string of events\n\n events = Array.isArray(events) ? events : events.split(delimiter); // add id to listener\n\n if (!listener._svgjsListenerId) {\n listener._svgjsListenerId = ++listenerId;\n }\n\n events.forEach(function (event) {\n const ev = event.split('.')[0];\n const ns = event.split('.')[1] || '*'; // ensure valid object\n\n bag[ev] = bag[ev] || {};\n bag[ev][ns] = bag[ev][ns] || {}; // reference listener\n\n bag[ev][ns][listener._svgjsListenerId] = l; // add listener\n\n n.addEventListener(ev, l, options || false);\n });\n} // Add event unbinder in the SVG namespace\n\nfunction off(node, events, listener, options) {\n const instance = makeInstance(node);\n const bag = getEvents(instance);\n const n = getEventTarget(instance); // listener can be a function or a number\n\n if (typeof listener === 'function') {\n listener = listener._svgjsListenerId;\n if (!listener) return;\n } // events can be an array of events or a string or undefined\n\n\n events = Array.isArray(events) ? events : (events || '').split(delimiter);\n events.forEach(function (event) {\n const ev = event && event.split('.')[0];\n const ns = event && event.split('.')[1];\n let namespace, l;\n\n if (listener) {\n // remove listener reference\n if (bag[ev] && bag[ev][ns || '*']) {\n // removeListener\n n.removeEventListener(ev, bag[ev][ns || '*'][listener], options || false);\n delete bag[ev][ns || '*'][listener];\n }\n } else if (ev && ns) {\n // remove all listeners for a namespaced event\n if (bag[ev] && bag[ev][ns]) {\n for (l in bag[ev][ns]) {\n off(n, [ev, ns].join('.'), l);\n }\n\n delete bag[ev][ns];\n }\n } else if (ns) {\n // remove all listeners for a specific namespace\n for (event in bag) {\n for (namespace in bag[event]) {\n if (ns === namespace) {\n off(n, [event, ns].join('.'));\n }\n }\n }\n } else if (ev) {\n // remove all listeners for the event\n if (bag[ev]) {\n for (namespace in bag[ev]) {\n off(n, [ev, namespace].join('.'));\n }\n\n delete bag[ev];\n }\n } else {\n // remove all listeners on a given node\n for (event in bag) {\n off(n, event);\n }\n\n clearEvents(instance);\n }\n });\n}\nfunction dispatch(node, event, data, options) {\n const n = getEventTarget(node); // Dispatch event\n\n if (event instanceof globals.window.Event) {\n n.dispatchEvent(event);\n } else {\n event = new globals.window.CustomEvent(event, {\n detail: data,\n cancelable: true,\n ...options\n });\n n.dispatchEvent(event);\n }\n\n return event;\n}\n\nclass EventTarget extends Base {\n addEventListener() {}\n\n dispatch(event, data, options) {\n return dispatch(this, event, data, options);\n }\n\n dispatchEvent(event) {\n const bag = this.getEventHolder().events;\n if (!bag) return true;\n const events = bag[event.type];\n\n for (const i in events) {\n for (const j in events[i]) {\n events[i][j](event);\n }\n }\n\n return !event.defaultPrevented;\n } // Fire given event\n\n\n fire(event, data, options) {\n this.dispatch(event, data, options);\n return this;\n }\n\n getEventHolder() {\n return this;\n }\n\n getEventTarget() {\n return this;\n } // Unbind event from listener\n\n\n off(event, listener, options) {\n off(this, event, listener, options);\n return this;\n } // Bind given event to listener\n\n\n on(event, listener, binding, options) {\n on(this, event, listener, binding, options);\n return this;\n }\n\n removeEventListener() {}\n\n}\nregister(EventTarget, 'EventTarget');\n\nfunction noop() {} // Default animation values\n\nconst timeline = {\n duration: 400,\n ease: '>',\n delay: 0\n}; // Default attribute values\n\nconst attrs = {\n // fill and stroke\n 'fill-opacity': 1,\n 'stroke-opacity': 1,\n 'stroke-width': 0,\n 'stroke-linejoin': 'miter',\n 'stroke-linecap': 'butt',\n fill: '#000000',\n stroke: '#000000',\n opacity: 1,\n // position\n x: 0,\n y: 0,\n cx: 0,\n cy: 0,\n // size\n width: 0,\n height: 0,\n // radius\n r: 0,\n rx: 0,\n ry: 0,\n // gradient\n offset: 0,\n 'stop-opacity': 1,\n 'stop-color': '#000000',\n // text\n 'text-anchor': 'start'\n};\n\nvar defaults = {\n __proto__: null,\n noop: noop,\n timeline: timeline,\n attrs: attrs\n};\n\nclass SVGArray extends Array {\n constructor(...args) {\n super(...args);\n this.init(...args);\n }\n\n clone() {\n return new this.constructor(this);\n }\n\n init(arr) {\n // This catches the case, that native map tries to create an array with new Array(1)\n if (typeof arr === 'number') return this;\n this.length = 0;\n this.push(...this.parse(arr));\n return this;\n } // Parse whitespace separated string\n\n\n parse(array = []) {\n // If already is an array, no need to parse it\n if (array instanceof Array) return array;\n return array.trim().split(delimiter).map(parseFloat);\n }\n\n toArray() {\n return Array.prototype.concat.apply([], this);\n }\n\n toSet() {\n return new Set(this);\n }\n\n toString() {\n return this.join(' ');\n } // Flattens the array if needed\n\n\n valueOf() {\n const ret = [];\n ret.push(...this);\n return ret;\n }\n\n}\n\nclass SVGNumber {\n // Initialize\n constructor(...args) {\n this.init(...args);\n }\n\n convert(unit) {\n return new SVGNumber(this.value, unit);\n } // Divide number\n\n\n divide(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this / number, this.unit || number.unit);\n }\n\n init(value, unit) {\n unit = Array.isArray(value) ? value[1] : unit;\n value = Array.isArray(value) ? value[0] : value; // initialize defaults\n\n this.value = 0;\n this.unit = unit || ''; // parse value\n\n if (typeof value === 'number') {\n // ensure a valid numeric value\n this.value = isNaN(value) ? 0 : !isFinite(value) ? value < 0 ? -3.4e+38 : +3.4e+38 : value;\n } else if (typeof value === 'string') {\n unit = value.match(numberAndUnit);\n\n if (unit) {\n // make value numeric\n this.value = parseFloat(unit[1]); // normalize\n\n if (unit[5] === '%') {\n this.value /= 100;\n } else if (unit[5] === 's') {\n this.value *= 1000;\n } // store unit\n\n\n this.unit = unit[5];\n }\n } else {\n if (value instanceof SVGNumber) {\n this.value = value.valueOf();\n this.unit = value.unit;\n }\n }\n\n return this;\n } // Subtract number\n\n\n minus(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this - number, this.unit || number.unit);\n } // Add number\n\n\n plus(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this + number, this.unit || number.unit);\n } // Multiply number\n\n\n times(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this * number, this.unit || number.unit);\n }\n\n toArray() {\n return [this.value, this.unit];\n }\n\n toJSON() {\n return this.toString();\n }\n\n toString() {\n return (this.unit === '%' ? ~~(this.value * 1e8) / 1e6 : this.unit === 's' ? this.value / 1e3 : this.value) + this.unit;\n }\n\n valueOf() {\n return this.value;\n }\n\n}\n\nconst hooks = [];\nfunction registerAttrHook(fn) {\n hooks.push(fn);\n} // Set svg element attribute\n\nfunction attr(attr, val, ns) {\n // act as full getter\n if (attr == null) {\n // get an object of attributes\n attr = {};\n val = this.node.attributes;\n\n for (const node of val) {\n attr[node.nodeName] = isNumber.test(node.nodeValue) ? parseFloat(node.nodeValue) : node.nodeValue;\n }\n\n return attr;\n } else if (attr instanceof Array) {\n // loop through array and get all values\n return attr.reduce((last, curr) => {\n last[curr] = this.attr(curr);\n return last;\n }, {});\n } else if (typeof attr === 'object' && attr.constructor === Object) {\n // apply every attribute individually if an object is passed\n for (val in attr) this.attr(val, attr[val]);\n } else if (val === null) {\n // remove value\n this.node.removeAttribute(attr);\n } else if (val == null) {\n // act as a getter if the first and only argument is not an object\n val = this.node.getAttribute(attr);\n return val == null ? attrs[attr] : isNumber.test(val) ? parseFloat(val) : val;\n } else {\n // Loop through hooks and execute them to convert value\n val = hooks.reduce((_val, hook) => {\n return hook(attr, _val, this);\n }, val); // ensure correct numeric values (also accepts NaN and Infinity)\n\n if (typeof val === 'number') {\n val = new SVGNumber(val);\n } else if (Color.isColor(val)) {\n // ensure full hex color\n val = new Color(val);\n } else if (val.constructor === Array) {\n // Check for plain arrays and parse array values\n val = new SVGArray(val);\n } // if the passed attribute is leading...\n\n\n if (attr === 'leading') {\n // ... call the leading method instead\n if (this.leading) {\n this.leading(val);\n }\n } else {\n // set given attribute on node\n typeof ns === 'string' ? this.node.setAttributeNS(ns, attr, val.toString()) : this.node.setAttribute(attr, val.toString());\n } // rebuild if required\n\n\n if (this.rebuild && (attr === 'font-size' || attr === 'x')) {\n this.rebuild();\n }\n }\n\n return this;\n}\n\nclass Dom extends EventTarget {\n constructor(node, attrs) {\n super();\n this.node = node;\n this.type = node.nodeName;\n\n if (attrs && node !== attrs) {\n this.attr(attrs);\n }\n } // Add given element at a position\n\n\n add(element, i) {\n element = makeInstance(element); // If non-root svg nodes are added we have to remove their namespaces\n\n if (element.removeNamespace && this.node instanceof globals.window.SVGElement) {\n element.removeNamespace();\n }\n\n if (i == null) {\n this.node.appendChild(element.node);\n } else if (element.node !== this.node.childNodes[i]) {\n this.node.insertBefore(element.node, this.node.childNodes[i]);\n }\n\n return this;\n } // Add element to given container and return self\n\n\n addTo(parent, i) {\n return makeInstance(parent).put(this, i);\n } // Returns all child elements\n\n\n children() {\n return new List(map(this.node.children, function (node) {\n return adopt(node);\n }));\n } // Remove all elements in this container\n\n\n clear() {\n // remove children\n while (this.node.hasChildNodes()) {\n this.node.removeChild(this.node.lastChild);\n }\n\n return this;\n } // Clone element\n\n\n clone(deep = true, assignNewIds = true) {\n // write dom data to the dom so the clone can pickup the data\n this.writeDataToDom(); // clone element\n\n let nodeClone = this.node.cloneNode(deep);\n\n if (assignNewIds) {\n // assign new id\n nodeClone = assignNewId(nodeClone);\n }\n\n return new this.constructor(nodeClone);\n } // Iterates over all children and invokes a given block\n\n\n each(block, deep) {\n const children = this.children();\n let i, il;\n\n for (i = 0, il = children.length; i < il; i++) {\n block.apply(children[i], [i, children]);\n\n if (deep) {\n children[i].each(block, deep);\n }\n }\n\n return this;\n }\n\n element(nodeName, attrs) {\n return this.put(new Dom(create(nodeName), attrs));\n } // Get first child\n\n\n first() {\n return adopt(this.node.firstChild);\n } // Get a element at the given index\n\n\n get(i) {\n return adopt(this.node.childNodes[i]);\n }\n\n getEventHolder() {\n return this.node;\n }\n\n getEventTarget() {\n return this.node;\n } // Checks if the given element is a child\n\n\n has(element) {\n return this.index(element) >= 0;\n }\n\n html(htmlOrFn, outerHTML) {\n return this.xml(htmlOrFn, outerHTML, html);\n } // Get / set id\n\n\n id(id) {\n // generate new id if no id set\n if (typeof id === 'undefined' && !this.node.id) {\n this.node.id = eid(this.type);\n } // don't set directly with this.node.id to make `null` work correctly\n\n\n return this.attr('id', id);\n } // Gets index of given element\n\n\n index(element) {\n return [].slice.call(this.node.childNodes).indexOf(element.node);\n } // Get the last child\n\n\n last() {\n return adopt(this.node.lastChild);\n } // matches the element vs a css selector\n\n\n matches(selector) {\n const el = this.node;\n const matcher = el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector || null;\n return matcher && matcher.call(el, selector);\n } // Returns the parent element instance\n\n\n parent(type) {\n let parent = this; // check for parent\n\n if (!parent.node.parentNode) return null; // get parent element\n\n parent = adopt(parent.node.parentNode);\n if (!type) return parent; // loop through ancestors if type is given\n\n do {\n if (typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent;\n } while (parent = adopt(parent.node.parentNode));\n\n return parent;\n } // Basically does the same as `add()` but returns the added element instead\n\n\n put(element, i) {\n element = makeInstance(element);\n this.add(element, i);\n return element;\n } // Add element to given container and return container\n\n\n putIn(parent, i) {\n return makeInstance(parent).add(this, i);\n } // Remove element\n\n\n remove() {\n if (this.parent()) {\n this.parent().removeElement(this);\n }\n\n return this;\n } // Remove a given child\n\n\n removeElement(element) {\n this.node.removeChild(element.node);\n return this;\n } // Replace this with element\n\n\n replace(element) {\n element = makeInstance(element);\n\n if (this.node.parentNode) {\n this.node.parentNode.replaceChild(element.node, this.node);\n }\n\n return element;\n }\n\n round(precision = 2, map = null) {\n const factor = 10 ** precision;\n const attrs = this.attr(map);\n\n for (const i in attrs) {\n if (typeof attrs[i] === 'number') {\n attrs[i] = Math.round(attrs[i] * factor) / factor;\n }\n }\n\n this.attr(attrs);\n return this;\n } // Import / Export raw svg\n\n\n svg(svgOrFn, outerSVG) {\n return this.xml(svgOrFn, outerSVG, svg);\n } // Return id on string conversion\n\n\n toString() {\n return this.id();\n }\n\n words(text) {\n // This is faster than removing all children and adding a new one\n this.node.textContent = text;\n return this;\n }\n\n wrap(node) {\n const parent = this.parent();\n\n if (!parent) {\n return this.addTo(node);\n }\n\n const position = parent.index(this);\n return parent.put(node, position).put(this);\n } // write svgjs data to the dom\n\n\n writeDataToDom() {\n // dump variables recursively\n this.each(function () {\n this.writeDataToDom();\n });\n return this;\n } // Import / Export raw svg\n\n\n xml(xmlOrFn, outerXML, ns) {\n if (typeof xmlOrFn === 'boolean') {\n ns = outerXML;\n outerXML = xmlOrFn;\n xmlOrFn = null;\n } // act as getter if no svg string is given\n\n\n if (xmlOrFn == null || typeof xmlOrFn === 'function') {\n // The default for exports is, that the outerNode is included\n outerXML = outerXML == null ? true : outerXML; // write svgjs data to the dom\n\n this.writeDataToDom();\n let current = this; // An export modifier was passed\n\n if (xmlOrFn != null) {\n current = adopt(current.node.cloneNode(true)); // If the user wants outerHTML we need to process this node, too\n\n if (outerXML) {\n const result = xmlOrFn(current);\n current = result || current; // The user does not want this node? Well, then he gets nothing\n\n if (result === false) return '';\n } // Deep loop through all children and apply modifier\n\n\n current.each(function () {\n const result = xmlOrFn(this);\n\n const _this = result || this; // If modifier returns false, discard node\n\n\n if (result === false) {\n this.remove(); // If modifier returns new node, use it\n } else if (result && this !== _this) {\n this.replace(_this);\n }\n }, true);\n } // Return outer or inner content\n\n\n return outerXML ? current.node.outerHTML : current.node.innerHTML;\n } // Act as setter if we got a string\n // The default for import is, that the current node is not replaced\n\n\n outerXML = outerXML == null ? false : outerXML; // Create temporary holder\n\n const well = create('wrapper', ns);\n const fragment = globals.document.createDocumentFragment(); // Dump raw svg\n\n well.innerHTML = xmlOrFn; // Transplant nodes into the fragment\n\n for (let len = well.children.length; len--;) {\n fragment.appendChild(well.firstElementChild);\n }\n\n const parent = this.parent(); // Add the whole fragment at once\n\n return outerXML ? this.replace(fragment) && parent : this.add(fragment);\n }\n\n}\nextend(Dom, {\n attr,\n find,\n findOne\n});\nregister(Dom, 'Dom');\n\nclass Element extends Dom {\n constructor(node, attrs) {\n super(node, attrs); // initialize data object\n\n this.dom = {}; // create circular reference\n\n this.node.instance = this;\n\n if (node.hasAttribute('svgjs:data')) {\n // pull svgjs data from the dom (getAttributeNS doesn't work in html5)\n this.setData(JSON.parse(node.getAttribute('svgjs:data')) || {});\n }\n } // Move element by its center\n\n\n center(x, y) {\n return this.cx(x).cy(y);\n } // Move by center over x-axis\n\n\n cx(x) {\n return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2);\n } // Move by center over y-axis\n\n\n cy(y) {\n return y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2);\n } // Get defs\n\n\n defs() {\n const root = this.root();\n return root && root.defs();\n } // Relative move over x and y axes\n\n\n dmove(x, y) {\n return this.dx(x).dy(y);\n } // Relative move over x axis\n\n\n dx(x = 0) {\n return this.x(new SVGNumber(x).plus(this.x()));\n } // Relative move over y axis\n\n\n dy(y = 0) {\n return this.y(new SVGNumber(y).plus(this.y()));\n }\n\n getEventHolder() {\n return this;\n } // Set height of element\n\n\n height(height) {\n return this.attr('height', height);\n } // Move element to given x and y values\n\n\n move(x, y) {\n return this.x(x).y(y);\n } // return array of all ancestors of given type up to the root svg\n\n\n parents(until = this.root()) {\n const isSelector = typeof until === 'string';\n\n if (!isSelector) {\n until = makeInstance(until);\n }\n\n const parents = new List();\n let parent = this;\n\n while ((parent = parent.parent()) && parent.node !== globals.document && parent.nodeName !== '#document-fragment') {\n parents.push(parent);\n\n if (!isSelector && parent.node === until.node) {\n break;\n }\n\n if (isSelector && parent.matches(until)) {\n break;\n }\n\n if (parent.node === this.root().node) {\n // We worked our way to the root and didn't match `until`\n return null;\n }\n }\n\n return parents;\n } // Get referenced element form attribute value\n\n\n reference(attr) {\n attr = this.attr(attr);\n if (!attr) return null;\n const m = (attr + '').match(reference);\n return m ? makeInstance(m[1]) : null;\n } // Get parent document\n\n\n root() {\n const p = this.parent(getClass(root));\n return p && p.root();\n } // set given data to the elements data property\n\n\n setData(o) {\n this.dom = o;\n return this;\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.width(new SVGNumber(p.width)).height(new SVGNumber(p.height));\n } // Set width of element\n\n\n width(width) {\n return this.attr('width', width);\n } // write svgjs data to the dom\n\n\n writeDataToDom() {\n // remove previously set data\n this.node.removeAttribute('svgjs:data');\n\n if (Object.keys(this.dom).length) {\n this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)); // see #428\n }\n\n return super.writeDataToDom();\n } // Move over x-axis\n\n\n x(x) {\n return this.attr('x', x);\n } // Move over y-axis\n\n\n y(y) {\n return this.attr('y', y);\n }\n\n}\nextend(Element, {\n bbox,\n rbox,\n inside,\n point,\n ctm,\n screenCTM\n});\nregister(Element, 'Element');\n\nconst sugar = {\n stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'],\n fill: ['color', 'opacity', 'rule'],\n prefix: function (t, a) {\n return a === 'color' ? t : t + '-' + a;\n }\n} // Add sugar for fill and stroke\n;\n['fill', 'stroke'].forEach(function (m) {\n const extension = {};\n let i;\n\n extension[m] = function (o) {\n if (typeof o === 'undefined') {\n return this.attr(m);\n }\n\n if (typeof o === 'string' || o instanceof Color || Color.isRgb(o) || o instanceof Element) {\n this.attr(m, o);\n } else {\n // set all attributes from sugar.fill and sugar.stroke list\n for (i = sugar[m].length - 1; i >= 0; i--) {\n if (o[sugar[m][i]] != null) {\n this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]);\n }\n }\n }\n\n return this;\n };\n\n registerMethods(['Element', 'Runner'], extension);\n});\nregisterMethods(['Element', 'Runner'], {\n // Let the user set the matrix directly\n matrix: function (mat, b, c, d, e, f) {\n // Act as a getter\n if (mat == null) {\n return new Matrix(this);\n } // Act as a setter, the user can pass a matrix or a set of numbers\n\n\n return this.attr('transform', new Matrix(mat, b, c, d, e, f));\n },\n // Map rotation to transform\n rotate: function (angle, cx, cy) {\n return this.transform({\n rotate: angle,\n ox: cx,\n oy: cy\n }, true);\n },\n // Map skew to transform\n skew: function (x, y, cx, cy) {\n return arguments.length === 1 || arguments.length === 3 ? this.transform({\n skew: x,\n ox: y,\n oy: cx\n }, true) : this.transform({\n skew: [x, y],\n ox: cx,\n oy: cy\n }, true);\n },\n shear: function (lam, cx, cy) {\n return this.transform({\n shear: lam,\n ox: cx,\n oy: cy\n }, true);\n },\n // Map scale to transform\n scale: function (x, y, cx, cy) {\n return arguments.length === 1 || arguments.length === 3 ? this.transform({\n scale: x,\n ox: y,\n oy: cx\n }, true) : this.transform({\n scale: [x, y],\n ox: cx,\n oy: cy\n }, true);\n },\n // Map translate to transform\n translate: function (x, y) {\n return this.transform({\n translate: [x, y]\n }, true);\n },\n // Map relative translations to transform\n relative: function (x, y) {\n return this.transform({\n relative: [x, y]\n }, true);\n },\n // Map flip to transform\n flip: function (direction = 'both', origin = 'center') {\n if ('xybothtrue'.indexOf(direction) === -1) {\n origin = direction;\n direction = 'both';\n }\n\n return this.transform({\n flip: direction,\n origin: origin\n }, true);\n },\n // Opacity\n opacity: function (value) {\n return this.attr('opacity', value);\n }\n});\nregisterMethods('radius', {\n // Add x and y radius\n radius: function (x, y = x) {\n const type = (this._element || this).type;\n return type === 'radialGradient' ? this.attr('r', new SVGNumber(x)) : this.rx(x).ry(y);\n }\n});\nregisterMethods('Path', {\n // Get path length\n length: function () {\n return this.node.getTotalLength();\n },\n // Get point at length\n pointAt: function (length) {\n return new Point(this.node.getPointAtLength(length));\n }\n});\nregisterMethods(['Element', 'Runner'], {\n // Set font\n font: function (a, v) {\n if (typeof a === 'object') {\n for (v in a) this.font(v, a[v]);\n\n return this;\n }\n\n return a === 'leading' ? this.leading(v) : a === 'anchor' ? this.attr('text-anchor', v) : a === 'size' || a === 'family' || a === 'weight' || a === 'stretch' || a === 'variant' || a === 'style' ? this.attr('font-' + a, v) : this.attr(a, v);\n }\n}); // Add events to elements\n\nconst methods = ['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'touchstart', 'touchmove', 'touchleave', 'touchend', 'touchcancel'].reduce(function (last, event) {\n // add event to Element\n const fn = function (f) {\n if (f === null) {\n this.off(event);\n } else {\n this.on(event, f);\n }\n\n return this;\n };\n\n last[event] = fn;\n return last;\n}, {});\nregisterMethods('Element', methods);\n\nfunction untransform() {\n return this.attr('transform', null);\n} // merge the whole transformation chain into one matrix and returns it\n\nfunction matrixify() {\n const matrix = (this.attr('transform') || '' // split transformations\n ).split(transforms).slice(0, -1).map(function (str) {\n // generate key => value pairs\n const kv = str.trim().split('(');\n return [kv[0], kv[1].split(delimiter).map(function (str) {\n return parseFloat(str);\n })];\n }).reverse() // merge every transformation into one matrix\n .reduce(function (matrix, transform) {\n if (transform[0] === 'matrix') {\n return matrix.lmultiply(Matrix.fromArray(transform[1]));\n }\n\n return matrix[transform[0]].apply(matrix, transform[1]);\n }, new Matrix());\n return matrix;\n} // add an element to another parent without changing the visual representation on the screen\n\nfunction toParent(parent, i) {\n if (this === parent) return this;\n const ctm = this.screenCTM();\n const pCtm = parent.screenCTM().inverse();\n this.addTo(parent, i).untransform().transform(pCtm.multiply(ctm));\n return this;\n} // same as above with parent equals root-svg\n\nfunction toRoot(i) {\n return this.toParent(this.root(), i);\n} // Add transformations\n\nfunction transform(o, relative) {\n // Act as a getter if no object was passed\n if (o == null || typeof o === 'string') {\n const decomposed = new Matrix(this).decompose();\n return o == null ? decomposed : decomposed[o];\n }\n\n if (!Matrix.isMatrixLike(o)) {\n // Set the origin according to the defined transform\n o = { ...o,\n origin: getOrigin(o, this)\n };\n } // The user can pass a boolean, an Element or an Matrix or nothing\n\n\n const cleanRelative = relative === true ? this : relative || false;\n const result = new Matrix(cleanRelative).transform(o);\n return this.attr('transform', result);\n}\nregisterMethods('Element', {\n untransform,\n matrixify,\n toParent,\n toRoot,\n transform\n});\n\nclass Container extends Element {\n flatten(parent = this, index) {\n this.each(function () {\n if (this instanceof Container) {\n return this.flatten().ungroup();\n }\n });\n return this;\n }\n\n ungroup(parent = this.parent(), index = parent.index(this)) {\n // when parent != this, we want append all elements to the end\n index = index === -1 ? parent.children().length : index;\n this.each(function (i, children) {\n // reverse each\n return children[children.length - i - 1].toParent(parent, index);\n });\n return this.remove();\n }\n\n}\nregister(Container, 'Container');\n\nclass Defs extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('defs', node), attrs);\n }\n\n flatten() {\n return this;\n }\n\n ungroup() {\n return this;\n }\n\n}\nregister(Defs, 'Defs');\n\nclass Shape extends Element {}\nregister(Shape, 'Shape');\n\nfunction rx(rx) {\n return this.attr('rx', rx);\n} // Radius y value\n\nfunction ry(ry) {\n return this.attr('ry', ry);\n} // Move over x-axis\n\nfunction x$3(x) {\n return x == null ? this.cx() - this.rx() : this.cx(x + this.rx());\n} // Move over y-axis\n\nfunction y$3(y) {\n return y == null ? this.cy() - this.ry() : this.cy(y + this.ry());\n} // Move by center over x-axis\n\nfunction cx$1(x) {\n return this.attr('cx', x);\n} // Move by center over y-axis\n\nfunction cy$1(y) {\n return this.attr('cy', y);\n} // Set width of element\n\nfunction width$2(width) {\n return width == null ? this.rx() * 2 : this.rx(new SVGNumber(width).divide(2));\n} // Set height of element\n\nfunction height$2(height) {\n return height == null ? this.ry() * 2 : this.ry(new SVGNumber(height).divide(2));\n}\n\nvar circled = {\n __proto__: null,\n rx: rx,\n ry: ry,\n x: x$3,\n y: y$3,\n cx: cx$1,\n cy: cy$1,\n width: width$2,\n height: height$2\n};\n\nclass Ellipse extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('ellipse', node), attrs);\n }\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.rx(new SVGNumber(p.width).divide(2)).ry(new SVGNumber(p.height).divide(2));\n }\n\n}\nextend(Ellipse, circled);\nregisterMethods('Container', {\n // Create an ellipse\n ellipse: wrapWithAttrCheck(function (width = 0, height = width) {\n return this.put(new Ellipse()).size(width, height).move(0, 0);\n })\n});\nregister(Ellipse, 'Ellipse');\n\nclass Fragment extends Dom {\n constructor(node = globals.document.createDocumentFragment()) {\n super(node);\n } // Import / Export raw xml\n\n\n xml(xmlOrFn, outerXML, ns) {\n if (typeof xmlOrFn === 'boolean') {\n ns = outerXML;\n outerXML = xmlOrFn;\n xmlOrFn = null;\n } // because this is a fragment we have to put all elements into a wrapper first\n // before we can get the innerXML from it\n\n\n if (xmlOrFn == null || typeof xmlOrFn === 'function') {\n const wrapper = new Dom(create('wrapper', ns));\n wrapper.add(this.node.cloneNode(true));\n return wrapper.xml(false, ns);\n } // Act as setter if we got a string\n\n\n return super.xml(xmlOrFn, false, ns);\n }\n\n}\n\nregister(Fragment, 'Fragment');\n\nfunction from(x, y) {\n return (this._element || this).type === 'radialGradient' ? this.attr({\n fx: new SVGNumber(x),\n fy: new SVGNumber(y)\n }) : this.attr({\n x1: new SVGNumber(x),\n y1: new SVGNumber(y)\n });\n}\nfunction to(x, y) {\n return (this._element || this).type === 'radialGradient' ? this.attr({\n cx: new SVGNumber(x),\n cy: new SVGNumber(y)\n }) : this.attr({\n x2: new SVGNumber(x),\n y2: new SVGNumber(y)\n });\n}\n\nvar gradiented = {\n __proto__: null,\n from: from,\n to: to\n};\n\nclass Gradient extends Container {\n constructor(type, attrs) {\n super(nodeOrNew(type + 'Gradient', typeof type === 'string' ? null : type), attrs);\n } // custom attr to handle transform\n\n\n attr(a, b, c) {\n if (a === 'transform') a = 'gradientTransform';\n return super.attr(a, b, c);\n }\n\n bbox() {\n return new Box();\n }\n\n targets() {\n return baseFind('svg [fill*=' + this.id() + ']');\n } // Alias string conversion to fill\n\n\n toString() {\n return this.url();\n } // Update gradient\n\n\n update(block) {\n // remove all stops\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Return the fill id\n\n\n url() {\n return 'url(#' + this.id() + ')';\n }\n\n}\nextend(Gradient, gradiented);\nregisterMethods({\n Container: {\n // Create gradient element in defs\n gradient(...args) {\n return this.defs().gradient(...args);\n }\n\n },\n // define gradient\n Defs: {\n gradient: wrapWithAttrCheck(function (type, block) {\n return this.put(new Gradient(type)).update(block);\n })\n }\n});\nregister(Gradient, 'Gradient');\n\nclass Pattern extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('pattern', node), attrs);\n } // custom attr to handle transform\n\n\n attr(a, b, c) {\n if (a === 'transform') a = 'patternTransform';\n return super.attr(a, b, c);\n }\n\n bbox() {\n return new Box();\n }\n\n targets() {\n return baseFind('svg [fill*=' + this.id() + ']');\n } // Alias string conversion to fill\n\n\n toString() {\n return this.url();\n } // Update pattern by rebuilding\n\n\n update(block) {\n // remove content\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Return the fill id\n\n\n url() {\n return 'url(#' + this.id() + ')';\n }\n\n}\nregisterMethods({\n Container: {\n // Create pattern element in defs\n pattern(...args) {\n return this.defs().pattern(...args);\n }\n\n },\n Defs: {\n pattern: wrapWithAttrCheck(function (width, height, block) {\n return this.put(new Pattern()).update(block).attr({\n x: 0,\n y: 0,\n width: width,\n height: height,\n patternUnits: 'userSpaceOnUse'\n });\n })\n }\n});\nregister(Pattern, 'Pattern');\n\nclass Image extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('image', node), attrs);\n } // (re)load image\n\n\n load(url, callback) {\n if (!url) return this;\n const img = new globals.window.Image();\n on(img, 'load', function (e) {\n const p = this.parent(Pattern); // ensure image size\n\n if (this.width() === 0 && this.height() === 0) {\n this.size(img.width, img.height);\n }\n\n if (p instanceof Pattern) {\n // ensure pattern size if not set\n if (p.width() === 0 && p.height() === 0) {\n p.size(this.width(), this.height());\n }\n }\n\n if (typeof callback === 'function') {\n callback.call(this, e);\n }\n }, this);\n on(img, 'load error', function () {\n // dont forget to unbind memory leaking events\n off(img);\n });\n return this.attr('href', img.src = url, xlink);\n }\n\n}\nregisterAttrHook(function (attr, val, _this) {\n // convert image fill and stroke to patterns\n if (attr === 'fill' || attr === 'stroke') {\n if (isImage.test(val)) {\n val = _this.root().defs().image(val);\n }\n }\n\n if (val instanceof Image) {\n val = _this.root().defs().pattern(0, 0, pattern => {\n pattern.add(val);\n });\n }\n\n return val;\n});\nregisterMethods({\n Container: {\n // create image element, load image and set its size\n image: wrapWithAttrCheck(function (source, callback) {\n return this.put(new Image()).size(0, 0).load(source, callback);\n })\n }\n});\nregister(Image, 'Image');\n\nclass PointArray extends SVGArray {\n // Get bounding box of points\n bbox() {\n let maxX = -Infinity;\n let maxY = -Infinity;\n let minX = Infinity;\n let minY = Infinity;\n this.forEach(function (el) {\n maxX = Math.max(el[0], maxX);\n maxY = Math.max(el[1], maxY);\n minX = Math.min(el[0], minX);\n minY = Math.min(el[1], minY);\n });\n return new Box(minX, minY, maxX - minX, maxY - minY);\n } // Move point string\n\n\n move(x, y) {\n const box = this.bbox(); // get relative offset\n\n x -= box.x;\n y -= box.y; // move every point\n\n if (!isNaN(x) && !isNaN(y)) {\n for (let i = this.length - 1; i >= 0; i--) {\n this[i] = [this[i][0] + x, this[i][1] + y];\n }\n }\n\n return this;\n } // Parse point string and flat array\n\n\n parse(array = [0, 0]) {\n const points = []; // if it is an array, we flatten it and therefore clone it to 1 depths\n\n if (array instanceof Array) {\n array = Array.prototype.concat.apply([], array);\n } else {\n // Else, it is considered as a string\n // parse points\n array = array.trim().split(delimiter).map(parseFloat);\n } // validate points - https://svgwg.org/svg2-draft/shapes.html#DataTypePoints\n // Odd number of coordinates is an error. In such cases, drop the last odd coordinate.\n\n\n if (array.length % 2 !== 0) array.pop(); // wrap points in two-tuples\n\n for (let i = 0, len = array.length; i < len; i = i + 2) {\n points.push([array[i], array[i + 1]]);\n }\n\n return points;\n } // Resize poly string\n\n\n size(width, height) {\n let i;\n const box = this.bbox(); // recalculate position of all points according to new size\n\n for (i = this.length - 1; i >= 0; i--) {\n if (box.width) this[i][0] = (this[i][0] - box.x) * width / box.width + box.x;\n if (box.height) this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n }\n\n return this;\n } // Convert array to line object\n\n\n toLine() {\n return {\n x1: this[0][0],\n y1: this[0][1],\n x2: this[1][0],\n y2: this[1][1]\n };\n } // Convert array to string\n\n\n toString() {\n const array = []; // convert to a poly point string\n\n for (let i = 0, il = this.length; i < il; i++) {\n array.push(this[i].join(','));\n }\n\n return array.join(' ');\n }\n\n transform(m) {\n return this.clone().transformO(m);\n } // transform points with matrix (similar to Point.transform)\n\n\n transformO(m) {\n if (!Matrix.isMatrixLike(m)) {\n m = new Matrix(m);\n }\n\n for (let i = this.length; i--;) {\n // Perform the matrix multiplication\n const [x, y] = this[i];\n this[i][0] = m.a * x + m.c * y + m.e;\n this[i][1] = m.b * x + m.d * y + m.f;\n }\n\n return this;\n }\n\n}\n\nconst MorphArray = PointArray; // Move by left top corner over x-axis\n\nfunction x$2(x) {\n return x == null ? this.bbox().x : this.move(x, this.bbox().y);\n} // Move by left top corner over y-axis\n\nfunction y$2(y) {\n return y == null ? this.bbox().y : this.move(this.bbox().x, y);\n} // Set width of element\n\nfunction width$1(width) {\n const b = this.bbox();\n return width == null ? b.width : this.size(width, b.height);\n} // Set height of element\n\nfunction height$1(height) {\n const b = this.bbox();\n return height == null ? b.height : this.size(b.width, height);\n}\n\nvar pointed = {\n __proto__: null,\n MorphArray: MorphArray,\n x: x$2,\n y: y$2,\n width: width$1,\n height: height$1\n};\n\nclass Line extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('line', node), attrs);\n } // Get array\n\n\n array() {\n return new PointArray([[this.attr('x1'), this.attr('y1')], [this.attr('x2'), this.attr('y2')]]);\n } // Move by left top corner\n\n\n move(x, y) {\n return this.attr(this.array().move(x, y).toLine());\n } // Overwrite native plot() method\n\n\n plot(x1, y1, x2, y2) {\n if (x1 == null) {\n return this.array();\n } else if (typeof y1 !== 'undefined') {\n x1 = {\n x1,\n y1,\n x2,\n y2\n };\n } else {\n x1 = new PointArray(x1).toLine();\n }\n\n return this.attr(x1);\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr(this.array().size(p.width, p.height).toLine());\n }\n\n}\nextend(Line, pointed);\nregisterMethods({\n Container: {\n // Create a line element\n line: wrapWithAttrCheck(function (...args) {\n // make sure plot is called as a setter\n // x1 is not necessarily a number, it can also be an array, a string and a PointArray\n return Line.prototype.plot.apply(this.put(new Line()), args[0] != null ? args : [0, 0, 0, 0]);\n })\n }\n});\nregister(Line, 'Line');\n\nclass Marker extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('marker', node), attrs);\n } // Set height of element\n\n\n height(height) {\n return this.attr('markerHeight', height);\n }\n\n orient(orient) {\n return this.attr('orient', orient);\n } // Set marker refX and refY\n\n\n ref(x, y) {\n return this.attr('refX', x).attr('refY', y);\n } // Return the fill id\n\n\n toString() {\n return 'url(#' + this.id() + ')';\n } // Update marker\n\n\n update(block) {\n // remove all content\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Set width of element\n\n\n width(width) {\n return this.attr('markerWidth', width);\n }\n\n}\nregisterMethods({\n Container: {\n marker(...args) {\n // Create marker element in defs\n return this.defs().marker(...args);\n }\n\n },\n Defs: {\n // Create marker\n marker: wrapWithAttrCheck(function (width, height, block) {\n // Set default viewbox to match the width and height, set ref to cx and cy and set orient to auto\n return this.put(new Marker()).size(width, height).ref(width / 2, height / 2).viewbox(0, 0, width, height).attr('orient', 'auto').update(block);\n })\n },\n marker: {\n // Create and attach markers\n marker(marker, width, height, block) {\n let attr = ['marker']; // Build attribute name\n\n if (marker !== 'all') attr.push(marker);\n attr = attr.join('-'); // Set marker attribute\n\n marker = arguments[1] instanceof Marker ? arguments[1] : this.defs().marker(width, height, block);\n return this.attr(attr, marker);\n }\n\n }\n});\nregister(Marker, 'Marker');\n\n/***\nBase Class\n==========\nThe base stepper class that will be\n***/\n\nfunction makeSetterGetter(k, f) {\n return function (v) {\n if (v == null) return this[k];\n this[k] = v;\n if (f) f.call(this);\n return this;\n };\n}\n\nconst easing = {\n '-': function (pos) {\n return pos;\n },\n '<>': function (pos) {\n return -Math.cos(pos * Math.PI) / 2 + 0.5;\n },\n '>': function (pos) {\n return Math.sin(pos * Math.PI / 2);\n },\n '<': function (pos) {\n return -Math.cos(pos * Math.PI / 2) + 1;\n },\n bezier: function (x1, y1, x2, y2) {\n // see https://www.w3.org/TR/css-easing-1/#cubic-bezier-algo\n return function (t) {\n if (t < 0) {\n if (x1 > 0) {\n return y1 / x1 * t;\n } else if (x2 > 0) {\n return y2 / x2 * t;\n } else {\n return 0;\n }\n } else if (t > 1) {\n if (x2 < 1) {\n return (1 - y2) / (1 - x2) * t + (y2 - x2) / (1 - x2);\n } else if (x1 < 1) {\n return (1 - y1) / (1 - x1) * t + (y1 - x1) / (1 - x1);\n } else {\n return 1;\n }\n } else {\n return 3 * t * (1 - t) ** 2 * y1 + 3 * t ** 2 * (1 - t) * y2 + t ** 3;\n }\n };\n },\n // see https://www.w3.org/TR/css-easing-1/#step-timing-function-algo\n steps: function (steps, stepPosition = 'end') {\n // deal with \"jump-\" prefix\n stepPosition = stepPosition.split('-').reverse()[0];\n let jumps = steps;\n\n if (stepPosition === 'none') {\n --jumps;\n } else if (stepPosition === 'both') {\n ++jumps;\n } // The beforeFlag is essentially useless\n\n\n return (t, beforeFlag = false) => {\n // Step is called currentStep in referenced url\n let step = Math.floor(t * steps);\n const jumping = t * step % 1 === 0;\n\n if (stepPosition === 'start' || stepPosition === 'both') {\n ++step;\n }\n\n if (beforeFlag && jumping) {\n --step;\n }\n\n if (t >= 0 && step < 0) {\n step = 0;\n }\n\n if (t <= 1 && step > jumps) {\n step = jumps;\n }\n\n return step / jumps;\n };\n }\n};\nclass Stepper {\n done() {\n return false;\n }\n\n}\n/***\nEasing Functions\n================\n***/\n\nclass Ease extends Stepper {\n constructor(fn = timeline.ease) {\n super();\n this.ease = easing[fn] || fn;\n }\n\n step(from, to, pos) {\n if (typeof from !== 'number') {\n return pos < 1 ? from : to;\n }\n\n return from + (to - from) * this.ease(pos);\n }\n\n}\n/***\nController Types\n================\n***/\n\nclass Controller extends Stepper {\n constructor(fn) {\n super();\n this.stepper = fn;\n }\n\n done(c) {\n return c.done;\n }\n\n step(current, target, dt, c) {\n return this.stepper(current, target, dt, c);\n }\n\n}\n\nfunction recalculate() {\n // Apply the default parameters\n const duration = (this._duration || 500) / 1000;\n const overshoot = this._overshoot || 0; // Calculate the PID natural response\n\n const eps = 1e-10;\n const pi = Math.PI;\n const os = Math.log(overshoot / 100 + eps);\n const zeta = -os / Math.sqrt(pi * pi + os * os);\n const wn = 3.9 / (zeta * duration); // Calculate the Spring values\n\n this.d = 2 * zeta * wn;\n this.k = wn * wn;\n}\n\nclass Spring extends Controller {\n constructor(duration = 500, overshoot = 0) {\n super();\n this.duration(duration).overshoot(overshoot);\n }\n\n step(current, target, dt, c) {\n if (typeof current === 'string') return current;\n c.done = dt === Infinity;\n if (dt === Infinity) return target;\n if (dt === 0) return current;\n if (dt > 100) dt = 16;\n dt /= 1000; // Get the previous velocity\n\n const velocity = c.velocity || 0; // Apply the control to get the new position and store it\n\n const acceleration = -this.d * velocity - this.k * (current - target);\n const newPosition = current + velocity * dt + acceleration * dt * dt / 2; // Store the velocity\n\n c.velocity = velocity + acceleration * dt; // Figure out if we have converged, and if so, pass the value\n\n c.done = Math.abs(target - newPosition) + Math.abs(velocity) < 0.002;\n return c.done ? target : newPosition;\n }\n\n}\nextend(Spring, {\n duration: makeSetterGetter('_duration', recalculate),\n overshoot: makeSetterGetter('_overshoot', recalculate)\n});\nclass PID extends Controller {\n constructor(p = 0.1, i = 0.01, d = 0, windup = 1000) {\n super();\n this.p(p).i(i).d(d).windup(windup);\n }\n\n step(current, target, dt, c) {\n if (typeof current === 'string') return current;\n c.done = dt === Infinity;\n if (dt === Infinity) return target;\n if (dt === 0) return current;\n const p = target - current;\n let i = (c.integral || 0) + p * dt;\n const d = (p - (c.error || 0)) / dt;\n const windup = this._windup; // antiwindup\n\n if (windup !== false) {\n i = Math.max(-windup, Math.min(i, windup));\n }\n\n c.error = p;\n c.integral = i;\n c.done = Math.abs(p) < 0.001;\n return c.done ? target : current + (this.P * p + this.I * i + this.D * d);\n }\n\n}\nextend(PID, {\n windup: makeSetterGetter('_windup'),\n p: makeSetterGetter('P'),\n i: makeSetterGetter('I'),\n d: makeSetterGetter('D')\n});\n\nconst segmentParameters = {\n M: 2,\n L: 2,\n H: 1,\n V: 1,\n C: 6,\n S: 4,\n Q: 4,\n T: 2,\n A: 7,\n Z: 0\n};\nconst pathHandlers = {\n M: function (c, p, p0) {\n p.x = p0.x = c[0];\n p.y = p0.y = c[1];\n return ['M', p.x, p.y];\n },\n L: function (c, p) {\n p.x = c[0];\n p.y = c[1];\n return ['L', c[0], c[1]];\n },\n H: function (c, p) {\n p.x = c[0];\n return ['H', c[0]];\n },\n V: function (c, p) {\n p.y = c[0];\n return ['V', c[0]];\n },\n C: function (c, p) {\n p.x = c[4];\n p.y = c[5];\n return ['C', c[0], c[1], c[2], c[3], c[4], c[5]];\n },\n S: function (c, p) {\n p.x = c[2];\n p.y = c[3];\n return ['S', c[0], c[1], c[2], c[3]];\n },\n Q: function (c, p) {\n p.x = c[2];\n p.y = c[3];\n return ['Q', c[0], c[1], c[2], c[3]];\n },\n T: function (c, p) {\n p.x = c[0];\n p.y = c[1];\n return ['T', c[0], c[1]];\n },\n Z: function (c, p, p0) {\n p.x = p0.x;\n p.y = p0.y;\n return ['Z'];\n },\n A: function (c, p) {\n p.x = c[5];\n p.y = c[6];\n return ['A', c[0], c[1], c[2], c[3], c[4], c[5], c[6]];\n }\n};\nconst mlhvqtcsaz = 'mlhvqtcsaz'.split('');\n\nfor (let i = 0, il = mlhvqtcsaz.length; i < il; ++i) {\n pathHandlers[mlhvqtcsaz[i]] = function (i) {\n return function (c, p, p0) {\n if (i === 'H') c[0] = c[0] + p.x;else if (i === 'V') c[0] = c[0] + p.y;else if (i === 'A') {\n c[5] = c[5] + p.x;\n c[6] = c[6] + p.y;\n } else {\n for (let j = 0, jl = c.length; j < jl; ++j) {\n c[j] = c[j] + (j % 2 ? p.y : p.x);\n }\n }\n return pathHandlers[i](c, p, p0);\n };\n }(mlhvqtcsaz[i].toUpperCase());\n}\n\nfunction makeAbsolut(parser) {\n const command = parser.segment[0];\n return pathHandlers[command](parser.segment.slice(1), parser.p, parser.p0);\n}\n\nfunction segmentComplete(parser) {\n return parser.segment.length && parser.segment.length - 1 === segmentParameters[parser.segment[0].toUpperCase()];\n}\n\nfunction startNewSegment(parser, token) {\n parser.inNumber && finalizeNumber(parser, false);\n const pathLetter = isPathLetter.test(token);\n\n if (pathLetter) {\n parser.segment = [token];\n } else {\n const lastCommand = parser.lastCommand;\n const small = lastCommand.toLowerCase();\n const isSmall = lastCommand === small;\n parser.segment = [small === 'm' ? isSmall ? 'l' : 'L' : lastCommand];\n }\n\n parser.inSegment = true;\n parser.lastCommand = parser.segment[0];\n return pathLetter;\n}\n\nfunction finalizeNumber(parser, inNumber) {\n if (!parser.inNumber) throw new Error('Parser Error');\n parser.number && parser.segment.push(parseFloat(parser.number));\n parser.inNumber = inNumber;\n parser.number = '';\n parser.pointSeen = false;\n parser.hasExponent = false;\n\n if (segmentComplete(parser)) {\n finalizeSegment(parser);\n }\n}\n\nfunction finalizeSegment(parser) {\n parser.inSegment = false;\n\n if (parser.absolute) {\n parser.segment = makeAbsolut(parser);\n }\n\n parser.segments.push(parser.segment);\n}\n\nfunction isArcFlag(parser) {\n if (!parser.segment.length) return false;\n const isArc = parser.segment[0].toUpperCase() === 'A';\n const length = parser.segment.length;\n return isArc && (length === 4 || length === 5);\n}\n\nfunction isExponential(parser) {\n return parser.lastToken.toUpperCase() === 'E';\n}\n\nfunction pathParser(d, toAbsolute = true) {\n let index = 0;\n let token = '';\n const parser = {\n segment: [],\n inNumber: false,\n number: '',\n lastToken: '',\n inSegment: false,\n segments: [],\n pointSeen: false,\n hasExponent: false,\n absolute: toAbsolute,\n p0: new Point(),\n p: new Point()\n };\n\n while (parser.lastToken = token, token = d.charAt(index++)) {\n if (!parser.inSegment) {\n if (startNewSegment(parser, token)) {\n continue;\n }\n }\n\n if (token === '.') {\n if (parser.pointSeen || parser.hasExponent) {\n finalizeNumber(parser, false);\n --index;\n continue;\n }\n\n parser.inNumber = true;\n parser.pointSeen = true;\n parser.number += token;\n continue;\n }\n\n if (!isNaN(parseInt(token))) {\n if (parser.number === '0' || isArcFlag(parser)) {\n parser.inNumber = true;\n parser.number = token;\n finalizeNumber(parser, true);\n continue;\n }\n\n parser.inNumber = true;\n parser.number += token;\n continue;\n }\n\n if (token === ' ' || token === ',') {\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n }\n\n continue;\n }\n\n if (token === '-') {\n if (parser.inNumber && !isExponential(parser)) {\n finalizeNumber(parser, false);\n --index;\n continue;\n }\n\n parser.number += token;\n parser.inNumber = true;\n continue;\n }\n\n if (token.toUpperCase() === 'E') {\n parser.number += token;\n parser.hasExponent = true;\n continue;\n }\n\n if (isPathLetter.test(token)) {\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n } else if (!segmentComplete(parser)) {\n throw new Error('parser Error');\n } else {\n finalizeSegment(parser);\n }\n\n --index;\n }\n }\n\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n }\n\n if (parser.inSegment && segmentComplete(parser)) {\n finalizeSegment(parser);\n }\n\n return parser.segments;\n}\n\nfunction arrayToString(a) {\n let s = '';\n\n for (let i = 0, il = a.length; i < il; i++) {\n s += a[i][0];\n\n if (a[i][1] != null) {\n s += a[i][1];\n\n if (a[i][2] != null) {\n s += ' ';\n s += a[i][2];\n\n if (a[i][3] != null) {\n s += ' ';\n s += a[i][3];\n s += ' ';\n s += a[i][4];\n\n if (a[i][5] != null) {\n s += ' ';\n s += a[i][5];\n s += ' ';\n s += a[i][6];\n\n if (a[i][7] != null) {\n s += ' ';\n s += a[i][7];\n }\n }\n }\n }\n }\n }\n\n return s + ' ';\n}\n\nclass PathArray extends SVGArray {\n // Get bounding box of path\n bbox() {\n parser().path.setAttribute('d', this.toString());\n return new Box(parser.nodes.path.getBBox());\n } // Move path string\n\n\n move(x, y) {\n // get bounding box of current situation\n const box = this.bbox(); // get relative offset\n\n x -= box.x;\n y -= box.y;\n\n if (!isNaN(x) && !isNaN(y)) {\n // move every point\n for (let l, i = this.length - 1; i >= 0; i--) {\n l = this[i][0];\n\n if (l === 'M' || l === 'L' || l === 'T') {\n this[i][1] += x;\n this[i][2] += y;\n } else if (l === 'H') {\n this[i][1] += x;\n } else if (l === 'V') {\n this[i][1] += y;\n } else if (l === 'C' || l === 'S' || l === 'Q') {\n this[i][1] += x;\n this[i][2] += y;\n this[i][3] += x;\n this[i][4] += y;\n\n if (l === 'C') {\n this[i][5] += x;\n this[i][6] += y;\n }\n } else if (l === 'A') {\n this[i][6] += x;\n this[i][7] += y;\n }\n }\n }\n\n return this;\n } // Absolutize and parse path to array\n\n\n parse(d = 'M0 0') {\n if (Array.isArray(d)) {\n d = Array.prototype.concat.apply([], d).toString();\n }\n\n return pathParser(d);\n } // Resize path string\n\n\n size(width, height) {\n // get bounding box of current situation\n const box = this.bbox();\n let i, l; // If the box width or height is 0 then we ignore\n // transformations on the respective axis\n\n box.width = box.width === 0 ? 1 : box.width;\n box.height = box.height === 0 ? 1 : box.height; // recalculate position of all points according to new size\n\n for (i = this.length - 1; i >= 0; i--) {\n l = this[i][0];\n\n if (l === 'M' || l === 'L' || l === 'T') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n this[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n } else if (l === 'H') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n } else if (l === 'V') {\n this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n } else if (l === 'C' || l === 'S' || l === 'Q') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n this[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n this[i][3] = (this[i][3] - box.x) * width / box.width + box.x;\n this[i][4] = (this[i][4] - box.y) * height / box.height + box.y;\n\n if (l === 'C') {\n this[i][5] = (this[i][5] - box.x) * width / box.width + box.x;\n this[i][6] = (this[i][6] - box.y) * height / box.height + box.y;\n }\n } else if (l === 'A') {\n // resize radii\n this[i][1] = this[i][1] * width / box.width;\n this[i][2] = this[i][2] * height / box.height; // move position values\n\n this[i][6] = (this[i][6] - box.x) * width / box.width + box.x;\n this[i][7] = (this[i][7] - box.y) * height / box.height + box.y;\n }\n }\n\n return this;\n } // Convert array to string\n\n\n toString() {\n return arrayToString(this);\n }\n\n}\n\nconst getClassForType = value => {\n const type = typeof value;\n\n if (type === 'number') {\n return SVGNumber;\n } else if (type === 'string') {\n if (Color.isColor(value)) {\n return Color;\n } else if (delimiter.test(value)) {\n return isPathLetter.test(value) ? PathArray : SVGArray;\n } else if (numberAndUnit.test(value)) {\n return SVGNumber;\n } else {\n return NonMorphable;\n }\n } else if (morphableTypes.indexOf(value.constructor) > -1) {\n return value.constructor;\n } else if (Array.isArray(value)) {\n return SVGArray;\n } else if (type === 'object') {\n return ObjectBag;\n } else {\n return NonMorphable;\n }\n};\n\nclass Morphable {\n constructor(stepper) {\n this._stepper = stepper || new Ease('-');\n this._from = null;\n this._to = null;\n this._type = null;\n this._context = null;\n this._morphObj = null;\n }\n\n at(pos) {\n return this._morphObj.morph(this._from, this._to, pos, this._stepper, this._context);\n }\n\n done() {\n const complete = this._context.map(this._stepper.done).reduce(function (last, curr) {\n return last && curr;\n }, true);\n\n return complete;\n }\n\n from(val) {\n if (val == null) {\n return this._from;\n }\n\n this._from = this._set(val);\n return this;\n }\n\n stepper(stepper) {\n if (stepper == null) return this._stepper;\n this._stepper = stepper;\n return this;\n }\n\n to(val) {\n if (val == null) {\n return this._to;\n }\n\n this._to = this._set(val);\n return this;\n }\n\n type(type) {\n // getter\n if (type == null) {\n return this._type;\n } // setter\n\n\n this._type = type;\n return this;\n }\n\n _set(value) {\n if (!this._type) {\n this.type(getClassForType(value));\n }\n\n let result = new this._type(value);\n\n if (this._type === Color) {\n result = this._to ? result[this._to[4]]() : this._from ? result[this._from[4]]() : result;\n }\n\n if (this._type === ObjectBag) {\n result = this._to ? result.align(this._to) : this._from ? result.align(this._from) : result;\n }\n\n result = result.toConsumable();\n this._morphObj = this._morphObj || new this._type();\n this._context = this._context || Array.apply(null, Array(result.length)).map(Object).map(function (o) {\n o.done = true;\n return o;\n });\n return result;\n }\n\n}\nclass NonMorphable {\n constructor(...args) {\n this.init(...args);\n }\n\n init(val) {\n val = Array.isArray(val) ? val[0] : val;\n this.value = val;\n return this;\n }\n\n toArray() {\n return [this.value];\n }\n\n valueOf() {\n return this.value;\n }\n\n}\nclass TransformBag {\n constructor(...args) {\n this.init(...args);\n }\n\n init(obj) {\n if (Array.isArray(obj)) {\n obj = {\n scaleX: obj[0],\n scaleY: obj[1],\n shear: obj[2],\n rotate: obj[3],\n translateX: obj[4],\n translateY: obj[5],\n originX: obj[6],\n originY: obj[7]\n };\n }\n\n Object.assign(this, TransformBag.defaults, obj);\n return this;\n }\n\n toArray() {\n const v = this;\n return [v.scaleX, v.scaleY, v.shear, v.rotate, v.translateX, v.translateY, v.originX, v.originY];\n }\n\n}\nTransformBag.defaults = {\n scaleX: 1,\n scaleY: 1,\n shear: 0,\n rotate: 0,\n translateX: 0,\n translateY: 0,\n originX: 0,\n originY: 0\n};\n\nconst sortByKey = (a, b) => {\n return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;\n};\n\nclass ObjectBag {\n constructor(...args) {\n this.init(...args);\n }\n\n align(other) {\n const values = this.values;\n\n for (let i = 0, il = values.length; i < il; ++i) {\n // If the type is the same we only need to check if the color is in the correct format\n if (values[i + 1] === other[i + 1]) {\n if (values[i + 1] === Color && other[i + 7] !== values[i + 7]) {\n const space = other[i + 7];\n const color = new Color(this.values.splice(i + 3, 5))[space]().toArray();\n this.values.splice(i + 3, 0, ...color);\n }\n\n i += values[i + 2] + 2;\n continue;\n }\n\n if (!other[i + 1]) {\n return this;\n } // The types differ, so we overwrite the new type with the old one\n // And initialize it with the types default (e.g. black for color or 0 for number)\n\n\n const defaultObject = new other[i + 1]().toArray(); // Than we fix the values array\n\n const toDelete = values[i + 2] + 3;\n values.splice(i, toDelete, other[i], other[i + 1], other[i + 2], ...defaultObject);\n i += values[i + 2] + 2;\n }\n\n return this;\n }\n\n init(objOrArr) {\n this.values = [];\n\n if (Array.isArray(objOrArr)) {\n this.values = objOrArr.slice();\n return;\n }\n\n objOrArr = objOrArr || {};\n const entries = [];\n\n for (const i in objOrArr) {\n const Type = getClassForType(objOrArr[i]);\n const val = new Type(objOrArr[i]).toArray();\n entries.push([i, Type, val.length, ...val]);\n }\n\n entries.sort(sortByKey);\n this.values = entries.reduce((last, curr) => last.concat(curr), []);\n return this;\n }\n\n toArray() {\n return this.values;\n }\n\n valueOf() {\n const obj = {};\n const arr = this.values; // for (var i = 0, len = arr.length; i < len; i += 2) {\n\n while (arr.length) {\n const key = arr.shift();\n const Type = arr.shift();\n const num = arr.shift();\n const values = arr.splice(0, num);\n obj[key] = new Type(values); // .valueOf()\n }\n\n return obj;\n }\n\n}\nconst morphableTypes = [NonMorphable, TransformBag, ObjectBag];\nfunction registerMorphableType(type = []) {\n morphableTypes.push(...[].concat(type));\n}\nfunction makeMorphable() {\n extend(morphableTypes, {\n to(val) {\n return new Morphable().type(this.constructor).from(this.toArray()) // this.valueOf())\n .to(val);\n },\n\n fromArray(arr) {\n this.init(arr);\n return this;\n },\n\n toConsumable() {\n return this.toArray();\n },\n\n morph(from, to, pos, stepper, context) {\n const mapper = function (i, index) {\n return stepper.step(i, to[index], pos, context[index], context);\n };\n\n return this.fromArray(from.map(mapper));\n }\n\n });\n}\n\nclass Path extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('path', node), attrs);\n } // Get array\n\n\n array() {\n return this._array || (this._array = new PathArray(this.attr('d')));\n } // Clear array cache\n\n\n clear() {\n delete this._array;\n return this;\n } // Set height of element\n\n\n height(height) {\n return height == null ? this.bbox().height : this.size(this.bbox().width, height);\n } // Move by left top corner\n\n\n move(x, y) {\n return this.attr('d', this.array().move(x, y));\n } // Plot new path\n\n\n plot(d) {\n return d == null ? this.array() : this.clear().attr('d', typeof d === 'string' ? d : this._array = new PathArray(d));\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr('d', this.array().size(p.width, p.height));\n } // Set width of element\n\n\n width(width) {\n return width == null ? this.bbox().width : this.size(width, this.bbox().height);\n } // Move by left top corner over x-axis\n\n\n x(x) {\n return x == null ? this.bbox().x : this.move(x, this.bbox().y);\n } // Move by left top corner over y-axis\n\n\n y(y) {\n return y == null ? this.bbox().y : this.move(this.bbox().x, y);\n }\n\n} // Define morphable array\n\nPath.prototype.MorphArray = PathArray; // Add parent method\n\nregisterMethods({\n Container: {\n // Create a wrapped path element\n path: wrapWithAttrCheck(function (d) {\n // make sure plot is called as a setter\n return this.put(new Path()).plot(d || new PathArray());\n })\n }\n});\nregister(Path, 'Path');\n\nfunction array() {\n return this._array || (this._array = new PointArray(this.attr('points')));\n} // Clear array cache\n\nfunction clear() {\n delete this._array;\n return this;\n} // Move by left top corner\n\nfunction move$2(x, y) {\n return this.attr('points', this.array().move(x, y));\n} // Plot new path\n\nfunction plot(p) {\n return p == null ? this.array() : this.clear().attr('points', typeof p === 'string' ? p : this._array = new PointArray(p));\n} // Set element size to given width and height\n\nfunction size$1(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr('points', this.array().size(p.width, p.height));\n}\n\nvar poly = {\n __proto__: null,\n array: array,\n clear: clear,\n move: move$2,\n plot: plot,\n size: size$1\n};\n\nclass Polygon extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('polygon', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a wrapped polygon element\n polygon: wrapWithAttrCheck(function (p) {\n // make sure plot is called as a setter\n return this.put(new Polygon()).plot(p || new PointArray());\n })\n }\n});\nextend(Polygon, pointed);\nextend(Polygon, poly);\nregister(Polygon, 'Polygon');\n\nclass Polyline extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('polyline', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a wrapped polygon element\n polyline: wrapWithAttrCheck(function (p) {\n // make sure plot is called as a setter\n return this.put(new Polyline()).plot(p || new PointArray());\n })\n }\n});\nextend(Polyline, pointed);\nextend(Polyline, poly);\nregister(Polyline, 'Polyline');\n\nclass Rect extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('rect', node), attrs);\n }\n\n}\nextend(Rect, {\n rx,\n ry\n});\nregisterMethods({\n Container: {\n // Create a rect element\n rect: wrapWithAttrCheck(function (width, height) {\n return this.put(new Rect()).size(width, height);\n })\n }\n});\nregister(Rect, 'Rect');\n\nclass Queue {\n constructor() {\n this._first = null;\n this._last = null;\n } // Shows us the first item in the list\n\n\n first() {\n return this._first && this._first.value;\n } // Shows us the last item in the list\n\n\n last() {\n return this._last && this._last.value;\n }\n\n push(value) {\n // An item stores an id and the provided value\n const item = typeof value.next !== 'undefined' ? value : {\n value: value,\n next: null,\n prev: null\n }; // Deal with the queue being empty or populated\n\n if (this._last) {\n item.prev = this._last;\n this._last.next = item;\n this._last = item;\n } else {\n this._last = item;\n this._first = item;\n } // Return the current item\n\n\n return item;\n } // Removes the item that was returned from the push\n\n\n remove(item) {\n // Relink the previous item\n if (item.prev) item.prev.next = item.next;\n if (item.next) item.next.prev = item.prev;\n if (item === this._last) this._last = item.prev;\n if (item === this._first) this._first = item.next; // Invalidate item\n\n item.prev = null;\n item.next = null;\n }\n\n shift() {\n // Check if we have a value\n const remove = this._first;\n if (!remove) return null; // If we do, remove it and relink things\n\n this._first = remove.next;\n if (this._first) this._first.prev = null;\n this._last = this._first ? this._last : null;\n return remove.value;\n }\n\n}\n\nconst Animator = {\n nextDraw: null,\n frames: new Queue(),\n timeouts: new Queue(),\n immediates: new Queue(),\n timer: () => globals.window.performance || globals.window.Date,\n transforms: [],\n\n frame(fn) {\n // Store the node\n const node = Animator.frames.push({\n run: fn\n }); // Request an animation frame if we don't have one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n } // Return the node so we can remove it easily\n\n\n return node;\n },\n\n timeout(fn, delay) {\n delay = delay || 0; // Work out when the event should fire\n\n const time = Animator.timer().now() + delay; // Add the timeout to the end of the queue\n\n const node = Animator.timeouts.push({\n run: fn,\n time: time\n }); // Request another animation frame if we need one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n }\n\n return node;\n },\n\n immediate(fn) {\n // Add the immediate fn to the end of the queue\n const node = Animator.immediates.push(fn); // Request another animation frame if we need one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n }\n\n return node;\n },\n\n cancelFrame(node) {\n node != null && Animator.frames.remove(node);\n },\n\n clearTimeout(node) {\n node != null && Animator.timeouts.remove(node);\n },\n\n cancelImmediate(node) {\n node != null && Animator.immediates.remove(node);\n },\n\n _draw(now) {\n // Run all the timeouts we can run, if they are not ready yet, add them\n // to the end of the queue immediately! (bad timeouts!!! [sarcasm])\n let nextTimeout = null;\n const lastTimeout = Animator.timeouts.last();\n\n while (nextTimeout = Animator.timeouts.shift()) {\n // Run the timeout if its time, or push it to the end\n if (now >= nextTimeout.time) {\n nextTimeout.run();\n } else {\n Animator.timeouts.push(nextTimeout);\n } // If we hit the last item, we should stop shifting out more items\n\n\n if (nextTimeout === lastTimeout) break;\n } // Run all of the animation frames\n\n\n let nextFrame = null;\n const lastFrame = Animator.frames.last();\n\n while (nextFrame !== lastFrame && (nextFrame = Animator.frames.shift())) {\n nextFrame.run(now);\n }\n\n let nextImmediate = null;\n\n while (nextImmediate = Animator.immediates.shift()) {\n nextImmediate();\n } // If we have remaining timeouts or frames, draw until we don't anymore\n\n\n Animator.nextDraw = Animator.timeouts.first() || Animator.frames.first() ? globals.window.requestAnimationFrame(Animator._draw) : null;\n }\n\n};\n\nconst makeSchedule = function (runnerInfo) {\n const start = runnerInfo.start;\n const duration = runnerInfo.runner.duration();\n const end = start + duration;\n return {\n start: start,\n duration: duration,\n end: end,\n runner: runnerInfo.runner\n };\n};\n\nconst defaultSource = function () {\n const w = globals.window;\n return (w.performance || w.Date).now();\n};\n\nclass Timeline extends EventTarget {\n // Construct a new timeline on the given element\n constructor(timeSource = defaultSource) {\n super();\n this._timeSource = timeSource; // Store the timing variables\n\n this._startTime = 0;\n this._speed = 1.0; // Determines how long a runner is hold in memory. Can be a dt or true/false\n\n this._persist = 0; // Keep track of the running animations and their starting parameters\n\n this._nextFrame = null;\n this._paused = true;\n this._runners = [];\n this._runnerIds = [];\n this._lastRunnerId = -1;\n this._time = 0;\n this._lastSourceTime = 0;\n this._lastStepTime = 0; // Make sure that step is always called in class context\n\n this._step = this._stepFn.bind(this, false);\n this._stepImmediate = this._stepFn.bind(this, true);\n }\n\n active() {\n return !!this._nextFrame;\n }\n\n finish() {\n // Go to end and pause\n this.time(this.getEndTimeOfTimeline() + 1);\n return this.pause();\n } // Calculates the end of the timeline\n\n\n getEndTime() {\n const lastRunnerInfo = this.getLastRunnerInfo();\n const lastDuration = lastRunnerInfo ? lastRunnerInfo.runner.duration() : 0;\n const lastStartTime = lastRunnerInfo ? lastRunnerInfo.start : this._time;\n return lastStartTime + lastDuration;\n }\n\n getEndTimeOfTimeline() {\n const endTimes = this._runners.map(i => i.start + i.runner.duration());\n\n return Math.max(0, ...endTimes);\n }\n\n getLastRunnerInfo() {\n return this.getRunnerInfoById(this._lastRunnerId);\n }\n\n getRunnerInfoById(id) {\n return this._runners[this._runnerIds.indexOf(id)] || null;\n }\n\n pause() {\n this._paused = true;\n return this._continue();\n }\n\n persist(dtOrForever) {\n if (dtOrForever == null) return this._persist;\n this._persist = dtOrForever;\n return this;\n }\n\n play() {\n // Now make sure we are not paused and continue the animation\n this._paused = false;\n return this.updateTime()._continue();\n }\n\n reverse(yes) {\n const currentSpeed = this.speed();\n if (yes == null) return this.speed(-currentSpeed);\n const positive = Math.abs(currentSpeed);\n return this.speed(yes ? -positive : positive);\n } // schedules a runner on the timeline\n\n\n schedule(runner, delay, when) {\n if (runner == null) {\n return this._runners.map(makeSchedule);\n } // The start time for the next animation can either be given explicitly,\n // derived from the current timeline time or it can be relative to the\n // last start time to chain animations directly\n\n\n let absoluteStartTime = 0;\n const endTime = this.getEndTime();\n delay = delay || 0; // Work out when to start the animation\n\n if (when == null || when === 'last' || when === 'after') {\n // Take the last time and increment\n absoluteStartTime = endTime;\n } else if (when === 'absolute' || when === 'start') {\n absoluteStartTime = delay;\n delay = 0;\n } else if (when === 'now') {\n absoluteStartTime = this._time;\n } else if (when === 'relative') {\n const runnerInfo = this.getRunnerInfoById(runner.id);\n\n if (runnerInfo) {\n absoluteStartTime = runnerInfo.start + delay;\n delay = 0;\n }\n } else if (when === 'with-last') {\n const lastRunnerInfo = this.getLastRunnerInfo();\n const lastStartTime = lastRunnerInfo ? lastRunnerInfo.start : this._time;\n absoluteStartTime = lastStartTime;\n } else {\n throw new Error('Invalid value for the \"when\" parameter');\n } // Manage runner\n\n\n runner.unschedule();\n runner.timeline(this);\n const persist = runner.persist();\n const runnerInfo = {\n persist: persist === null ? this._persist : persist,\n start: absoluteStartTime + delay,\n runner\n };\n this._lastRunnerId = runner.id;\n\n this._runners.push(runnerInfo);\n\n this._runners.sort((a, b) => a.start - b.start);\n\n this._runnerIds = this._runners.map(info => info.runner.id);\n\n this.updateTime()._continue();\n\n return this;\n }\n\n seek(dt) {\n return this.time(this._time + dt);\n }\n\n source(fn) {\n if (fn == null) return this._timeSource;\n this._timeSource = fn;\n return this;\n }\n\n speed(speed) {\n if (speed == null) return this._speed;\n this._speed = speed;\n return this;\n }\n\n stop() {\n // Go to start and pause\n this.time(0);\n return this.pause();\n }\n\n time(time) {\n if (time == null) return this._time;\n this._time = time;\n return this._continue(true);\n } // Remove the runner from this timeline\n\n\n unschedule(runner) {\n const index = this._runnerIds.indexOf(runner.id);\n\n if (index < 0) return this;\n\n this._runners.splice(index, 1);\n\n this._runnerIds.splice(index, 1);\n\n runner.timeline(null);\n return this;\n } // Makes sure, that after pausing the time doesn't jump\n\n\n updateTime() {\n if (!this.active()) {\n this._lastSourceTime = this._timeSource();\n }\n\n return this;\n } // Checks if we are running and continues the animation\n\n\n _continue(immediateStep = false) {\n Animator.cancelFrame(this._nextFrame);\n this._nextFrame = null;\n if (immediateStep) return this._stepImmediate();\n if (this._paused) return this;\n this._nextFrame = Animator.frame(this._step);\n return this;\n }\n\n _stepFn(immediateStep = false) {\n // Get the time delta from the last time and update the time\n const time = this._timeSource();\n\n let dtSource = time - this._lastSourceTime;\n if (immediateStep) dtSource = 0;\n const dtTime = this._speed * dtSource + (this._time - this._lastStepTime);\n this._lastSourceTime = time; // Only update the time if we use the timeSource.\n // Otherwise use the current time\n\n if (!immediateStep) {\n // Update the time\n this._time += dtTime;\n this._time = this._time < 0 ? 0 : this._time;\n }\n\n this._lastStepTime = this._time;\n this.fire('time', this._time); // This is for the case that the timeline was seeked so that the time\n // is now before the startTime of the runner. That is why we need to set\n // the runner to position 0\n // FIXME:\n // However, resetting in insertion order leads to bugs. Considering the case,\n // where 2 runners change the same attribute but in different times,\n // resetting both of them will lead to the case where the later defined\n // runner always wins the reset even if the other runner started earlier\n // and therefore should win the attribute battle\n // this can be solved by resetting them backwards\n\n for (let k = this._runners.length; k--;) {\n // Get and run the current runner and ignore it if its inactive\n const runnerInfo = this._runners[k];\n const runner = runnerInfo.runner; // Make sure that we give the actual difference\n // between runner start time and now\n\n const dtToStart = this._time - runnerInfo.start; // Dont run runner if not started yet\n // and try to reset it\n\n if (dtToStart <= 0) {\n runner.reset();\n }\n } // Run all of the runners directly\n\n\n let runnersLeft = false;\n\n for (let i = 0, len = this._runners.length; i < len; i++) {\n // Get and run the current runner and ignore it if its inactive\n const runnerInfo = this._runners[i];\n const runner = runnerInfo.runner;\n let dt = dtTime; // Make sure that we give the actual difference\n // between runner start time and now\n\n const dtToStart = this._time - runnerInfo.start; // Dont run runner if not started yet\n\n if (dtToStart <= 0) {\n runnersLeft = true;\n continue;\n } else if (dtToStart < dt) {\n // Adjust dt to make sure that animation is on point\n dt = dtToStart;\n }\n\n if (!runner.active()) continue; // If this runner is still going, signal that we need another animation\n // frame, otherwise, remove the completed runner\n\n const finished = runner.step(dt).done;\n\n if (!finished) {\n runnersLeft = true; // continue\n } else if (runnerInfo.persist !== true) {\n // runner is finished. And runner might get removed\n const endTime = runner.duration() - runner.time() + this._time;\n\n if (endTime + runnerInfo.persist < this._time) {\n // Delete runner and correct index\n runner.unschedule();\n --i;\n --len;\n }\n }\n } // Basically: we continue when there are runners right from us in time\n // when -->, and when runners are left from us when <--\n\n\n if (runnersLeft && !(this._speed < 0 && this._time === 0) || this._runnerIds.length && this._speed < 0 && this._time > 0) {\n this._continue();\n } else {\n this.pause();\n this.fire('finished');\n }\n\n return this;\n }\n\n}\nregisterMethods({\n Element: {\n timeline: function (timeline) {\n if (timeline == null) {\n this._timeline = this._timeline || new Timeline();\n return this._timeline;\n } else {\n this._timeline = timeline;\n return this;\n }\n }\n }\n});\n\nclass Runner extends EventTarget {\n constructor(options) {\n super(); // Store a unique id on the runner, so that we can identify it later\n\n this.id = Runner.id++; // Ensure a default value\n\n options = options == null ? timeline.duration : options; // Ensure that we get a controller\n\n options = typeof options === 'function' ? new Controller(options) : options; // Declare all of the variables\n\n this._element = null;\n this._timeline = null;\n this.done = false;\n this._queue = []; // Work out the stepper and the duration\n\n this._duration = typeof options === 'number' && options;\n this._isDeclarative = options instanceof Controller;\n this._stepper = this._isDeclarative ? options : new Ease(); // We copy the current values from the timeline because they can change\n\n this._history = {}; // Store the state of the runner\n\n this.enabled = true;\n this._time = 0;\n this._lastTime = 0; // At creation, the runner is in reset state\n\n this._reseted = true; // Save transforms applied to this runner\n\n this.transforms = new Matrix();\n this.transformId = 1; // Looping variables\n\n this._haveReversed = false;\n this._reverse = false;\n this._loopsDone = 0;\n this._swing = false;\n this._wait = 0;\n this._times = 1;\n this._frameId = null; // Stores how long a runner is stored after being done\n\n this._persist = this._isDeclarative ? true : null;\n }\n\n static sanitise(duration, delay, when) {\n // Initialise the default parameters\n let times = 1;\n let swing = false;\n let wait = 0;\n duration = duration || timeline.duration;\n delay = delay || timeline.delay;\n when = when || 'last'; // If we have an object, unpack the values\n\n if (typeof duration === 'object' && !(duration instanceof Stepper)) {\n delay = duration.delay || delay;\n when = duration.when || when;\n swing = duration.swing || swing;\n times = duration.times || times;\n wait = duration.wait || wait;\n duration = duration.duration || timeline.duration;\n }\n\n return {\n duration: duration,\n delay: delay,\n swing: swing,\n times: times,\n wait: wait,\n when: when\n };\n }\n\n active(enabled) {\n if (enabled == null) return this.enabled;\n this.enabled = enabled;\n return this;\n }\n /*\n Private Methods\n ===============\n Methods that shouldn't be used externally\n */\n\n\n addTransform(transform, index) {\n this.transforms.lmultiplyO(transform);\n return this;\n }\n\n after(fn) {\n return this.on('finished', fn);\n }\n\n animate(duration, delay, when) {\n const o = Runner.sanitise(duration, delay, when);\n const runner = new Runner(o.duration);\n if (this._timeline) runner.timeline(this._timeline);\n if (this._element) runner.element(this._element);\n return runner.loop(o).schedule(o.delay, o.when);\n }\n\n clearTransform() {\n this.transforms = new Matrix();\n return this;\n } // TODO: Keep track of all transformations so that deletion is faster\n\n\n clearTransformsFromQueue() {\n if (!this.done || !this._timeline || !this._timeline._runnerIds.includes(this.id)) {\n this._queue = this._queue.filter(item => {\n return !item.isTransform;\n });\n }\n }\n\n delay(delay) {\n return this.animate(0, delay);\n }\n\n duration() {\n return this._times * (this._wait + this._duration) - this._wait;\n }\n\n during(fn) {\n return this.queue(null, fn);\n }\n\n ease(fn) {\n this._stepper = new Ease(fn);\n return this;\n }\n /*\n Runner Definitions\n ==================\n These methods help us define the runtime behaviour of the Runner or they\n help us make new runners from the current runner\n */\n\n\n element(element) {\n if (element == null) return this._element;\n this._element = element;\n\n element._prepareRunner();\n\n return this;\n }\n\n finish() {\n return this.step(Infinity);\n }\n\n loop(times, swing, wait) {\n // Deal with the user passing in an object\n if (typeof times === 'object') {\n swing = times.swing;\n wait = times.wait;\n times = times.times;\n } // Sanitise the values and store them\n\n\n this._times = times || Infinity;\n this._swing = swing || false;\n this._wait = wait || 0; // Allow true to be passed\n\n if (this._times === true) {\n this._times = Infinity;\n }\n\n return this;\n }\n\n loops(p) {\n const loopDuration = this._duration + this._wait;\n\n if (p == null) {\n const loopsDone = Math.floor(this._time / loopDuration);\n const relativeTime = this._time - loopsDone * loopDuration;\n const position = relativeTime / this._duration;\n return Math.min(loopsDone + position, this._times);\n }\n\n const whole = Math.floor(p);\n const partial = p % 1;\n const time = loopDuration * whole + this._duration * partial;\n return this.time(time);\n }\n\n persist(dtOrForever) {\n if (dtOrForever == null) return this._persist;\n this._persist = dtOrForever;\n return this;\n }\n\n position(p) {\n // Get all of the variables we need\n const x = this._time;\n const d = this._duration;\n const w = this._wait;\n const t = this._times;\n const s = this._swing;\n const r = this._reverse;\n let position;\n\n if (p == null) {\n /*\n This function converts a time to a position in the range [0, 1]\n The full explanation can be found in this desmos demonstration\n https://www.desmos.com/calculator/u4fbavgche\n The logic is slightly simplified here because we can use booleans\n */\n // Figure out the value without thinking about the start or end time\n const f = function (x) {\n const swinging = s * Math.floor(x % (2 * (w + d)) / (w + d));\n const backwards = swinging && !r || !swinging && r;\n const uncliped = Math.pow(-1, backwards) * (x % (w + d)) / d + backwards;\n const clipped = Math.max(Math.min(uncliped, 1), 0);\n return clipped;\n }; // Figure out the value by incorporating the start time\n\n\n const endTime = t * (w + d) - w;\n position = x <= 0 ? Math.round(f(1e-5)) : x < endTime ? f(x) : Math.round(f(endTime - 1e-5));\n return position;\n } // Work out the loops done and add the position to the loops done\n\n\n const loopsDone = Math.floor(this.loops());\n const swingForward = s && loopsDone % 2 === 0;\n const forwards = swingForward && !r || r && swingForward;\n position = loopsDone + (forwards ? p : 1 - p);\n return this.loops(position);\n }\n\n progress(p) {\n if (p == null) {\n return Math.min(1, this._time / this.duration());\n }\n\n return this.time(p * this.duration());\n }\n /*\n Basic Functionality\n ===================\n These methods allow us to attach basic functions to the runner directly\n */\n\n\n queue(initFn, runFn, retargetFn, isTransform) {\n this._queue.push({\n initialiser: initFn || noop,\n runner: runFn || noop,\n retarget: retargetFn,\n isTransform: isTransform,\n initialised: false,\n finished: false\n });\n\n const timeline = this.timeline();\n timeline && this.timeline()._continue();\n return this;\n }\n\n reset() {\n if (this._reseted) return this;\n this.time(0);\n this._reseted = true;\n return this;\n }\n\n reverse(reverse) {\n this._reverse = reverse == null ? !this._reverse : reverse;\n return this;\n }\n\n schedule(timeline, delay, when) {\n // The user doesn't need to pass a timeline if we already have one\n if (!(timeline instanceof Timeline)) {\n when = delay;\n delay = timeline;\n timeline = this.timeline();\n } // If there is no timeline, yell at the user...\n\n\n if (!timeline) {\n throw Error('Runner cannot be scheduled without timeline');\n } // Schedule the runner on the timeline provided\n\n\n timeline.schedule(this, delay, when);\n return this;\n }\n\n step(dt) {\n // If we are inactive, this stepper just gets skipped\n if (!this.enabled) return this; // Update the time and get the new position\n\n dt = dt == null ? 16 : dt;\n this._time += dt;\n const position = this.position(); // Figure out if we need to run the stepper in this frame\n\n const running = this._lastPosition !== position && this._time >= 0;\n this._lastPosition = position; // Figure out if we just started\n\n const duration = this.duration();\n const justStarted = this._lastTime <= 0 && this._time > 0;\n const justFinished = this._lastTime < duration && this._time >= duration;\n this._lastTime = this._time;\n\n if (justStarted) {\n this.fire('start', this);\n } // Work out if the runner is finished set the done flag here so animations\n // know, that they are running in the last step (this is good for\n // transformations which can be merged)\n\n\n const declarative = this._isDeclarative;\n this.done = !declarative && !justFinished && this._time >= duration; // Runner is running. So its not in reset state anymore\n\n this._reseted = false;\n let converged = false; // Call initialise and the run function\n\n if (running || declarative) {\n this._initialise(running); // clear the transforms on this runner so they dont get added again and again\n\n\n this.transforms = new Matrix();\n converged = this._run(declarative ? dt : position);\n this.fire('step', this);\n } // correct the done flag here\n // declarative animations itself know when they converged\n\n\n this.done = this.done || converged && declarative;\n\n if (justFinished) {\n this.fire('finished', this);\n }\n\n return this;\n }\n /*\n Runner animation methods\n ========================\n Control how the animation plays\n */\n\n\n time(time) {\n if (time == null) {\n return this._time;\n }\n\n const dt = time - this._time;\n this.step(dt);\n return this;\n }\n\n timeline(timeline) {\n // check explicitly for undefined so we can set the timeline to null\n if (typeof timeline === 'undefined') return this._timeline;\n this._timeline = timeline;\n return this;\n }\n\n unschedule() {\n const timeline = this.timeline();\n timeline && timeline.unschedule(this);\n return this;\n } // Run each initialise function in the runner if required\n\n\n _initialise(running) {\n // If we aren't running, we shouldn't initialise when not declarative\n if (!running && !this._isDeclarative) return; // Loop through all of the initialisers\n\n for (let i = 0, len = this._queue.length; i < len; ++i) {\n // Get the current initialiser\n const current = this._queue[i]; // Determine whether we need to initialise\n\n const needsIt = this._isDeclarative || !current.initialised && running;\n running = !current.finished; // Call the initialiser if we need to\n\n if (needsIt && running) {\n current.initialiser.call(this);\n current.initialised = true;\n }\n }\n } // Save a morpher to the morpher list so that we can retarget it later\n\n\n _rememberMorpher(method, morpher) {\n this._history[method] = {\n morpher: morpher,\n caller: this._queue[this._queue.length - 1]\n }; // We have to resume the timeline in case a controller\n // is already done without being ever run\n // This can happen when e.g. this is done:\n // anim = el.animate(new SVG.Spring)\n // and later\n // anim.move(...)\n\n if (this._isDeclarative) {\n const timeline = this.timeline();\n timeline && timeline.play();\n }\n } // Try to set the target for a morpher if the morpher exists, otherwise\n // Run each run function for the position or dt given\n\n\n _run(positionOrDt) {\n // Run all of the _queue directly\n let allfinished = true;\n\n for (let i = 0, len = this._queue.length; i < len; ++i) {\n // Get the current function to run\n const current = this._queue[i]; // Run the function if its not finished, we keep track of the finished\n // flag for the sake of declarative _queue\n\n const converged = current.runner.call(this, positionOrDt);\n current.finished = current.finished || converged === true;\n allfinished = allfinished && current.finished;\n } // We report when all of the constructors are finished\n\n\n return allfinished;\n } // do nothing and return false\n\n\n _tryRetarget(method, target, extra) {\n if (this._history[method]) {\n // if the last method wasn't even initialised, throw it away\n if (!this._history[method].caller.initialised) {\n const index = this._queue.indexOf(this._history[method].caller);\n\n this._queue.splice(index, 1);\n\n return false;\n } // for the case of transformations, we use the special retarget function\n // which has access to the outer scope\n\n\n if (this._history[method].caller.retarget) {\n this._history[method].caller.retarget.call(this, target, extra); // for everything else a simple morpher change is sufficient\n\n } else {\n this._history[method].morpher.to(target);\n }\n\n this._history[method].caller.finished = false;\n const timeline = this.timeline();\n timeline && timeline.play();\n return true;\n }\n\n return false;\n }\n\n}\nRunner.id = 0;\nclass FakeRunner {\n constructor(transforms = new Matrix(), id = -1, done = true) {\n this.transforms = transforms;\n this.id = id;\n this.done = done;\n }\n\n clearTransformsFromQueue() {}\n\n}\nextend([Runner, FakeRunner], {\n mergeWith(runner) {\n return new FakeRunner(runner.transforms.lmultiply(this.transforms), runner.id);\n }\n\n}); // FakeRunner.emptyRunner = new FakeRunner()\n\nconst lmultiply = (last, curr) => last.lmultiplyO(curr);\n\nconst getRunnerTransform = runner => runner.transforms;\n\nfunction mergeTransforms() {\n // Find the matrix to apply to the element and apply it\n const runners = this._transformationRunners.runners;\n const netTransform = runners.map(getRunnerTransform).reduce(lmultiply, new Matrix());\n this.transform(netTransform);\n\n this._transformationRunners.merge();\n\n if (this._transformationRunners.length() === 1) {\n this._frameId = null;\n }\n}\n\nclass RunnerArray {\n constructor() {\n this.runners = [];\n this.ids = [];\n }\n\n add(runner) {\n if (this.runners.includes(runner)) return;\n const id = runner.id + 1;\n this.runners.push(runner);\n this.ids.push(id);\n return this;\n }\n\n clearBefore(id) {\n const deleteCnt = this.ids.indexOf(id + 1) || 1;\n this.ids.splice(0, deleteCnt, 0);\n this.runners.splice(0, deleteCnt, new FakeRunner()).forEach(r => r.clearTransformsFromQueue());\n return this;\n }\n\n edit(id, newRunner) {\n const index = this.ids.indexOf(id + 1);\n this.ids.splice(index, 1, id + 1);\n this.runners.splice(index, 1, newRunner);\n return this;\n }\n\n getByID(id) {\n return this.runners[this.ids.indexOf(id + 1)];\n }\n\n length() {\n return this.ids.length;\n }\n\n merge() {\n let lastRunner = null;\n\n for (let i = 0; i < this.runners.length; ++i) {\n const runner = this.runners[i];\n const condition = lastRunner && runner.done && lastRunner.done // don't merge runner when persisted on timeline\n && (!runner._timeline || !runner._timeline._runnerIds.includes(runner.id)) && (!lastRunner._timeline || !lastRunner._timeline._runnerIds.includes(lastRunner.id));\n\n if (condition) {\n // the +1 happens in the function\n this.remove(runner.id);\n const newRunner = runner.mergeWith(lastRunner);\n this.edit(lastRunner.id, newRunner);\n lastRunner = newRunner;\n --i;\n } else {\n lastRunner = runner;\n }\n }\n\n return this;\n }\n\n remove(id) {\n const index = this.ids.indexOf(id + 1);\n this.ids.splice(index, 1);\n this.runners.splice(index, 1);\n return this;\n }\n\n}\nregisterMethods({\n Element: {\n animate(duration, delay, when) {\n const o = Runner.sanitise(duration, delay, when);\n const timeline = this.timeline();\n return new Runner(o.duration).loop(o).element(this).timeline(timeline.play()).schedule(o.delay, o.when);\n },\n\n delay(by, when) {\n return this.animate(0, by, when);\n },\n\n // this function searches for all runners on the element and deletes the ones\n // which run before the current one. This is because absolute transformations\n // overwrite anything anyway so there is no need to waste time computing\n // other runners\n _clearTransformRunnersBefore(currentRunner) {\n this._transformationRunners.clearBefore(currentRunner.id);\n },\n\n _currentTransform(current) {\n return this._transformationRunners.runners // we need the equal sign here to make sure, that also transformations\n // on the same runner which execute before the current transformation are\n // taken into account\n .filter(runner => runner.id <= current.id).map(getRunnerTransform).reduce(lmultiply, new Matrix());\n },\n\n _addRunner(runner) {\n this._transformationRunners.add(runner); // Make sure that the runner merge is executed at the very end of\n // all Animator functions. That is why we use immediate here to execute\n // the merge right after all frames are run\n\n\n Animator.cancelImmediate(this._frameId);\n this._frameId = Animator.immediate(mergeTransforms.bind(this));\n },\n\n _prepareRunner() {\n if (this._frameId == null) {\n this._transformationRunners = new RunnerArray().add(new FakeRunner(new Matrix(this)));\n }\n }\n\n }\n}); // Will output the elements from array A that are not in the array B\n\nconst difference = (a, b) => a.filter(x => !b.includes(x));\n\nextend(Runner, {\n attr(a, v) {\n return this.styleAttr('attr', a, v);\n },\n\n // Add animatable styles\n css(s, v) {\n return this.styleAttr('css', s, v);\n },\n\n styleAttr(type, nameOrAttrs, val) {\n if (typeof nameOrAttrs === 'string') {\n return this.styleAttr(type, {\n [nameOrAttrs]: val\n });\n }\n\n let attrs = nameOrAttrs;\n if (this._tryRetarget(type, attrs)) return this;\n let morpher = new Morphable(this._stepper).to(attrs);\n let keys = Object.keys(attrs);\n this.queue(function () {\n morpher = morpher.from(this.element()[type](keys));\n }, function (pos) {\n this.element()[type](morpher.at(pos).valueOf());\n return morpher.done();\n }, function (newToAttrs) {\n // Check if any new keys were added\n const newKeys = Object.keys(newToAttrs);\n const differences = difference(newKeys, keys); // If their are new keys, initialize them and add them to morpher\n\n if (differences.length) {\n // Get the values\n const addedFromAttrs = this.element()[type](differences); // Get the already initialized values\n\n const oldFromAttrs = new ObjectBag(morpher.from()).valueOf(); // Merge old and new\n\n Object.assign(oldFromAttrs, addedFromAttrs);\n morpher.from(oldFromAttrs);\n } // Get the object from the morpher\n\n\n const oldToAttrs = new ObjectBag(morpher.to()).valueOf(); // Merge in new attributes\n\n Object.assign(oldToAttrs, newToAttrs); // Change morpher target\n\n morpher.to(oldToAttrs); // Make sure that we save the work we did so we don't need it to do again\n\n keys = newKeys;\n attrs = newToAttrs;\n });\n\n this._rememberMorpher(type, morpher);\n\n return this;\n },\n\n zoom(level, point) {\n if (this._tryRetarget('zoom', level, point)) return this;\n let morpher = new Morphable(this._stepper).to(new SVGNumber(level));\n this.queue(function () {\n morpher = morpher.from(this.element().zoom());\n }, function (pos) {\n this.element().zoom(morpher.at(pos), point);\n return morpher.done();\n }, function (newLevel, newPoint) {\n point = newPoint;\n morpher.to(newLevel);\n });\n\n this._rememberMorpher('zoom', morpher);\n\n return this;\n },\n\n /**\n ** absolute transformations\n **/\n //\n // M v -----|-----(D M v = F v)------|-----> T v\n //\n // 1. define the final state (T) and decompose it (once)\n // t = [tx, ty, the, lam, sy, sx]\n // 2. on every frame: pull the current state of all previous transforms\n // (M - m can change)\n // and then write this as m = [tx0, ty0, the0, lam0, sy0, sx0]\n // 3. Find the interpolated matrix F(pos) = m + pos * (t - m)\n // - Note F(0) = M\n // - Note F(1) = T\n // 4. Now you get the delta matrix as a result: D = F * inv(M)\n transform(transforms, relative, affine) {\n // If we have a declarative function, we should retarget it if possible\n relative = transforms.relative || relative;\n\n if (this._isDeclarative && !relative && this._tryRetarget('transform', transforms)) {\n return this;\n } // Parse the parameters\n\n\n const isMatrix = Matrix.isMatrixLike(transforms);\n affine = transforms.affine != null ? transforms.affine : affine != null ? affine : !isMatrix; // Create a morpher and set its type\n\n const morpher = new Morphable(this._stepper).type(affine ? TransformBag : Matrix);\n let origin;\n let element;\n let current;\n let currentAngle;\n let startTransform;\n\n function setup() {\n // make sure element and origin is defined\n element = element || this.element();\n origin = origin || getOrigin(transforms, element);\n startTransform = new Matrix(relative ? undefined : element); // add the runner to the element so it can merge transformations\n\n element._addRunner(this); // Deactivate all transforms that have run so far if we are absolute\n\n\n if (!relative) {\n element._clearTransformRunnersBefore(this);\n }\n }\n\n function run(pos) {\n // clear all other transforms before this in case something is saved\n // on this runner. We are absolute. We dont need these!\n if (!relative) this.clearTransform();\n const {\n x,\n y\n } = new Point(origin).transform(element._currentTransform(this));\n let target = new Matrix({ ...transforms,\n origin: [x, y]\n });\n let start = this._isDeclarative && current ? current : startTransform;\n\n if (affine) {\n target = target.decompose(x, y);\n start = start.decompose(x, y); // Get the current and target angle as it was set\n\n const rTarget = target.rotate;\n const rCurrent = start.rotate; // Figure out the shortest path to rotate directly\n\n const possibilities = [rTarget - 360, rTarget, rTarget + 360];\n const distances = possibilities.map(a => Math.abs(a - rCurrent));\n const shortest = Math.min(...distances);\n const index = distances.indexOf(shortest);\n target.rotate = possibilities[index];\n }\n\n if (relative) {\n // we have to be careful here not to overwrite the rotation\n // with the rotate method of Matrix\n if (!isMatrix) {\n target.rotate = transforms.rotate || 0;\n }\n\n if (this._isDeclarative && currentAngle) {\n start.rotate = currentAngle;\n }\n }\n\n morpher.from(start);\n morpher.to(target);\n const affineParameters = morpher.at(pos);\n currentAngle = affineParameters.rotate;\n current = new Matrix(affineParameters);\n this.addTransform(current);\n\n element._addRunner(this);\n\n return morpher.done();\n }\n\n function retarget(newTransforms) {\n // only get a new origin if it changed since the last call\n if ((newTransforms.origin || 'center').toString() !== (transforms.origin || 'center').toString()) {\n origin = getOrigin(newTransforms, element);\n } // overwrite the old transformations with the new ones\n\n\n transforms = { ...newTransforms,\n origin\n };\n }\n\n this.queue(setup, run, retarget, true);\n this._isDeclarative && this._rememberMorpher('transform', morpher);\n return this;\n },\n\n // Animatable x-axis\n x(x, relative) {\n return this._queueNumber('x', x);\n },\n\n // Animatable y-axis\n y(y) {\n return this._queueNumber('y', y);\n },\n\n dx(x = 0) {\n return this._queueNumberDelta('x', x);\n },\n\n dy(y = 0) {\n return this._queueNumberDelta('y', y);\n },\n\n dmove(x, y) {\n return this.dx(x).dy(y);\n },\n\n _queueNumberDelta(method, to) {\n to = new SVGNumber(to); // Try to change the target if we have this method already registered\n\n if (this._tryRetarget(method, to)) return this; // Make a morpher and queue the animation\n\n const morpher = new Morphable(this._stepper).to(to);\n let from = null;\n this.queue(function () {\n from = this.element()[method]();\n morpher.from(from);\n morpher.to(from + to);\n }, function (pos) {\n this.element()[method](morpher.at(pos));\n return morpher.done();\n }, function (newTo) {\n morpher.to(from + new SVGNumber(newTo));\n }); // Register the morpher so that if it is changed again, we can retarget it\n\n this._rememberMorpher(method, morpher);\n\n return this;\n },\n\n _queueObject(method, to) {\n // Try to change the target if we have this method already registered\n if (this._tryRetarget(method, to)) return this; // Make a morpher and queue the animation\n\n const morpher = new Morphable(this._stepper).to(to);\n this.queue(function () {\n morpher.from(this.element()[method]());\n }, function (pos) {\n this.element()[method](morpher.at(pos));\n return morpher.done();\n }); // Register the morpher so that if it is changed again, we can retarget it\n\n this._rememberMorpher(method, morpher);\n\n return this;\n },\n\n _queueNumber(method, value) {\n return this._queueObject(method, new SVGNumber(value));\n },\n\n // Animatable center x-axis\n cx(x) {\n return this._queueNumber('cx', x);\n },\n\n // Animatable center y-axis\n cy(y) {\n return this._queueNumber('cy', y);\n },\n\n // Add animatable move\n move(x, y) {\n return this.x(x).y(y);\n },\n\n // Add animatable center\n center(x, y) {\n return this.cx(x).cy(y);\n },\n\n // Add animatable size\n size(width, height) {\n // animate bbox based size for all other elements\n let box;\n\n if (!width || !height) {\n box = this._element.bbox();\n }\n\n if (!width) {\n width = box.width / box.height * height;\n }\n\n if (!height) {\n height = box.height / box.width * width;\n }\n\n return this.width(width).height(height);\n },\n\n // Add animatable width\n width(width) {\n return this._queueNumber('width', width);\n },\n\n // Add animatable height\n height(height) {\n return this._queueNumber('height', height);\n },\n\n // Add animatable plot\n plot(a, b, c, d) {\n // Lines can be plotted with 4 arguments\n if (arguments.length === 4) {\n return this.plot([a, b, c, d]);\n }\n\n if (this._tryRetarget('plot', a)) return this;\n const morpher = new Morphable(this._stepper).type(this._element.MorphArray).to(a);\n this.queue(function () {\n morpher.from(this._element.array());\n }, function (pos) {\n this._element.plot(morpher.at(pos));\n\n return morpher.done();\n });\n\n this._rememberMorpher('plot', morpher);\n\n return this;\n },\n\n // Add leading method\n leading(value) {\n return this._queueNumber('leading', value);\n },\n\n // Add animatable viewbox\n viewbox(x, y, width, height) {\n return this._queueObject('viewbox', new Box(x, y, width, height));\n },\n\n update(o) {\n if (typeof o !== 'object') {\n return this.update({\n offset: arguments[0],\n color: arguments[1],\n opacity: arguments[2]\n });\n }\n\n if (o.opacity != null) this.attr('stop-opacity', o.opacity);\n if (o.color != null) this.attr('stop-color', o.color);\n if (o.offset != null) this.attr('offset', o.offset);\n return this;\n }\n\n});\nextend(Runner, {\n rx,\n ry,\n from,\n to\n});\nregister(Runner, 'Runner');\n\nclass Svg extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('svg', node), attrs);\n this.namespace();\n } // Creates and returns defs element\n\n\n defs() {\n if (!this.isRoot()) return this.root().defs();\n return adopt(this.node.querySelector('defs')) || this.put(new Defs());\n }\n\n isRoot() {\n return !this.node.parentNode || !(this.node.parentNode instanceof globals.window.SVGElement) && this.node.parentNode.nodeName !== '#document-fragment';\n } // Add namespaces\n\n\n namespace() {\n if (!this.isRoot()) return this.root().namespace();\n return this.attr({\n xmlns: svg,\n version: '1.1'\n }).attr('xmlns:xlink', xlink, xmlns).attr('xmlns:svgjs', svgjs, xmlns);\n }\n\n removeNamespace() {\n return this.attr({\n xmlns: null,\n version: null\n }).attr('xmlns:xlink', null, xmlns).attr('xmlns:svgjs', null, xmlns);\n } // Check if this is a root svg\n // If not, call root() from this element\n\n\n root() {\n if (this.isRoot()) return this;\n return super.root();\n }\n\n}\nregisterMethods({\n Container: {\n // Create nested svg document\n nested: wrapWithAttrCheck(function () {\n return this.put(new Svg());\n })\n }\n});\nregister(Svg, 'Svg', true);\n\nclass Symbol extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('symbol', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n symbol: wrapWithAttrCheck(function () {\n return this.put(new Symbol());\n })\n }\n});\nregister(Symbol, 'Symbol');\n\nfunction plain(text) {\n // clear if build mode is disabled\n if (this._build === false) {\n this.clear();\n } // create text node\n\n\n this.node.appendChild(globals.document.createTextNode(text));\n return this;\n} // Get length of text element\n\nfunction length() {\n return this.node.getComputedTextLength();\n} // Move over x-axis\n// Text is moved by its bounding box\n// text-anchor does NOT matter\n\nfunction x$1(x, box = this.bbox()) {\n if (x == null) {\n return box.x;\n }\n\n return this.attr('x', this.attr('x') + x - box.x);\n} // Move over y-axis\n\nfunction y$1(y, box = this.bbox()) {\n if (y == null) {\n return box.y;\n }\n\n return this.attr('y', this.attr('y') + y - box.y);\n}\nfunction move$1(x, y, box = this.bbox()) {\n return this.x(x, box).y(y, box);\n} // Move center over x-axis\n\nfunction cx(x, box = this.bbox()) {\n if (x == null) {\n return box.cx;\n }\n\n return this.attr('x', this.attr('x') + x - box.cx);\n} // Move center over y-axis\n\nfunction cy(y, box = this.bbox()) {\n if (y == null) {\n return box.cy;\n }\n\n return this.attr('y', this.attr('y') + y - box.cy);\n}\nfunction center(x, y, box = this.bbox()) {\n return this.cx(x, box).cy(y, box);\n}\nfunction ax(x) {\n return this.attr('x', x);\n}\nfunction ay(y) {\n return this.attr('y', y);\n}\nfunction amove(x, y) {\n return this.ax(x).ay(y);\n} // Enable / disable build mode\n\nfunction build(build) {\n this._build = !!build;\n return this;\n}\n\nvar textable = {\n __proto__: null,\n plain: plain,\n length: length,\n x: x$1,\n y: y$1,\n move: move$1,\n cx: cx,\n cy: cy,\n center: center,\n ax: ax,\n ay: ay,\n amove: amove,\n build: build\n};\n\nclass Text extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('text', node), attrs);\n this.dom.leading = new SVGNumber(1.3); // store leading value for rebuilding\n\n this._rebuild = true; // enable automatic updating of dy values\n\n this._build = false; // disable build mode for adding multiple lines\n } // Set / get leading\n\n\n leading(value) {\n // act as getter\n if (value == null) {\n return this.dom.leading;\n } // act as setter\n\n\n this.dom.leading = new SVGNumber(value);\n return this.rebuild();\n } // Rebuild appearance type\n\n\n rebuild(rebuild) {\n // store new rebuild flag if given\n if (typeof rebuild === 'boolean') {\n this._rebuild = rebuild;\n } // define position of all lines\n\n\n if (this._rebuild) {\n const self = this;\n let blankLineOffset = 0;\n const leading = this.dom.leading;\n this.each(function (i) {\n const fontSize = globals.window.getComputedStyle(this.node).getPropertyValue('font-size');\n const dy = leading * new SVGNumber(fontSize);\n\n if (this.dom.newLined) {\n this.attr('x', self.attr('x'));\n\n if (this.text() === '\\n') {\n blankLineOffset += dy;\n } else {\n this.attr('dy', i ? dy + blankLineOffset : 0);\n blankLineOffset = 0;\n }\n }\n });\n this.fire('rebuild');\n }\n\n return this;\n } // overwrite method from parent to set data properly\n\n\n setData(o) {\n this.dom = o;\n this.dom.leading = new SVGNumber(o.leading || 1.3);\n return this;\n } // Set the text content\n\n\n text(text) {\n // act as getter\n if (text === undefined) {\n const children = this.node.childNodes;\n let firstLine = 0;\n text = '';\n\n for (let i = 0, len = children.length; i < len; ++i) {\n // skip textPaths - they are no lines\n if (children[i].nodeName === 'textPath') {\n if (i === 0) firstLine = 1;\n continue;\n } // add newline if its not the first child and newLined is set to true\n\n\n if (i !== firstLine && children[i].nodeType !== 3 && adopt(children[i]).dom.newLined === true) {\n text += '\\n';\n } // add content of this node\n\n\n text += children[i].textContent;\n }\n\n return text;\n } // remove existing content\n\n\n this.clear().build(true);\n\n if (typeof text === 'function') {\n // call block\n text.call(this, this);\n } else {\n // store text and make sure text is not blank\n text = (text + '').split('\\n'); // build new lines\n\n for (let j = 0, jl = text.length; j < jl; j++) {\n this.newLine(text[j]);\n }\n } // disable build mode and rebuild lines\n\n\n return this.build(false).rebuild();\n }\n\n}\nextend(Text, textable);\nregisterMethods({\n Container: {\n // Create text element\n text: wrapWithAttrCheck(function (text = '') {\n return this.put(new Text()).text(text);\n }),\n // Create plain text element\n plain: wrapWithAttrCheck(function (text = '') {\n return this.put(new Text()).plain(text);\n })\n }\n});\nregister(Text, 'Text');\n\nclass Tspan extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('tspan', node), attrs);\n this._build = false; // disable build mode for adding multiple lines\n } // Shortcut dx\n\n\n dx(dx) {\n return this.attr('dx', dx);\n } // Shortcut dy\n\n\n dy(dy) {\n return this.attr('dy', dy);\n } // Create new line\n\n\n newLine() {\n // mark new line\n this.dom.newLined = true; // fetch parent\n\n const text = this.parent(); // early return in case we are not in a text element\n\n if (!(text instanceof Text)) {\n return this;\n }\n\n const i = text.index(this);\n const fontSize = globals.window.getComputedStyle(this.node).getPropertyValue('font-size');\n const dy = text.dom.leading * new SVGNumber(fontSize); // apply new position\n\n return this.dy(i ? dy : 0).attr('x', text.x());\n } // Set text content\n\n\n text(text) {\n if (text == null) return this.node.textContent + (this.dom.newLined ? '\\n' : '');\n\n if (typeof text === 'function') {\n this.clear().build(true);\n text.call(this, this);\n this.build(false);\n } else {\n this.plain(text);\n }\n\n return this;\n }\n\n}\nextend(Tspan, textable);\nregisterMethods({\n Tspan: {\n tspan: wrapWithAttrCheck(function (text = '') {\n const tspan = new Tspan(); // clear if build mode is disabled\n\n if (!this._build) {\n this.clear();\n } // add new tspan\n\n\n return this.put(tspan).text(text);\n })\n },\n Text: {\n newLine: function (text = '') {\n return this.tspan(text).newLine();\n }\n }\n});\nregister(Tspan, 'Tspan');\n\nclass Circle extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('circle', node), attrs);\n }\n\n radius(r) {\n return this.attr('r', r);\n } // Radius x value\n\n\n rx(rx) {\n return this.attr('r', rx);\n } // Alias radius x value\n\n\n ry(ry) {\n return this.rx(ry);\n }\n\n size(size) {\n return this.radius(new SVGNumber(size).divide(2));\n }\n\n}\nextend(Circle, {\n x: x$3,\n y: y$3,\n cx: cx$1,\n cy: cy$1,\n width: width$2,\n height: height$2\n});\nregisterMethods({\n Container: {\n // Create circle element\n circle: wrapWithAttrCheck(function (size = 0) {\n return this.put(new Circle()).size(size).move(0, 0);\n })\n }\n});\nregister(Circle, 'Circle');\n\nclass ClipPath extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('clipPath', node), attrs);\n } // Unclip all clipped elements and remove itself\n\n\n remove() {\n // unclip all targets\n this.targets().forEach(function (el) {\n el.unclip();\n }); // remove clipPath from parent\n\n return super.remove();\n }\n\n targets() {\n return baseFind('svg [clip-path*=' + this.id() + ']');\n }\n\n}\nregisterMethods({\n Container: {\n // Create clipping element\n clip: wrapWithAttrCheck(function () {\n return this.defs().put(new ClipPath());\n })\n },\n Element: {\n // Distribute clipPath to svg element\n clipper() {\n return this.reference('clip-path');\n },\n\n clipWith(element) {\n // use given clip or create a new one\n const clipper = element instanceof ClipPath ? element : this.parent().clip().add(element); // apply mask\n\n return this.attr('clip-path', 'url(#' + clipper.id() + ')');\n },\n\n // Unclip element\n unclip() {\n return this.attr('clip-path', null);\n }\n\n }\n});\nregister(ClipPath, 'ClipPath');\n\nclass ForeignObject extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('foreignObject', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n foreignObject: wrapWithAttrCheck(function (width, height) {\n return this.put(new ForeignObject()).size(width, height);\n })\n }\n});\nregister(ForeignObject, 'ForeignObject');\n\nfunction dmove(dx, dy) {\n this.children().forEach((child, i) => {\n let bbox; // We have to wrap this for elements that dont have a bbox\n // e.g. title and other descriptive elements\n\n try {\n // Get the childs bbox\n bbox = child.bbox();\n } catch (e) {\n return;\n } // Get childs matrix\n\n\n const m = new Matrix(child); // Translate childs matrix by amount and\n // transform it back into parents space\n\n const matrix = m.translate(dx, dy).transform(m.inverse()); // Calculate new x and y from old box\n\n const p = new Point(bbox.x, bbox.y).transform(matrix); // Move element\n\n child.move(p.x, p.y);\n });\n return this;\n}\nfunction dx(dx) {\n return this.dmove(dx, 0);\n}\nfunction dy(dy) {\n return this.dmove(0, dy);\n}\nfunction height(height, box = this.bbox()) {\n if (height == null) return box.height;\n return this.size(box.width, height, box);\n}\nfunction move(x = 0, y = 0, box = this.bbox()) {\n const dx = x - box.x;\n const dy = y - box.y;\n return this.dmove(dx, dy);\n}\nfunction size(width, height, box = this.bbox()) {\n const p = proportionalSize(this, width, height, box);\n const scaleX = p.width / box.width;\n const scaleY = p.height / box.height;\n this.children().forEach((child, i) => {\n const o = new Point(box).transform(new Matrix(child).inverse());\n child.scale(scaleX, scaleY, o.x, o.y);\n });\n return this;\n}\nfunction width(width, box = this.bbox()) {\n if (width == null) return box.width;\n return this.size(width, box.height, box);\n}\nfunction x(x, box = this.bbox()) {\n if (x == null) return box.x;\n return this.move(x, box.y, box);\n}\nfunction y(y, box = this.bbox()) {\n if (y == null) return box.y;\n return this.move(box.x, y, box);\n}\n\nvar containerGeometry = {\n __proto__: null,\n dmove: dmove,\n dx: dx,\n dy: dy,\n height: height,\n move: move,\n size: size,\n width: width,\n x: x,\n y: y\n};\n\nclass G extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('g', node), attrs);\n }\n\n}\nextend(G, containerGeometry);\nregisterMethods({\n Container: {\n // Create a group element\n group: wrapWithAttrCheck(function () {\n return this.put(new G());\n })\n }\n});\nregister(G, 'G');\n\nclass A extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('a', node), attrs);\n } // Link target attribute\n\n\n target(target) {\n return this.attr('target', target);\n } // Link url\n\n\n to(url) {\n return this.attr('href', url, xlink);\n }\n\n}\nextend(A, containerGeometry);\nregisterMethods({\n Container: {\n // Create a hyperlink element\n link: wrapWithAttrCheck(function (url) {\n return this.put(new A()).to(url);\n })\n },\n Element: {\n unlink() {\n const link = this.linker();\n if (!link) return this;\n const parent = link.parent();\n\n if (!parent) {\n return this.remove();\n }\n\n const index = parent.index(link);\n parent.add(this, index);\n link.remove();\n return this;\n },\n\n linkTo(url) {\n // reuse old link if possible\n let link = this.linker();\n\n if (!link) {\n link = new A();\n this.wrap(link);\n }\n\n if (typeof url === 'function') {\n url.call(link, link);\n } else {\n link.to(url);\n }\n\n return this;\n },\n\n linker() {\n const link = this.parent();\n\n if (link && link.node.nodeName.toLowerCase() === 'a') {\n return link;\n }\n\n return null;\n }\n\n }\n});\nregister(A, 'A');\n\nclass Mask extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('mask', node), attrs);\n } // Unmask all masked elements and remove itself\n\n\n remove() {\n // unmask all targets\n this.targets().forEach(function (el) {\n el.unmask();\n }); // remove mask from parent\n\n return super.remove();\n }\n\n targets() {\n return baseFind('svg [mask*=' + this.id() + ']');\n }\n\n}\nregisterMethods({\n Container: {\n mask: wrapWithAttrCheck(function () {\n return this.defs().put(new Mask());\n })\n },\n Element: {\n // Distribute mask to svg element\n masker() {\n return this.reference('mask');\n },\n\n maskWith(element) {\n // use given mask or create a new one\n const masker = element instanceof Mask ? element : this.parent().mask().add(element); // apply mask\n\n return this.attr('mask', 'url(#' + masker.id() + ')');\n },\n\n // Unmask element\n unmask() {\n return this.attr('mask', null);\n }\n\n }\n});\nregister(Mask, 'Mask');\n\nclass Stop extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('stop', node), attrs);\n } // add color stops\n\n\n update(o) {\n if (typeof o === 'number' || o instanceof SVGNumber) {\n o = {\n offset: arguments[0],\n color: arguments[1],\n opacity: arguments[2]\n };\n } // set attributes\n\n\n if (o.opacity != null) this.attr('stop-opacity', o.opacity);\n if (o.color != null) this.attr('stop-color', o.color);\n if (o.offset != null) this.attr('offset', new SVGNumber(o.offset));\n return this;\n }\n\n}\nregisterMethods({\n Gradient: {\n // Add a color stop\n stop: function (offset, color, opacity) {\n return this.put(new Stop()).update(offset, color, opacity);\n }\n }\n});\nregister(Stop, 'Stop');\n\nfunction cssRule(selector, rule) {\n if (!selector) return '';\n if (!rule) return selector;\n let ret = selector + '{';\n\n for (const i in rule) {\n ret += unCamelCase(i) + ':' + rule[i] + ';';\n }\n\n ret += '}';\n return ret;\n}\n\nclass Style extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('style', node), attrs);\n }\n\n addText(w = '') {\n this.node.textContent += w;\n return this;\n }\n\n font(name, src, params = {}) {\n return this.rule('@font-face', {\n fontFamily: name,\n src: src,\n ...params\n });\n }\n\n rule(selector, obj) {\n return this.addText(cssRule(selector, obj));\n }\n\n}\nregisterMethods('Dom', {\n style(selector, obj) {\n return this.put(new Style()).rule(selector, obj);\n },\n\n fontface(name, src, params) {\n return this.put(new Style()).font(name, src, params);\n }\n\n});\nregister(Style, 'Style');\n\nclass TextPath extends Text {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('textPath', node), attrs);\n } // return the array of the path track element\n\n\n array() {\n const track = this.track();\n return track ? track.array() : null;\n } // Plot path if any\n\n\n plot(d) {\n const track = this.track();\n let pathArray = null;\n\n if (track) {\n pathArray = track.plot(d);\n }\n\n return d == null ? pathArray : this;\n } // Get the path element\n\n\n track() {\n return this.reference('href');\n }\n\n}\nregisterMethods({\n Container: {\n textPath: wrapWithAttrCheck(function (text, path) {\n // Convert text to instance if needed\n if (!(text instanceof Text)) {\n text = this.text(text);\n }\n\n return text.path(path);\n })\n },\n Text: {\n // Create path for text to run on\n path: wrapWithAttrCheck(function (track, importNodes = true) {\n const textPath = new TextPath(); // if track is a path, reuse it\n\n if (!(track instanceof Path)) {\n // create path element\n track = this.defs().path(track);\n } // link textPath to path and add content\n\n\n textPath.attr('href', '#' + track, xlink); // Transplant all nodes from text to textPath\n\n let node;\n\n if (importNodes) {\n while (node = this.node.firstChild) {\n textPath.node.appendChild(node);\n }\n } // add textPath element as child node and return textPath\n\n\n return this.put(textPath);\n }),\n\n // Get the textPath children\n textPath() {\n return this.findOne('textPath');\n }\n\n },\n Path: {\n // creates a textPath from this path\n text: wrapWithAttrCheck(function (text) {\n // Convert text to instance if needed\n if (!(text instanceof Text)) {\n text = new Text().addTo(this.parent()).text(text);\n } // Create textPath from text and path and return\n\n\n return text.path(this);\n }),\n\n targets() {\n return baseFind('svg textPath').filter(node => {\n return (node.attr('href') || '').includes(this.id());\n }); // Does not work in IE11. Use when IE support is dropped\n // return baseFind('svg textPath[*|href*=' + this.id() + ']')\n }\n\n }\n});\nTextPath.prototype.MorphArray = PathArray;\nregister(TextPath, 'TextPath');\n\nclass Use extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('use', node), attrs);\n } // Use element as a reference\n\n\n use(element, file) {\n // Set lined element\n return this.attr('href', (file || '') + '#' + element, xlink);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a use element\n use: wrapWithAttrCheck(function (element, file) {\n return this.put(new Use()).use(element, file);\n })\n }\n});\nregister(Use, 'Use');\n\n/* Optional Modules */\nconst SVG = makeInstance;\nextend([Svg, Symbol, Image, Pattern, Marker], getMethodsFor('viewbox'));\nextend([Line, Polyline, Polygon, Path], getMethodsFor('marker'));\nextend(Text, getMethodsFor('Text'));\nextend(Path, getMethodsFor('Path'));\nextend(Defs, getMethodsFor('Defs'));\nextend([Text, Tspan], getMethodsFor('Tspan'));\nextend([Rect, Ellipse, Gradient, Runner], getMethodsFor('radius'));\nextend(EventTarget, getMethodsFor('EventTarget'));\nextend(Dom, getMethodsFor('Dom'));\nextend(Element, getMethodsFor('Element'));\nextend(Shape, getMethodsFor('Shape'));\nextend([Container, Fragment], getMethodsFor('Container'));\nextend(Gradient, getMethodsFor('Gradient'));\nextend(Runner, getMethodsFor('Runner'));\nList.extend(getMethodNames());\nregisterMorphableType([SVGNumber, Color, Box, Matrix, SVGArray, PointArray, PathArray, Point]);\nmakeMorphable();\n\n\n//# sourceMappingURL=svg.esm.js.map\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/deepmerge/dist/cjs.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/deepmerge/dist/cjs.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/deepmerge/dist/cjs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/eventemitter3/index.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/eventemitter3/index.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif (true) {\n module.exports = EventEmitter;\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/eventemitter3/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/fast-diff/diff.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/fast-diff/diff.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @param {boolean} [cleanup] Apply semantic cleanup before returning.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, cleanup, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n if (cleanup) {\n diff_cleanupSemantic(diffs);\n }\n return diffs;\n}\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)],\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n}\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = delta % 2 !== 0;\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length &&\n y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length &&\n y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ===\n text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n}\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n}\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n * string and the start of the second string.\n * @private\n */\nfunction diff_commonOverlap_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n // Eliminate the null case.\n if (text1_length == 0 || text2_length == 0) {\n return 0;\n }\n // Truncate the longer string.\n if (text1_length > text2_length) {\n text1 = text1.substring(text1_length - text2_length);\n } else if (text1_length < text2_length) {\n text2 = text2.substring(0, text1_length);\n }\n var text_length = Math.min(text1_length, text2_length);\n // Quick check for the worst case.\n if (text1 == text2) {\n return text_length;\n }\n\n // Start by looking for a single character match\n // and increase length until no match is found.\n // Performance analysis: http://neil.fraser.name/news/2010/11/04/\n var best = 0;\n var length = 1;\n while (true) {\n var pattern = text1.substring(text_length - length);\n var found = text2.indexOf(pattern);\n if (found == -1) {\n return best;\n }\n length += found;\n if (\n found == 0 ||\n text1.substring(text_length - length) == text2.substring(0, length)\n ) {\n best = length;\n length++;\n }\n }\n}\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = \"\";\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i),\n shorttext.substring(j)\n );\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i),\n shorttext.substring(0, j)\n );\n if (best_common.length < suffixLength + prefixLength) {\n best_common =\n shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a,\n best_longtext_b,\n best_shorttext_a,\n best_shorttext_b,\n best_common,\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 4)\n );\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 2)\n );\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n}\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemantic(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastequality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Number of characters that changed prior to the equality.\n var length_insertions1 = 0;\n var length_deletions1 = 0;\n // Number of characters that changed after the equality.\n var length_insertions2 = 0;\n var length_deletions2 = 0;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) {\n // Equality found.\n equalities[equalitiesLength++] = pointer;\n length_insertions1 = length_insertions2;\n length_deletions1 = length_deletions2;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = diffs[pointer][1];\n } else {\n // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_INSERT) {\n length_insertions2 += diffs[pointer][1].length;\n } else {\n length_deletions2 += diffs[pointer][1].length;\n }\n // Eliminate an equality that is smaller or equal to the edits on both\n // sides of it.\n if (\n lastequality &&\n lastequality.length <=\n Math.max(length_insertions1, length_deletions1) &&\n lastequality.length <= Math.max(length_insertions2, length_deletions2)\n ) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0, [\n DIFF_DELETE,\n lastequality,\n ]);\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n // Throw away the equality we just deleted.\n equalitiesLength--;\n // Throw away the previous equality (it needs to be reevaluated).\n equalitiesLength--;\n pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n length_insertions1 = 0; // Reset the counters.\n length_deletions1 = 0;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = null;\n changes = true;\n }\n }\n pointer++;\n }\n\n // Normalize the diff.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n diff_cleanupSemanticLossless(diffs);\n\n // Find any overlaps between deletions and insertions.\n // e.g: abcxxxxxxdef\n // -> abcxxxdef\n // e.g: xxxabcdefxxx\n // -> defxxxabc\n // Only extract an overlap if it is as big as the edit ahead or behind it.\n pointer = 1;\n while (pointer < diffs.length) {\n if (\n diffs[pointer - 1][0] == DIFF_DELETE &&\n diffs[pointer][0] == DIFF_INSERT\n ) {\n var deletion = diffs[pointer - 1][1];\n var insertion = diffs[pointer][1];\n var overlap_length1 = diff_commonOverlap_(deletion, insertion);\n var overlap_length2 = diff_commonOverlap_(insertion, deletion);\n if (overlap_length1 >= overlap_length2) {\n if (\n overlap_length1 >= deletion.length / 2 ||\n overlap_length1 >= insertion.length / 2\n ) {\n // Overlap found. Insert an equality and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n insertion.substring(0, overlap_length1),\n ]);\n diffs[pointer - 1][1] = deletion.substring(\n 0,\n deletion.length - overlap_length1\n );\n diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n pointer++;\n }\n } else {\n if (\n overlap_length2 >= deletion.length / 2 ||\n overlap_length2 >= insertion.length / 2\n ) {\n // Reverse overlap found.\n // Insert an equality and swap and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n deletion.substring(0, overlap_length2),\n ]);\n diffs[pointer - 1][0] = DIFF_INSERT;\n diffs[pointer - 1][1] = insertion.substring(\n 0,\n insertion.length - overlap_length2\n );\n diffs[pointer + 1][0] = DIFF_DELETE;\n diffs[pointer + 1][1] = deletion.substring(overlap_length2);\n pointer++;\n }\n }\n pointer++;\n }\n pointer++;\n }\n}\n\nvar nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\nvar whitespaceRegex_ = /\\s/;\nvar linebreakRegex_ = /[\\r\\n]/;\nvar blanklineEndRegex_ = /\\n\\r?\\n$/;\nvar blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The cat came. -> The cat came.\n * @param {!Array.} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemanticLossless(diffs) {\n /**\n * Given two strings, compute a score representing whether the internal\n * boundary falls on logical boundaries.\n * Scores range from 6 (best) to 0 (worst).\n * Closure, but does not reference any external variables.\n * @param {string} one First string.\n * @param {string} two Second string.\n * @return {number} The score.\n * @private\n */\n function diff_cleanupSemanticScore_(one, two) {\n if (!one || !two) {\n // Edges are the best.\n return 6;\n }\n\n // Each port of this function behaves slightly differently due to\n // subtle differences in each language's definition of things like\n // 'whitespace'. Since this function's purpose is largely cosmetic,\n // the choice has been made to use each language's native features\n // rather than force total conformity.\n var char1 = one.charAt(one.length - 1);\n var char2 = two.charAt(0);\n var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);\n var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);\n var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);\n var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);\n var lineBreak1 = whitespace1 && char1.match(linebreakRegex_);\n var lineBreak2 = whitespace2 && char2.match(linebreakRegex_);\n var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);\n var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);\n\n if (blankLine1 || blankLine2) {\n // Five points for blank lines.\n return 5;\n } else if (lineBreak1 || lineBreak2) {\n // Four points for line breaks.\n return 4;\n } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n // Three points for end of sentences.\n return 3;\n } else if (whitespace1 || whitespace2) {\n // Two points for whitespace.\n return 2;\n } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n // One point for non-alphanumeric.\n return 1;\n }\n return 0;\n }\n\n var pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n var equality1 = diffs[pointer - 1][1];\n var edit = diffs[pointer][1];\n var equality2 = diffs[pointer + 1][1];\n\n // First, shift the edit as far left as possible.\n var commonOffset = diff_commonSuffix(equality1, edit);\n if (commonOffset) {\n var commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset);\n edit = commonString + edit.substring(0, edit.length - commonOffset);\n equality2 = commonString + equality2;\n }\n\n // Second, step character by character right, looking for the best fit.\n var bestEquality1 = equality1;\n var bestEdit = edit;\n var bestEquality2 = equality2;\n var bestScore =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n while (edit.charAt(0) === equality2.charAt(0)) {\n equality1 += edit.charAt(0);\n edit = edit.substring(1) + equality2.charAt(0);\n equality2 = equality2.substring(1);\n var score =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n // The >= encourages trailing rather than leading whitespace on edits.\n if (score >= bestScore) {\n bestScore = score;\n bestEquality1 = equality1;\n bestEdit = edit;\n bestEquality2 = equality2;\n }\n }\n\n if (diffs[pointer - 1][1] != bestEquality1) {\n // We have an improvement, save it back to the diff.\n if (bestEquality1) {\n diffs[pointer - 1][1] = bestEquality1;\n } else {\n diffs.splice(pointer - 1, 1);\n pointer--;\n }\n diffs[pointer][1] = bestEdit;\n if (bestEquality2) {\n diffs[pointer + 1][1] = bestEquality2;\n } else {\n diffs.splice(pointer + 1, 1);\n pointer--;\n }\n }\n }\n pointer++;\n }\n}\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, \"\"]); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = \"\";\n var text_insert = \"\";\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (\n previous_equality >= 0 &&\n ends_with_pair_start(diffs[previous_equality][1])\n ) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(\n 0,\n -1\n );\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(\n 0,\n commonlength\n );\n } else {\n diffs.splice(0, 0, [\n DIFF_EQUAL,\n text_insert.substring(0, commonlength),\n ]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) +\n diffs[pointer][1];\n text_insert = text_insert.substring(\n 0,\n text_insert.length - commonlength\n );\n text_delete = text_delete.substring(\n 0,\n text_delete.length - commonlength\n );\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(\n pointer - n,\n n,\n [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]\n );\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = \"\";\n text_insert = \"\";\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === \"\") {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n if (\n diffs[pointer][1].substring(\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n ) === diffs[pointer - 1][1]\n ) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] =\n diffs[pointer - 1][1] +\n diffs[pointer][1].substring(\n 0,\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n );\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (\n diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]\n ) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n}\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xd800 && charCode <= 0xdbff;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xdc00 && charCode <= 0xdfff;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after],\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange =\n typeof cursor_pos === \"number\"\n ? { index: cursor_pos, length: 0 }\n : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === \"number\" ? null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos, cleanup) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, cleanup, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/fast-diff/diff.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/jszip/dist/jszip.min.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/jszip/dist/jszip.min.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var require;var require;/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n\n\n(c) 2009-2016 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r 15) {\n left = \"…\" + input.slice(start - 15, start);\n } else {\n left = input.slice(0, start);\n }\n\n let right;\n\n if (end + 15 < input.length) {\n right = input.slice(end, end + 15) + \"…\";\n } else {\n right = input.slice(end);\n }\n\n error += left + underlined + right;\n } // Some hackery to make ParseError a prototype of Error\n // See http://stackoverflow.com/a/8460753\n // $FlowFixMe\n\n\n const self = new Error(error);\n self.name = \"ParseError\"; // $FlowFixMe\n\n self.__proto__ = ParseError.prototype;\n self.position = start;\n\n if (start != null && end != null) {\n self.length = end - start;\n }\n\n self.rawMessage = message;\n return self;\n }\n\n} // $FlowFixMe More hackery\n\n\nParseError.prototype.__proto__ = Error.prototype;\n/* harmony default export */ var src_ParseError = (ParseError);\n;// CONCATENATED MODULE: ./src/utils.js\n/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Return whether an element is contained in a list\n */\nconst contains = function (list, elem) {\n return list.indexOf(elem) !== -1;\n};\n/**\n * Provide a default value if a setting is undefined\n * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022.\n */\n\n\nconst deflt = function (setting, defaultIfUndefined) {\n return setting === undefined ? defaultIfUndefined : setting;\n}; // hyphenate and escape adapted from Facebook's React under Apache 2 license\n\n\nconst uppercase = /([A-Z])/g;\n\nconst hyphenate = function (str) {\n return str.replace(uppercase, \"-$1\").toLowerCase();\n};\n\nconst ESCAPE_LOOKUP = {\n \"&\": \"&\",\n \">\": \">\",\n \"<\": \"<\",\n \"\\\"\": \""\",\n \"'\": \"'\"\n};\nconst ESCAPE_REGEX = /[&><\"']/g;\n/**\n * Escapes text to prevent scripting attacks.\n */\n\nfunction utils_escape(text) {\n return String(text).replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]);\n}\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\n\n\nconst getBaseElem = function (group) {\n if (group.type === \"ordgroup\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"color\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"font\") {\n return getBaseElem(group.body);\n } else {\n return group;\n }\n};\n/**\n * TeXbook algorithms often reference \"character boxes\", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\n\n\nconst isCharacterBox = function (group) {\n const baseElem = getBaseElem(group); // These are all they types of groups which hold single characters\n\n return baseElem.type === \"mathord\" || baseElem.type === \"textord\" || baseElem.type === \"atom\";\n};\n\nconst assert = function (value) {\n if (!value) {\n throw new Error('Expected non-null, but got ' + String(value));\n }\n\n return value;\n};\n/**\n * Return the protocol of a URL, or \"_relative\" if the URL does not specify a\n * protocol (and thus is relative), or `null` if URL has invalid protocol\n * (so should be outright rejected).\n */\n\nconst protocolFromUrl = function (url) {\n // Check for possible leading protocol.\n // https://url.spec.whatwg.org/#url-parsing strips leading whitespace\n // (U+20) or C0 control (U+00-U+1F) characters.\n // eslint-disable-next-line no-control-regex\n const protocol = /^[\\x00-\\x20]*([^\\\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(url);\n\n if (!protocol) {\n return \"_relative\";\n } // Reject weird colons\n\n\n if (protocol[2] !== \":\") {\n return null;\n } // Reject invalid characters in scheme according to\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.1\n\n\n if (!/^[a-zA-Z][a-zA-Z0-9+\\-.]*$/.test(protocol[1])) {\n return null;\n } // Lowercase the protocol\n\n\n return protocol[1].toLowerCase();\n};\n/* harmony default export */ var utils = ({\n contains,\n deflt,\n escape: utils_escape,\n hyphenate,\n getBaseElem,\n isCharacterBox,\n protocolFromUrl\n});\n;// CONCATENATED MODULE: ./src/Settings.js\n/* eslint no-console:0 */\n\n/**\n * This is a module for storing settings passed into KaTeX. It correctly handles\n * default settings.\n */\n\n\n\n// TODO: automatically generate documentation\n// TODO: check all properties on Settings exist\n// TODO: check the type of a property on Settings matches\nconst SETTINGS_SCHEMA = {\n displayMode: {\n type: \"boolean\",\n description: \"Render math in display mode, which puts the math in \" + \"display style (so \\\\int and \\\\sum are large, for example), and \" + \"centers the math on the page on its own line.\",\n cli: \"-d, --display-mode\"\n },\n output: {\n type: {\n enum: [\"htmlAndMathml\", \"html\", \"mathml\"]\n },\n description: \"Determines the markup language of the output.\",\n cli: \"-F, --format \"\n },\n leqno: {\n type: \"boolean\",\n description: \"Render display math in leqno style (left-justified tags).\"\n },\n fleqn: {\n type: \"boolean\",\n description: \"Render display math flush left.\"\n },\n throwOnError: {\n type: \"boolean\",\n default: true,\n cli: \"-t, --no-throw-on-error\",\n cliDescription: \"Render errors (in the color given by --error-color) ins\" + \"tead of throwing a ParseError exception when encountering an error.\"\n },\n errorColor: {\n type: \"string\",\n default: \"#cc0000\",\n cli: \"-c, --error-color \",\n cliDescription: \"A color string given in the format 'rgb' or 'rrggbb' \" + \"(no #). This option determines the color of errors rendered by the \" + \"-t option.\",\n cliProcessor: color => \"#\" + color\n },\n macros: {\n type: \"object\",\n cli: \"-m, --macro \",\n cliDescription: \"Define custom macro of the form '\\\\foo:expansion' (use \" + \"multiple -m arguments for multiple macros).\",\n cliDefault: [],\n cliProcessor: (def, defs) => {\n defs.push(def);\n return defs;\n }\n },\n minRuleThickness: {\n type: \"number\",\n description: \"Specifies a minimum thickness, in ems, for fraction lines,\" + \" `\\\\sqrt` top lines, `{array}` vertical lines, `\\\\hline`, \" + \"`\\\\hdashline`, `\\\\underline`, `\\\\overline`, and the borders of \" + \"`\\\\fbox`, `\\\\boxed`, and `\\\\fcolorbox`.\",\n processor: t => Math.max(0, t),\n cli: \"--min-rule-thickness \",\n cliProcessor: parseFloat\n },\n colorIsTextColor: {\n type: \"boolean\",\n description: \"Makes \\\\color behave like LaTeX's 2-argument \\\\textcolor, \" + \"instead of LaTeX's one-argument \\\\color mode change.\",\n cli: \"-b, --color-is-text-color\"\n },\n strict: {\n type: [{\n enum: [\"warn\", \"ignore\", \"error\"]\n }, \"boolean\", \"function\"],\n description: \"Turn on strict / LaTeX faithfulness mode, which throws an \" + \"error if the input uses features that are not supported by LaTeX.\",\n cli: \"-S, --strict\",\n cliDefault: false\n },\n trust: {\n type: [\"boolean\", \"function\"],\n description: \"Trust the input, enabling all HTML features such as \\\\url.\",\n cli: \"-T, --trust\"\n },\n maxSize: {\n type: \"number\",\n default: Infinity,\n description: \"If non-zero, all user-specified sizes, e.g. in \" + \"\\\\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, \" + \"elements and spaces can be arbitrarily large\",\n processor: s => Math.max(0, s),\n cli: \"-s, --max-size \",\n cliProcessor: parseInt\n },\n maxExpand: {\n type: \"number\",\n default: 1000,\n description: \"Limit the number of macro expansions to the specified \" + \"number, to prevent e.g. infinite macro loops. If set to Infinity, \" + \"the macro expander will try to fully expand as in LaTeX.\",\n processor: n => Math.max(0, n),\n cli: \"-e, --max-expand \",\n cliProcessor: n => n === \"Infinity\" ? Infinity : parseInt(n)\n },\n globalGroup: {\n type: \"boolean\",\n cli: false\n }\n};\n\nfunction getDefaultValue(schema) {\n if (schema.default) {\n return schema.default;\n }\n\n const type = schema.type;\n const defaultType = Array.isArray(type) ? type[0] : type;\n\n if (typeof defaultType !== 'string') {\n return defaultType.enum[0];\n }\n\n switch (defaultType) {\n case 'boolean':\n return false;\n\n case 'string':\n return '';\n\n case 'number':\n return 0;\n\n case 'object':\n return {};\n }\n}\n/**\n * The main Settings object\n *\n * The current options stored are:\n * - displayMode: Whether the expression should be typeset as inline math\n * (false, the default), meaning that the math starts in\n * \\textstyle and is placed in an inline-block); or as display\n * math (true), meaning that the math starts in \\displaystyle\n * and is placed in a block with vertical margin.\n */\n\n\nclass Settings {\n constructor(options) {\n this.displayMode = void 0;\n this.output = void 0;\n this.leqno = void 0;\n this.fleqn = void 0;\n this.throwOnError = void 0;\n this.errorColor = void 0;\n this.macros = void 0;\n this.minRuleThickness = void 0;\n this.colorIsTextColor = void 0;\n this.strict = void 0;\n this.trust = void 0;\n this.maxSize = void 0;\n this.maxExpand = void 0;\n this.globalGroup = void 0;\n // allow null options\n options = options || {};\n\n for (const prop in SETTINGS_SCHEMA) {\n if (SETTINGS_SCHEMA.hasOwnProperty(prop)) {\n // $FlowFixMe\n const schema = SETTINGS_SCHEMA[prop]; // TODO: validate options\n // $FlowFixMe\n\n this[prop] = options[prop] !== undefined ? schema.processor ? schema.processor(options[prop]) : options[prop] : getDefaultValue(schema);\n }\n }\n }\n /**\n * Report nonstrict (non-LaTeX-compatible) input.\n * Can safely not be called if `this.strict` is false in JavaScript.\n */\n\n\n reportNonstrict(errorCode, errorMsg, token) {\n let strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n strict = strict(errorCode, errorMsg, token);\n }\n\n if (!strict || strict === \"ignore\") {\n return;\n } else if (strict === true || strict === \"error\") {\n throw new src_ParseError(\"LaTeX-incompatible input and strict mode is set to 'error': \" + (errorMsg + \" [\" + errorCode + \"]\"), token);\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n }\n }\n /**\n * Check whether to apply strict (LaTeX-adhering) behavior for unusual\n * input (like `\\\\`). Unlike `nonstrict`, will not throw an error;\n * instead, \"error\" translates to a return value of `true`, while \"ignore\"\n * translates to a return value of `false`. May still print a warning:\n * \"warn\" prints a warning and returns `false`.\n * This is for the second category of `errorCode`s listed in the README.\n */\n\n\n useStrictBehavior(errorCode, errorMsg, token) {\n let strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n // But catch any exceptions thrown by function, treating them\n // like \"error\".\n try {\n strict = strict(errorCode, errorMsg, token);\n } catch (error) {\n strict = \"error\";\n }\n }\n\n if (!strict || strict === \"ignore\") {\n return false;\n } else if (strict === true || strict === \"error\") {\n return true;\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n }\n }\n /**\n * Check whether to test potentially dangerous input, and return\n * `true` (trusted) or `false` (untrusted). The sole argument `context`\n * should be an object with `command` field specifying the relevant LaTeX\n * command (as a string starting with `\\`), and any other arguments, etc.\n * If `context` has a `url` field, a `protocol` field will automatically\n * get added by this function (changing the specified object).\n */\n\n\n isTrusted(context) {\n if (context.url && !context.protocol) {\n const protocol = utils.protocolFromUrl(context.url);\n\n if (protocol == null) {\n return false;\n }\n\n context.protocol = protocol;\n }\n\n const trust = typeof this.trust === \"function\" ? this.trust(context) : this.trust;\n return Boolean(trust);\n }\n\n}\n;// CONCATENATED MODULE: ./src/Style.js\n/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), and a cramped flag.\n */\nclass Style {\n constructor(id, size, cramped) {\n this.id = void 0;\n this.size = void 0;\n this.cramped = void 0;\n this.id = id;\n this.size = size;\n this.cramped = cramped;\n }\n /**\n * Get the style of a superscript given a base in the current style.\n */\n\n\n sup() {\n return styles[sup[this.id]];\n }\n /**\n * Get the style of a subscript given a base in the current style.\n */\n\n\n sub() {\n return styles[sub[this.id]];\n }\n /**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\n\n\n fracNum() {\n return styles[fracNum[this.id]];\n }\n /**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\n\n\n fracDen() {\n return styles[fracDen[this.id]];\n }\n /**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn't change the style).\n */\n\n\n cramp() {\n return styles[cramp[this.id]];\n }\n /**\n * Get a text or display version of this style.\n */\n\n\n text() {\n return styles[Style_text[this.id]];\n }\n /**\n * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle)\n */\n\n\n isTight() {\n return this.size >= 2;\n }\n\n} // Export an interface for type checking, but don't expose the implementation.\n// This way, no more styles can be generated.\n\n\n// IDs of the different styles\nconst D = 0;\nconst Dc = 1;\nconst T = 2;\nconst Tc = 3;\nconst S = 4;\nconst Sc = 5;\nconst SS = 6;\nconst SSc = 7; // Instances of the different styles\n\nconst styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another\n\nconst sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nconst sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nconst fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nconst fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nconst cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\nconst Style_text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles.\n\n/* harmony default export */ var src_Style = ({\n DISPLAY: styles[D],\n TEXT: styles[T],\n SCRIPT: styles[S],\n SCRIPTSCRIPT: styles[SS]\n});\n;// CONCATENATED MODULE: ./src/unicodeScripts.js\n/*\n * This file defines the Unicode scripts and script families that we\n * support. To add new scripts or families, just add a new entry to the\n * scriptData array below. Adding scripts to the scriptData array allows\n * characters from that script to appear in \\text{} environments.\n */\n\n/**\n * Each script or script family has a name and an array of blocks.\n * Each block is an array of two numbers which specify the start and\n * end points (inclusive) of a block of Unicode codepoints.\n */\n\n/**\n * Unicode block data for the families of scripts we support in \\text{}.\n * Scripts only need to appear here if they do not have font metrics.\n */\nconst scriptData = [{\n // Latin characters beyond the Latin-1 characters we have metrics for.\n // Needed for Czech, Hungarian and Turkish text, for example.\n name: 'latin',\n blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B\n [0x0300, 0x036f] // Combining Diacritical marks\n ]\n}, {\n // The Cyrillic script used by Russian and related languages.\n // A Cyrillic subset used to be supported as explicitly defined\n // symbols in symbols.js\n name: 'cyrillic',\n blocks: [[0x0400, 0x04ff]]\n}, {\n // Armenian\n name: 'armenian',\n blocks: [[0x0530, 0x058F]]\n}, {\n // The Brahmic scripts of South and Southeast Asia\n // Devanagari (0900–097F)\n // Bengali (0980–09FF)\n // Gurmukhi (0A00–0A7F)\n // Gujarati (0A80–0AFF)\n // Oriya (0B00–0B7F)\n // Tamil (0B80–0BFF)\n // Telugu (0C00–0C7F)\n // Kannada (0C80–0CFF)\n // Malayalam (0D00–0D7F)\n // Sinhala (0D80–0DFF)\n // Thai (0E00–0E7F)\n // Lao (0E80–0EFF)\n // Tibetan (0F00–0FFF)\n // Myanmar (1000–109F)\n name: 'brahmic',\n blocks: [[0x0900, 0x109F]]\n}, {\n name: 'georgian',\n blocks: [[0x10A0, 0x10ff]]\n}, {\n // Chinese and Japanese.\n // The \"k\" in cjk is for Korean, but we've separated Korean out\n name: \"cjk\",\n blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana\n [0x4E00, 0x9FAF], // CJK ideograms\n [0xFF00, 0xFF60] // Fullwidth punctuation\n // TODO: add halfwidth Katakana and Romanji glyphs\n ]\n}, {\n // Korean\n name: 'hangul',\n blocks: [[0xAC00, 0xD7AF]]\n}];\n/**\n * Given a codepoint, return the name of the script or script family\n * it is from, or null if it is not part of a known block\n */\n\nfunction scriptFromCodepoint(codepoint) {\n for (let i = 0; i < scriptData.length; i++) {\n const script = scriptData[i];\n\n for (let i = 0; i < script.blocks.length; i++) {\n const block = script.blocks[i];\n\n if (codepoint >= block[0] && codepoint <= block[1]) {\n return script.name;\n }\n }\n }\n\n return null;\n}\n/**\n * A flattened version of all the supported blocks in a single array.\n * This is an optimization to make supportedCodepoint() fast.\n */\n\nconst allBlocks = [];\nscriptData.forEach(s => s.blocks.forEach(b => allBlocks.push(...b)));\n/**\n * Given a codepoint, return true if it falls within one of the\n * scripts or script families defined above and false otherwise.\n *\n * Micro benchmarks shows that this is faster than\n * /[\\u3000-\\u30FF\\u4E00-\\u9FAF\\uFF00-\\uFF60\\uAC00-\\uD7AF\\u0900-\\u109F]/.test()\n * in Firefox, Chrome and Node.\n */\n\nfunction supportedCodepoint(codepoint) {\n for (let i = 0; i < allBlocks.length; i += 2) {\n if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) {\n return true;\n }\n }\n\n return false;\n}\n;// CONCATENATED MODULE: ./src/svgGeometry.js\n/**\n * This file provides support to domTree.js and delimiter.js.\n * It's a storehouse of path geometry for SVG images.\n */\n// In all paths below, the viewBox-to-em scale is 1000:1.\nconst hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping.\n// The vinculum of a \\sqrt can be made thicker by a KaTeX rendering option.\n// Think of variable extraVinculum as two detours in the SVG path.\n// The detour begins at the lower left of the area labeled extraVinculum below.\n// The detour proceeds one extraVinculum distance up and slightly to the right,\n// displacing the radiused corner between surd and vinculum. The radius is\n// traversed as usual, then the detour resumes. It goes right, to the end of\n// the very long vinculum, then down one extraVinculum distance,\n// after which it resumes regular path geometry for the radical.\n\n/* vinculum\n /\n /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum\n / █████████████████████←0.04em (40 unit) std vinculum thickness\n / /\n / /\n / /\\\n / / surd\n*/\n\nconst sqrtMain = function (extraVinculum, hLinePad) {\n // sqrtMain path geometry is from glyph U221A in the font KaTeX Main\n return \"M95,\" + (622 + extraVinculum + hLinePad) + \"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\" + extraVinculum / 2.075 + \" -\" + extraVinculum + \"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\" + (40 + extraVinculum) + \"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\" + (834 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize1 = function (extraVinculum, hLinePad) {\n // size1 is from glyph U221A in the font KaTeX_Size1-Regular\n return \"M263,\" + (601 + extraVinculum + hLinePad) + \"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\" + extraVinculum / 2.084 + \" -\" + extraVinculum + \"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\" + (40 + extraVinculum) + \"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize2 = function (extraVinculum, hLinePad) {\n // size2 is from glyph U221A in the font KaTeX_Size2-Regular\n return \"M983 \" + (10 + extraVinculum + hLinePad) + \"\\nl\" + extraVinculum / 3.13 + \" -\" + extraVinculum + \"\\nc4,-6.7,10,-10,18,-10 H400000v\" + (40 + extraVinculum) + \"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize3 = function (extraVinculum, hLinePad) {\n // size3 is from glyph U221A in the font KaTeX_Size3-Regular\n return \"M424,\" + (2398 + extraVinculum + hLinePad) + \"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\" + extraVinculum / 4.223 + \" -\" + extraVinculum + \"c4,-6.7,10,-10,18,-10 H400000\\nv\" + (40 + extraVinculum) + \"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\" + (1001 + extraVinculum) + \" \" + hLinePad + \"\\nh400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize4 = function (extraVinculum, hLinePad) {\n // size4 is from glyph U221A in the font KaTeX_Size4-Regular\n return \"M473,\" + (2713 + extraVinculum + hLinePad) + \"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\" + extraVinculum / 5.298 + \" -\" + extraVinculum + \"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\" + (40 + extraVinculum) + \"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"H1017.7z\";\n};\n\nconst phasePath = function (y) {\n const x = y / 2; // x coordinate at top of angle\n\n return \"M400000 \" + y + \" H0 L\" + x + \" 0 l65 45 L145 \" + (y - 80) + \" H400000z\";\n};\n\nconst sqrtTall = function (extraVinculum, hLinePad, viewBoxHeight) {\n // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular\n // One path edge has a variable length. It runs vertically from the vinculum\n // to a point near (14 units) the bottom of the surd. The vinculum\n // is normally 40 units thick. So the length of the line in question is:\n const vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum;\n return \"M702 \" + (extraVinculum + hLinePad) + \"H400000\" + (40 + extraVinculum) + \"\\nH742v\" + vertSegment + \"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \" + hLinePad + \"H400000v\" + (40 + extraVinculum) + \"H742z\";\n};\n\nconst sqrtPath = function (size, extraVinculum, viewBoxHeight) {\n extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox.\n\n let path = \"\";\n\n switch (size) {\n case \"sqrtMain\":\n path = sqrtMain(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize1\":\n path = sqrtSize1(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize2\":\n path = sqrtSize2(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize3\":\n path = sqrtSize3(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize4\":\n path = sqrtSize4(extraVinculum, hLinePad);\n break;\n\n case \"sqrtTall\":\n path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight);\n }\n\n return path;\n};\nconst innerPath = function (name, height) {\n // The inner part of stretchy tall delimiters\n switch (name) {\n case \"\\u239c\":\n return \"M291 0 H417 V\" + height + \" H291z M291 0 H417 V\" + height + \" H291z\";\n\n case \"\\u2223\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\";\n\n case \"\\u2225\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\" + (\"M367 0 H410 V\" + height + \" H367z M367 0 H410 V\" + height + \" H367z\");\n\n case \"\\u239f\":\n return \"M457 0 H583 V\" + height + \" H457z M457 0 H583 V\" + height + \" H457z\";\n\n case \"\\u23a2\":\n return \"M319 0 H403 V\" + height + \" H319z M319 0 H403 V\" + height + \" H319z\";\n\n case \"\\u23a5\":\n return \"M263 0 H347 V\" + height + \" H263z M263 0 H347 V\" + height + \" H263z\";\n\n case \"\\u23aa\":\n return \"M384 0 H504 V\" + height + \" H384z M384 0 H504 V\" + height + \" H384z\";\n\n case \"\\u23d0\":\n return \"M312 0 H355 V\" + height + \" H312z M312 0 H355 V\" + height + \" H312z\";\n\n case \"\\u2016\":\n return \"M257 0 H300 V\" + height + \" H257z M257 0 H300 V\" + height + \" H257z\" + (\"M478 0 H521 V\" + height + \" H478z M478 0 H521 V\" + height + \" H478z\");\n\n default:\n return \"\";\n }\n};\nconst path = {\n // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main\n doubleleftarrow: \"M262 157\\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\\nm8 0v40h399730v-40zm0 194v40h399730v-40z\",\n // doublerightarrow is from glyph U+21D2 in font KaTeX Main\n doublerightarrow: \"M399738 392l\\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z\",\n // leftarrow is from glyph U+2190 in font KaTeX Main\n leftarrow: \"M400000 241H110l3-3c68.7-52.7 113.7-120\\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\\n l-3-3h399890zM100 241v40h399900v-40z\",\n // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular\n leftbrace: \"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z\",\n leftbraceunder: \"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z\",\n // overgroup is from the MnSymbol package (public domain)\n leftgroup: \"M400000 80\\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\\n 435 0h399565z\",\n leftgroupunder: \"M400000 262\\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\\n 435 219h399565z\",\n // Harpoons are from glyph U+21BD in font KaTeX Main\n leftharpoon: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z\",\n leftharpoonplus: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\\nm0 0v40h400000v-40z\",\n leftharpoondown: \"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z\",\n leftharpoondownplus: \"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z\",\n // hook is from glyph U+21A9 in font KaTeX Main\n lefthook: \"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\\n 71.5 23h399859zM103 281v-40h399897v40z\",\n leftlinesegment: \"M40 281 V428 H0 V94 H40 V241 H400000 v40z\\nM40 281 V428 H0 V94 H40 V241 H400000 v40z\",\n leftmapsto: \"M40 281 V448H0V74H40V241H400000v40z\\nM40 281 V448H0V74H40V241H400000v40z\",\n // tofrom is from glyph U+21C4 in font KaTeX AMS Regular\n leftToFrom: \"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z\",\n longequal: \"M0 50 h400000 v40H0z m0 194h40000v40H0z\\nM0 50 h400000 v40H0z m0 194h40000v40H0z\",\n midbrace: \"M200428 334\\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z\",\n midbraceunder: \"M199572 214\\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z\",\n oiintSize1: \"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z\",\n oiintSize2: \"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\\nc0 110 84 276 504 276s502.4-166 502.4-276z\",\n oiiintSize1: \"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z\",\n oiiintSize2: \"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z\",\n rightarrow: \"M0 241v40h399891c-47.3 35.3-84 78-110 128\\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n 151.7 139 205zm0 0v40h399900v-40z\",\n rightbrace: \"M400000 542l\\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z\",\n rightbraceunder: \"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z\",\n rightgroup: \"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\\n 3-1 3-3v-38c-76-158-257-219-435-219H0z\",\n rightgroupunder: \"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z\",\n rightharpoon: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\\n 69.2 92 94.5zm0 0v40h399900v-40z\",\n rightharpoonplus: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z\",\n rightharpoondown: \"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z\",\n rightharpoondownplus: \"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\\nm0-194v40h400000v-40zm0 0v40h400000v-40z\",\n righthook: \"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z\",\n rightlinesegment: \"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z\",\n rightToFrom: \"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z\",\n // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular\n twoheadleftarrow: \"M0 167c68 40\\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z\",\n twoheadrightarrow: \"M400000 167\\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z\",\n // tilde1 is a modified version of a glyph from the MnSymbol package\n tilde1: \"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\\n-68.267.847-113-73.952-191-73.952z\",\n // ditto tilde2, tilde3, & tilde4\n tilde2: \"M344 55.266c-142 0-300.638 81.316-311.5 86.418\\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z\",\n tilde3: \"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\\n -338 0-409-156.573-744-156.573z\",\n tilde4: \"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\\n -175.236-744-175.236z\",\n // vec is from glyph U+20D7 in font KaTeX Main\n vec: \"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\\nc-16-25.333-24-45-24-59z\",\n // widehat1 is a modified version of a glyph from the MnSymbol package\n widehat1: \"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z\",\n // ditto widehat2, widehat3, & widehat4\n widehat2: \"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat3: \"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat4: \"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n // widecheck paths are all inverted versions of widehat\n widecheck1: \"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z\",\n widecheck2: \"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck3: \"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck4: \"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n // The next ten paths support reaction arrows from the mhchem package.\n // Arrows for \\ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX\n // baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main\n baraboveleftarrow: \"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z\",\n // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main\n rightarrowabovebar: \"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z\",\n // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end.\n // Ref from mhchem.sty: \\rlap{\\raisebox{-.22ex}{$\\kern0.5em\n baraboveshortleftharpoon: \"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z\",\n rightharpoonaboveshortbar: \"M0,241 l0,40c399126,0,399993,0,399993,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z\",\n shortbaraboveleftharpoon: \"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z\",\n shortrightharpoonabovebar: \"M53,241l0,40c398570,0,399437,0,399437,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z\"\n};\nconst tallDelim = function (label, midHeight) {\n switch (label) {\n case \"lbrack\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v1759 h347 v-84\\nH403z M403 1759 V0 H319 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"rbrack\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v1759 H0 v84 H347z\\nM347 1759 V0 H263 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"vert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"doublevert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\\nM367 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"lfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1715 h263 v84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"rfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1799 H0 v-84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"lceil\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v602 h84z\\nM403 1759 V0 H319 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"rceil\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v602 h84z\\nM347 1759 V0 h-84 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"lparen\":\n return \"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\\n-36,557 l0,\" + (midHeight + 84) + \"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\\nl0,-\" + (midHeight + 92) + \"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z\";\n\n case \"rparen\":\n return \"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,\" + (midHeight + 9) + \"\\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\\nl0,-\" + (midHeight + 144) + \"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z\";\n\n default:\n // We should not ever get here.\n throw new Error(\"Unknown stretchy delimiter.\");\n }\n};\n;// CONCATENATED MODULE: ./src/tree.js\n\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn't have any representation itself. It only contains\n * children and doesn't have any DOM node properties.\n */\nclass DocumentFragment {\n // HtmlDomNode\n // Never used; needed for satisfying interface.\n constructor(children) {\n this.children = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.children = children;\n this.classes = [];\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = {};\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /** Convert the fragment into a node. */\n\n\n toNode() {\n const frag = document.createDocumentFragment();\n\n for (let i = 0; i < this.children.length; i++) {\n frag.appendChild(this.children[i].toNode());\n }\n\n return frag;\n }\n /** Convert the fragment into HTML markup. */\n\n\n toMarkup() {\n let markup = \"\"; // Simply concatenate the markup for the children together.\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText. Applies to\n * MathDomNode's only.\n */\n\n\n toText() {\n // To avoid this, we would subclass documentFragment separately for\n // MathML, but polyfills for subclassing is expensive per PR 1469.\n // $FlowFixMe: Only works for ChildType = MathDomNode.\n const toText = child => child.toText();\n\n return this.children.map(toText).join(\"\");\n }\n\n}\n;// CONCATENATED MODULE: ./src/fontMetricsData.js\n// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY.\n/* harmony default export */ var fontMetricsData = ({\n \"AMS-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68889, 0, 0, 0.72222],\n \"66\": [0, 0.68889, 0, 0, 0.66667],\n \"67\": [0, 0.68889, 0, 0, 0.72222],\n \"68\": [0, 0.68889, 0, 0, 0.72222],\n \"69\": [0, 0.68889, 0, 0, 0.66667],\n \"70\": [0, 0.68889, 0, 0, 0.61111],\n \"71\": [0, 0.68889, 0, 0, 0.77778],\n \"72\": [0, 0.68889, 0, 0, 0.77778],\n \"73\": [0, 0.68889, 0, 0, 0.38889],\n \"74\": [0.16667, 0.68889, 0, 0, 0.5],\n \"75\": [0, 0.68889, 0, 0, 0.77778],\n \"76\": [0, 0.68889, 0, 0, 0.66667],\n \"77\": [0, 0.68889, 0, 0, 0.94445],\n \"78\": [0, 0.68889, 0, 0, 0.72222],\n \"79\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"80\": [0, 0.68889, 0, 0, 0.61111],\n \"81\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"82\": [0, 0.68889, 0, 0, 0.72222],\n \"83\": [0, 0.68889, 0, 0, 0.55556],\n \"84\": [0, 0.68889, 0, 0, 0.66667],\n \"85\": [0, 0.68889, 0, 0, 0.72222],\n \"86\": [0, 0.68889, 0, 0, 0.72222],\n \"87\": [0, 0.68889, 0, 0, 1.0],\n \"88\": [0, 0.68889, 0, 0, 0.72222],\n \"89\": [0, 0.68889, 0, 0, 0.72222],\n \"90\": [0, 0.68889, 0, 0, 0.66667],\n \"107\": [0, 0.68889, 0, 0, 0.55556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"165\": [0, 0.675, 0.025, 0, 0.75],\n \"174\": [0.15559, 0.69224, 0, 0, 0.94666],\n \"240\": [0, 0.68889, 0, 0, 0.55556],\n \"295\": [0, 0.68889, 0, 0, 0.54028],\n \"710\": [0, 0.825, 0, 0, 2.33334],\n \"732\": [0, 0.9, 0, 0, 2.33334],\n \"770\": [0, 0.825, 0, 0, 2.33334],\n \"771\": [0, 0.9, 0, 0, 2.33334],\n \"989\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"1008\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"8245\": [0, 0.54986, 0, 0, 0.275],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8487\": [0, 0.68889, 0, 0, 0.72222],\n \"8498\": [0, 0.68889, 0, 0, 0.55556],\n \"8502\": [0, 0.68889, 0, 0, 0.66667],\n \"8503\": [0, 0.68889, 0, 0, 0.44445],\n \"8504\": [0, 0.68889, 0, 0, 0.66667],\n \"8513\": [0, 0.68889, 0, 0, 0.63889],\n \"8592\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8594\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8602\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8603\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8606\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8608\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8610\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8611\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8619\": [0, 0.54986, 0, 0, 1.0],\n \"8620\": [0, 0.54986, 0, 0, 1.0],\n \"8621\": [-0.13313, 0.37788, 0, 0, 1.38889],\n \"8622\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8624\": [0, 0.69224, 0, 0, 0.5],\n \"8625\": [0, 0.69224, 0, 0, 0.5],\n \"8630\": [0, 0.43056, 0, 0, 1.0],\n \"8631\": [0, 0.43056, 0, 0, 1.0],\n \"8634\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8635\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8638\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8639\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8642\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8643\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8644\": [0.1808, 0.675, 0, 0, 1.0],\n \"8646\": [0.1808, 0.675, 0, 0, 1.0],\n \"8647\": [0.1808, 0.675, 0, 0, 1.0],\n \"8648\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8649\": [0.1808, 0.675, 0, 0, 1.0],\n \"8650\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8651\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8652\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8653\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8654\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8655\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8666\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8667\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8669\": [-0.13313, 0.37788, 0, 0, 1.0],\n \"8672\": [-0.064, 0.437, 0, 0, 1.334],\n \"8674\": [-0.064, 0.437, 0, 0, 1.334],\n \"8705\": [0, 0.825, 0, 0, 0.5],\n \"8708\": [0, 0.68889, 0, 0, 0.55556],\n \"8709\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8717\": [0, 0.43056, 0, 0, 0.42917],\n \"8722\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8724\": [0.08198, 0.69224, 0, 0, 0.77778],\n \"8726\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8733\": [0, 0.69224, 0, 0, 0.77778],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8737\": [0, 0.69224, 0, 0, 0.72222],\n \"8738\": [0.03517, 0.52239, 0, 0, 0.72222],\n \"8739\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"8740\": [0.25142, 0.74111, 0, 0, 0.27778],\n \"8741\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"8742\": [0.25142, 0.74111, 0, 0, 0.5],\n \"8756\": [0, 0.69224, 0, 0, 0.66667],\n \"8757\": [0, 0.69224, 0, 0, 0.66667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8765\": [-0.13313, 0.37788, 0, 0, 0.77778],\n \"8769\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8770\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8774\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8778\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8782\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8783\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8785\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8786\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8787\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8790\": [0, 0.69224, 0, 0, 0.77778],\n \"8791\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8796\": [0.08198, 0.91667, 0, 0, 0.77778],\n \"8806\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8807\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8808\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8809\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8812\": [0.25583, 0.75583, 0, 0, 0.5],\n \"8814\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8815\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8816\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8817\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8818\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8819\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8822\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8823\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8828\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8829\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8830\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8831\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8832\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8833\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8840\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8841\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8842\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8843\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8847\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8848\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8858\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8859\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8861\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8862\": [0, 0.675, 0, 0, 0.77778],\n \"8863\": [0, 0.675, 0, 0, 0.77778],\n \"8864\": [0, 0.675, 0, 0, 0.77778],\n \"8865\": [0, 0.675, 0, 0, 0.77778],\n \"8872\": [0, 0.69224, 0, 0, 0.61111],\n \"8873\": [0, 0.69224, 0, 0, 0.72222],\n \"8874\": [0, 0.69224, 0, 0, 0.88889],\n \"8876\": [0, 0.68889, 0, 0, 0.61111],\n \"8877\": [0, 0.68889, 0, 0, 0.61111],\n \"8878\": [0, 0.68889, 0, 0, 0.72222],\n \"8879\": [0, 0.68889, 0, 0, 0.72222],\n \"8882\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8883\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8884\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8885\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8888\": [0, 0.54986, 0, 0, 1.11111],\n \"8890\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"8891\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8892\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8901\": [0, 0.54986, 0, 0, 0.27778],\n \"8903\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8905\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8906\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8907\": [0, 0.69224, 0, 0, 0.77778],\n \"8908\": [0, 0.69224, 0, 0, 0.77778],\n \"8909\": [-0.03598, 0.46402, 0, 0, 0.77778],\n \"8910\": [0, 0.54986, 0, 0, 0.76042],\n \"8911\": [0, 0.54986, 0, 0, 0.76042],\n \"8912\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8913\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8914\": [0, 0.54986, 0, 0, 0.66667],\n \"8915\": [0, 0.54986, 0, 0, 0.66667],\n \"8916\": [0, 0.69224, 0, 0, 0.66667],\n \"8918\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8919\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8920\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8921\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8922\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8923\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8926\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8927\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8928\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8929\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8934\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8935\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8936\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8937\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8938\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8939\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8940\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8941\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8994\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"8995\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"9416\": [0.15559, 0.69224, 0, 0, 0.90222],\n \"9484\": [0, 0.69224, 0, 0, 0.5],\n \"9488\": [0, 0.69224, 0, 0, 0.5],\n \"9492\": [0, 0.37788, 0, 0, 0.5],\n \"9496\": [0, 0.37788, 0, 0, 0.5],\n \"9585\": [0.19444, 0.68889, 0, 0, 0.88889],\n \"9586\": [0.19444, 0.74111, 0, 0, 0.88889],\n \"9632\": [0, 0.675, 0, 0, 0.77778],\n \"9633\": [0, 0.675, 0, 0, 0.77778],\n \"9650\": [0, 0.54986, 0, 0, 0.72222],\n \"9651\": [0, 0.54986, 0, 0, 0.72222],\n \"9654\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9660\": [0, 0.54986, 0, 0, 0.72222],\n \"9661\": [0, 0.54986, 0, 0, 0.72222],\n \"9664\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9674\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"9733\": [0.19444, 0.69224, 0, 0, 0.94445],\n \"10003\": [0, 0.69224, 0, 0, 0.83334],\n \"10016\": [0, 0.69224, 0, 0, 0.83334],\n \"10731\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"10846\": [0.19444, 0.75583, 0, 0, 0.61111],\n \"10877\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10878\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10885\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10886\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10887\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10888\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10889\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10890\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10891\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10892\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10901\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10902\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10933\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10934\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10935\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10936\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10937\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10938\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10949\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10950\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10955\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"10956\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"57350\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"57351\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"57352\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"57353\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"57356\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57357\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57358\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57359\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57360\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57361\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57366\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57367\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57368\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57369\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57370\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57371\": [0.13597, 0.63597, 0, 0, 0.77778]\n },\n \"Caligraphic-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68333, 0, 0.19445, 0.79847],\n \"66\": [0, 0.68333, 0.03041, 0.13889, 0.65681],\n \"67\": [0, 0.68333, 0.05834, 0.13889, 0.52653],\n \"68\": [0, 0.68333, 0.02778, 0.08334, 0.77139],\n \"69\": [0, 0.68333, 0.08944, 0.11111, 0.52778],\n \"70\": [0, 0.68333, 0.09931, 0.11111, 0.71875],\n \"71\": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],\n \"72\": [0, 0.68333, 0.00965, 0.11111, 0.84452],\n \"73\": [0, 0.68333, 0.07382, 0, 0.54452],\n \"74\": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],\n \"75\": [0, 0.68333, 0.01445, 0.05556, 0.76195],\n \"76\": [0, 0.68333, 0, 0.13889, 0.68972],\n \"77\": [0, 0.68333, 0, 0.13889, 1.2009],\n \"78\": [0, 0.68333, 0.14736, 0.08334, 0.82049],\n \"79\": [0, 0.68333, 0.02778, 0.11111, 0.79611],\n \"80\": [0, 0.68333, 0.08222, 0.08334, 0.69556],\n \"81\": [0.09722, 0.68333, 0, 0.11111, 0.81667],\n \"82\": [0, 0.68333, 0, 0.08334, 0.8475],\n \"83\": [0, 0.68333, 0.075, 0.13889, 0.60556],\n \"84\": [0, 0.68333, 0.25417, 0, 0.54464],\n \"85\": [0, 0.68333, 0.09931, 0.08334, 0.62583],\n \"86\": [0, 0.68333, 0.08222, 0, 0.61278],\n \"87\": [0, 0.68333, 0.08222, 0.08334, 0.98778],\n \"88\": [0, 0.68333, 0.14643, 0.13889, 0.7133],\n \"89\": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],\n \"90\": [0, 0.68333, 0.07944, 0.13889, 0.72473],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Fraktur-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69141, 0, 0, 0.29574],\n \"34\": [0, 0.69141, 0, 0, 0.21471],\n \"38\": [0, 0.69141, 0, 0, 0.73786],\n \"39\": [0, 0.69141, 0, 0, 0.21201],\n \"40\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"41\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"42\": [0, 0.62119, 0, 0, 0.27764],\n \"43\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"44\": [0, 0.10803, 0, 0, 0.27764],\n \"45\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"46\": [0, 0.10803, 0, 0, 0.27764],\n \"47\": [0.24982, 0.74947, 0, 0, 0.50181],\n \"48\": [0, 0.47534, 0, 0, 0.50181],\n \"49\": [0, 0.47534, 0, 0, 0.50181],\n \"50\": [0, 0.47534, 0, 0, 0.50181],\n \"51\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"52\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"53\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"54\": [0, 0.69141, 0, 0, 0.50181],\n \"55\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"56\": [0, 0.69141, 0, 0, 0.50181],\n \"57\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"58\": [0, 0.47534, 0, 0, 0.21606],\n \"59\": [0.12604, 0.47534, 0, 0, 0.21606],\n \"61\": [-0.13099, 0.36866, 0, 0, 0.75623],\n \"63\": [0, 0.69141, 0, 0, 0.36245],\n \"65\": [0, 0.69141, 0, 0, 0.7176],\n \"66\": [0, 0.69141, 0, 0, 0.88397],\n \"67\": [0, 0.69141, 0, 0, 0.61254],\n \"68\": [0, 0.69141, 0, 0, 0.83158],\n \"69\": [0, 0.69141, 0, 0, 0.66278],\n \"70\": [0.12604, 0.69141, 0, 0, 0.61119],\n \"71\": [0, 0.69141, 0, 0, 0.78539],\n \"72\": [0.06302, 0.69141, 0, 0, 0.7203],\n \"73\": [0, 0.69141, 0, 0, 0.55448],\n \"74\": [0.12604, 0.69141, 0, 0, 0.55231],\n \"75\": [0, 0.69141, 0, 0, 0.66845],\n \"76\": [0, 0.69141, 0, 0, 0.66602],\n \"77\": [0, 0.69141, 0, 0, 1.04953],\n \"78\": [0, 0.69141, 0, 0, 0.83212],\n \"79\": [0, 0.69141, 0, 0, 0.82699],\n \"80\": [0.18906, 0.69141, 0, 0, 0.82753],\n \"81\": [0.03781, 0.69141, 0, 0, 0.82699],\n \"82\": [0, 0.69141, 0, 0, 0.82807],\n \"83\": [0, 0.69141, 0, 0, 0.82861],\n \"84\": [0, 0.69141, 0, 0, 0.66899],\n \"85\": [0, 0.69141, 0, 0, 0.64576],\n \"86\": [0, 0.69141, 0, 0, 0.83131],\n \"87\": [0, 0.69141, 0, 0, 1.04602],\n \"88\": [0, 0.69141, 0, 0, 0.71922],\n \"89\": [0.18906, 0.69141, 0, 0, 0.83293],\n \"90\": [0.12604, 0.69141, 0, 0, 0.60201],\n \"91\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"93\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"94\": [0, 0.69141, 0, 0, 0.49965],\n \"97\": [0, 0.47534, 0, 0, 0.50046],\n \"98\": [0, 0.69141, 0, 0, 0.51315],\n \"99\": [0, 0.47534, 0, 0, 0.38946],\n \"100\": [0, 0.62119, 0, 0, 0.49857],\n \"101\": [0, 0.47534, 0, 0, 0.40053],\n \"102\": [0.18906, 0.69141, 0, 0, 0.32626],\n \"103\": [0.18906, 0.47534, 0, 0, 0.5037],\n \"104\": [0.18906, 0.69141, 0, 0, 0.52126],\n \"105\": [0, 0.69141, 0, 0, 0.27899],\n \"106\": [0, 0.69141, 0, 0, 0.28088],\n \"107\": [0, 0.69141, 0, 0, 0.38946],\n \"108\": [0, 0.69141, 0, 0, 0.27953],\n \"109\": [0, 0.47534, 0, 0, 0.76676],\n \"110\": [0, 0.47534, 0, 0, 0.52666],\n \"111\": [0, 0.47534, 0, 0, 0.48885],\n \"112\": [0.18906, 0.52396, 0, 0, 0.50046],\n \"113\": [0.18906, 0.47534, 0, 0, 0.48912],\n \"114\": [0, 0.47534, 0, 0, 0.38919],\n \"115\": [0, 0.47534, 0, 0, 0.44266],\n \"116\": [0, 0.62119, 0, 0, 0.33301],\n \"117\": [0, 0.47534, 0, 0, 0.5172],\n \"118\": [0, 0.52396, 0, 0, 0.5118],\n \"119\": [0, 0.52396, 0, 0, 0.77351],\n \"120\": [0.18906, 0.47534, 0, 0, 0.38865],\n \"121\": [0.18906, 0.47534, 0, 0, 0.49884],\n \"122\": [0.18906, 0.47534, 0, 0, 0.39054],\n \"160\": [0, 0, 0, 0, 0.25],\n \"8216\": [0, 0.69141, 0, 0, 0.21471],\n \"8217\": [0, 0.69141, 0, 0, 0.21471],\n \"58112\": [0, 0.62119, 0, 0, 0.49749],\n \"58113\": [0, 0.62119, 0, 0, 0.4983],\n \"58114\": [0.18906, 0.69141, 0, 0, 0.33328],\n \"58115\": [0.18906, 0.69141, 0, 0, 0.32923],\n \"58116\": [0.18906, 0.47534, 0, 0, 0.50343],\n \"58117\": [0, 0.69141, 0, 0, 0.33301],\n \"58118\": [0, 0.62119, 0, 0, 0.33409],\n \"58119\": [0, 0.47534, 0, 0, 0.50073]\n },\n \"Main-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.35],\n \"34\": [0, 0.69444, 0, 0, 0.60278],\n \"35\": [0.19444, 0.69444, 0, 0, 0.95833],\n \"36\": [0.05556, 0.75, 0, 0, 0.575],\n \"37\": [0.05556, 0.75, 0, 0, 0.95833],\n \"38\": [0, 0.69444, 0, 0, 0.89444],\n \"39\": [0, 0.69444, 0, 0, 0.31944],\n \"40\": [0.25, 0.75, 0, 0, 0.44722],\n \"41\": [0.25, 0.75, 0, 0, 0.44722],\n \"42\": [0, 0.75, 0, 0, 0.575],\n \"43\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"44\": [0.19444, 0.15556, 0, 0, 0.31944],\n \"45\": [0, 0.44444, 0, 0, 0.38333],\n \"46\": [0, 0.15556, 0, 0, 0.31944],\n \"47\": [0.25, 0.75, 0, 0, 0.575],\n \"48\": [0, 0.64444, 0, 0, 0.575],\n \"49\": [0, 0.64444, 0, 0, 0.575],\n \"50\": [0, 0.64444, 0, 0, 0.575],\n \"51\": [0, 0.64444, 0, 0, 0.575],\n \"52\": [0, 0.64444, 0, 0, 0.575],\n \"53\": [0, 0.64444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0, 0.64444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0, 0.64444, 0, 0, 0.575],\n \"58\": [0, 0.44444, 0, 0, 0.31944],\n \"59\": [0.19444, 0.44444, 0, 0, 0.31944],\n \"60\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"61\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"62\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"63\": [0, 0.69444, 0, 0, 0.54305],\n \"64\": [0, 0.69444, 0, 0, 0.89444],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0, 0, 0.81805],\n \"67\": [0, 0.68611, 0, 0, 0.83055],\n \"68\": [0, 0.68611, 0, 0, 0.88194],\n \"69\": [0, 0.68611, 0, 0, 0.75555],\n \"70\": [0, 0.68611, 0, 0, 0.72361],\n \"71\": [0, 0.68611, 0, 0, 0.90416],\n \"72\": [0, 0.68611, 0, 0, 0.9],\n \"73\": [0, 0.68611, 0, 0, 0.43611],\n \"74\": [0, 0.68611, 0, 0, 0.59444],\n \"75\": [0, 0.68611, 0, 0, 0.90138],\n \"76\": [0, 0.68611, 0, 0, 0.69166],\n \"77\": [0, 0.68611, 0, 0, 1.09166],\n \"78\": [0, 0.68611, 0, 0, 0.9],\n \"79\": [0, 0.68611, 0, 0, 0.86388],\n \"80\": [0, 0.68611, 0, 0, 0.78611],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86388],\n \"82\": [0, 0.68611, 0, 0, 0.8625],\n \"83\": [0, 0.68611, 0, 0, 0.63889],\n \"84\": [0, 0.68611, 0, 0, 0.8],\n \"85\": [0, 0.68611, 0, 0, 0.88472],\n \"86\": [0, 0.68611, 0.01597, 0, 0.86944],\n \"87\": [0, 0.68611, 0.01597, 0, 1.18888],\n \"88\": [0, 0.68611, 0, 0, 0.86944],\n \"89\": [0, 0.68611, 0.02875, 0, 0.86944],\n \"90\": [0, 0.68611, 0, 0, 0.70277],\n \"91\": [0.25, 0.75, 0, 0, 0.31944],\n \"92\": [0.25, 0.75, 0, 0, 0.575],\n \"93\": [0.25, 0.75, 0, 0, 0.31944],\n \"94\": [0, 0.69444, 0, 0, 0.575],\n \"95\": [0.31, 0.13444, 0.03194, 0, 0.575],\n \"97\": [0, 0.44444, 0, 0, 0.55902],\n \"98\": [0, 0.69444, 0, 0, 0.63889],\n \"99\": [0, 0.44444, 0, 0, 0.51111],\n \"100\": [0, 0.69444, 0, 0, 0.63889],\n \"101\": [0, 0.44444, 0, 0, 0.52708],\n \"102\": [0, 0.69444, 0.10903, 0, 0.35139],\n \"103\": [0.19444, 0.44444, 0.01597, 0, 0.575],\n \"104\": [0, 0.69444, 0, 0, 0.63889],\n \"105\": [0, 0.69444, 0, 0, 0.31944],\n \"106\": [0.19444, 0.69444, 0, 0, 0.35139],\n \"107\": [0, 0.69444, 0, 0, 0.60694],\n \"108\": [0, 0.69444, 0, 0, 0.31944],\n \"109\": [0, 0.44444, 0, 0, 0.95833],\n \"110\": [0, 0.44444, 0, 0, 0.63889],\n \"111\": [0, 0.44444, 0, 0, 0.575],\n \"112\": [0.19444, 0.44444, 0, 0, 0.63889],\n \"113\": [0.19444, 0.44444, 0, 0, 0.60694],\n \"114\": [0, 0.44444, 0, 0, 0.47361],\n \"115\": [0, 0.44444, 0, 0, 0.45361],\n \"116\": [0, 0.63492, 0, 0, 0.44722],\n \"117\": [0, 0.44444, 0, 0, 0.63889],\n \"118\": [0, 0.44444, 0.01597, 0, 0.60694],\n \"119\": [0, 0.44444, 0.01597, 0, 0.83055],\n \"120\": [0, 0.44444, 0, 0, 0.60694],\n \"121\": [0.19444, 0.44444, 0.01597, 0, 0.60694],\n \"122\": [0, 0.44444, 0, 0, 0.51111],\n \"123\": [0.25, 0.75, 0, 0, 0.575],\n \"124\": [0.25, 0.75, 0, 0, 0.31944],\n \"125\": [0.25, 0.75, 0, 0, 0.575],\n \"126\": [0.35, 0.34444, 0, 0, 0.575],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.86853],\n \"168\": [0, 0.69444, 0, 0, 0.575],\n \"172\": [0, 0.44444, 0, 0, 0.76666],\n \"176\": [0, 0.69444, 0, 0, 0.86944],\n \"177\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"184\": [0.17014, 0, 0, 0, 0.51111],\n \"198\": [0, 0.68611, 0, 0, 1.04166],\n \"215\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"216\": [0.04861, 0.73472, 0, 0, 0.89444],\n \"223\": [0, 0.69444, 0, 0, 0.59722],\n \"230\": [0, 0.44444, 0, 0, 0.83055],\n \"247\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"248\": [0.09722, 0.54167, 0, 0, 0.575],\n \"305\": [0, 0.44444, 0, 0, 0.31944],\n \"338\": [0, 0.68611, 0, 0, 1.16944],\n \"339\": [0, 0.44444, 0, 0, 0.89444],\n \"567\": [0.19444, 0.44444, 0, 0, 0.35139],\n \"710\": [0, 0.69444, 0, 0, 0.575],\n \"711\": [0, 0.63194, 0, 0, 0.575],\n \"713\": [0, 0.59611, 0, 0, 0.575],\n \"714\": [0, 0.69444, 0, 0, 0.575],\n \"715\": [0, 0.69444, 0, 0, 0.575],\n \"728\": [0, 0.69444, 0, 0, 0.575],\n \"729\": [0, 0.69444, 0, 0, 0.31944],\n \"730\": [0, 0.69444, 0, 0, 0.86944],\n \"732\": [0, 0.69444, 0, 0, 0.575],\n \"733\": [0, 0.69444, 0, 0, 0.575],\n \"915\": [0, 0.68611, 0, 0, 0.69166],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0, 0, 0.89444],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0, 0, 0.76666],\n \"928\": [0, 0.68611, 0, 0, 0.9],\n \"931\": [0, 0.68611, 0, 0, 0.83055],\n \"933\": [0, 0.68611, 0, 0, 0.89444],\n \"934\": [0, 0.68611, 0, 0, 0.83055],\n \"936\": [0, 0.68611, 0, 0, 0.89444],\n \"937\": [0, 0.68611, 0, 0, 0.83055],\n \"8211\": [0, 0.44444, 0.03194, 0, 0.575],\n \"8212\": [0, 0.44444, 0.03194, 0, 1.14999],\n \"8216\": [0, 0.69444, 0, 0, 0.31944],\n \"8217\": [0, 0.69444, 0, 0, 0.31944],\n \"8220\": [0, 0.69444, 0, 0, 0.60278],\n \"8221\": [0, 0.69444, 0, 0, 0.60278],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8242\": [0, 0.55556, 0, 0, 0.34444],\n \"8407\": [0, 0.72444, 0.15486, 0, 0.575],\n \"8463\": [0, 0.69444, 0, 0, 0.66759],\n \"8465\": [0, 0.69444, 0, 0, 0.83055],\n \"8467\": [0, 0.69444, 0, 0, 0.47361],\n \"8472\": [0.19444, 0.44444, 0, 0, 0.74027],\n \"8476\": [0, 0.69444, 0, 0, 0.83055],\n \"8501\": [0, 0.69444, 0, 0, 0.70277],\n \"8592\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8594\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8596\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8597\": [0.25, 0.75, 0, 0, 0.575],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8636\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8637\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8640\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8641\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8656\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8658\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8660\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8661\": [0.25, 0.75, 0, 0, 0.70277],\n \"8704\": [0, 0.69444, 0, 0, 0.63889],\n \"8706\": [0, 0.69444, 0.06389, 0, 0.62847],\n \"8707\": [0, 0.69444, 0, 0, 0.63889],\n \"8709\": [0.05556, 0.75, 0, 0, 0.575],\n \"8711\": [0, 0.68611, 0, 0, 0.95833],\n \"8712\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8715\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8722\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8723\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8725\": [0.25, 0.75, 0, 0, 0.575],\n \"8726\": [0.25, 0.75, 0, 0, 0.575],\n \"8727\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8728\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8729\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8730\": [0.18, 0.82, 0, 0, 0.95833],\n \"8733\": [0, 0.44444, 0, 0, 0.89444],\n \"8734\": [0, 0.44444, 0, 0, 1.14999],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.31944],\n \"8741\": [0.25, 0.75, 0, 0, 0.575],\n \"8743\": [0, 0.55556, 0, 0, 0.76666],\n \"8744\": [0, 0.55556, 0, 0, 0.76666],\n \"8745\": [0, 0.55556, 0, 0, 0.76666],\n \"8746\": [0, 0.55556, 0, 0, 0.76666],\n \"8747\": [0.19444, 0.69444, 0.12778, 0, 0.56875],\n \"8764\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.31944],\n \"8771\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8773\": [0.027, 0.638, 0, 0, 0.894],\n \"8776\": [0.02444, 0.52444, 0, 0, 0.89444],\n \"8781\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8801\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8804\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8805\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8810\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8811\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8826\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8827\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8834\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8835\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8838\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8839\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8846\": [0, 0.55556, 0, 0, 0.76666],\n \"8849\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8850\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8851\": [0, 0.55556, 0, 0, 0.76666],\n \"8852\": [0, 0.55556, 0, 0, 0.76666],\n \"8853\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8854\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8855\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8856\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8857\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8866\": [0, 0.69444, 0, 0, 0.70277],\n \"8867\": [0, 0.69444, 0, 0, 0.70277],\n \"8868\": [0, 0.69444, 0, 0, 0.89444],\n \"8869\": [0, 0.69444, 0, 0, 0.89444],\n \"8900\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8901\": [-0.02639, 0.47361, 0, 0, 0.31944],\n \"8902\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8968\": [0.25, 0.75, 0, 0, 0.51111],\n \"8969\": [0.25, 0.75, 0, 0, 0.51111],\n \"8970\": [0.25, 0.75, 0, 0, 0.51111],\n \"8971\": [0.25, 0.75, 0, 0, 0.51111],\n \"8994\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"8995\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"9651\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9657\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9661\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9667\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9837\": [0, 0.75, 0, 0, 0.44722],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"10216\": [0.25, 0.75, 0, 0, 0.44722],\n \"10217\": [0.25, 0.75, 0, 0, 0.44722],\n \"10815\": [0, 0.68611, 0, 0, 0.9],\n \"10927\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"10928\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Main-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.11417, 0, 0.38611],\n \"34\": [0, 0.69444, 0.07939, 0, 0.62055],\n \"35\": [0.19444, 0.69444, 0.06833, 0, 0.94444],\n \"37\": [0.05556, 0.75, 0.12861, 0, 0.94444],\n \"38\": [0, 0.69444, 0.08528, 0, 0.88555],\n \"39\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"40\": [0.25, 0.75, 0.15806, 0, 0.47333],\n \"41\": [0.25, 0.75, 0.03306, 0, 0.47333],\n \"42\": [0, 0.75, 0.14333, 0, 0.59111],\n \"43\": [0.10333, 0.60333, 0.03306, 0, 0.88555],\n \"44\": [0.19444, 0.14722, 0, 0, 0.35555],\n \"45\": [0, 0.44444, 0.02611, 0, 0.41444],\n \"46\": [0, 0.14722, 0, 0, 0.35555],\n \"47\": [0.25, 0.75, 0.15806, 0, 0.59111],\n \"48\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"49\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"50\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"51\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"52\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"53\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"54\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"55\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"56\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"57\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"58\": [0, 0.44444, 0.06695, 0, 0.35555],\n \"59\": [0.19444, 0.44444, 0.06695, 0, 0.35555],\n \"61\": [-0.10889, 0.39111, 0.06833, 0, 0.88555],\n \"63\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"64\": [0, 0.69444, 0.09208, 0, 0.88555],\n \"65\": [0, 0.68611, 0, 0, 0.86555],\n \"66\": [0, 0.68611, 0.0992, 0, 0.81666],\n \"67\": [0, 0.68611, 0.14208, 0, 0.82666],\n \"68\": [0, 0.68611, 0.09062, 0, 0.87555],\n \"69\": [0, 0.68611, 0.11431, 0, 0.75666],\n \"70\": [0, 0.68611, 0.12903, 0, 0.72722],\n \"71\": [0, 0.68611, 0.07347, 0, 0.89527],\n \"72\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"73\": [0, 0.68611, 0.15681, 0, 0.47166],\n \"74\": [0, 0.68611, 0.145, 0, 0.61055],\n \"75\": [0, 0.68611, 0.14208, 0, 0.89499],\n \"76\": [0, 0.68611, 0, 0, 0.69777],\n \"77\": [0, 0.68611, 0.17208, 0, 1.07277],\n \"78\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"79\": [0, 0.68611, 0.09062, 0, 0.85499],\n \"80\": [0, 0.68611, 0.0992, 0, 0.78721],\n \"81\": [0.19444, 0.68611, 0.09062, 0, 0.85499],\n \"82\": [0, 0.68611, 0.02559, 0, 0.85944],\n \"83\": [0, 0.68611, 0.11264, 0, 0.64999],\n \"84\": [0, 0.68611, 0.12903, 0, 0.7961],\n \"85\": [0, 0.68611, 0.17208, 0, 0.88083],\n \"86\": [0, 0.68611, 0.18625, 0, 0.86555],\n \"87\": [0, 0.68611, 0.18625, 0, 1.15999],\n \"88\": [0, 0.68611, 0.15681, 0, 0.86555],\n \"89\": [0, 0.68611, 0.19803, 0, 0.86555],\n \"90\": [0, 0.68611, 0.14208, 0, 0.70888],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.35611],\n \"93\": [0.25, 0.75, 0.09972, 0, 0.35611],\n \"94\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"95\": [0.31, 0.13444, 0.09811, 0, 0.59111],\n \"97\": [0, 0.44444, 0.09426, 0, 0.59111],\n \"98\": [0, 0.69444, 0.07861, 0, 0.53222],\n \"99\": [0, 0.44444, 0.05222, 0, 0.53222],\n \"100\": [0, 0.69444, 0.10861, 0, 0.59111],\n \"101\": [0, 0.44444, 0.085, 0, 0.53222],\n \"102\": [0.19444, 0.69444, 0.21778, 0, 0.4],\n \"103\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"104\": [0, 0.69444, 0.09426, 0, 0.59111],\n \"105\": [0, 0.69326, 0.11387, 0, 0.35555],\n \"106\": [0.19444, 0.69326, 0.1672, 0, 0.35555],\n \"107\": [0, 0.69444, 0.11111, 0, 0.53222],\n \"108\": [0, 0.69444, 0.10861, 0, 0.29666],\n \"109\": [0, 0.44444, 0.09426, 0, 0.94444],\n \"110\": [0, 0.44444, 0.09426, 0, 0.64999],\n \"111\": [0, 0.44444, 0.07861, 0, 0.59111],\n \"112\": [0.19444, 0.44444, 0.07861, 0, 0.59111],\n \"113\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"114\": [0, 0.44444, 0.11111, 0, 0.50167],\n \"115\": [0, 0.44444, 0.08167, 0, 0.48694],\n \"116\": [0, 0.63492, 0.09639, 0, 0.385],\n \"117\": [0, 0.44444, 0.09426, 0, 0.62055],\n \"118\": [0, 0.44444, 0.11111, 0, 0.53222],\n \"119\": [0, 0.44444, 0.11111, 0, 0.76777],\n \"120\": [0, 0.44444, 0.12583, 0, 0.56055],\n \"121\": [0.19444, 0.44444, 0.105, 0, 0.56166],\n \"122\": [0, 0.44444, 0.13889, 0, 0.49055],\n \"126\": [0.35, 0.34444, 0.11472, 0, 0.59111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0.11473, 0, 0.59111],\n \"176\": [0, 0.69444, 0, 0, 0.94888],\n \"184\": [0.17014, 0, 0, 0, 0.53222],\n \"198\": [0, 0.68611, 0.11431, 0, 1.02277],\n \"216\": [0.04861, 0.73472, 0.09062, 0, 0.88555],\n \"223\": [0.19444, 0.69444, 0.09736, 0, 0.665],\n \"230\": [0, 0.44444, 0.085, 0, 0.82666],\n \"248\": [0.09722, 0.54167, 0.09458, 0, 0.59111],\n \"305\": [0, 0.44444, 0.09426, 0, 0.35555],\n \"338\": [0, 0.68611, 0.11431, 0, 1.14054],\n \"339\": [0, 0.44444, 0.085, 0, 0.82666],\n \"567\": [0.19444, 0.44444, 0.04611, 0, 0.385],\n \"710\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"711\": [0, 0.63194, 0.08271, 0, 0.59111],\n \"713\": [0, 0.59444, 0.10444, 0, 0.59111],\n \"714\": [0, 0.69444, 0.08528, 0, 0.59111],\n \"715\": [0, 0.69444, 0, 0, 0.59111],\n \"728\": [0, 0.69444, 0.10333, 0, 0.59111],\n \"729\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"730\": [0, 0.69444, 0, 0, 0.94888],\n \"732\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"733\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"915\": [0, 0.68611, 0.12903, 0, 0.69777],\n \"916\": [0, 0.68611, 0, 0, 0.94444],\n \"920\": [0, 0.68611, 0.09062, 0, 0.88555],\n \"923\": [0, 0.68611, 0, 0, 0.80666],\n \"926\": [0, 0.68611, 0.15092, 0, 0.76777],\n \"928\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"931\": [0, 0.68611, 0.11431, 0, 0.82666],\n \"933\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"934\": [0, 0.68611, 0.05632, 0, 0.82666],\n \"936\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"937\": [0, 0.68611, 0.0992, 0, 0.82666],\n \"8211\": [0, 0.44444, 0.09811, 0, 0.59111],\n \"8212\": [0, 0.44444, 0.09811, 0, 1.18221],\n \"8216\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8217\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8220\": [0, 0.69444, 0.16772, 0, 0.62055],\n \"8221\": [0, 0.69444, 0.07939, 0, 0.62055]\n },\n \"Main-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"34\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"35\": [0.19444, 0.69444, 0.06616, 0, 0.81777],\n \"37\": [0.05556, 0.75, 0.13639, 0, 0.81777],\n \"38\": [0, 0.69444, 0.09694, 0, 0.76666],\n \"39\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"40\": [0.25, 0.75, 0.16194, 0, 0.40889],\n \"41\": [0.25, 0.75, 0.03694, 0, 0.40889],\n \"42\": [0, 0.75, 0.14917, 0, 0.51111],\n \"43\": [0.05667, 0.56167, 0.03694, 0, 0.76666],\n \"44\": [0.19444, 0.10556, 0, 0, 0.30667],\n \"45\": [0, 0.43056, 0.02826, 0, 0.35778],\n \"46\": [0, 0.10556, 0, 0, 0.30667],\n \"47\": [0.25, 0.75, 0.16194, 0, 0.51111],\n \"48\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"49\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"50\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"51\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"52\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"53\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"54\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"55\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"56\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"57\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"58\": [0, 0.43056, 0.0582, 0, 0.30667],\n \"59\": [0.19444, 0.43056, 0.0582, 0, 0.30667],\n \"61\": [-0.13313, 0.36687, 0.06616, 0, 0.76666],\n \"63\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"64\": [0, 0.69444, 0.09597, 0, 0.76666],\n \"65\": [0, 0.68333, 0, 0, 0.74333],\n \"66\": [0, 0.68333, 0.10257, 0, 0.70389],\n \"67\": [0, 0.68333, 0.14528, 0, 0.71555],\n \"68\": [0, 0.68333, 0.09403, 0, 0.755],\n \"69\": [0, 0.68333, 0.12028, 0, 0.67833],\n \"70\": [0, 0.68333, 0.13305, 0, 0.65277],\n \"71\": [0, 0.68333, 0.08722, 0, 0.77361],\n \"72\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"73\": [0, 0.68333, 0.15806, 0, 0.38555],\n \"74\": [0, 0.68333, 0.14028, 0, 0.525],\n \"75\": [0, 0.68333, 0.14528, 0, 0.76888],\n \"76\": [0, 0.68333, 0, 0, 0.62722],\n \"77\": [0, 0.68333, 0.16389, 0, 0.89666],\n \"78\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"79\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"80\": [0, 0.68333, 0.10257, 0, 0.67833],\n \"81\": [0.19444, 0.68333, 0.09403, 0, 0.76666],\n \"82\": [0, 0.68333, 0.03868, 0, 0.72944],\n \"83\": [0, 0.68333, 0.11972, 0, 0.56222],\n \"84\": [0, 0.68333, 0.13305, 0, 0.71555],\n \"85\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"86\": [0, 0.68333, 0.18361, 0, 0.74333],\n \"87\": [0, 0.68333, 0.18361, 0, 0.99888],\n \"88\": [0, 0.68333, 0.15806, 0, 0.74333],\n \"89\": [0, 0.68333, 0.19383, 0, 0.74333],\n \"90\": [0, 0.68333, 0.14528, 0, 0.61333],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.30667],\n \"93\": [0.25, 0.75, 0.10528, 0, 0.30667],\n \"94\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"95\": [0.31, 0.12056, 0.09208, 0, 0.51111],\n \"97\": [0, 0.43056, 0.07671, 0, 0.51111],\n \"98\": [0, 0.69444, 0.06312, 0, 0.46],\n \"99\": [0, 0.43056, 0.05653, 0, 0.46],\n \"100\": [0, 0.69444, 0.10333, 0, 0.51111],\n \"101\": [0, 0.43056, 0.07514, 0, 0.46],\n \"102\": [0.19444, 0.69444, 0.21194, 0, 0.30667],\n \"103\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"104\": [0, 0.69444, 0.07671, 0, 0.51111],\n \"105\": [0, 0.65536, 0.1019, 0, 0.30667],\n \"106\": [0.19444, 0.65536, 0.14467, 0, 0.30667],\n \"107\": [0, 0.69444, 0.10764, 0, 0.46],\n \"108\": [0, 0.69444, 0.10333, 0, 0.25555],\n \"109\": [0, 0.43056, 0.07671, 0, 0.81777],\n \"110\": [0, 0.43056, 0.07671, 0, 0.56222],\n \"111\": [0, 0.43056, 0.06312, 0, 0.51111],\n \"112\": [0.19444, 0.43056, 0.06312, 0, 0.51111],\n \"113\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"114\": [0, 0.43056, 0.10764, 0, 0.42166],\n \"115\": [0, 0.43056, 0.08208, 0, 0.40889],\n \"116\": [0, 0.61508, 0.09486, 0, 0.33222],\n \"117\": [0, 0.43056, 0.07671, 0, 0.53666],\n \"118\": [0, 0.43056, 0.10764, 0, 0.46],\n \"119\": [0, 0.43056, 0.10764, 0, 0.66444],\n \"120\": [0, 0.43056, 0.12042, 0, 0.46389],\n \"121\": [0.19444, 0.43056, 0.08847, 0, 0.48555],\n \"122\": [0, 0.43056, 0.12292, 0, 0.40889],\n \"126\": [0.35, 0.31786, 0.11585, 0, 0.51111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.66786, 0.10474, 0, 0.51111],\n \"176\": [0, 0.69444, 0, 0, 0.83129],\n \"184\": [0.17014, 0, 0, 0, 0.46],\n \"198\": [0, 0.68333, 0.12028, 0, 0.88277],\n \"216\": [0.04861, 0.73194, 0.09403, 0, 0.76666],\n \"223\": [0.19444, 0.69444, 0.10514, 0, 0.53666],\n \"230\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"248\": [0.09722, 0.52778, 0.09194, 0, 0.51111],\n \"338\": [0, 0.68333, 0.12028, 0, 0.98499],\n \"339\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"710\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"711\": [0, 0.62847, 0.08295, 0, 0.51111],\n \"713\": [0, 0.56167, 0.10333, 0, 0.51111],\n \"714\": [0, 0.69444, 0.09694, 0, 0.51111],\n \"715\": [0, 0.69444, 0, 0, 0.51111],\n \"728\": [0, 0.69444, 0.10806, 0, 0.51111],\n \"729\": [0, 0.66786, 0.11752, 0, 0.30667],\n \"730\": [0, 0.69444, 0, 0, 0.83129],\n \"732\": [0, 0.66786, 0.11585, 0, 0.51111],\n \"733\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"915\": [0, 0.68333, 0.13305, 0, 0.62722],\n \"916\": [0, 0.68333, 0, 0, 0.81777],\n \"920\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"923\": [0, 0.68333, 0, 0, 0.69222],\n \"926\": [0, 0.68333, 0.15294, 0, 0.66444],\n \"928\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"931\": [0, 0.68333, 0.12028, 0, 0.71555],\n \"933\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"934\": [0, 0.68333, 0.05986, 0, 0.71555],\n \"936\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"937\": [0, 0.68333, 0.10257, 0, 0.71555],\n \"8211\": [0, 0.43056, 0.09208, 0, 0.51111],\n \"8212\": [0, 0.43056, 0.09208, 0, 1.02222],\n \"8216\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8217\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8220\": [0, 0.69444, 0.1685, 0, 0.51444],\n \"8221\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"8463\": [0, 0.68889, 0, 0, 0.54028]\n },\n \"Main-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.27778],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.77778],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.19444, 0.10556, 0, 0, 0.27778],\n \"45\": [0, 0.43056, 0, 0, 0.33333],\n \"46\": [0, 0.10556, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.64444, 0, 0, 0.5],\n \"49\": [0, 0.64444, 0, 0, 0.5],\n \"50\": [0, 0.64444, 0, 0, 0.5],\n \"51\": [0, 0.64444, 0, 0, 0.5],\n \"52\": [0, 0.64444, 0, 0, 0.5],\n \"53\": [0, 0.64444, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0, 0.64444, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0, 0.64444, 0, 0, 0.5],\n \"58\": [0, 0.43056, 0, 0, 0.27778],\n \"59\": [0.19444, 0.43056, 0, 0, 0.27778],\n \"60\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"61\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"62\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.77778],\n \"65\": [0, 0.68333, 0, 0, 0.75],\n \"66\": [0, 0.68333, 0, 0, 0.70834],\n \"67\": [0, 0.68333, 0, 0, 0.72222],\n \"68\": [0, 0.68333, 0, 0, 0.76389],\n \"69\": [0, 0.68333, 0, 0, 0.68056],\n \"70\": [0, 0.68333, 0, 0, 0.65278],\n \"71\": [0, 0.68333, 0, 0, 0.78472],\n \"72\": [0, 0.68333, 0, 0, 0.75],\n \"73\": [0, 0.68333, 0, 0, 0.36111],\n \"74\": [0, 0.68333, 0, 0, 0.51389],\n \"75\": [0, 0.68333, 0, 0, 0.77778],\n \"76\": [0, 0.68333, 0, 0, 0.625],\n \"77\": [0, 0.68333, 0, 0, 0.91667],\n \"78\": [0, 0.68333, 0, 0, 0.75],\n \"79\": [0, 0.68333, 0, 0, 0.77778],\n \"80\": [0, 0.68333, 0, 0, 0.68056],\n \"81\": [0.19444, 0.68333, 0, 0, 0.77778],\n \"82\": [0, 0.68333, 0, 0, 0.73611],\n \"83\": [0, 0.68333, 0, 0, 0.55556],\n \"84\": [0, 0.68333, 0, 0, 0.72222],\n \"85\": [0, 0.68333, 0, 0, 0.75],\n \"86\": [0, 0.68333, 0.01389, 0, 0.75],\n \"87\": [0, 0.68333, 0.01389, 0, 1.02778],\n \"88\": [0, 0.68333, 0, 0, 0.75],\n \"89\": [0, 0.68333, 0.025, 0, 0.75],\n \"90\": [0, 0.68333, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.27778],\n \"92\": [0.25, 0.75, 0, 0, 0.5],\n \"93\": [0.25, 0.75, 0, 0, 0.27778],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.31, 0.12056, 0.02778, 0, 0.5],\n \"97\": [0, 0.43056, 0, 0, 0.5],\n \"98\": [0, 0.69444, 0, 0, 0.55556],\n \"99\": [0, 0.43056, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.55556],\n \"101\": [0, 0.43056, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.07778, 0, 0.30556],\n \"103\": [0.19444, 0.43056, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.55556],\n \"105\": [0, 0.66786, 0, 0, 0.27778],\n \"106\": [0.19444, 0.66786, 0, 0, 0.30556],\n \"107\": [0, 0.69444, 0, 0, 0.52778],\n \"108\": [0, 0.69444, 0, 0, 0.27778],\n \"109\": [0, 0.43056, 0, 0, 0.83334],\n \"110\": [0, 0.43056, 0, 0, 0.55556],\n \"111\": [0, 0.43056, 0, 0, 0.5],\n \"112\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"113\": [0.19444, 0.43056, 0, 0, 0.52778],\n \"114\": [0, 0.43056, 0, 0, 0.39167],\n \"115\": [0, 0.43056, 0, 0, 0.39445],\n \"116\": [0, 0.61508, 0, 0, 0.38889],\n \"117\": [0, 0.43056, 0, 0, 0.55556],\n \"118\": [0, 0.43056, 0.01389, 0, 0.52778],\n \"119\": [0, 0.43056, 0.01389, 0, 0.72222],\n \"120\": [0, 0.43056, 0, 0, 0.52778],\n \"121\": [0.19444, 0.43056, 0.01389, 0, 0.52778],\n \"122\": [0, 0.43056, 0, 0, 0.44445],\n \"123\": [0.25, 0.75, 0, 0, 0.5],\n \"124\": [0.25, 0.75, 0, 0, 0.27778],\n \"125\": [0.25, 0.75, 0, 0, 0.5],\n \"126\": [0.35, 0.31786, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.76909],\n \"167\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"168\": [0, 0.66786, 0, 0, 0.5],\n \"172\": [0, 0.43056, 0, 0, 0.66667],\n \"176\": [0, 0.69444, 0, 0, 0.75],\n \"177\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"182\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"198\": [0, 0.68333, 0, 0, 0.90278],\n \"215\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"216\": [0.04861, 0.73194, 0, 0, 0.77778],\n \"223\": [0, 0.69444, 0, 0, 0.5],\n \"230\": [0, 0.43056, 0, 0, 0.72222],\n \"247\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"248\": [0.09722, 0.52778, 0, 0, 0.5],\n \"305\": [0, 0.43056, 0, 0, 0.27778],\n \"338\": [0, 0.68333, 0, 0, 1.01389],\n \"339\": [0, 0.43056, 0, 0, 0.77778],\n \"567\": [0.19444, 0.43056, 0, 0, 0.30556],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.62847, 0, 0, 0.5],\n \"713\": [0, 0.56778, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.66786, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.75],\n \"732\": [0, 0.66786, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.68333, 0, 0, 0.625],\n \"916\": [0, 0.68333, 0, 0, 0.83334],\n \"920\": [0, 0.68333, 0, 0, 0.77778],\n \"923\": [0, 0.68333, 0, 0, 0.69445],\n \"926\": [0, 0.68333, 0, 0, 0.66667],\n \"928\": [0, 0.68333, 0, 0, 0.75],\n \"931\": [0, 0.68333, 0, 0, 0.72222],\n \"933\": [0, 0.68333, 0, 0, 0.77778],\n \"934\": [0, 0.68333, 0, 0, 0.72222],\n \"936\": [0, 0.68333, 0, 0, 0.77778],\n \"937\": [0, 0.68333, 0, 0, 0.72222],\n \"8211\": [0, 0.43056, 0.02778, 0, 0.5],\n \"8212\": [0, 0.43056, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8230\": [0, 0.123, 0, 0, 1.172],\n \"8242\": [0, 0.55556, 0, 0, 0.275],\n \"8407\": [0, 0.71444, 0.15382, 0, 0.5],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8465\": [0, 0.69444, 0, 0, 0.72222],\n \"8467\": [0, 0.69444, 0, 0.11111, 0.41667],\n \"8472\": [0.19444, 0.43056, 0, 0.11111, 0.63646],\n \"8476\": [0, 0.69444, 0, 0, 0.72222],\n \"8501\": [0, 0.69444, 0, 0, 0.61111],\n \"8592\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8594\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8596\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8597\": [0.25, 0.75, 0, 0, 0.5],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8614\": [0.011, 0.511, 0, 0, 1.0],\n \"8617\": [0.011, 0.511, 0, 0, 1.126],\n \"8618\": [0.011, 0.511, 0, 0, 1.126],\n \"8636\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8637\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8640\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8641\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8652\": [0.011, 0.671, 0, 0, 1.0],\n \"8656\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8658\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8660\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8661\": [0.25, 0.75, 0, 0, 0.61111],\n \"8704\": [0, 0.69444, 0, 0, 0.55556],\n \"8706\": [0, 0.69444, 0.05556, 0.08334, 0.5309],\n \"8707\": [0, 0.69444, 0, 0, 0.55556],\n \"8709\": [0.05556, 0.75, 0, 0, 0.5],\n \"8711\": [0, 0.68333, 0, 0, 0.83334],\n \"8712\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8715\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8722\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8723\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8725\": [0.25, 0.75, 0, 0, 0.5],\n \"8726\": [0.25, 0.75, 0, 0, 0.5],\n \"8727\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8728\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8729\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8730\": [0.2, 0.8, 0, 0, 0.83334],\n \"8733\": [0, 0.43056, 0, 0, 0.77778],\n \"8734\": [0, 0.43056, 0, 0, 1.0],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.27778],\n \"8741\": [0.25, 0.75, 0, 0, 0.5],\n \"8743\": [0, 0.55556, 0, 0, 0.66667],\n \"8744\": [0, 0.55556, 0, 0, 0.66667],\n \"8745\": [0, 0.55556, 0, 0, 0.66667],\n \"8746\": [0, 0.55556, 0, 0, 0.66667],\n \"8747\": [0.19444, 0.69444, 0.11111, 0, 0.41667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.27778],\n \"8771\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8773\": [-0.022, 0.589, 0, 0, 0.778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8781\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8784\": [-0.133, 0.673, 0, 0, 0.778],\n \"8801\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8804\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8805\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8810\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8811\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8826\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8827\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8834\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8835\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8838\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8839\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8846\": [0, 0.55556, 0, 0, 0.66667],\n \"8849\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8850\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8851\": [0, 0.55556, 0, 0, 0.66667],\n \"8852\": [0, 0.55556, 0, 0, 0.66667],\n \"8853\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8854\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8855\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8856\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8857\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8866\": [0, 0.69444, 0, 0, 0.61111],\n \"8867\": [0, 0.69444, 0, 0, 0.61111],\n \"8868\": [0, 0.69444, 0, 0, 0.77778],\n \"8869\": [0, 0.69444, 0, 0, 0.77778],\n \"8872\": [0.249, 0.75, 0, 0, 0.867],\n \"8900\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8901\": [-0.05555, 0.44445, 0, 0, 0.27778],\n \"8902\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8904\": [0.005, 0.505, 0, 0, 0.9],\n \"8942\": [0.03, 0.903, 0, 0, 0.278],\n \"8943\": [-0.19, 0.313, 0, 0, 1.172],\n \"8945\": [-0.1, 0.823, 0, 0, 1.282],\n \"8968\": [0.25, 0.75, 0, 0, 0.44445],\n \"8969\": [0.25, 0.75, 0, 0, 0.44445],\n \"8970\": [0.25, 0.75, 0, 0, 0.44445],\n \"8971\": [0.25, 0.75, 0, 0, 0.44445],\n \"8994\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"8995\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"9136\": [0.244, 0.744, 0, 0, 0.412],\n \"9137\": [0.244, 0.745, 0, 0, 0.412],\n \"9651\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9657\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9661\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9667\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.0],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9837\": [0, 0.75, 0, 0, 0.38889],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"10216\": [0.25, 0.75, 0, 0, 0.38889],\n \"10217\": [0.25, 0.75, 0, 0, 0.38889],\n \"10222\": [0.244, 0.744, 0, 0, 0.412],\n \"10223\": [0.244, 0.745, 0, 0, 0.412],\n \"10229\": [0.011, 0.511, 0, 0, 1.609],\n \"10230\": [0.011, 0.511, 0, 0, 1.638],\n \"10231\": [0.011, 0.511, 0, 0, 1.859],\n \"10232\": [0.024, 0.525, 0, 0, 1.609],\n \"10233\": [0.024, 0.525, 0, 0, 1.638],\n \"10234\": [0.024, 0.525, 0, 0, 1.858],\n \"10236\": [0.011, 0.511, 0, 0, 1.638],\n \"10815\": [0, 0.68333, 0, 0, 0.75],\n \"10927\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10928\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Math-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.44444, 0, 0, 0.575],\n \"49\": [0, 0.44444, 0, 0, 0.575],\n \"50\": [0, 0.44444, 0, 0, 0.575],\n \"51\": [0.19444, 0.44444, 0, 0, 0.575],\n \"52\": [0.19444, 0.44444, 0, 0, 0.575],\n \"53\": [0.19444, 0.44444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0.19444, 0.44444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0.19444, 0.44444, 0, 0, 0.575],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0.04835, 0, 0.8664],\n \"67\": [0, 0.68611, 0.06979, 0, 0.81694],\n \"68\": [0, 0.68611, 0.03194, 0, 0.93812],\n \"69\": [0, 0.68611, 0.05451, 0, 0.81007],\n \"70\": [0, 0.68611, 0.15972, 0, 0.68889],\n \"71\": [0, 0.68611, 0, 0, 0.88673],\n \"72\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"73\": [0, 0.68611, 0.07778, 0, 0.51111],\n \"74\": [0, 0.68611, 0.10069, 0, 0.63125],\n \"75\": [0, 0.68611, 0.06979, 0, 0.97118],\n \"76\": [0, 0.68611, 0, 0, 0.75555],\n \"77\": [0, 0.68611, 0.11424, 0, 1.14201],\n \"78\": [0, 0.68611, 0.11424, 0, 0.95034],\n \"79\": [0, 0.68611, 0.03194, 0, 0.83666],\n \"80\": [0, 0.68611, 0.15972, 0, 0.72309],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86861],\n \"82\": [0, 0.68611, 0.00421, 0, 0.87235],\n \"83\": [0, 0.68611, 0.05382, 0, 0.69271],\n \"84\": [0, 0.68611, 0.15972, 0, 0.63663],\n \"85\": [0, 0.68611, 0.11424, 0, 0.80027],\n \"86\": [0, 0.68611, 0.25555, 0, 0.67778],\n \"87\": [0, 0.68611, 0.15972, 0, 1.09305],\n \"88\": [0, 0.68611, 0.07778, 0, 0.94722],\n \"89\": [0, 0.68611, 0.25555, 0, 0.67458],\n \"90\": [0, 0.68611, 0.06979, 0, 0.77257],\n \"97\": [0, 0.44444, 0, 0, 0.63287],\n \"98\": [0, 0.69444, 0, 0, 0.52083],\n \"99\": [0, 0.44444, 0, 0, 0.51342],\n \"100\": [0, 0.69444, 0, 0, 0.60972],\n \"101\": [0, 0.44444, 0, 0, 0.55361],\n \"102\": [0.19444, 0.69444, 0.11042, 0, 0.56806],\n \"103\": [0.19444, 0.44444, 0.03704, 0, 0.5449],\n \"104\": [0, 0.69444, 0, 0, 0.66759],\n \"105\": [0, 0.69326, 0, 0, 0.4048],\n \"106\": [0.19444, 0.69326, 0.0622, 0, 0.47083],\n \"107\": [0, 0.69444, 0.01852, 0, 0.6037],\n \"108\": [0, 0.69444, 0.0088, 0, 0.34815],\n \"109\": [0, 0.44444, 0, 0, 1.0324],\n \"110\": [0, 0.44444, 0, 0, 0.71296],\n \"111\": [0, 0.44444, 0, 0, 0.58472],\n \"112\": [0.19444, 0.44444, 0, 0, 0.60092],\n \"113\": [0.19444, 0.44444, 0.03704, 0, 0.54213],\n \"114\": [0, 0.44444, 0.03194, 0, 0.5287],\n \"115\": [0, 0.44444, 0, 0, 0.53125],\n \"116\": [0, 0.63492, 0, 0, 0.41528],\n \"117\": [0, 0.44444, 0, 0, 0.68102],\n \"118\": [0, 0.44444, 0.03704, 0, 0.56666],\n \"119\": [0, 0.44444, 0.02778, 0, 0.83148],\n \"120\": [0, 0.44444, 0, 0, 0.65903],\n \"121\": [0.19444, 0.44444, 0.03704, 0, 0.59028],\n \"122\": [0, 0.44444, 0.04213, 0, 0.55509],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68611, 0.15972, 0, 0.65694],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0.03194, 0, 0.86722],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0.07458, 0, 0.84125],\n \"928\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"931\": [0, 0.68611, 0.05451, 0, 0.88507],\n \"933\": [0, 0.68611, 0.15972, 0, 0.67083],\n \"934\": [0, 0.68611, 0, 0, 0.76666],\n \"936\": [0, 0.68611, 0.11653, 0, 0.71402],\n \"937\": [0, 0.68611, 0.04835, 0, 0.8789],\n \"945\": [0, 0.44444, 0, 0, 0.76064],\n \"946\": [0.19444, 0.69444, 0.03403, 0, 0.65972],\n \"947\": [0.19444, 0.44444, 0.06389, 0, 0.59003],\n \"948\": [0, 0.69444, 0.03819, 0, 0.52222],\n \"949\": [0, 0.44444, 0, 0, 0.52882],\n \"950\": [0.19444, 0.69444, 0.06215, 0, 0.50833],\n \"951\": [0.19444, 0.44444, 0.03704, 0, 0.6],\n \"952\": [0, 0.69444, 0.03194, 0, 0.5618],\n \"953\": [0, 0.44444, 0, 0, 0.41204],\n \"954\": [0, 0.44444, 0, 0, 0.66759],\n \"955\": [0, 0.69444, 0, 0, 0.67083],\n \"956\": [0.19444, 0.44444, 0, 0, 0.70787],\n \"957\": [0, 0.44444, 0.06898, 0, 0.57685],\n \"958\": [0.19444, 0.69444, 0.03021, 0, 0.50833],\n \"959\": [0, 0.44444, 0, 0, 0.58472],\n \"960\": [0, 0.44444, 0.03704, 0, 0.68241],\n \"961\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"962\": [0.09722, 0.44444, 0.07917, 0, 0.42361],\n \"963\": [0, 0.44444, 0.03704, 0, 0.68588],\n \"964\": [0, 0.44444, 0.13472, 0, 0.52083],\n \"965\": [0, 0.44444, 0.03704, 0, 0.63055],\n \"966\": [0.19444, 0.44444, 0, 0, 0.74722],\n \"967\": [0.19444, 0.44444, 0, 0, 0.71805],\n \"968\": [0.19444, 0.69444, 0.03704, 0, 0.75833],\n \"969\": [0, 0.44444, 0.03704, 0, 0.71782],\n \"977\": [0, 0.69444, 0, 0, 0.69155],\n \"981\": [0.19444, 0.69444, 0, 0, 0.7125],\n \"982\": [0, 0.44444, 0.03194, 0, 0.975],\n \"1009\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"1013\": [0, 0.44444, 0, 0, 0.48333],\n \"57649\": [0, 0.44444, 0, 0, 0.39352],\n \"57911\": [0.19444, 0.44444, 0, 0, 0.43889]\n },\n \"Math-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.43056, 0, 0, 0.5],\n \"49\": [0, 0.43056, 0, 0, 0.5],\n \"50\": [0, 0.43056, 0, 0, 0.5],\n \"51\": [0.19444, 0.43056, 0, 0, 0.5],\n \"52\": [0.19444, 0.43056, 0, 0, 0.5],\n \"53\": [0.19444, 0.43056, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0.19444, 0.43056, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0.19444, 0.43056, 0, 0, 0.5],\n \"65\": [0, 0.68333, 0, 0.13889, 0.75],\n \"66\": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n \"67\": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n \"68\": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n \"69\": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n \"70\": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n \"71\": [0, 0.68333, 0, 0.08334, 0.78625],\n \"72\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"73\": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n \"74\": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n \"75\": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n \"76\": [0, 0.68333, 0, 0.02778, 0.68056],\n \"77\": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n \"78\": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n \"79\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"80\": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n \"81\": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n \"82\": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n \"83\": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n \"84\": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n \"85\": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n \"86\": [0, 0.68333, 0.22222, 0, 0.58333],\n \"87\": [0, 0.68333, 0.13889, 0, 0.94445],\n \"88\": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n \"89\": [0, 0.68333, 0.22222, 0, 0.58056],\n \"90\": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n \"97\": [0, 0.43056, 0, 0, 0.52859],\n \"98\": [0, 0.69444, 0, 0, 0.42917],\n \"99\": [0, 0.43056, 0, 0.05556, 0.43276],\n \"100\": [0, 0.69444, 0, 0.16667, 0.52049],\n \"101\": [0, 0.43056, 0, 0.05556, 0.46563],\n \"102\": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n \"103\": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n \"104\": [0, 0.69444, 0, 0, 0.57616],\n \"105\": [0, 0.65952, 0, 0, 0.34451],\n \"106\": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n \"107\": [0, 0.69444, 0.03148, 0, 0.5206],\n \"108\": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n \"109\": [0, 0.43056, 0, 0, 0.87801],\n \"110\": [0, 0.43056, 0, 0, 0.60023],\n \"111\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"112\": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n \"113\": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n \"114\": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n \"115\": [0, 0.43056, 0, 0.05556, 0.46875],\n \"116\": [0, 0.61508, 0, 0.08334, 0.36111],\n \"117\": [0, 0.43056, 0, 0.02778, 0.57246],\n \"118\": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n \"119\": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n \"120\": [0, 0.43056, 0, 0.02778, 0.57153],\n \"121\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n \"122\": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n \"916\": [0, 0.68333, 0, 0.16667, 0.83334],\n \"920\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"923\": [0, 0.68333, 0, 0.16667, 0.69445],\n \"926\": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n \"928\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"931\": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n \"933\": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n \"934\": [0, 0.68333, 0, 0.08334, 0.66667],\n \"936\": [0, 0.68333, 0.11, 0.05556, 0.61222],\n \"937\": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n \"945\": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n \"946\": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n \"947\": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n \"948\": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n \"949\": [0, 0.43056, 0, 0.08334, 0.46632],\n \"950\": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n \"951\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n \"952\": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n \"953\": [0, 0.43056, 0, 0.05556, 0.35394],\n \"954\": [0, 0.43056, 0, 0, 0.57616],\n \"955\": [0, 0.69444, 0, 0, 0.58334],\n \"956\": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n \"957\": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n \"958\": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n \"959\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"960\": [0, 0.43056, 0.03588, 0, 0.57003],\n \"961\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"962\": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n \"963\": [0, 0.43056, 0.03588, 0, 0.57141],\n \"964\": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n \"965\": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n \"966\": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n \"967\": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n \"968\": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n \"969\": [0, 0.43056, 0.03588, 0, 0.62245],\n \"977\": [0, 0.69444, 0, 0.08334, 0.59144],\n \"981\": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n \"982\": [0, 0.43056, 0.02778, 0, 0.82813],\n \"1009\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"1013\": [0, 0.43056, 0, 0.05556, 0.4059],\n \"57649\": [0, 0.43056, 0, 0.02778, 0.32246],\n \"57911\": [0.19444, 0.43056, 0, 0.08334, 0.38403]\n },\n \"SansSerif-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.36667],\n \"34\": [0, 0.69444, 0, 0, 0.55834],\n \"35\": [0.19444, 0.69444, 0, 0, 0.91667],\n \"36\": [0.05556, 0.75, 0, 0, 0.55],\n \"37\": [0.05556, 0.75, 0, 0, 1.02912],\n \"38\": [0, 0.69444, 0, 0, 0.83056],\n \"39\": [0, 0.69444, 0, 0, 0.30556],\n \"40\": [0.25, 0.75, 0, 0, 0.42778],\n \"41\": [0.25, 0.75, 0, 0, 0.42778],\n \"42\": [0, 0.75, 0, 0, 0.55],\n \"43\": [0.11667, 0.61667, 0, 0, 0.85556],\n \"44\": [0.10556, 0.13056, 0, 0, 0.30556],\n \"45\": [0, 0.45833, 0, 0, 0.36667],\n \"46\": [0, 0.13056, 0, 0, 0.30556],\n \"47\": [0.25, 0.75, 0, 0, 0.55],\n \"48\": [0, 0.69444, 0, 0, 0.55],\n \"49\": [0, 0.69444, 0, 0, 0.55],\n \"50\": [0, 0.69444, 0, 0, 0.55],\n \"51\": [0, 0.69444, 0, 0, 0.55],\n \"52\": [0, 0.69444, 0, 0, 0.55],\n \"53\": [0, 0.69444, 0, 0, 0.55],\n \"54\": [0, 0.69444, 0, 0, 0.55],\n \"55\": [0, 0.69444, 0, 0, 0.55],\n \"56\": [0, 0.69444, 0, 0, 0.55],\n \"57\": [0, 0.69444, 0, 0, 0.55],\n \"58\": [0, 0.45833, 0, 0, 0.30556],\n \"59\": [0.10556, 0.45833, 0, 0, 0.30556],\n \"61\": [-0.09375, 0.40625, 0, 0, 0.85556],\n \"63\": [0, 0.69444, 0, 0, 0.51945],\n \"64\": [0, 0.69444, 0, 0, 0.73334],\n \"65\": [0, 0.69444, 0, 0, 0.73334],\n \"66\": [0, 0.69444, 0, 0, 0.73334],\n \"67\": [0, 0.69444, 0, 0, 0.70278],\n \"68\": [0, 0.69444, 0, 0, 0.79445],\n \"69\": [0, 0.69444, 0, 0, 0.64167],\n \"70\": [0, 0.69444, 0, 0, 0.61111],\n \"71\": [0, 0.69444, 0, 0, 0.73334],\n \"72\": [0, 0.69444, 0, 0, 0.79445],\n \"73\": [0, 0.69444, 0, 0, 0.33056],\n \"74\": [0, 0.69444, 0, 0, 0.51945],\n \"75\": [0, 0.69444, 0, 0, 0.76389],\n \"76\": [0, 0.69444, 0, 0, 0.58056],\n \"77\": [0, 0.69444, 0, 0, 0.97778],\n \"78\": [0, 0.69444, 0, 0, 0.79445],\n \"79\": [0, 0.69444, 0, 0, 0.79445],\n \"80\": [0, 0.69444, 0, 0, 0.70278],\n \"81\": [0.10556, 0.69444, 0, 0, 0.79445],\n \"82\": [0, 0.69444, 0, 0, 0.70278],\n \"83\": [0, 0.69444, 0, 0, 0.61111],\n \"84\": [0, 0.69444, 0, 0, 0.73334],\n \"85\": [0, 0.69444, 0, 0, 0.76389],\n \"86\": [0, 0.69444, 0.01528, 0, 0.73334],\n \"87\": [0, 0.69444, 0.01528, 0, 1.03889],\n \"88\": [0, 0.69444, 0, 0, 0.73334],\n \"89\": [0, 0.69444, 0.0275, 0, 0.73334],\n \"90\": [0, 0.69444, 0, 0, 0.67223],\n \"91\": [0.25, 0.75, 0, 0, 0.34306],\n \"93\": [0.25, 0.75, 0, 0, 0.34306],\n \"94\": [0, 0.69444, 0, 0, 0.55],\n \"95\": [0.35, 0.10833, 0.03056, 0, 0.55],\n \"97\": [0, 0.45833, 0, 0, 0.525],\n \"98\": [0, 0.69444, 0, 0, 0.56111],\n \"99\": [0, 0.45833, 0, 0, 0.48889],\n \"100\": [0, 0.69444, 0, 0, 0.56111],\n \"101\": [0, 0.45833, 0, 0, 0.51111],\n \"102\": [0, 0.69444, 0.07639, 0, 0.33611],\n \"103\": [0.19444, 0.45833, 0.01528, 0, 0.55],\n \"104\": [0, 0.69444, 0, 0, 0.56111],\n \"105\": [0, 0.69444, 0, 0, 0.25556],\n \"106\": [0.19444, 0.69444, 0, 0, 0.28611],\n \"107\": [0, 0.69444, 0, 0, 0.53056],\n \"108\": [0, 0.69444, 0, 0, 0.25556],\n \"109\": [0, 0.45833, 0, 0, 0.86667],\n \"110\": [0, 0.45833, 0, 0, 0.56111],\n \"111\": [0, 0.45833, 0, 0, 0.55],\n \"112\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"113\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"114\": [0, 0.45833, 0.01528, 0, 0.37222],\n \"115\": [0, 0.45833, 0, 0, 0.42167],\n \"116\": [0, 0.58929, 0, 0, 0.40417],\n \"117\": [0, 0.45833, 0, 0, 0.56111],\n \"118\": [0, 0.45833, 0.01528, 0, 0.5],\n \"119\": [0, 0.45833, 0.01528, 0, 0.74445],\n \"120\": [0, 0.45833, 0, 0, 0.5],\n \"121\": [0.19444, 0.45833, 0.01528, 0, 0.5],\n \"122\": [0, 0.45833, 0, 0, 0.47639],\n \"126\": [0.35, 0.34444, 0, 0, 0.55],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0, 0, 0.55],\n \"176\": [0, 0.69444, 0, 0, 0.73334],\n \"180\": [0, 0.69444, 0, 0, 0.55],\n \"184\": [0.17014, 0, 0, 0, 0.48889],\n \"305\": [0, 0.45833, 0, 0, 0.25556],\n \"567\": [0.19444, 0.45833, 0, 0, 0.28611],\n \"710\": [0, 0.69444, 0, 0, 0.55],\n \"711\": [0, 0.63542, 0, 0, 0.55],\n \"713\": [0, 0.63778, 0, 0, 0.55],\n \"728\": [0, 0.69444, 0, 0, 0.55],\n \"729\": [0, 0.69444, 0, 0, 0.30556],\n \"730\": [0, 0.69444, 0, 0, 0.73334],\n \"732\": [0, 0.69444, 0, 0, 0.55],\n \"733\": [0, 0.69444, 0, 0, 0.55],\n \"915\": [0, 0.69444, 0, 0, 0.58056],\n \"916\": [0, 0.69444, 0, 0, 0.91667],\n \"920\": [0, 0.69444, 0, 0, 0.85556],\n \"923\": [0, 0.69444, 0, 0, 0.67223],\n \"926\": [0, 0.69444, 0, 0, 0.73334],\n \"928\": [0, 0.69444, 0, 0, 0.79445],\n \"931\": [0, 0.69444, 0, 0, 0.79445],\n \"933\": [0, 0.69444, 0, 0, 0.85556],\n \"934\": [0, 0.69444, 0, 0, 0.79445],\n \"936\": [0, 0.69444, 0, 0, 0.85556],\n \"937\": [0, 0.69444, 0, 0, 0.79445],\n \"8211\": [0, 0.45833, 0.03056, 0, 0.55],\n \"8212\": [0, 0.45833, 0.03056, 0, 1.10001],\n \"8216\": [0, 0.69444, 0, 0, 0.30556],\n \"8217\": [0, 0.69444, 0, 0, 0.30556],\n \"8220\": [0, 0.69444, 0, 0, 0.55834],\n \"8221\": [0, 0.69444, 0, 0, 0.55834]\n },\n \"SansSerif-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.05733, 0, 0.31945],\n \"34\": [0, 0.69444, 0.00316, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0.05087, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0.11156, 0, 0.5],\n \"37\": [0.05556, 0.75, 0.03126, 0, 0.83334],\n \"38\": [0, 0.69444, 0.03058, 0, 0.75834],\n \"39\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"40\": [0.25, 0.75, 0.13164, 0, 0.38889],\n \"41\": [0.25, 0.75, 0.02536, 0, 0.38889],\n \"42\": [0, 0.75, 0.11775, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0.02536, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0.01946, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0.13164, 0, 0.5],\n \"48\": [0, 0.65556, 0.11156, 0, 0.5],\n \"49\": [0, 0.65556, 0.11156, 0, 0.5],\n \"50\": [0, 0.65556, 0.11156, 0, 0.5],\n \"51\": [0, 0.65556, 0.11156, 0, 0.5],\n \"52\": [0, 0.65556, 0.11156, 0, 0.5],\n \"53\": [0, 0.65556, 0.11156, 0, 0.5],\n \"54\": [0, 0.65556, 0.11156, 0, 0.5],\n \"55\": [0, 0.65556, 0.11156, 0, 0.5],\n \"56\": [0, 0.65556, 0.11156, 0, 0.5],\n \"57\": [0, 0.65556, 0.11156, 0, 0.5],\n \"58\": [0, 0.44444, 0.02502, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0.02502, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0.05087, 0, 0.77778],\n \"63\": [0, 0.69444, 0.11809, 0, 0.47222],\n \"64\": [0, 0.69444, 0.07555, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0.08293, 0, 0.66667],\n \"67\": [0, 0.69444, 0.11983, 0, 0.63889],\n \"68\": [0, 0.69444, 0.07555, 0, 0.72223],\n \"69\": [0, 0.69444, 0.11983, 0, 0.59722],\n \"70\": [0, 0.69444, 0.13372, 0, 0.56945],\n \"71\": [0, 0.69444, 0.11983, 0, 0.66667],\n \"72\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"73\": [0, 0.69444, 0.13372, 0, 0.27778],\n \"74\": [0, 0.69444, 0.08094, 0, 0.47222],\n \"75\": [0, 0.69444, 0.11983, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0.08094, 0, 0.875],\n \"78\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"79\": [0, 0.69444, 0.07555, 0, 0.73611],\n \"80\": [0, 0.69444, 0.08293, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0.07555, 0, 0.73611],\n \"82\": [0, 0.69444, 0.08293, 0, 0.64584],\n \"83\": [0, 0.69444, 0.09205, 0, 0.55556],\n \"84\": [0, 0.69444, 0.13372, 0, 0.68056],\n \"85\": [0, 0.69444, 0.08094, 0, 0.6875],\n \"86\": [0, 0.69444, 0.1615, 0, 0.66667],\n \"87\": [0, 0.69444, 0.1615, 0, 0.94445],\n \"88\": [0, 0.69444, 0.13372, 0, 0.66667],\n \"89\": [0, 0.69444, 0.17261, 0, 0.66667],\n \"90\": [0, 0.69444, 0.11983, 0, 0.61111],\n \"91\": [0.25, 0.75, 0.15942, 0, 0.28889],\n \"93\": [0.25, 0.75, 0.08719, 0, 0.28889],\n \"94\": [0, 0.69444, 0.0799, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.08616, 0, 0.5],\n \"97\": [0, 0.44444, 0.00981, 0, 0.48056],\n \"98\": [0, 0.69444, 0.03057, 0, 0.51667],\n \"99\": [0, 0.44444, 0.08336, 0, 0.44445],\n \"100\": [0, 0.69444, 0.09483, 0, 0.51667],\n \"101\": [0, 0.44444, 0.06778, 0, 0.44445],\n \"102\": [0, 0.69444, 0.21705, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.10836, 0, 0.5],\n \"104\": [0, 0.69444, 0.01778, 0, 0.51667],\n \"105\": [0, 0.67937, 0.09718, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0.09162, 0, 0.26667],\n \"107\": [0, 0.69444, 0.08336, 0, 0.48889],\n \"108\": [0, 0.69444, 0.09483, 0, 0.23889],\n \"109\": [0, 0.44444, 0.01778, 0, 0.79445],\n \"110\": [0, 0.44444, 0.01778, 0, 0.51667],\n \"111\": [0, 0.44444, 0.06613, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0.0389, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0.04169, 0, 0.51667],\n \"114\": [0, 0.44444, 0.10836, 0, 0.34167],\n \"115\": [0, 0.44444, 0.0778, 0, 0.38333],\n \"116\": [0, 0.57143, 0.07225, 0, 0.36111],\n \"117\": [0, 0.44444, 0.04169, 0, 0.51667],\n \"118\": [0, 0.44444, 0.10836, 0, 0.46111],\n \"119\": [0, 0.44444, 0.10836, 0, 0.68334],\n \"120\": [0, 0.44444, 0.09169, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.10836, 0, 0.46111],\n \"122\": [0, 0.44444, 0.08752, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0.08826, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0.06385, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.73752],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0.04169, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0.04169, 0, 0.26667],\n \"710\": [0, 0.69444, 0.0799, 0, 0.5],\n \"711\": [0, 0.63194, 0.08432, 0, 0.5],\n \"713\": [0, 0.60889, 0.08776, 0, 0.5],\n \"714\": [0, 0.69444, 0.09205, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0.09483, 0, 0.5],\n \"729\": [0, 0.67937, 0.07774, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.73752],\n \"732\": [0, 0.67659, 0.08826, 0, 0.5],\n \"733\": [0, 0.69444, 0.09205, 0, 0.5],\n \"915\": [0, 0.69444, 0.13372, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0.07555, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0.12816, 0, 0.66667],\n \"928\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"931\": [0, 0.69444, 0.11983, 0, 0.72222],\n \"933\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"934\": [0, 0.69444, 0.04603, 0, 0.72222],\n \"936\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"937\": [0, 0.69444, 0.08293, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.08616, 0, 0.5],\n \"8212\": [0, 0.44444, 0.08616, 0, 1.0],\n \"8216\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8217\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8220\": [0, 0.69444, 0.14205, 0, 0.5],\n \"8221\": [0, 0.69444, 0.00316, 0, 0.5]\n },\n \"SansSerif-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.31945],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.75834],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.65556, 0, 0, 0.5],\n \"49\": [0, 0.65556, 0, 0, 0.5],\n \"50\": [0, 0.65556, 0, 0, 0.5],\n \"51\": [0, 0.65556, 0, 0, 0.5],\n \"52\": [0, 0.65556, 0, 0, 0.5],\n \"53\": [0, 0.65556, 0, 0, 0.5],\n \"54\": [0, 0.65556, 0, 0, 0.5],\n \"55\": [0, 0.65556, 0, 0, 0.5],\n \"56\": [0, 0.65556, 0, 0, 0.5],\n \"57\": [0, 0.65556, 0, 0, 0.5],\n \"58\": [0, 0.44444, 0, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0, 0, 0.66667],\n \"67\": [0, 0.69444, 0, 0, 0.63889],\n \"68\": [0, 0.69444, 0, 0, 0.72223],\n \"69\": [0, 0.69444, 0, 0, 0.59722],\n \"70\": [0, 0.69444, 0, 0, 0.56945],\n \"71\": [0, 0.69444, 0, 0, 0.66667],\n \"72\": [0, 0.69444, 0, 0, 0.70834],\n \"73\": [0, 0.69444, 0, 0, 0.27778],\n \"74\": [0, 0.69444, 0, 0, 0.47222],\n \"75\": [0, 0.69444, 0, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0, 0, 0.875],\n \"78\": [0, 0.69444, 0, 0, 0.70834],\n \"79\": [0, 0.69444, 0, 0, 0.73611],\n \"80\": [0, 0.69444, 0, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0, 0, 0.73611],\n \"82\": [0, 0.69444, 0, 0, 0.64584],\n \"83\": [0, 0.69444, 0, 0, 0.55556],\n \"84\": [0, 0.69444, 0, 0, 0.68056],\n \"85\": [0, 0.69444, 0, 0, 0.6875],\n \"86\": [0, 0.69444, 0.01389, 0, 0.66667],\n \"87\": [0, 0.69444, 0.01389, 0, 0.94445],\n \"88\": [0, 0.69444, 0, 0, 0.66667],\n \"89\": [0, 0.69444, 0.025, 0, 0.66667],\n \"90\": [0, 0.69444, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.28889],\n \"93\": [0.25, 0.75, 0, 0, 0.28889],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.02778, 0, 0.5],\n \"97\": [0, 0.44444, 0, 0, 0.48056],\n \"98\": [0, 0.69444, 0, 0, 0.51667],\n \"99\": [0, 0.44444, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.51667],\n \"101\": [0, 0.44444, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.06944, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.51667],\n \"105\": [0, 0.67937, 0, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0, 0, 0.26667],\n \"107\": [0, 0.69444, 0, 0, 0.48889],\n \"108\": [0, 0.69444, 0, 0, 0.23889],\n \"109\": [0, 0.44444, 0, 0, 0.79445],\n \"110\": [0, 0.44444, 0, 0, 0.51667],\n \"111\": [0, 0.44444, 0, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"114\": [0, 0.44444, 0.01389, 0, 0.34167],\n \"115\": [0, 0.44444, 0, 0, 0.38333],\n \"116\": [0, 0.57143, 0, 0, 0.36111],\n \"117\": [0, 0.44444, 0, 0, 0.51667],\n \"118\": [0, 0.44444, 0.01389, 0, 0.46111],\n \"119\": [0, 0.44444, 0.01389, 0, 0.68334],\n \"120\": [0, 0.44444, 0, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.01389, 0, 0.46111],\n \"122\": [0, 0.44444, 0, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.66667],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0, 0, 0.26667],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.63194, 0, 0, 0.5],\n \"713\": [0, 0.60889, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.67937, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.66667],\n \"732\": [0, 0.67659, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.69444, 0, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0, 0, 0.66667],\n \"928\": [0, 0.69444, 0, 0, 0.70834],\n \"931\": [0, 0.69444, 0, 0, 0.72222],\n \"933\": [0, 0.69444, 0, 0, 0.77778],\n \"934\": [0, 0.69444, 0, 0, 0.72222],\n \"936\": [0, 0.69444, 0, 0, 0.77778],\n \"937\": [0, 0.69444, 0, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.02778, 0, 0.5],\n \"8212\": [0, 0.44444, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5]\n },\n \"Script-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.7, 0.22925, 0, 0.80253],\n \"66\": [0, 0.7, 0.04087, 0, 0.90757],\n \"67\": [0, 0.7, 0.1689, 0, 0.66619],\n \"68\": [0, 0.7, 0.09371, 0, 0.77443],\n \"69\": [0, 0.7, 0.18583, 0, 0.56162],\n \"70\": [0, 0.7, 0.13634, 0, 0.89544],\n \"71\": [0, 0.7, 0.17322, 0, 0.60961],\n \"72\": [0, 0.7, 0.29694, 0, 0.96919],\n \"73\": [0, 0.7, 0.19189, 0, 0.80907],\n \"74\": [0.27778, 0.7, 0.19189, 0, 1.05159],\n \"75\": [0, 0.7, 0.31259, 0, 0.91364],\n \"76\": [0, 0.7, 0.19189, 0, 0.87373],\n \"77\": [0, 0.7, 0.15981, 0, 1.08031],\n \"78\": [0, 0.7, 0.3525, 0, 0.9015],\n \"79\": [0, 0.7, 0.08078, 0, 0.73787],\n \"80\": [0, 0.7, 0.08078, 0, 1.01262],\n \"81\": [0, 0.7, 0.03305, 0, 0.88282],\n \"82\": [0, 0.7, 0.06259, 0, 0.85],\n \"83\": [0, 0.7, 0.19189, 0, 0.86767],\n \"84\": [0, 0.7, 0.29087, 0, 0.74697],\n \"85\": [0, 0.7, 0.25815, 0, 0.79996],\n \"86\": [0, 0.7, 0.27523, 0, 0.62204],\n \"87\": [0, 0.7, 0.27523, 0, 0.80532],\n \"88\": [0, 0.7, 0.26006, 0, 0.94445],\n \"89\": [0, 0.7, 0.2939, 0, 0.70961],\n \"90\": [0, 0.7, 0.24037, 0, 0.8212],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Size1-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.35001, 0.85, 0, 0, 0.45834],\n \"41\": [0.35001, 0.85, 0, 0, 0.45834],\n \"47\": [0.35001, 0.85, 0, 0, 0.57778],\n \"91\": [0.35001, 0.85, 0, 0, 0.41667],\n \"92\": [0.35001, 0.85, 0, 0, 0.57778],\n \"93\": [0.35001, 0.85, 0, 0, 0.41667],\n \"123\": [0.35001, 0.85, 0, 0, 0.58334],\n \"125\": [0.35001, 0.85, 0, 0, 0.58334],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.72222, 0, 0, 0.55556],\n \"732\": [0, 0.72222, 0, 0, 0.55556],\n \"770\": [0, 0.72222, 0, 0, 0.55556],\n \"771\": [0, 0.72222, 0, 0, 0.55556],\n \"8214\": [-0.00099, 0.601, 0, 0, 0.77778],\n \"8593\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8595\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8657\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8659\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8719\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8720\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8721\": [0.25001, 0.75, 0, 0, 1.05556],\n \"8730\": [0.35001, 0.85, 0, 0, 1.0],\n \"8739\": [-0.00599, 0.606, 0, 0, 0.33333],\n \"8741\": [-0.00599, 0.606, 0, 0, 0.55556],\n \"8747\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8748\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8749\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8750\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8896\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8897\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8898\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8899\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8968\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8969\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8970\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8971\": [0.35001, 0.85, 0, 0, 0.47222],\n \"9168\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"10216\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10217\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10752\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10753\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10754\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10756\": [0.25001, 0.75, 0, 0, 0.83334],\n \"10758\": [0.25001, 0.75, 0, 0, 0.83334]\n },\n \"Size2-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.65002, 1.15, 0, 0, 0.59722],\n \"41\": [0.65002, 1.15, 0, 0, 0.59722],\n \"47\": [0.65002, 1.15, 0, 0, 0.81111],\n \"91\": [0.65002, 1.15, 0, 0, 0.47222],\n \"92\": [0.65002, 1.15, 0, 0, 0.81111],\n \"93\": [0.65002, 1.15, 0, 0, 0.47222],\n \"123\": [0.65002, 1.15, 0, 0, 0.66667],\n \"125\": [0.65002, 1.15, 0, 0, 0.66667],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.0],\n \"732\": [0, 0.75, 0, 0, 1.0],\n \"770\": [0, 0.75, 0, 0, 1.0],\n \"771\": [0, 0.75, 0, 0, 1.0],\n \"8719\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8720\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8721\": [0.55001, 1.05, 0, 0, 1.44445],\n \"8730\": [0.65002, 1.15, 0, 0, 1.0],\n \"8747\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8748\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8749\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8750\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8896\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8897\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8898\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8899\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8968\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8969\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8970\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8971\": [0.65002, 1.15, 0, 0, 0.52778],\n \"10216\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10217\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10752\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10753\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10754\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10756\": [0.55001, 1.05, 0, 0, 1.11111],\n \"10758\": [0.55001, 1.05, 0, 0, 1.11111]\n },\n \"Size3-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.95003, 1.45, 0, 0, 0.73611],\n \"41\": [0.95003, 1.45, 0, 0, 0.73611],\n \"47\": [0.95003, 1.45, 0, 0, 1.04445],\n \"91\": [0.95003, 1.45, 0, 0, 0.52778],\n \"92\": [0.95003, 1.45, 0, 0, 1.04445],\n \"93\": [0.95003, 1.45, 0, 0, 0.52778],\n \"123\": [0.95003, 1.45, 0, 0, 0.75],\n \"125\": [0.95003, 1.45, 0, 0, 0.75],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.44445],\n \"732\": [0, 0.75, 0, 0, 1.44445],\n \"770\": [0, 0.75, 0, 0, 1.44445],\n \"771\": [0, 0.75, 0, 0, 1.44445],\n \"8730\": [0.95003, 1.45, 0, 0, 1.0],\n \"8968\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8969\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8970\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8971\": [0.95003, 1.45, 0, 0, 0.58334],\n \"10216\": [0.95003, 1.45, 0, 0, 0.75],\n \"10217\": [0.95003, 1.45, 0, 0, 0.75]\n },\n \"Size4-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [1.25003, 1.75, 0, 0, 0.79167],\n \"41\": [1.25003, 1.75, 0, 0, 0.79167],\n \"47\": [1.25003, 1.75, 0, 0, 1.27778],\n \"91\": [1.25003, 1.75, 0, 0, 0.58334],\n \"92\": [1.25003, 1.75, 0, 0, 1.27778],\n \"93\": [1.25003, 1.75, 0, 0, 0.58334],\n \"123\": [1.25003, 1.75, 0, 0, 0.80556],\n \"125\": [1.25003, 1.75, 0, 0, 0.80556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.825, 0, 0, 1.8889],\n \"732\": [0, 0.825, 0, 0, 1.8889],\n \"770\": [0, 0.825, 0, 0, 1.8889],\n \"771\": [0, 0.825, 0, 0, 1.8889],\n \"8730\": [1.25003, 1.75, 0, 0, 1.0],\n \"8968\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8969\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8970\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8971\": [1.25003, 1.75, 0, 0, 0.63889],\n \"9115\": [0.64502, 1.155, 0, 0, 0.875],\n \"9116\": [1e-05, 0.6, 0, 0, 0.875],\n \"9117\": [0.64502, 1.155, 0, 0, 0.875],\n \"9118\": [0.64502, 1.155, 0, 0, 0.875],\n \"9119\": [1e-05, 0.6, 0, 0, 0.875],\n \"9120\": [0.64502, 1.155, 0, 0, 0.875],\n \"9121\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9122\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9123\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9124\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9125\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9126\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9127\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9128\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9129\": [0.90001, 0, 0, 0, 0.88889],\n \"9130\": [0, 0.3, 0, 0, 0.88889],\n \"9131\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9132\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9133\": [0.90001, 0, 0, 0, 0.88889],\n \"9143\": [0.88502, 0.915, 0, 0, 1.05556],\n \"10216\": [1.25003, 1.75, 0, 0, 0.80556],\n \"10217\": [1.25003, 1.75, 0, 0, 0.80556],\n \"57344\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57345\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57680\": [0, 0.12, 0, 0, 0.45],\n \"57681\": [0, 0.12, 0, 0, 0.45],\n \"57682\": [0, 0.12, 0, 0, 0.45],\n \"57683\": [0, 0.12, 0, 0, 0.45]\n },\n \"Typewriter-Regular\": {\n \"32\": [0, 0, 0, 0, 0.525],\n \"33\": [0, 0.61111, 0, 0, 0.525],\n \"34\": [0, 0.61111, 0, 0, 0.525],\n \"35\": [0, 0.61111, 0, 0, 0.525],\n \"36\": [0.08333, 0.69444, 0, 0, 0.525],\n \"37\": [0.08333, 0.69444, 0, 0, 0.525],\n \"38\": [0, 0.61111, 0, 0, 0.525],\n \"39\": [0, 0.61111, 0, 0, 0.525],\n \"40\": [0.08333, 0.69444, 0, 0, 0.525],\n \"41\": [0.08333, 0.69444, 0, 0, 0.525],\n \"42\": [0, 0.52083, 0, 0, 0.525],\n \"43\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"44\": [0.13889, 0.125, 0, 0, 0.525],\n \"45\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"46\": [0, 0.125, 0, 0, 0.525],\n \"47\": [0.08333, 0.69444, 0, 0, 0.525],\n \"48\": [0, 0.61111, 0, 0, 0.525],\n \"49\": [0, 0.61111, 0, 0, 0.525],\n \"50\": [0, 0.61111, 0, 0, 0.525],\n \"51\": [0, 0.61111, 0, 0, 0.525],\n \"52\": [0, 0.61111, 0, 0, 0.525],\n \"53\": [0, 0.61111, 0, 0, 0.525],\n \"54\": [0, 0.61111, 0, 0, 0.525],\n \"55\": [0, 0.61111, 0, 0, 0.525],\n \"56\": [0, 0.61111, 0, 0, 0.525],\n \"57\": [0, 0.61111, 0, 0, 0.525],\n \"58\": [0, 0.43056, 0, 0, 0.525],\n \"59\": [0.13889, 0.43056, 0, 0, 0.525],\n \"60\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"61\": [-0.19549, 0.41562, 0, 0, 0.525],\n \"62\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"63\": [0, 0.61111, 0, 0, 0.525],\n \"64\": [0, 0.61111, 0, 0, 0.525],\n \"65\": [0, 0.61111, 0, 0, 0.525],\n \"66\": [0, 0.61111, 0, 0, 0.525],\n \"67\": [0, 0.61111, 0, 0, 0.525],\n \"68\": [0, 0.61111, 0, 0, 0.525],\n \"69\": [0, 0.61111, 0, 0, 0.525],\n \"70\": [0, 0.61111, 0, 0, 0.525],\n \"71\": [0, 0.61111, 0, 0, 0.525],\n \"72\": [0, 0.61111, 0, 0, 0.525],\n \"73\": [0, 0.61111, 0, 0, 0.525],\n \"74\": [0, 0.61111, 0, 0, 0.525],\n \"75\": [0, 0.61111, 0, 0, 0.525],\n \"76\": [0, 0.61111, 0, 0, 0.525],\n \"77\": [0, 0.61111, 0, 0, 0.525],\n \"78\": [0, 0.61111, 0, 0, 0.525],\n \"79\": [0, 0.61111, 0, 0, 0.525],\n \"80\": [0, 0.61111, 0, 0, 0.525],\n \"81\": [0.13889, 0.61111, 0, 0, 0.525],\n \"82\": [0, 0.61111, 0, 0, 0.525],\n \"83\": [0, 0.61111, 0, 0, 0.525],\n \"84\": [0, 0.61111, 0, 0, 0.525],\n \"85\": [0, 0.61111, 0, 0, 0.525],\n \"86\": [0, 0.61111, 0, 0, 0.525],\n \"87\": [0, 0.61111, 0, 0, 0.525],\n \"88\": [0, 0.61111, 0, 0, 0.525],\n \"89\": [0, 0.61111, 0, 0, 0.525],\n \"90\": [0, 0.61111, 0, 0, 0.525],\n \"91\": [0.08333, 0.69444, 0, 0, 0.525],\n \"92\": [0.08333, 0.69444, 0, 0, 0.525],\n \"93\": [0.08333, 0.69444, 0, 0, 0.525],\n \"94\": [0, 0.61111, 0, 0, 0.525],\n \"95\": [0.09514, 0, 0, 0, 0.525],\n \"96\": [0, 0.61111, 0, 0, 0.525],\n \"97\": [0, 0.43056, 0, 0, 0.525],\n \"98\": [0, 0.61111, 0, 0, 0.525],\n \"99\": [0, 0.43056, 0, 0, 0.525],\n \"100\": [0, 0.61111, 0, 0, 0.525],\n \"101\": [0, 0.43056, 0, 0, 0.525],\n \"102\": [0, 0.61111, 0, 0, 0.525],\n \"103\": [0.22222, 0.43056, 0, 0, 0.525],\n \"104\": [0, 0.61111, 0, 0, 0.525],\n \"105\": [0, 0.61111, 0, 0, 0.525],\n \"106\": [0.22222, 0.61111, 0, 0, 0.525],\n \"107\": [0, 0.61111, 0, 0, 0.525],\n \"108\": [0, 0.61111, 0, 0, 0.525],\n \"109\": [0, 0.43056, 0, 0, 0.525],\n \"110\": [0, 0.43056, 0, 0, 0.525],\n \"111\": [0, 0.43056, 0, 0, 0.525],\n \"112\": [0.22222, 0.43056, 0, 0, 0.525],\n \"113\": [0.22222, 0.43056, 0, 0, 0.525],\n \"114\": [0, 0.43056, 0, 0, 0.525],\n \"115\": [0, 0.43056, 0, 0, 0.525],\n \"116\": [0, 0.55358, 0, 0, 0.525],\n \"117\": [0, 0.43056, 0, 0, 0.525],\n \"118\": [0, 0.43056, 0, 0, 0.525],\n \"119\": [0, 0.43056, 0, 0, 0.525],\n \"120\": [0, 0.43056, 0, 0, 0.525],\n \"121\": [0.22222, 0.43056, 0, 0, 0.525],\n \"122\": [0, 0.43056, 0, 0, 0.525],\n \"123\": [0.08333, 0.69444, 0, 0, 0.525],\n \"124\": [0.08333, 0.69444, 0, 0, 0.525],\n \"125\": [0.08333, 0.69444, 0, 0, 0.525],\n \"126\": [0, 0.61111, 0, 0, 0.525],\n \"127\": [0, 0.61111, 0, 0, 0.525],\n \"160\": [0, 0, 0, 0, 0.525],\n \"176\": [0, 0.61111, 0, 0, 0.525],\n \"184\": [0.19445, 0, 0, 0, 0.525],\n \"305\": [0, 0.43056, 0, 0, 0.525],\n \"567\": [0.22222, 0.43056, 0, 0, 0.525],\n \"711\": [0, 0.56597, 0, 0, 0.525],\n \"713\": [0, 0.56555, 0, 0, 0.525],\n \"714\": [0, 0.61111, 0, 0, 0.525],\n \"715\": [0, 0.61111, 0, 0, 0.525],\n \"728\": [0, 0.61111, 0, 0, 0.525],\n \"730\": [0, 0.61111, 0, 0, 0.525],\n \"770\": [0, 0.61111, 0, 0, 0.525],\n \"771\": [0, 0.61111, 0, 0, 0.525],\n \"776\": [0, 0.61111, 0, 0, 0.525],\n \"915\": [0, 0.61111, 0, 0, 0.525],\n \"916\": [0, 0.61111, 0, 0, 0.525],\n \"920\": [0, 0.61111, 0, 0, 0.525],\n \"923\": [0, 0.61111, 0, 0, 0.525],\n \"926\": [0, 0.61111, 0, 0, 0.525],\n \"928\": [0, 0.61111, 0, 0, 0.525],\n \"931\": [0, 0.61111, 0, 0, 0.525],\n \"933\": [0, 0.61111, 0, 0, 0.525],\n \"934\": [0, 0.61111, 0, 0, 0.525],\n \"936\": [0, 0.61111, 0, 0, 0.525],\n \"937\": [0, 0.61111, 0, 0, 0.525],\n \"8216\": [0, 0.61111, 0, 0, 0.525],\n \"8217\": [0, 0.61111, 0, 0, 0.525],\n \"8242\": [0, 0.61111, 0, 0, 0.525],\n \"9251\": [0.11111, 0.21944, 0, 0, 0.525]\n }\n});\n;// CONCATENATED MODULE: ./src/fontMetrics.js\n\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n// In TeX, there are actually three sets of dimensions, one for each of\n// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:\n// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are\n// provided in the arrays below, in that order.\n//\n// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively.\n// This was determined by running the following script:\n//\n// latex -interaction=nonstopmode \\\n// '\\documentclass{article}\\usepackage{amsmath}\\begin{document}' \\\n// '$a$ \\expandafter\\show\\the\\textfont2' \\\n// '\\expandafter\\show\\the\\scriptfont2' \\\n// '\\expandafter\\show\\the\\scriptscriptfont2' \\\n// '\\stop'\n//\n// The metrics themselves were retrieved using the following commands:\n//\n// tftopl cmsy10\n// tftopl cmsy7\n// tftopl cmsy5\n//\n// The output of each of these commands is quite lengthy. The only part we\n// care about is the FONTDIMEN section. Each value is measured in EMs.\nconst sigmasAndXis = {\n slant: [0.250, 0.250, 0.250],\n // sigma1\n space: [0.000, 0.000, 0.000],\n // sigma2\n stretch: [0.000, 0.000, 0.000],\n // sigma3\n shrink: [0.000, 0.000, 0.000],\n // sigma4\n xHeight: [0.431, 0.431, 0.431],\n // sigma5\n quad: [1.000, 1.171, 1.472],\n // sigma6\n extraSpace: [0.000, 0.000, 0.000],\n // sigma7\n num1: [0.677, 0.732, 0.925],\n // sigma8\n num2: [0.394, 0.384, 0.387],\n // sigma9\n num3: [0.444, 0.471, 0.504],\n // sigma10\n denom1: [0.686, 0.752, 1.025],\n // sigma11\n denom2: [0.345, 0.344, 0.532],\n // sigma12\n sup1: [0.413, 0.503, 0.504],\n // sigma13\n sup2: [0.363, 0.431, 0.404],\n // sigma14\n sup3: [0.289, 0.286, 0.294],\n // sigma15\n sub1: [0.150, 0.143, 0.200],\n // sigma16\n sub2: [0.247, 0.286, 0.400],\n // sigma17\n supDrop: [0.386, 0.353, 0.494],\n // sigma18\n subDrop: [0.050, 0.071, 0.100],\n // sigma19\n delim1: [2.390, 1.700, 1.980],\n // sigma20\n delim2: [1.010, 1.157, 1.420],\n // sigma21\n axisHeight: [0.250, 0.250, 0.250],\n // sigma22\n // These font metrics are extracted from TeX by using tftopl on cmex10.tfm;\n // they correspond to the font parameters of the extension fonts (family 3).\n // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to\n // match cmex7, we'd use cmex7.tfm values for script and scriptscript\n // values.\n defaultRuleThickness: [0.04, 0.049, 0.049],\n // xi8; cmex7: 0.049\n bigOpSpacing1: [0.111, 0.111, 0.111],\n // xi9\n bigOpSpacing2: [0.166, 0.166, 0.166],\n // xi10\n bigOpSpacing3: [0.2, 0.2, 0.2],\n // xi11\n bigOpSpacing4: [0.6, 0.611, 0.611],\n // xi12; cmex7: 0.611\n bigOpSpacing5: [0.1, 0.143, 0.143],\n // xi13; cmex7: 0.143\n // The \\sqrt rule width is taken from the height of the surd character.\n // Since we use the same font at all sizes, this thickness doesn't scale.\n sqrtRuleThickness: [0.04, 0.04, 0.04],\n // This value determines how large a pt is, for metrics which are defined\n // in terms of pts.\n // This value is also used in katex.scss; if you change it make sure the\n // values match.\n ptPerEm: [10.0, 10.0, 10.0],\n // The space between adjacent `|` columns in an array definition. From\n // `\\showthe\\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm.\n doubleRuleSep: [0.2, 0.2, 0.2],\n // The width of separator lines in {array} environments. From\n // `\\showthe\\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm.\n arrayRuleWidth: [0.04, 0.04, 0.04],\n // Two values from LaTeX source2e:\n fboxsep: [0.3, 0.3, 0.3],\n // 3 pt / ptPerEm\n fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm\n\n}; // This map contains a mapping from font name and character code to character\n// metrics, including height, depth, italic correction, and skew (kern from the\n// character to the corresponding \\skewchar)\n// This map is generated via `make metrics`. It should not be changed manually.\n\n // These are very rough approximations. We default to Times New Roman which\n// should have Latin-1 and Cyrillic characters, but may not depending on the\n// operating system. The metrics do not account for extra height from the\n// accents. In the case of Cyrillic characters which have both ascenders and\n// descenders we prefer approximations with ascenders, primarily to prevent\n// the fraction bar or root line from intersecting the glyph.\n// TODO(kevinb) allow union of multiple glyph metrics for better accuracy.\n\nconst extraCharacterMap = {\n // Latin-1\n 'Å': 'A',\n 'Ð': 'D',\n 'Þ': 'o',\n 'å': 'a',\n 'ð': 'd',\n 'þ': 'o',\n // Cyrillic\n 'А': 'A',\n 'Б': 'B',\n 'В': 'B',\n 'Г': 'F',\n 'Д': 'A',\n 'Е': 'E',\n 'Ж': 'K',\n 'З': '3',\n 'И': 'N',\n 'Й': 'N',\n 'К': 'K',\n 'Л': 'N',\n 'М': 'M',\n 'Н': 'H',\n 'О': 'O',\n 'П': 'N',\n 'Р': 'P',\n 'С': 'C',\n 'Т': 'T',\n 'У': 'y',\n 'Ф': 'O',\n 'Х': 'X',\n 'Ц': 'U',\n 'Ч': 'h',\n 'Ш': 'W',\n 'Щ': 'W',\n 'Ъ': 'B',\n 'Ы': 'X',\n 'Ь': 'B',\n 'Э': '3',\n 'Ю': 'X',\n 'Я': 'R',\n 'а': 'a',\n 'б': 'b',\n 'в': 'a',\n 'г': 'r',\n 'д': 'y',\n 'е': 'e',\n 'ж': 'm',\n 'з': 'e',\n 'и': 'n',\n 'й': 'n',\n 'к': 'n',\n 'л': 'n',\n 'м': 'm',\n 'н': 'n',\n 'о': 'o',\n 'п': 'n',\n 'р': 'p',\n 'с': 'c',\n 'т': 'o',\n 'у': 'y',\n 'ф': 'b',\n 'х': 'x',\n 'ц': 'n',\n 'ч': 'n',\n 'ш': 'w',\n 'щ': 'w',\n 'ъ': 'a',\n 'ы': 'm',\n 'ь': 'a',\n 'э': 'e',\n 'ю': 'm',\n 'я': 'r'\n};\n\n/**\n * This function adds new font metrics to default metricMap\n * It can also override existing metrics\n */\nfunction setFontMetrics(fontName, metrics) {\n fontMetricsData[fontName] = metrics;\n}\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a font.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn't\n * built using `Make extended_metrics`.\n */\n\nfunction getCharacterMetrics(character, font, mode) {\n if (!fontMetricsData[font]) {\n throw new Error(\"Font metrics not found for font: \" + font + \".\");\n }\n\n let ch = character.charCodeAt(0);\n let metrics = fontMetricsData[font][ch];\n\n if (!metrics && character[0] in extraCharacterMap) {\n ch = extraCharacterMap[character[0]].charCodeAt(0);\n metrics = fontMetricsData[font][ch];\n }\n\n if (!metrics && mode === 'text') {\n // We don't typically have font metrics for Asian scripts.\n // But since we support them in text mode, we need to return\n // some sort of metrics.\n // So if the character is in a script we support but we\n // don't have metrics for it, just use the metrics for\n // the Latin capital letter M. This is close enough because\n // we (currently) only care about the height of the glyph\n // not its width.\n if (supportedCodepoint(ch)) {\n metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M'\n }\n }\n\n if (metrics) {\n return {\n depth: metrics[0],\n height: metrics[1],\n italic: metrics[2],\n skew: metrics[3],\n width: metrics[4]\n };\n }\n}\nconst fontMetricsBySizeIndex = {};\n/**\n * Get the font metrics for a given size.\n */\n\nfunction getGlobalMetrics(size) {\n let sizeIndex;\n\n if (size >= 5) {\n sizeIndex = 0;\n } else if (size >= 3) {\n sizeIndex = 1;\n } else {\n sizeIndex = 2;\n }\n\n if (!fontMetricsBySizeIndex[sizeIndex]) {\n const metrics = fontMetricsBySizeIndex[sizeIndex] = {\n cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18\n };\n\n for (const key in sigmasAndXis) {\n if (sigmasAndXis.hasOwnProperty(key)) {\n metrics[key] = sigmasAndXis[key][sizeIndex];\n }\n }\n }\n\n return fontMetricsBySizeIndex[sizeIndex];\n}\n;// CONCATENATED MODULE: ./src/Options.js\n/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\n\nconst sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize].\n// The size mappings are taken from TeX with \\normalsize=10pt.\n[1, 1, 1], // size1: [5, 5, 5] \\tiny\n[2, 1, 1], // size2: [6, 5, 5]\n[3, 1, 1], // size3: [7, 5, 5] \\scriptsize\n[4, 2, 1], // size4: [8, 6, 5] \\footnotesize\n[5, 2, 1], // size5: [9, 6, 5] \\small\n[6, 3, 1], // size6: [10, 7, 5] \\normalsize\n[7, 4, 2], // size7: [12, 8, 6] \\large\n[8, 6, 3], // size8: [14.4, 10, 7] \\Large\n[9, 7, 6], // size9: [17.28, 12, 10] \\LARGE\n[10, 8, 7], // size10: [20.74, 14.4, 12] \\huge\n[11, 10, 9] // size11: [24.88, 20.74, 17.28] \\HUGE\n];\nconst sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if\n// you change size indexes, change that function.\n0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488];\n\nconst sizeAtStyle = function (size, style) {\n return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1];\n}; // In these types, \"\" (empty string) means \"no change\".\n\n\n/**\n * This is the main options class. It contains the current style, size, color,\n * and font.\n *\n * Options objects should not be modified. To create a new Options with\n * different properties, call a `.having*` method.\n */\nclass Options {\n // A font family applies to a group of fonts (i.e. SansSerif), while a font\n // represents a specific font (i.e. SansSerif Bold).\n // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm\n\n /**\n * The base size index.\n */\n constructor(data) {\n this.style = void 0;\n this.color = void 0;\n this.size = void 0;\n this.textSize = void 0;\n this.phantom = void 0;\n this.font = void 0;\n this.fontFamily = void 0;\n this.fontWeight = void 0;\n this.fontShape = void 0;\n this.sizeMultiplier = void 0;\n this.maxSize = void 0;\n this.minRuleThickness = void 0;\n this._fontMetrics = void 0;\n this.style = data.style;\n this.color = data.color;\n this.size = data.size || Options.BASESIZE;\n this.textSize = data.textSize || this.size;\n this.phantom = !!data.phantom;\n this.font = data.font || \"\";\n this.fontFamily = data.fontFamily || \"\";\n this.fontWeight = data.fontWeight || '';\n this.fontShape = data.fontShape || '';\n this.sizeMultiplier = sizeMultipliers[this.size - 1];\n this.maxSize = data.maxSize;\n this.minRuleThickness = data.minRuleThickness;\n this._fontMetrics = undefined;\n }\n /**\n * Returns a new options object with the same properties as \"this\". Properties\n * from \"extension\" will be copied to the new options object.\n */\n\n\n extend(extension) {\n const data = {\n style: this.style,\n size: this.size,\n textSize: this.textSize,\n color: this.color,\n phantom: this.phantom,\n font: this.font,\n fontFamily: this.fontFamily,\n fontWeight: this.fontWeight,\n fontShape: this.fontShape,\n maxSize: this.maxSize,\n minRuleThickness: this.minRuleThickness\n };\n\n for (const key in extension) {\n if (extension.hasOwnProperty(key)) {\n data[key] = extension[key];\n }\n }\n\n return new Options(data);\n }\n /**\n * Return an options object with the given style. If `this.style === style`,\n * returns `this`.\n */\n\n\n havingStyle(style) {\n if (this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: sizeAtStyle(this.textSize, style)\n });\n }\n }\n /**\n * Return an options object with a cramped version of the current style. If\n * the current style is cramped, returns `this`.\n */\n\n\n havingCrampedStyle() {\n return this.havingStyle(this.style.cramp());\n }\n /**\n * Return an options object with the given size and in at least `\\textstyle`.\n * Returns `this` if appropriate.\n */\n\n\n havingSize(size) {\n if (this.size === size && this.textSize === size) {\n return this;\n } else {\n return this.extend({\n style: this.style.text(),\n size: size,\n textSize: size,\n sizeMultiplier: sizeMultipliers[size - 1]\n });\n }\n }\n /**\n * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,\n * changes to at least `\\textstyle`.\n */\n\n\n havingBaseStyle(style) {\n style = style || this.style.text();\n const wantSize = sizeAtStyle(Options.BASESIZE, style);\n\n if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: wantSize\n });\n }\n }\n /**\n * Remove the effect of sizing changes such as \\Huge.\n * Keep the effect of the current style, such as \\scriptstyle.\n */\n\n\n havingBaseSizing() {\n let size;\n\n switch (this.style.id) {\n case 4:\n case 5:\n size = 3; // normalsize in scriptstyle\n\n break;\n\n case 6:\n case 7:\n size = 1; // normalsize in scriptscriptstyle\n\n break;\n\n default:\n size = 6;\n // normalsize in textstyle or displaystyle\n }\n\n return this.extend({\n style: this.style.text(),\n size: size\n });\n }\n /**\n * Create a new options object with the given color.\n */\n\n\n withColor(color) {\n return this.extend({\n color: color\n });\n }\n /**\n * Create a new options object with \"phantom\" set to true.\n */\n\n\n withPhantom() {\n return this.extend({\n phantom: true\n });\n }\n /**\n * Creates a new options object with the given math font or old text font.\n * @type {[type]}\n */\n\n\n withFont(font) {\n return this.extend({\n font\n });\n }\n /**\n * Create a new options objects with the given fontFamily.\n */\n\n\n withTextFontFamily(fontFamily) {\n return this.extend({\n fontFamily,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontWeight(fontWeight) {\n return this.extend({\n fontWeight,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontShape(fontShape) {\n return this.extend({\n fontShape,\n font: \"\"\n });\n }\n /**\n * Return the CSS sizing classes required to switch from enclosing options\n * `oldOptions` to `this`. Returns an array of classes.\n */\n\n\n sizingClasses(oldOptions) {\n if (oldOptions.size !== this.size) {\n return [\"sizing\", \"reset-size\" + oldOptions.size, \"size\" + this.size];\n } else {\n return [];\n }\n }\n /**\n * Return the CSS sizing classes required to switch to the base size. Like\n * `this.havingSize(BASESIZE).sizingClasses(this)`.\n */\n\n\n baseSizingClasses() {\n if (this.size !== Options.BASESIZE) {\n return [\"sizing\", \"reset-size\" + this.size, \"size\" + Options.BASESIZE];\n } else {\n return [];\n }\n }\n /**\n * Return the font metrics for this size.\n */\n\n\n fontMetrics() {\n if (!this._fontMetrics) {\n this._fontMetrics = getGlobalMetrics(this.size);\n }\n\n return this._fontMetrics;\n }\n /**\n * Gets the CSS color of the current options object\n */\n\n\n getColor() {\n if (this.phantom) {\n return \"transparent\";\n } else {\n return this.color;\n }\n }\n\n}\n\nOptions.BASESIZE = 6;\n/* harmony default export */ var src_Options = (Options);\n;// CONCATENATED MODULE: ./src/units.js\n/**\n * This file does conversion between units. In particular, it provides\n * calculateSize to convert other units into ems.\n */\n\n // This table gives the number of TeX pts in one of each *absolute* TeX unit.\n// Thus, multiplying a length by this number converts the length from units\n// into pts. Dividing the result by ptPerEm gives the number of ems\n// *assuming* a font size of ptPerEm (normal size, normal style).\n\nconst ptPerUnit = {\n // https://en.wikibooks.org/wiki/LaTeX/Lengths and\n // https://tex.stackexchange.com/a/8263\n \"pt\": 1,\n // TeX point\n \"mm\": 7227 / 2540,\n // millimeter\n \"cm\": 7227 / 254,\n // centimeter\n \"in\": 72.27,\n // inch\n \"bp\": 803 / 800,\n // big (PostScript) points\n \"pc\": 12,\n // pica\n \"dd\": 1238 / 1157,\n // didot\n \"cc\": 14856 / 1157,\n // cicero (12 didot)\n \"nd\": 685 / 642,\n // new didot\n \"nc\": 1370 / 107,\n // new cicero (12 new didot)\n \"sp\": 1 / 65536,\n // scaled point (TeX's internal smallest unit)\n // https://tex.stackexchange.com/a/41371\n \"px\": 803 / 800 // \\pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX\n\n}; // Dictionary of relative units, for fast validity testing.\n\nconst relativeUnit = {\n \"ex\": true,\n \"em\": true,\n \"mu\": true\n};\n\n/**\n * Determine whether the specified unit (either a string defining the unit\n * or a \"size\" parse node containing a unit field) is valid.\n */\nconst validUnit = function (unit) {\n if (typeof unit !== \"string\") {\n unit = unit.unit;\n }\n\n return unit in ptPerUnit || unit in relativeUnit || unit === \"ex\";\n};\n/*\n * Convert a \"size\" parse node (with numeric \"number\" and string \"unit\" fields,\n * as parsed by functions.js argType \"size\") into a CSS em value for the\n * current style/scale. `options` gives the current options.\n */\n\nconst calculateSize = function (sizeValue, options) {\n let scale;\n\n if (sizeValue.unit in ptPerUnit) {\n // Absolute units\n scale = ptPerUnit[sizeValue.unit] // Convert unit to pt\n / options.fontMetrics().ptPerEm // Convert pt to CSS em\n / options.sizeMultiplier; // Unscale to make absolute units\n } else if (sizeValue.unit === \"mu\") {\n // `mu` units scale with scriptstyle/scriptscriptstyle.\n scale = options.fontMetrics().cssEmPerMu;\n } else {\n // Other relative units always refer to the *textstyle* font\n // in the current size.\n let unitOptions;\n\n if (options.style.isTight()) {\n // isTight() means current style is script/scriptscript.\n unitOptions = options.havingStyle(options.style.text());\n } else {\n unitOptions = options;\n } // TODO: In TeX these units are relative to the quad of the current\n // *text* font, e.g. cmr10. KaTeX instead uses values from the\n // comparably-sized *Computer Modern symbol* font. At 10pt, these\n // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641;\n // cmr5=1.361133, cmsy5=1.472241. Consider $\\scriptsize a\\kern1emb$.\n // TeX \\showlists shows a kern of 1.13889 * fontsize;\n // KaTeX shows a kern of 1.171 * fontsize.\n\n\n if (sizeValue.unit === \"ex\") {\n scale = unitOptions.fontMetrics().xHeight;\n } else if (sizeValue.unit === \"em\") {\n scale = unitOptions.fontMetrics().quad;\n } else {\n throw new src_ParseError(\"Invalid unit: '\" + sizeValue.unit + \"'\");\n }\n\n if (unitOptions !== options) {\n scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n return Math.min(sizeValue.number * scale, options.maxSize);\n};\n/**\n * Round `n` to 4 decimal places, or to the nearest 1/10,000th em. See\n * https://github.com/KaTeX/KaTeX/pull/2460.\n */\n\nconst makeEm = function (n) {\n return +n.toFixed(4) + \"em\";\n};\n;// CONCATENATED MODULE: ./src/domTree.js\n/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n *\n * TODO: refactor `span` and `anchor` into common superclass when\n * target environments support class inheritance\n */\n\n\n\n\n\n\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove empty classes.\n */\nconst createClass = function (classes) {\n return classes.filter(cls => cls).join(\" \");\n};\n\nconst initNode = function (classes, options, style) {\n this.classes = classes || [];\n this.attributes = {};\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = style || {};\n\n if (options) {\n if (options.style.isTight()) {\n this.classes.push(\"mtight\");\n }\n\n const color = options.getColor();\n\n if (color) {\n this.style.color = color;\n }\n }\n};\n/**\n * Convert into an HTML node\n */\n\n\nconst toNode = function (tagName) {\n const node = document.createElement(tagName); // Apply the class\n\n node.className = createClass(this.classes); // Apply inline styles\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe Flow doesn't seem to understand span.style's type.\n node.style[style] = this.style[style];\n }\n } // Apply attributes\n\n\n for (const attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n } // Append the children, also as HTML nodes\n\n\n for (let i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n};\n/**\n * https://w3c.github.io/html-reference/syntax.html#syntax-attributes\n *\n * > Attribute Names must consist of one or more characters\n * other than the space characters, U+0000 NULL,\n * '\"', \"'\", \">\", \"/\", \"=\", the control characters,\n * and any characters that are not defined by Unicode.\n */\n\n\nconst invalidAttributeNameRegex = /[\\s\"'>/=\\x00-\\x1f]/;\n/**\n * Convert into an HTML markup string\n */\n\nconst toMarkup = function (tagName) {\n let markup = \"<\" + tagName; // Add the class\n\n if (this.classes.length) {\n markup += \" class=\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n let styles = \"\"; // Add the styles, after hyphenation\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n } // Add the attributes\n\n\n for (const attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n if (invalidAttributeNameRegex.test(attr)) {\n throw new src_ParseError(\"Invalid attribute name '\" + attr + \"'\");\n }\n\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \">\"; // Add the markup of the children, also as markup\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n// This type does not include all CSS properties. Additional properties should\n// be added as needed.\n\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n *\n * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan\n * otherwise. This typesafety is important when HTML builders access a span's\n * children.\n */\nclass Span {\n constructor(classes, children, options, style) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options, style);\n this.children = children || [];\n }\n /**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not\n * all browsers support attributes the same, and having too many custom\n * attributes is probably bad.\n */\n\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"span\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"span\");\n }\n\n}\n/**\n * This node represents an anchor () element with a hyperlink. See `span`\n * for further details.\n */\n\nclass Anchor {\n constructor(href, classes, children, options) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options);\n this.children = children || [];\n this.setAttribute('href', href);\n }\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"a\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"a\");\n }\n\n}\n/**\n * This node represents an image embed () element.\n */\n\nclass Img {\n constructor(src, alt, style) {\n this.src = void 0;\n this.alt = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.alt = alt;\n this.src = src;\n this.classes = [\"mord\"];\n this.style = style;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n const node = document.createElement(\"img\");\n node.src = this.src;\n node.alt = this.alt;\n node.className = \"mord\"; // Apply inline styles\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe\n node.style[style] = this.style[style];\n }\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\\\"\"\";\n return markup;\n }\n\n}\nconst iCombinations = {\n 'î': '\\u0131\\u0302',\n 'ï': '\\u0131\\u0308',\n 'í': '\\u0131\\u0301',\n // 'ī': '\\u0131\\u0304', // enable when we add Extended Latin\n 'ì': '\\u0131\\u0300'\n};\n/**\n * A symbol node contains information about a single symbol. It either renders\n * to a single text node, or a span with a single text node in it, depending on\n * whether it has CSS classes, styles, or needs italic correction.\n */\n\nclass SymbolNode {\n constructor(text, height, depth, italic, skew, width, classes, style) {\n this.text = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.italic = void 0;\n this.skew = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.classes = void 0;\n this.style = void 0;\n this.text = text;\n this.height = height || 0;\n this.depth = depth || 0;\n this.italic = italic || 0;\n this.skew = skew || 0;\n this.width = width || 0;\n this.classes = classes || [];\n this.style = style || {};\n this.maxFontSize = 0; // Mark text from non-Latin scripts with specific classes so that we\n // can specify which fonts to use. This allows us to render these\n // characters with a serif font in situations where the browser would\n // either default to a sans serif or render a placeholder character.\n // We use CSS class names like cjk_fallback, hangul_fallback and\n // brahmic_fallback. See ./unicodeScripts.js for the set of possible\n // script names\n\n const script = scriptFromCodepoint(this.text.charCodeAt(0));\n\n if (script) {\n this.classes.push(script + \"_fallback\");\n }\n\n if (/[îïíì]/.test(this.text)) {\n // add ī when we add Extended Latin\n this.text = iCombinations[this.text];\n }\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /**\n * Creates a text node or span from a symbol node. Note that a span is only\n * created if it is needed.\n */\n\n\n toNode() {\n const node = document.createTextNode(this.text);\n let span = null;\n\n if (this.italic > 0) {\n span = document.createElement(\"span\");\n span.style.marginRight = makeEm(this.italic);\n }\n\n if (this.classes.length > 0) {\n span = span || document.createElement(\"span\");\n span.className = createClass(this.classes);\n }\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n span = span || document.createElement(\"span\"); // $FlowFixMe Flow doesn't seem to understand span.style's type.\n\n span.style[style] = this.style[style];\n }\n }\n\n if (span) {\n span.appendChild(node);\n return span;\n } else {\n return node;\n }\n }\n /**\n * Creates markup for a symbol node.\n */\n\n\n toMarkup() {\n // TODO(alpert): More duplication than I'd like from\n // span.prototype.toMarkup and symbolNode.prototype.toNode...\n let needsSpan = false;\n let markup = \" 0) {\n styles += \"margin-right:\" + this.italic + \"em;\";\n }\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n needsSpan = true;\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n }\n\n const escaped = utils.escape(this.text);\n\n if (needsSpan) {\n markup += \">\";\n markup += escaped;\n markup += \"\";\n return markup;\n } else {\n return escaped;\n }\n }\n\n}\n/**\n * SVG nodes are used to render stretchy wide elements.\n */\n\nclass SvgNode {\n constructor(children, attributes) {\n this.children = void 0;\n this.attributes = void 0;\n this.children = children || [];\n this.attributes = attributes || {};\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"svg\"); // Apply attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (let i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\";\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n }\n\n}\nclass PathNode {\n constructor(pathName, alternate) {\n this.pathName = void 0;\n this.alternate = void 0;\n this.pathName = pathName;\n this.alternate = alternate; // Used only for \\sqrt, \\phase, & tall delims\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"path\");\n\n if (this.alternate) {\n node.setAttribute(\"d\", this.alternate);\n } else {\n node.setAttribute(\"d\", path[this.pathName]);\n }\n\n return node;\n }\n\n toMarkup() {\n if (this.alternate) {\n return \"\";\n } else {\n return \"\";\n }\n }\n\n}\nclass LineNode {\n constructor(attributes) {\n this.attributes = void 0;\n this.attributes = attributes || {};\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"line\"); // Apply attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\";\n return markup;\n }\n\n}\nfunction assertSymbolDomNode(group) {\n if (group instanceof SymbolNode) {\n return group;\n } else {\n throw new Error(\"Expected symbolNode but got \" + String(group) + \".\");\n }\n}\nfunction assertSpan(group) {\n if (group instanceof Span) {\n return group;\n } else {\n throw new Error(\"Expected span but got \" + String(group) + \".\");\n }\n}\n;// CONCATENATED MODULE: ./src/symbols.js\n/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like 'a' or ';').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either \"main\" (the\n normal font), or \"ams\" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n \"textord\", \"mathord\", etc).\n See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n * replaced with (i.e. \"\\phi\" has a replace value of \"\\u03d5\", the phi\n * character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. \"math\" or \"text\").\n */\n// Some of these have a \"-token\" suffix since these are also used as `ParseNode`\n// types for raw text tokens, and we want to avoid conflicts with higher-level\n// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by\n// looking up the `symbols` map.\nconst ATOMS = {\n \"bin\": 1,\n \"close\": 1,\n \"inner\": 1,\n \"open\": 1,\n \"punct\": 1,\n \"rel\": 1\n};\nconst NON_ATOMS = {\n \"accent-token\": 1,\n \"mathord\": 1,\n \"op-token\": 1,\n \"spacing\": 1,\n \"textord\": 1\n};\nconst symbols = {\n \"math\": {},\n \"text\": {}\n};\n/* harmony default export */ var src_symbols = (symbols);\n/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */\n\nfunction defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) {\n symbols[mode][name] = {\n font,\n group,\n replace\n };\n\n if (acceptUnicodeChar && replace) {\n symbols[mode][replace] = symbols[mode][name];\n }\n} // Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n// modes:\n\nconst math = \"math\";\nconst symbols_text = \"text\"; // fonts:\n\nconst main = \"main\";\nconst ams = \"ams\"; // groups:\n\nconst accent = \"accent-token\";\nconst bin = \"bin\";\nconst symbols_close = \"close\";\nconst inner = \"inner\";\nconst mathord = \"mathord\";\nconst op = \"op-token\";\nconst symbols_open = \"open\";\nconst punct = \"punct\";\nconst rel = \"rel\";\nconst spacing = \"spacing\";\nconst textord = \"textord\"; // Now comes the symbol table\n// Relation Symbols\n\ndefineSymbol(math, main, rel, \"\\u2261\", \"\\\\equiv\", true);\ndefineSymbol(math, main, rel, \"\\u227a\", \"\\\\prec\", true);\ndefineSymbol(math, main, rel, \"\\u227b\", \"\\\\succ\", true);\ndefineSymbol(math, main, rel, \"\\u223c\", \"\\\\sim\", true);\ndefineSymbol(math, main, rel, \"\\u22a5\", \"\\\\perp\");\ndefineSymbol(math, main, rel, \"\\u2aaf\", \"\\\\preceq\", true);\ndefineSymbol(math, main, rel, \"\\u2ab0\", \"\\\\succeq\", true);\ndefineSymbol(math, main, rel, \"\\u2243\", \"\\\\simeq\", true);\ndefineSymbol(math, main, rel, \"\\u2223\", \"\\\\mid\", true);\ndefineSymbol(math, main, rel, \"\\u226a\", \"\\\\ll\", true);\ndefineSymbol(math, main, rel, \"\\u226b\", \"\\\\gg\", true);\ndefineSymbol(math, main, rel, \"\\u224d\", \"\\\\asymp\", true);\ndefineSymbol(math, main, rel, \"\\u2225\", \"\\\\parallel\");\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\bowtie\", true);\ndefineSymbol(math, main, rel, \"\\u2323\", \"\\\\smile\", true);\ndefineSymbol(math, main, rel, \"\\u2291\", \"\\\\sqsubseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2292\", \"\\\\sqsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2250\", \"\\\\doteq\", true);\ndefineSymbol(math, main, rel, \"\\u2322\", \"\\\\frown\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\ni\", true);\ndefineSymbol(math, main, rel, \"\\u221d\", \"\\\\propto\", true);\ndefineSymbol(math, main, rel, \"\\u22a2\", \"\\\\vdash\", true);\ndefineSymbol(math, main, rel, \"\\u22a3\", \"\\\\dashv\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\owns\"); // Punctuation\n\ndefineSymbol(math, main, punct, \"\\u002e\", \"\\\\ldotp\");\ndefineSymbol(math, main, punct, \"\\u22c5\", \"\\\\cdotp\"); // Misc Symbols\n\ndefineSymbol(math, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(symbols_text, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(math, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(symbols_text, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(math, main, textord, \"\\u2135\", \"\\\\aleph\", true);\ndefineSymbol(math, main, textord, \"\\u2200\", \"\\\\forall\", true);\ndefineSymbol(math, main, textord, \"\\u210f\", \"\\\\hbar\", true);\ndefineSymbol(math, main, textord, \"\\u2203\", \"\\\\exists\", true);\ndefineSymbol(math, main, textord, \"\\u2207\", \"\\\\nabla\", true);\ndefineSymbol(math, main, textord, \"\\u266d\", \"\\\\flat\", true);\ndefineSymbol(math, main, textord, \"\\u2113\", \"\\\\ell\", true);\ndefineSymbol(math, main, textord, \"\\u266e\", \"\\\\natural\", true);\ndefineSymbol(math, main, textord, \"\\u2663\", \"\\\\clubsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2118\", \"\\\\wp\", true);\ndefineSymbol(math, main, textord, \"\\u266f\", \"\\\\sharp\", true);\ndefineSymbol(math, main, textord, \"\\u2662\", \"\\\\diamondsuit\", true);\ndefineSymbol(math, main, textord, \"\\u211c\", \"\\\\Re\", true);\ndefineSymbol(math, main, textord, \"\\u2661\", \"\\\\heartsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2111\", \"\\\\Im\", true);\ndefineSymbol(math, main, textord, \"\\u2660\", \"\\\\spadesuit\", true);\ndefineSymbol(math, main, textord, \"\\u00a7\", \"\\\\S\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00a7\", \"\\\\S\");\ndefineSymbol(math, main, textord, \"\\u00b6\", \"\\\\P\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00b6\", \"\\\\P\"); // Math and Text\n\ndefineSymbol(math, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\textdagger\");\ndefineSymbol(math, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\textdaggerdbl\"); // Large Delimiters\n\ndefineSymbol(math, main, symbols_close, \"\\u23b1\", \"\\\\rmoustache\", true);\ndefineSymbol(math, main, symbols_open, \"\\u23b0\", \"\\\\lmoustache\", true);\ndefineSymbol(math, main, symbols_close, \"\\u27ef\", \"\\\\rgroup\", true);\ndefineSymbol(math, main, symbols_open, \"\\u27ee\", \"\\\\lgroup\", true); // Binary Operators\n\ndefineSymbol(math, main, bin, \"\\u2213\", \"\\\\mp\", true);\ndefineSymbol(math, main, bin, \"\\u2296\", \"\\\\ominus\", true);\ndefineSymbol(math, main, bin, \"\\u228e\", \"\\\\uplus\", true);\ndefineSymbol(math, main, bin, \"\\u2293\", \"\\\\sqcap\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"\\\\ast\");\ndefineSymbol(math, main, bin, \"\\u2294\", \"\\\\sqcup\", true);\ndefineSymbol(math, main, bin, \"\\u25ef\", \"\\\\bigcirc\", true);\ndefineSymbol(math, main, bin, \"\\u2219\", \"\\\\bullet\", true);\ndefineSymbol(math, main, bin, \"\\u2021\", \"\\\\ddagger\");\ndefineSymbol(math, main, bin, \"\\u2240\", \"\\\\wr\", true);\ndefineSymbol(math, main, bin, \"\\u2a3f\", \"\\\\amalg\");\ndefineSymbol(math, main, bin, \"\\u0026\", \"\\\\And\"); // from amsmath\n// Arrow Symbols\n\ndefineSymbol(math, main, rel, \"\\u27f5\", \"\\\\longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d0\", \"\\\\Leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f8\", \"\\\\Longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f6\", \"\\\\longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d2\", \"\\\\Rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f9\", \"\\\\Longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2194\", \"\\\\leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f7\", \"\\\\longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d4\", \"\\\\Leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27fa\", \"\\\\Longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a6\", \"\\\\mapsto\", true);\ndefineSymbol(math, main, rel, \"\\u27fc\", \"\\\\longmapsto\", true);\ndefineSymbol(math, main, rel, \"\\u2197\", \"\\\\nearrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a9\", \"\\\\hookleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21aa\", \"\\\\hookrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2198\", \"\\\\searrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bc\", \"\\\\leftharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u21c0\", \"\\\\rightharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u2199\", \"\\\\swarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bd\", \"\\\\leftharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u21c1\", \"\\\\rightharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u2196\", \"\\\\nwarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21cc\", \"\\\\rightleftharpoons\", true); // AMS Negated Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u226e\", \"\\\\nless\", true); // Symbol names preceded by \"@\" each have a corresponding macro.\n\ndefineSymbol(math, ams, rel, \"\\ue010\", \"\\\\@nleqslant\");\ndefineSymbol(math, ams, rel, \"\\ue011\", \"\\\\@nleqq\");\ndefineSymbol(math, ams, rel, \"\\u2a87\", \"\\\\lneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2268\", \"\\\\lneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00c\", \"\\\\@lvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e6\", \"\\\\lnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a89\", \"\\\\lnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2280\", \"\\\\nprec\", true); // unicode-math maps \\u22e0 to \\npreccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e0\", \"\\\\npreceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e8\", \"\\\\precnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab9\", \"\\\\precnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2241\", \"\\\\nsim\", true);\ndefineSymbol(math, ams, rel, \"\\ue006\", \"\\\\@nshortmid\");\ndefineSymbol(math, ams, rel, \"\\u2224\", \"\\\\nmid\", true);\ndefineSymbol(math, ams, rel, \"\\u22ac\", \"\\\\nvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ad\", \"\\\\nvDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ea\", \"\\\\ntriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22ec\", \"\\\\ntrianglelefteq\", true);\ndefineSymbol(math, ams, rel, \"\\u228a\", \"\\\\subsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01a\", \"\\\\@varsubsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acb\", \"\\\\subsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue017\", \"\\\\@varsubsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u226f\", \"\\\\ngtr\", true);\ndefineSymbol(math, ams, rel, \"\\ue00f\", \"\\\\@ngeqslant\");\ndefineSymbol(math, ams, rel, \"\\ue00e\", \"\\\\@ngeqq\");\ndefineSymbol(math, ams, rel, \"\\u2a88\", \"\\\\gneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2269\", \"\\\\gneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00d\", \"\\\\@gvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e7\", \"\\\\gnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8a\", \"\\\\gnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2281\", \"\\\\nsucc\", true); // unicode-math maps \\u22e1 to \\nsucccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e1\", \"\\\\nsucceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e9\", \"\\\\succnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2aba\", \"\\\\succnapprox\", true); // unicode-math maps \\u2246 to \\simneqq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u2246\", \"\\\\ncong\", true);\ndefineSymbol(math, ams, rel, \"\\ue007\", \"\\\\@nshortparallel\");\ndefineSymbol(math, ams, rel, \"\\u2226\", \"\\\\nparallel\", true);\ndefineSymbol(math, ams, rel, \"\\u22af\", \"\\\\nVDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22eb\", \"\\\\ntriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22ed\", \"\\\\ntrianglerighteq\", true);\ndefineSymbol(math, ams, rel, \"\\ue018\", \"\\\\@nsupseteqq\");\ndefineSymbol(math, ams, rel, \"\\u228b\", \"\\\\supsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01b\", \"\\\\@varsupsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acc\", \"\\\\supsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue019\", \"\\\\@varsupsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u22ae\", \"\\\\nVdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab5\", \"\\\\precneqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab6\", \"\\\\succneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue016\", \"\\\\@nsubseteqq\");\ndefineSymbol(math, ams, bin, \"\\u22b4\", \"\\\\unlhd\");\ndefineSymbol(math, ams, bin, \"\\u22b5\", \"\\\\unrhd\"); // AMS Negated Arrows\n\ndefineSymbol(math, ams, rel, \"\\u219a\", \"\\\\nleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219b\", \"\\\\nrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cd\", \"\\\\nLeftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cf\", \"\\\\nRightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ae\", \"\\\\nleftrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ce\", \"\\\\nLeftrightarrow\", true); // AMS Misc\n\ndefineSymbol(math, ams, rel, \"\\u25b3\", \"\\\\vartriangle\");\ndefineSymbol(math, ams, textord, \"\\u210f\", \"\\\\hslash\");\ndefineSymbol(math, ams, textord, \"\\u25bd\", \"\\\\triangledown\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\lozenge\");\ndefineSymbol(math, ams, textord, \"\\u24c8\", \"\\\\circledS\");\ndefineSymbol(math, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(symbols_text, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(math, ams, textord, \"\\u2221\", \"\\\\measuredangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2204\", \"\\\\nexists\");\ndefineSymbol(math, ams, textord, \"\\u2127\", \"\\\\mho\");\ndefineSymbol(math, ams, textord, \"\\u2132\", \"\\\\Finv\", true);\ndefineSymbol(math, ams, textord, \"\\u2141\", \"\\\\Game\", true);\ndefineSymbol(math, ams, textord, \"\\u2035\", \"\\\\backprime\");\ndefineSymbol(math, ams, textord, \"\\u25b2\", \"\\\\blacktriangle\");\ndefineSymbol(math, ams, textord, \"\\u25bc\", \"\\\\blacktriangledown\");\ndefineSymbol(math, ams, textord, \"\\u25a0\", \"\\\\blacksquare\");\ndefineSymbol(math, ams, textord, \"\\u29eb\", \"\\\\blacklozenge\");\ndefineSymbol(math, ams, textord, \"\\u2605\", \"\\\\bigstar\");\ndefineSymbol(math, ams, textord, \"\\u2222\", \"\\\\sphericalangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2201\", \"\\\\complement\", true); // unicode-math maps U+F0 to \\matheth. We map to AMS function \\eth\n\ndefineSymbol(math, ams, textord, \"\\u00f0\", \"\\\\eth\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00f0\", \"\\u00f0\");\ndefineSymbol(math, ams, textord, \"\\u2571\", \"\\\\diagup\");\ndefineSymbol(math, ams, textord, \"\\u2572\", \"\\\\diagdown\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\square\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\Box\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\Diamond\"); // unicode-math maps U+A5 to \\mathyen. We map to AMS function \\yen\n\ndefineSymbol(math, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(math, ams, textord, \"\\u2713\", \"\\\\checkmark\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\u2713\", \"\\\\checkmark\"); // AMS Hebrew\n\ndefineSymbol(math, ams, textord, \"\\u2136\", \"\\\\beth\", true);\ndefineSymbol(math, ams, textord, \"\\u2138\", \"\\\\daleth\", true);\ndefineSymbol(math, ams, textord, \"\\u2137\", \"\\\\gimel\", true); // AMS Greek\n\ndefineSymbol(math, ams, textord, \"\\u03dd\", \"\\\\digamma\", true);\ndefineSymbol(math, ams, textord, \"\\u03f0\", \"\\\\varkappa\"); // AMS Delimiters\n\ndefineSymbol(math, ams, symbols_open, \"\\u250c\", \"\\\\@ulcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2510\", \"\\\\@urcorner\", true);\ndefineSymbol(math, ams, symbols_open, \"\\u2514\", \"\\\\@llcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2518\", \"\\\\@lrcorner\", true); // AMS Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u2266\", \"\\\\leqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7d\", \"\\\\leqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a95\", \"\\\\eqslantless\", true);\ndefineSymbol(math, ams, rel, \"\\u2272\", \"\\\\lesssim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a85\", \"\\\\lessapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u224a\", \"\\\\approxeq\", true);\ndefineSymbol(math, ams, bin, \"\\u22d6\", \"\\\\lessdot\");\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\lll\", true);\ndefineSymbol(math, ams, rel, \"\\u2276\", \"\\\\lessgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u22da\", \"\\\\lesseqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8b\", \"\\\\lesseqqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\doteqdot\");\ndefineSymbol(math, ams, rel, \"\\u2253\", \"\\\\risingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u2252\", \"\\\\fallingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u223d\", \"\\\\backsim\", true);\ndefineSymbol(math, ams, rel, \"\\u22cd\", \"\\\\backsimeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ac5\", \"\\\\subseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d0\", \"\\\\Subset\", true);\ndefineSymbol(math, ams, rel, \"\\u228f\", \"\\\\sqsubset\", true);\ndefineSymbol(math, ams, rel, \"\\u227c\", \"\\\\preccurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22de\", \"\\\\curlyeqprec\", true);\ndefineSymbol(math, ams, rel, \"\\u227e\", \"\\\\precsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab7\", \"\\\\precapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b2\", \"\\\\vartriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22b4\", \"\\\\trianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u22a8\", \"\\\\vDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22aa\", \"\\\\Vvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2323\", \"\\\\smallsmile\");\ndefineSymbol(math, ams, rel, \"\\u2322\", \"\\\\smallfrown\");\ndefineSymbol(math, ams, rel, \"\\u224f\", \"\\\\bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u224e\", \"\\\\Bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2267\", \"\\\\geqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7e\", \"\\\\geqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a96\", \"\\\\eqslantgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2273\", \"\\\\gtrsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a86\", \"\\\\gtrapprox\", true);\ndefineSymbol(math, ams, bin, \"\\u22d7\", \"\\\\gtrdot\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\ggg\", true);\ndefineSymbol(math, ams, rel, \"\\u2277\", \"\\\\gtrless\", true);\ndefineSymbol(math, ams, rel, \"\\u22db\", \"\\\\gtreqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8c\", \"\\\\gtreqqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2256\", \"\\\\eqcirc\", true);\ndefineSymbol(math, ams, rel, \"\\u2257\", \"\\\\circeq\", true);\ndefineSymbol(math, ams, rel, \"\\u225c\", \"\\\\triangleq\", true);\ndefineSymbol(math, ams, rel, \"\\u223c\", \"\\\\thicksim\");\ndefineSymbol(math, ams, rel, \"\\u2248\", \"\\\\thickapprox\");\ndefineSymbol(math, ams, rel, \"\\u2ac6\", \"\\\\supseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d1\", \"\\\\Supset\", true);\ndefineSymbol(math, ams, rel, \"\\u2290\", \"\\\\sqsupset\", true);\ndefineSymbol(math, ams, rel, \"\\u227d\", \"\\\\succcurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22df\", \"\\\\curlyeqsucc\", true);\ndefineSymbol(math, ams, rel, \"\\u227f\", \"\\\\succsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab8\", \"\\\\succapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b3\", \"\\\\vartriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22b5\", \"\\\\trianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\u22a9\", \"\\\\Vdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2223\", \"\\\\shortmid\");\ndefineSymbol(math, ams, rel, \"\\u2225\", \"\\\\shortparallel\");\ndefineSymbol(math, ams, rel, \"\\u226c\", \"\\\\between\", true);\ndefineSymbol(math, ams, rel, \"\\u22d4\", \"\\\\pitchfork\", true);\ndefineSymbol(math, ams, rel, \"\\u221d\", \"\\\\varpropto\");\ndefineSymbol(math, ams, rel, \"\\u25c0\", \"\\\\blacktriangleleft\"); // unicode-math says that \\therefore is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2234\", \"\\\\therefore\", true);\ndefineSymbol(math, ams, rel, \"\\u220d\", \"\\\\backepsilon\");\ndefineSymbol(math, ams, rel, \"\\u25b6\", \"\\\\blacktriangleright\"); // unicode-math says that \\because is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2235\", \"\\\\because\", true);\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\llless\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\gggtr\");\ndefineSymbol(math, ams, bin, \"\\u22b2\", \"\\\\lhd\");\ndefineSymbol(math, ams, bin, \"\\u22b3\", \"\\\\rhd\");\ndefineSymbol(math, ams, rel, \"\\u2242\", \"\\\\eqsim\", true);\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\Join\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\Doteq\", true); // AMS Binary Operators\n\ndefineSymbol(math, ams, bin, \"\\u2214\", \"\\\\dotplus\", true);\ndefineSymbol(math, ams, bin, \"\\u2216\", \"\\\\smallsetminus\");\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\Cap\", true);\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\Cup\", true);\ndefineSymbol(math, ams, bin, \"\\u2a5e\", \"\\\\doublebarwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u229f\", \"\\\\boxminus\", true);\ndefineSymbol(math, ams, bin, \"\\u229e\", \"\\\\boxplus\", true);\ndefineSymbol(math, ams, bin, \"\\u22c7\", \"\\\\divideontimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22c9\", \"\\\\ltimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22ca\", \"\\\\rtimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cb\", \"\\\\leftthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cc\", \"\\\\rightthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cf\", \"\\\\curlywedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22ce\", \"\\\\curlyvee\", true);\ndefineSymbol(math, ams, bin, \"\\u229d\", \"\\\\circleddash\", true);\ndefineSymbol(math, ams, bin, \"\\u229b\", \"\\\\circledast\", true);\ndefineSymbol(math, ams, bin, \"\\u22c5\", \"\\\\centerdot\");\ndefineSymbol(math, ams, bin, \"\\u22ba\", \"\\\\intercal\", true);\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\doublecap\");\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\doublecup\");\ndefineSymbol(math, ams, bin, \"\\u22a0\", \"\\\\boxtimes\", true); // AMS Arrows\n// Note: unicode-math maps \\u21e2 to their own function \\rightdasharrow.\n// We'll map it to AMS function \\dashrightarrow. It produces the same atom.\n\ndefineSymbol(math, ams, rel, \"\\u21e2\", \"\\\\dashrightarrow\", true); // unicode-math maps \\u21e0 to \\leftdasharrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21e0\", \"\\\\dashleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c7\", \"\\\\leftleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c6\", \"\\\\leftrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21da\", \"\\\\Lleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219e\", \"\\\\twoheadleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a2\", \"\\\\leftarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ab\", \"\\\\looparrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21cb\", \"\\\\leftrightharpoons\", true);\ndefineSymbol(math, ams, rel, \"\\u21b6\", \"\\\\curvearrowleft\", true); // unicode-math maps \\u21ba to \\acwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21ba\", \"\\\\circlearrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21b0\", \"\\\\Lsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21c8\", \"\\\\upuparrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21bf\", \"\\\\upharpoonleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21c3\", \"\\\\downharpoonleft\", true);\ndefineSymbol(math, main, rel, \"\\u22b6\", \"\\\\origof\", true); // not in font\n\ndefineSymbol(math, main, rel, \"\\u22b7\", \"\\\\imageof\", true); // not in font\n\ndefineSymbol(math, ams, rel, \"\\u22b8\", \"\\\\multimap\", true);\ndefineSymbol(math, ams, rel, \"\\u21ad\", \"\\\\leftrightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c9\", \"\\\\rightrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c4\", \"\\\\rightleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21a0\", \"\\\\twoheadrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a3\", \"\\\\rightarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ac\", \"\\\\looparrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b7\", \"\\\\curvearrowright\", true); // unicode-math maps \\u21bb to \\cwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21bb\", \"\\\\circlearrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b1\", \"\\\\Rsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21ca\", \"\\\\downdownarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\upharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21c2\", \"\\\\downharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\rightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\leadsto\");\ndefineSymbol(math, ams, rel, \"\\u21db\", \"\\\\Rrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\restriction\");\ndefineSymbol(math, main, textord, \"\\u2018\", \"`\");\ndefineSymbol(math, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\textdollar\");\ndefineSymbol(math, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(symbols_text, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(math, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\textunderscore\");\ndefineSymbol(math, main, textord, \"\\u2220\", \"\\\\angle\", true);\ndefineSymbol(math, main, textord, \"\\u221e\", \"\\\\infty\", true);\ndefineSymbol(math, main, textord, \"\\u2032\", \"\\\\prime\");\ndefineSymbol(math, main, textord, \"\\u25b3\", \"\\\\triangle\");\ndefineSymbol(math, main, textord, \"\\u0393\", \"\\\\Gamma\", true);\ndefineSymbol(math, main, textord, \"\\u0394\", \"\\\\Delta\", true);\ndefineSymbol(math, main, textord, \"\\u0398\", \"\\\\Theta\", true);\ndefineSymbol(math, main, textord, \"\\u039b\", \"\\\\Lambda\", true);\ndefineSymbol(math, main, textord, \"\\u039e\", \"\\\\Xi\", true);\ndefineSymbol(math, main, textord, \"\\u03a0\", \"\\\\Pi\", true);\ndefineSymbol(math, main, textord, \"\\u03a3\", \"\\\\Sigma\", true);\ndefineSymbol(math, main, textord, \"\\u03a5\", \"\\\\Upsilon\", true);\ndefineSymbol(math, main, textord, \"\\u03a6\", \"\\\\Phi\", true);\ndefineSymbol(math, main, textord, \"\\u03a8\", \"\\\\Psi\", true);\ndefineSymbol(math, main, textord, \"\\u03a9\", \"\\\\Omega\", true);\ndefineSymbol(math, main, textord, \"A\", \"\\u0391\");\ndefineSymbol(math, main, textord, \"B\", \"\\u0392\");\ndefineSymbol(math, main, textord, \"E\", \"\\u0395\");\ndefineSymbol(math, main, textord, \"Z\", \"\\u0396\");\ndefineSymbol(math, main, textord, \"H\", \"\\u0397\");\ndefineSymbol(math, main, textord, \"I\", \"\\u0399\");\ndefineSymbol(math, main, textord, \"K\", \"\\u039A\");\ndefineSymbol(math, main, textord, \"M\", \"\\u039C\");\ndefineSymbol(math, main, textord, \"N\", \"\\u039D\");\ndefineSymbol(math, main, textord, \"O\", \"\\u039F\");\ndefineSymbol(math, main, textord, \"P\", \"\\u03A1\");\ndefineSymbol(math, main, textord, \"T\", \"\\u03A4\");\ndefineSymbol(math, main, textord, \"X\", \"\\u03A7\");\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\neg\", true);\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\lnot\");\ndefineSymbol(math, main, textord, \"\\u22a4\", \"\\\\top\");\ndefineSymbol(math, main, textord, \"\\u22a5\", \"\\\\bot\");\ndefineSymbol(math, main, textord, \"\\u2205\", \"\\\\emptyset\");\ndefineSymbol(math, ams, textord, \"\\u2205\", \"\\\\varnothing\");\ndefineSymbol(math, main, mathord, \"\\u03b1\", \"\\\\alpha\", true);\ndefineSymbol(math, main, mathord, \"\\u03b2\", \"\\\\beta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b3\", \"\\\\gamma\", true);\ndefineSymbol(math, main, mathord, \"\\u03b4\", \"\\\\delta\", true);\ndefineSymbol(math, main, mathord, \"\\u03f5\", \"\\\\epsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03b6\", \"\\\\zeta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b7\", \"\\\\eta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b8\", \"\\\\theta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b9\", \"\\\\iota\", true);\ndefineSymbol(math, main, mathord, \"\\u03ba\", \"\\\\kappa\", true);\ndefineSymbol(math, main, mathord, \"\\u03bb\", \"\\\\lambda\", true);\ndefineSymbol(math, main, mathord, \"\\u03bc\", \"\\\\mu\", true);\ndefineSymbol(math, main, mathord, \"\\u03bd\", \"\\\\nu\", true);\ndefineSymbol(math, main, mathord, \"\\u03be\", \"\\\\xi\", true);\ndefineSymbol(math, main, mathord, \"\\u03bf\", \"\\\\omicron\", true);\ndefineSymbol(math, main, mathord, \"\\u03c0\", \"\\\\pi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c1\", \"\\\\rho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c3\", \"\\\\sigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c4\", \"\\\\tau\", true);\ndefineSymbol(math, main, mathord, \"\\u03c5\", \"\\\\upsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d5\", \"\\\\phi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c7\", \"\\\\chi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c8\", \"\\\\psi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c9\", \"\\\\omega\", true);\ndefineSymbol(math, main, mathord, \"\\u03b5\", \"\\\\varepsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d1\", \"\\\\vartheta\", true);\ndefineSymbol(math, main, mathord, \"\\u03d6\", \"\\\\varpi\", true);\ndefineSymbol(math, main, mathord, \"\\u03f1\", \"\\\\varrho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c2\", \"\\\\varsigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c6\", \"\\\\varphi\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"*\", true);\ndefineSymbol(math, main, bin, \"+\", \"+\");\ndefineSymbol(math, main, bin, \"\\u2212\", \"-\", true);\ndefineSymbol(math, main, bin, \"\\u22c5\", \"\\\\cdot\", true);\ndefineSymbol(math, main, bin, \"\\u2218\", \"\\\\circ\", true);\ndefineSymbol(math, main, bin, \"\\u00f7\", \"\\\\div\", true);\ndefineSymbol(math, main, bin, \"\\u00b1\", \"\\\\pm\", true);\ndefineSymbol(math, main, bin, \"\\u00d7\", \"\\\\times\", true);\ndefineSymbol(math, main, bin, \"\\u2229\", \"\\\\cap\", true);\ndefineSymbol(math, main, bin, \"\\u222a\", \"\\\\cup\", true);\ndefineSymbol(math, main, bin, \"\\u2216\", \"\\\\setminus\", true);\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\land\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\lor\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\wedge\", true);\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\vee\", true);\ndefineSymbol(math, main, textord, \"\\u221a\", \"\\\\surd\");\ndefineSymbol(math, main, symbols_open, \"\\u27e8\", \"\\\\langle\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2223\", \"\\\\lvert\");\ndefineSymbol(math, main, symbols_open, \"\\u2225\", \"\\\\lVert\");\ndefineSymbol(math, main, symbols_close, \"?\", \"?\");\ndefineSymbol(math, main, symbols_close, \"!\", \"!\");\ndefineSymbol(math, main, symbols_close, \"\\u27e9\", \"\\\\rangle\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2223\", \"\\\\rvert\");\ndefineSymbol(math, main, symbols_close, \"\\u2225\", \"\\\\rVert\");\ndefineSymbol(math, main, rel, \"=\", \"=\");\ndefineSymbol(math, main, rel, \":\", \":\");\ndefineSymbol(math, main, rel, \"\\u2248\", \"\\\\approx\", true);\ndefineSymbol(math, main, rel, \"\\u2245\", \"\\\\cong\", true);\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\ge\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\geq\", true);\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\gets\");\ndefineSymbol(math, main, rel, \">\", \"\\\\gt\", true);\ndefineSymbol(math, main, rel, \"\\u2208\", \"\\\\in\", true);\ndefineSymbol(math, main, rel, \"\\ue020\", \"\\\\@not\");\ndefineSymbol(math, main, rel, \"\\u2282\", \"\\\\subset\", true);\ndefineSymbol(math, main, rel, \"\\u2283\", \"\\\\supset\", true);\ndefineSymbol(math, main, rel, \"\\u2286\", \"\\\\subseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2287\", \"\\\\supseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2288\", \"\\\\nsubseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2289\", \"\\\\nsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u22a8\", \"\\\\models\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\le\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\leq\", true);\ndefineSymbol(math, main, rel, \"<\", \"\\\\lt\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\to\");\ndefineSymbol(math, ams, rel, \"\\u2271\", \"\\\\ngeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2270\", \"\\\\nleq\", true);\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\space\"); // Ref: LaTeX Source 2e: \\DeclareRobustCommand{\\nobreakspace}{%\n\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \" \");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\space\");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(math, main, spacing, null, \"\\\\nobreak\");\ndefineSymbol(math, main, spacing, null, \"\\\\allowbreak\");\ndefineSymbol(math, main, punct, \",\", \",\");\ndefineSymbol(math, main, punct, \";\", \";\");\ndefineSymbol(math, ams, bin, \"\\u22bc\", \"\\\\barwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22bb\", \"\\\\veebar\", true);\ndefineSymbol(math, main, bin, \"\\u2299\", \"\\\\odot\", true);\ndefineSymbol(math, main, bin, \"\\u2295\", \"\\\\oplus\", true);\ndefineSymbol(math, main, bin, \"\\u2297\", \"\\\\otimes\", true);\ndefineSymbol(math, main, textord, \"\\u2202\", \"\\\\partial\", true);\ndefineSymbol(math, main, bin, \"\\u2298\", \"\\\\oslash\", true);\ndefineSymbol(math, ams, bin, \"\\u229a\", \"\\\\circledcirc\", true);\ndefineSymbol(math, ams, bin, \"\\u22a1\", \"\\\\boxdot\", true);\ndefineSymbol(math, main, bin, \"\\u25b3\", \"\\\\bigtriangleup\");\ndefineSymbol(math, main, bin, \"\\u25bd\", \"\\\\bigtriangledown\");\ndefineSymbol(math, main, bin, \"\\u2020\", \"\\\\dagger\");\ndefineSymbol(math, main, bin, \"\\u22c4\", \"\\\\diamond\");\ndefineSymbol(math, main, bin, \"\\u22c6\", \"\\\\star\");\ndefineSymbol(math, main, bin, \"\\u25c3\", \"\\\\triangleleft\");\ndefineSymbol(math, main, bin, \"\\u25b9\", \"\\\\triangleright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\textbraceleft\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\textbraceright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\lbrace\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\rbrace\");\ndefineSymbol(math, main, symbols_open, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(math, main, symbols_close, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(math, main, symbols_open, \"(\", \"\\\\lparen\", true);\ndefineSymbol(math, main, symbols_close, \")\", \"\\\\rparen\", true);\ndefineSymbol(symbols_text, main, textord, \"<\", \"\\\\textless\", true); // in T1 fontenc\n\ndefineSymbol(symbols_text, main, textord, \">\", \"\\\\textgreater\", true); // in T1 fontenc\n\ndefineSymbol(math, main, symbols_open, \"\\u230a\", \"\\\\lfloor\", true);\ndefineSymbol(math, main, symbols_close, \"\\u230b\", \"\\\\rfloor\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2308\", \"\\\\lceil\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2309\", \"\\\\rceil\", true);\ndefineSymbol(math, main, textord, \"\\\\\", \"\\\\backslash\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"|\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"\\\\vert\");\ndefineSymbol(symbols_text, main, textord, \"|\", \"\\\\textbar\", true); // in T1 fontenc\n\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\|\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\Vert\");\ndefineSymbol(symbols_text, main, textord, \"\\u2225\", \"\\\\textbardbl\");\ndefineSymbol(symbols_text, main, textord, \"~\", \"\\\\textasciitilde\");\ndefineSymbol(symbols_text, main, textord, \"\\\\\", \"\\\\textbackslash\");\ndefineSymbol(symbols_text, main, textord, \"^\", \"\\\\textasciicircum\");\ndefineSymbol(math, main, rel, \"\\u2191\", \"\\\\uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d1\", \"\\\\Uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u2193\", \"\\\\downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d3\", \"\\\\Downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2195\", \"\\\\updownarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d5\", \"\\\\Updownarrow\", true);\ndefineSymbol(math, main, op, \"\\u2210\", \"\\\\coprod\");\ndefineSymbol(math, main, op, \"\\u22c1\", \"\\\\bigvee\");\ndefineSymbol(math, main, op, \"\\u22c0\", \"\\\\bigwedge\");\ndefineSymbol(math, main, op, \"\\u2a04\", \"\\\\biguplus\");\ndefineSymbol(math, main, op, \"\\u22c2\", \"\\\\bigcap\");\ndefineSymbol(math, main, op, \"\\u22c3\", \"\\\\bigcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\int\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\intop\");\ndefineSymbol(math, main, op, \"\\u222c\", \"\\\\iint\");\ndefineSymbol(math, main, op, \"\\u222d\", \"\\\\iiint\");\ndefineSymbol(math, main, op, \"\\u220f\", \"\\\\prod\");\ndefineSymbol(math, main, op, \"\\u2211\", \"\\\\sum\");\ndefineSymbol(math, main, op, \"\\u2a02\", \"\\\\bigotimes\");\ndefineSymbol(math, main, op, \"\\u2a01\", \"\\\\bigoplus\");\ndefineSymbol(math, main, op, \"\\u2a00\", \"\\\\bigodot\");\ndefineSymbol(math, main, op, \"\\u222e\", \"\\\\oint\");\ndefineSymbol(math, main, op, \"\\u222f\", \"\\\\oiint\");\ndefineSymbol(math, main, op, \"\\u2230\", \"\\\\oiiint\");\ndefineSymbol(math, main, op, \"\\u2a06\", \"\\\\bigsqcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\smallint\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\textellipsis\");\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\mathellipsis\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u22ef\", \"\\\\@cdots\", true);\ndefineSymbol(math, main, inner, \"\\u22f1\", \"\\\\ddots\", true); // \\vdots is a macro that uses one of these two symbols (with made-up names):\n\ndefineSymbol(math, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(symbols_text, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(math, main, accent, \"\\u02ca\", \"\\\\acute\");\ndefineSymbol(math, main, accent, \"\\u02cb\", \"\\\\grave\");\ndefineSymbol(math, main, accent, \"\\u00a8\", \"\\\\ddot\");\ndefineSymbol(math, main, accent, \"\\u007e\", \"\\\\tilde\");\ndefineSymbol(math, main, accent, \"\\u02c9\", \"\\\\bar\");\ndefineSymbol(math, main, accent, \"\\u02d8\", \"\\\\breve\");\ndefineSymbol(math, main, accent, \"\\u02c7\", \"\\\\check\");\ndefineSymbol(math, main, accent, \"\\u005e\", \"\\\\hat\");\ndefineSymbol(math, main, accent, \"\\u20d7\", \"\\\\vec\");\ndefineSymbol(math, main, accent, \"\\u02d9\", \"\\\\dot\");\ndefineSymbol(math, main, accent, \"\\u02da\", \"\\\\mathring\"); // \\imath and \\jmath should be invariant to \\mathrm, \\mathbf, etc., so use PUA\n\ndefineSymbol(math, main, mathord, \"\\ue131\", \"\\\\@imath\");\ndefineSymbol(math, main, mathord, \"\\ue237\", \"\\\\@jmath\");\ndefineSymbol(math, main, textord, \"\\u0131\", \"\\u0131\");\ndefineSymbol(math, main, textord, \"\\u0237\", \"\\u0237\");\ndefineSymbol(symbols_text, main, textord, \"\\u0131\", \"\\\\i\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0237\", \"\\\\j\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00df\", \"\\\\ss\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00e6\", \"\\\\ae\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0153\", \"\\\\oe\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00f8\", \"\\\\o\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00c6\", \"\\\\AE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0152\", \"\\\\OE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00d8\", \"\\\\O\", true);\ndefineSymbol(symbols_text, main, accent, \"\\u02ca\", \"\\\\'\"); // acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u02cb\", \"\\\\`\"); // grave\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c6\", \"\\\\^\"); // circumflex\n\ndefineSymbol(symbols_text, main, accent, \"\\u02dc\", \"\\\\~\"); // tilde\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c9\", \"\\\\=\"); // macron\n\ndefineSymbol(symbols_text, main, accent, \"\\u02d8\", \"\\\\u\"); // breve\n\ndefineSymbol(symbols_text, main, accent, \"\\u02d9\", \"\\\\.\"); // dot above\n\ndefineSymbol(symbols_text, main, accent, \"\\u00b8\", \"\\\\c\"); // cedilla\n\ndefineSymbol(symbols_text, main, accent, \"\\u02da\", \"\\\\r\"); // ring above\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c7\", \"\\\\v\"); // caron\n\ndefineSymbol(symbols_text, main, accent, \"\\u00a8\", '\\\\\"'); // diaeresis\n\ndefineSymbol(symbols_text, main, accent, \"\\u02dd\", \"\\\\H\"); // double acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u25ef\", \"\\\\textcircled\"); // \\bigcirc glyph\n// These ligatures are detected and created in Parser.js's `formLigatures`.\n\nconst ligatures = {\n \"--\": true,\n \"---\": true,\n \"``\": true,\n \"''\": true\n};\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"--\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"\\\\textendash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"---\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"\\\\textemdash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"`\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"\\\\textquoteleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"'\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"\\\\textquoteright\");\ndefineSymbol(symbols_text, main, textord, \"\\u201c\", \"``\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201c\", \"\\\\textquotedblleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u201d\", \"''\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201d\", \"\\\\textquotedblright\"); // \\degree from gensymb package\n\ndefineSymbol(math, main, textord, \"\\u00b0\", \"\\\\degree\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00b0\", \"\\\\degree\"); // \\textdegree from inputenc package\n\ndefineSymbol(symbols_text, main, textord, \"\\u00b0\", \"\\\\textdegree\", true); // TODO: In LaTeX, \\pounds can generate a different character in text and math\n// mode, but among our fonts, only Main-Regular defines this character \"163\".\n\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\mathsterling\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(symbols_text, main, textord, \"\\u00a3\", \"\\\\textsterling\", true);\ndefineSymbol(math, ams, textord, \"\\u2720\", \"\\\\maltese\");\ndefineSymbol(symbols_text, ams, textord, \"\\u2720\", \"\\\\maltese\"); // There are lots of symbols which are the same, so we add them in afterwards.\n// All of these are textords in math mode\n\nconst mathTextSymbols = \"0123456789/@.\\\"\";\n\nfor (let i = 0; i < mathTextSymbols.length; i++) {\n const ch = mathTextSymbols.charAt(i);\n defineSymbol(math, main, textord, ch, ch);\n} // All of these are textords in text mode\n\n\nconst textSymbols = \"0123456789!@*()-=+\\\";:?/.,\";\n\nfor (let i = 0; i < textSymbols.length; i++) {\n const ch = textSymbols.charAt(i);\n defineSymbol(symbols_text, main, textord, ch, ch);\n} // All of these are textords in text mode, and mathords in math mode\n\n\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\nfor (let i = 0; i < letters.length; i++) {\n const ch = letters.charAt(i);\n defineSymbol(math, main, mathord, ch, ch);\n defineSymbol(symbols_text, main, textord, ch, ch);\n} // Blackboard bold and script letters in Unicode range\n\n\ndefineSymbol(math, ams, textord, \"C\", \"\\u2102\"); // blackboard bold\n\ndefineSymbol(symbols_text, ams, textord, \"C\", \"\\u2102\");\ndefineSymbol(math, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(symbols_text, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(math, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(symbols_text, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(math, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(symbols_text, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(math, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(symbols_text, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(math, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(symbols_text, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(math, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(symbols_text, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(math, main, mathord, \"h\", \"\\u210E\"); // italic h, Planck constant\n\ndefineSymbol(symbols_text, main, mathord, \"h\", \"\\u210E\"); // The next loop loads wide (surrogate pair) characters.\n// We support some letters in the Unicode range U+1D400 to U+1D7FF,\n// Mathematical Alphanumeric Symbols.\n// Some editors do not deal well with wide characters. So don't write the\n// string into this file. Instead, create the string from the surrogate pair.\n\nlet wideChar = \"\";\n\nfor (let i = 0; i < letters.length; i++) {\n const ch = letters.charAt(i); // The hex numbers in the next line are a surrogate pair.\n // 0xD835 is the high surrogate for all letters in the range we support.\n // 0xDC00 is the low surrogate for bold A.\n\n wideChar = String.fromCharCode(0xD835, 0xDC00 + i); // A-Z a-z bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC34 + i); // A-Z a-z italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC68 + i); // A-Z a-z bold italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD04 + i); // A-Z a-z Fraktur\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD6C + i); // A-Z a-z bold Fraktur\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDA0 + i); // A-Z a-z sans-serif\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDD4 + i); // A-Z a-z sans bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE08 + i); // A-Z a-z sans italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE70 + i); // A-Z a-z monospace\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n\n if (i < 26) {\n // KaTeX fonts have only capital letters for blackboard bold and script.\n // See exception for k below.\n wideChar = String.fromCharCode(0xD835, 0xDD38 + i); // A-Z double struck\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC9C + i); // A-Z script\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n } // TODO: Add bold script when it is supported by a KaTeX font.\n\n} // \"k\" is the only double struck lower case letter in the KaTeX fonts.\n\n\nwideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck\n\ndefineSymbol(math, main, mathord, \"k\", wideChar);\ndefineSymbol(symbols_text, main, textord, \"k\", wideChar); // Next, some wide character numerals\n\nfor (let i = 0; i < 10; i++) {\n const ch = i.toString();\n wideChar = String.fromCharCode(0xD835, 0xDFCE + i); // 0-9 bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFE2 + i); // 0-9 sans serif\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFEC + i); // 0-9 bold sans\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFF6 + i); // 0-9 monospace\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n} // We add these Latin-1 letters as symbols for backwards-compatibility,\n// but they are not actually in the font, nor are they supported by the\n// Unicode accent mechanism, so they fall back to Times font and look ugly.\n// TODO(edemaine): Fix this.\n\n\nconst extraLatin = \"\\u00d0\\u00de\\u00fe\";\n\nfor (let i = 0; i < extraLatin.length; i++) {\n const ch = extraLatin.charAt(i);\n defineSymbol(math, main, mathord, ch, ch);\n defineSymbol(symbols_text, main, textord, ch, ch);\n}\n;// CONCATENATED MODULE: ./src/wide-character.js\n/**\n * This file provides support for Unicode range U+1D400 to U+1D7FF,\n * Mathematical Alphanumeric Symbols.\n *\n * Function wideCharacterFont takes a wide character as input and returns\n * the font information necessary to render it properly.\n */\n\n/**\n * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf\n * That document sorts characters into groups by font type, say bold or italic.\n *\n * In the arrays below, each subarray consists three elements:\n * * The CSS class of that group when in math mode.\n * * The CSS class of that group when in text mode.\n * * The font name, so that KaTeX can get font metrics.\n */\n\nconst wideLatinLetterData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // A-Z bold upright\n[\"mathbf\", \"textbf\", \"Main-Bold\"], // a-z bold upright\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // A-Z italic\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // a-z italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // A-Z bold italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // a-z bold italic\n// Map fancy A-Z letters to script, not calligraphic.\n// This aligns with unicode-math and math fonts (except Cambria Math).\n[\"mathscr\", \"textscr\", \"Script-Regular\"], // A-Z script\n[\"\", \"\", \"\"], // a-z script. No font\n[\"\", \"\", \"\"], // A-Z bold script. No font\n[\"\", \"\", \"\"], // a-z bold script. No font\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // A-Z Fraktur\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // a-z Fraktur\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // A-Z double-struck\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // k double-struck\n// Note that we are using a bold font, but font metrics for regular Fraktur.\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // A-Z bold Fraktur\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // a-z bold Fraktur\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // A-Z sans-serif\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // a-z sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // A-Z bold sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // a-z bold sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // A-Z italic sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // a-z italic sans-serif\n[\"\", \"\", \"\"], // A-Z bold italic sans. No font\n[\"\", \"\", \"\"], // a-z bold italic sans. No font\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"], // A-Z monospace\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // a-z monospace\n];\nconst wideNumeralData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // 0-9 bold\n[\"\", \"\", \"\"], // 0-9 double-struck. No KaTeX font.\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // 0-9 sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // 0-9 bold sans-serif\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // 0-9 monospace\n];\nconst wideCharacterFont = function (wideChar, mode) {\n // IE doesn't support codePointAt(). So work with the surrogate pair.\n const H = wideChar.charCodeAt(0); // high surrogate\n\n const L = wideChar.charCodeAt(1); // low surrogate\n\n const codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;\n const j = mode === \"math\" ? 0 : 1; // column index for CSS class.\n\n if (0x1D400 <= codePoint && codePoint < 0x1D6A4) {\n // wideLatinLetterData contains exactly 26 chars on each row.\n // So we can calculate the relevant row. No traverse necessary.\n const i = Math.floor((codePoint - 0x1D400) / 26);\n return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]];\n } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) {\n // Numerals, ten per row.\n const i = Math.floor((codePoint - 0x1D7CE) / 10);\n return [wideNumeralData[i][2], wideNumeralData[i][j]];\n } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) {\n // dotless i or j\n return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]];\n } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) {\n // Greek letters. Not supported, yet.\n return [\"\", \"\"];\n } else {\n // We don't support any wide characters outside 1D400–1D7FF.\n throw new src_ParseError(\"Unsupported character: \" + wideChar);\n }\n};\n;// CONCATENATED MODULE: ./src/buildCommon.js\n/* eslint no-console:0 */\n\n/**\n * This module contains general functions that can be used for building\n * different kinds of domTree nodes in a consistent manner.\n */\n\n\n\n\n\n\n\n/**\n * Looks up the given symbol in fontMetrics, after applying any symbol\n * replacements defined in symbol.js\n */\nconst lookupSymbol = function (value, // TODO(#963): Use a union type for this.\nfontName, mode) {\n // Replace the value with its replaced value from symbol.js\n if (src_symbols[mode][value] && src_symbols[mode][value].replace) {\n value = src_symbols[mode][value].replace;\n }\n\n return {\n value: value,\n metrics: getCharacterMetrics(value, fontName, mode)\n };\n};\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n *\n * TODO: make argument order closer to makeSpan\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n * TODO(#953): Make `options` mandatory and always pass it in.\n */\n\n\nconst makeSymbol = function (value, fontName, mode, options, classes) {\n const lookup = lookupSymbol(value, fontName, mode);\n const metrics = lookup.metrics;\n value = lookup.value;\n let symbolNode;\n\n if (metrics) {\n let italic = metrics.italic;\n\n if (mode === \"text\" || options && options.font === \"mathit\") {\n italic = 0;\n }\n\n symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes);\n } else {\n // TODO(emily): Figure out a good way to only print this in development\n typeof console !== \"undefined\" && console.warn(\"No character metrics \" + (\"for '\" + value + \"' in style '\" + fontName + \"' and mode '\" + mode + \"'\"));\n symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes);\n }\n\n if (options) {\n symbolNode.maxFontSize = options.sizeMultiplier;\n\n if (options.style.isTight()) {\n symbolNode.classes.push(\"mtight\");\n }\n\n const color = options.getColor();\n\n if (color) {\n symbolNode.style.color = color;\n }\n }\n\n return symbolNode;\n};\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\n\n\nconst mathsym = function (value, mode, options, classes) {\n if (classes === void 0) {\n classes = [];\n }\n\n // Decide what font to render the symbol in by its entry in the symbols\n // table.\n // Have a special case for when the value = \\ because the \\ is used as a\n // textord in unsupported command errors but cannot be parsed as a regular\n // text ordinal and is therefore not present as a symbol in the symbols\n // table for text, as well as a special case for boldsymbol because it\n // can be used for bold + and -\n if (options.font === \"boldsymbol\" && lookupSymbol(value, \"Main-Bold\", mode).metrics) {\n return makeSymbol(value, \"Main-Bold\", mode, options, classes.concat([\"mathbf\"]));\n } else if (value === \"\\\\\" || src_symbols[mode][value].font === \"main\") {\n return makeSymbol(value, \"Main-Regular\", mode, options, classes);\n } else {\n return makeSymbol(value, \"AMS-Regular\", mode, options, classes.concat([\"amsrm\"]));\n }\n};\n/**\n * Determines which of the two font names (Main-Bold and Math-BoldItalic) and\n * corresponding style tags (mathbf or boldsymbol) to use for font \"boldsymbol\",\n * depending on the symbol. Use this function instead of fontMap for font\n * \"boldsymbol\".\n */\n\n\nconst boldsymbol = function (value, mode, options, classes, type) {\n if (type !== \"textord\" && lookupSymbol(value, \"Math-BoldItalic\", mode).metrics) {\n return {\n fontName: \"Math-BoldItalic\",\n fontClass: \"boldsymbol\"\n };\n } else {\n // Some glyphs do not exist in Math-BoldItalic so we need to use\n // Main-Bold instead.\n return {\n fontName: \"Main-Bold\",\n fontClass: \"mathbf\"\n };\n }\n};\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\n\n\nconst makeOrd = function (group, options, type) {\n const mode = group.mode;\n const text = group.text;\n const classes = [\"mord\"]; // Math mode or Old font (i.e. \\rm)\n\n const isFont = mode === \"math\" || mode === \"text\" && options.font;\n const fontOrFamily = isFont ? options.font : options.fontFamily;\n let wideFontName = \"\";\n let wideFontClass = \"\";\n\n if (text.charCodeAt(0) === 0xD835) {\n [wideFontName, wideFontClass] = wideCharacterFont(text, mode);\n }\n\n if (wideFontName.length > 0) {\n // surrogate pairs get special treatment\n return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass));\n } else if (fontOrFamily) {\n let fontName;\n let fontClasses;\n\n if (fontOrFamily === \"boldsymbol\") {\n const fontData = boldsymbol(text, mode, options, classes, type);\n fontName = fontData.fontName;\n fontClasses = [fontData.fontClass];\n } else if (isFont) {\n fontName = fontMap[fontOrFamily].fontName;\n fontClasses = [fontOrFamily];\n } else {\n fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape);\n fontClasses = [fontOrFamily, options.fontWeight, options.fontShape];\n }\n\n if (lookupSymbol(text, fontName, mode).metrics) {\n return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses));\n } else if (ligatures.hasOwnProperty(text) && fontName.slice(0, 10) === \"Typewriter\") {\n // Deconstruct ligatures in monospace fonts (\\texttt, \\tt).\n const parts = [];\n\n for (let i = 0; i < text.length; i++) {\n parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses)));\n }\n\n return makeFragment(parts);\n }\n } // Makes a symbol in the default font for mathords and textords.\n\n\n if (type === \"mathord\") {\n return makeSymbol(text, \"Math-Italic\", mode, options, classes.concat([\"mathnormal\"]));\n } else if (type === \"textord\") {\n const font = src_symbols[mode][text] && src_symbols[mode][text].font;\n\n if (font === \"ams\") {\n const fontName = retrieveTextFontName(\"amsrm\", options.fontWeight, options.fontShape);\n return makeSymbol(text, fontName, mode, options, classes.concat(\"amsrm\", options.fontWeight, options.fontShape));\n } else if (font === \"main\" || !font) {\n const fontName = retrieveTextFontName(\"textrm\", options.fontWeight, options.fontShape);\n return makeSymbol(text, fontName, mode, options, classes.concat(options.fontWeight, options.fontShape));\n } else {\n // fonts added by plugins\n const fontName = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class\n\n return makeSymbol(text, fontName, mode, options, classes.concat(fontName, options.fontWeight, options.fontShape));\n }\n } else {\n throw new Error(\"unexpected type: \" + type + \" in makeOrd\");\n }\n};\n/**\n * Returns true if subsequent symbolNodes have the same classes, skew, maxFont,\n * and styles.\n */\n\n\nconst canCombine = (prev, next) => {\n if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) {\n return false;\n } // If prev and next both are just \"mbin\"s or \"mord\"s we don't combine them\n // so that the proper spacing can be preserved.\n\n\n if (prev.classes.length === 1) {\n const cls = prev.classes[0];\n\n if (cls === \"mbin\" || cls === \"mord\") {\n return false;\n }\n }\n\n for (const style in prev.style) {\n if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n for (const style in next.style) {\n if (next.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Combine consecutive domTree.symbolNodes into a single symbolNode.\n * Note: this function mutates the argument.\n */\n\n\nconst tryCombineChars = chars => {\n for (let i = 0; i < chars.length - 1; i++) {\n const prev = chars[i];\n const next = chars[i + 1];\n\n if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) {\n prev.text += next.text;\n prev.height = Math.max(prev.height, next.height);\n prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use\n // it to add padding to the right of the span created from\n // the combined characters.\n\n prev.italic = next.italic;\n chars.splice(i + 1, 1);\n i--;\n }\n }\n\n return chars;\n};\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\n\n\nconst sizeElementFromChildren = function (elem) {\n let height = 0;\n let depth = 0;\n let maxFontSize = 0;\n\n for (let i = 0; i < elem.children.length; i++) {\n const child = elem.children[i];\n\n if (child.height > height) {\n height = child.height;\n }\n\n if (child.depth > depth) {\n depth = child.depth;\n }\n\n if (child.maxFontSize > maxFontSize) {\n maxFontSize = child.maxFontSize;\n }\n }\n\n elem.height = height;\n elem.depth = depth;\n elem.maxFontSize = maxFontSize;\n};\n/**\n * Makes a span with the given list of classes, list of children, and options.\n *\n * TODO(#953): Ensure that `options` is always provided (currently some call\n * sites don't pass it) and make the type below mandatory.\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n */\n\n\nconst makeSpan = function (classes, children, options, style) {\n const span = new Span(classes, children, options, style);\n sizeElementFromChildren(span);\n return span;\n}; // SVG one is simpler -- doesn't require height, depth, max-font setting.\n// This is also a separate method for typesafety.\n\n\nconst makeSvgSpan = (classes, children, options, style) => new Span(classes, children, options, style);\n\nconst makeLineSpan = function (className, options, thickness) {\n const line = makeSpan([className], [], options);\n line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n line.style.borderBottomWidth = makeEm(line.height);\n line.maxFontSize = 1.0;\n return line;\n};\n/**\n * Makes an anchor with the given href, list of classes, list of children,\n * and options.\n */\n\n\nconst makeAnchor = function (href, classes, children, options) {\n const anchor = new Anchor(href, classes, children, options);\n sizeElementFromChildren(anchor);\n return anchor;\n};\n/**\n * Makes a document fragment with the given list of children.\n */\n\n\nconst makeFragment = function (children) {\n const fragment = new DocumentFragment(children);\n sizeElementFromChildren(fragment);\n return fragment;\n};\n/**\n * Wraps group in a span if it's a document fragment, allowing to apply classes\n * and styles\n */\n\n\nconst wrapFragment = function (group, options) {\n if (group instanceof DocumentFragment) {\n return makeSpan([], [group], options);\n }\n\n return group;\n}; // These are exact object types to catch typos in the names of the optional fields.\n\n\n// Computes the updated `children` list and the overall depth.\n//\n// This helper function for makeVList makes it easier to enforce type safety by\n// allowing early exits (returns) in the logic.\nconst getVListChildrenAndDepth = function (params) {\n if (params.positionType === \"individualShift\") {\n const oldChildren = params.children;\n const children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be\n // shifted to the correct specified shift\n\n const depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n let currPos = depth;\n\n for (let i = 1; i < oldChildren.length; i++) {\n const diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth;\n const size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth);\n currPos = currPos + diff;\n children.push({\n type: \"kern\",\n size\n });\n children.push(oldChildren[i]);\n }\n\n return {\n children,\n depth\n };\n }\n\n let depth;\n\n if (params.positionType === \"top\") {\n // We always start at the bottom, so calculate the bottom by adding up\n // all the sizes\n let bottom = params.positionData;\n\n for (let i = 0; i < params.children.length; i++) {\n const child = params.children[i];\n bottom -= child.type === \"kern\" ? child.size : child.elem.height + child.elem.depth;\n }\n\n depth = bottom;\n } else if (params.positionType === \"bottom\") {\n depth = -params.positionData;\n } else {\n const firstChild = params.children[0];\n\n if (firstChild.type !== \"elem\") {\n throw new Error('First child must have type \"elem\".');\n }\n\n if (params.positionType === \"shift\") {\n depth = -firstChild.elem.depth - params.positionData;\n } else if (params.positionType === \"firstBaseline\") {\n depth = -firstChild.elem.depth;\n } else {\n throw new Error(\"Invalid positionType \" + params.positionType + \".\");\n }\n }\n\n return {\n children: params.children,\n depth\n };\n};\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * See VListParam documentation above.\n */\n\n\nconst makeVList = function (params, options) {\n const {\n children,\n depth\n } = getVListChildrenAndDepth(params); // Create a strut that is taller than any list item. The strut is added to\n // each item, where it will determine the item's baseline. Since it has\n // `overflow:hidden`, the strut's top edge will sit on the item's line box's\n // top edge and the strut's bottom edge will sit on the item's baseline,\n // with no additional line-height spacing. This allows the item baseline to\n // be positioned precisely without worrying about font ascent and\n // line-height.\n\n let pstrutSize = 0;\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child.type === \"elem\") {\n const elem = child.elem;\n pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height);\n }\n }\n\n pstrutSize += 2;\n const pstrut = makeSpan([\"pstrut\"], []);\n pstrut.style.height = makeEm(pstrutSize); // Create a new list of actual children at the correct offsets\n\n const realChildren = [];\n let minPos = depth;\n let maxPos = depth;\n let currPos = depth;\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child.type === \"kern\") {\n currPos += child.size;\n } else {\n const elem = child.elem;\n const classes = child.wrapperClasses || [];\n const style = child.wrapperStyle || {};\n const childWrap = makeSpan(classes, [pstrut, elem], undefined, style);\n childWrap.style.top = makeEm(-pstrutSize - currPos - elem.depth);\n\n if (child.marginLeft) {\n childWrap.style.marginLeft = child.marginLeft;\n }\n\n if (child.marginRight) {\n childWrap.style.marginRight = child.marginRight;\n }\n\n realChildren.push(childWrap);\n currPos += elem.height + elem.depth;\n }\n\n minPos = Math.min(minPos, currPos);\n maxPos = Math.max(maxPos, currPos);\n } // The vlist contents go in a table-cell with `vertical-align:bottom`.\n // This cell's bottom edge will determine the containing table's baseline\n // without overly expanding the containing line-box.\n\n\n const vlist = makeSpan([\"vlist\"], realChildren);\n vlist.style.height = makeEm(maxPos); // A second row is used if necessary to represent the vlist's depth.\n\n let rows;\n\n if (minPos < 0) {\n // We will define depth in an empty span with display: table-cell.\n // It should render with the height that we define. But Chrome, in\n // contenteditable mode only, treats that span as if it contains some\n // text content. And that min-height over-rides our desired height.\n // So we put another empty span inside the depth strut span.\n const emptySpan = makeSpan([], []);\n const depthStrut = makeSpan([\"vlist\"], [emptySpan]);\n depthStrut.style.height = makeEm(-minPos); // Safari wants the first row to have inline content; otherwise it\n // puts the bottom of the *second* row on the baseline.\n\n const topStrut = makeSpan([\"vlist-s\"], [new SymbolNode(\"\\u200b\")]);\n rows = [makeSpan([\"vlist-r\"], [vlist, topStrut]), makeSpan([\"vlist-r\"], [depthStrut])];\n } else {\n rows = [makeSpan([\"vlist-r\"], [vlist])];\n }\n\n const vtable = makeSpan([\"vlist-t\"], rows);\n\n if (rows.length === 2) {\n vtable.classes.push(\"vlist-t2\");\n }\n\n vtable.height = maxPos;\n vtable.depth = -minPos;\n return vtable;\n}; // Glue is a concept from TeX which is a flexible space between elements in\n// either a vertical or horizontal list. In KaTeX, at least for now, it's\n// static space between elements in a horizontal layout.\n\n\nconst makeGlue = (measurement, options) => {\n // Make an empty span for the space\n const rule = makeSpan([\"mspace\"], [], options);\n const size = calculateSize(measurement, options);\n rule.style.marginRight = makeEm(size);\n return rule;\n}; // Takes font options, and returns the appropriate fontLookup name\n\n\nconst retrieveTextFontName = function (fontFamily, fontWeight, fontShape) {\n let baseFontName = \"\";\n\n switch (fontFamily) {\n case \"amsrm\":\n baseFontName = \"AMS\";\n break;\n\n case \"textrm\":\n baseFontName = \"Main\";\n break;\n\n case \"textsf\":\n baseFontName = \"SansSerif\";\n break;\n\n case \"texttt\":\n baseFontName = \"Typewriter\";\n break;\n\n default:\n baseFontName = fontFamily;\n // use fonts added by a plugin\n }\n\n let fontStylesName;\n\n if (fontWeight === \"textbf\" && fontShape === \"textit\") {\n fontStylesName = \"BoldItalic\";\n } else if (fontWeight === \"textbf\") {\n fontStylesName = \"Bold\";\n } else if (fontWeight === \"textit\") {\n fontStylesName = \"Italic\";\n } else {\n fontStylesName = \"Regular\";\n }\n\n return baseFontName + \"-\" + fontStylesName;\n};\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for \"mathvariant\" attribute in buildMathML.js\n * - fontName: the \"style\" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\n\n\nconst fontMap = {\n // styles\n \"mathbf\": {\n variant: \"bold\",\n fontName: \"Main-Bold\"\n },\n \"mathrm\": {\n variant: \"normal\",\n fontName: \"Main-Regular\"\n },\n \"textit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathnormal\": {\n variant: \"italic\",\n fontName: \"Math-Italic\"\n },\n \"mathsfit\": {\n variant: \"sans-serif-italic\",\n fontName: \"SansSerif-Italic\"\n },\n // \"boldsymbol\" is missing because they require the use of multiple fonts:\n // Math-BoldItalic and Main-Bold. This is handled by a special case in\n // makeOrd which ends up calling boldsymbol.\n // families\n \"mathbb\": {\n variant: \"double-struck\",\n fontName: \"AMS-Regular\"\n },\n \"mathcal\": {\n variant: \"script\",\n fontName: \"Caligraphic-Regular\"\n },\n \"mathfrak\": {\n variant: \"fraktur\",\n fontName: \"Fraktur-Regular\"\n },\n \"mathscr\": {\n variant: \"script\",\n fontName: \"Script-Regular\"\n },\n \"mathsf\": {\n variant: \"sans-serif\",\n fontName: \"SansSerif-Regular\"\n },\n \"mathtt\": {\n variant: \"monospace\",\n fontName: \"Typewriter-Regular\"\n }\n};\nconst svgData = {\n // path, width, height\n vec: [\"vec\", 0.471, 0.714],\n // values from the font glyph\n oiintSize1: [\"oiintSize1\", 0.957, 0.499],\n // oval to overlay the integrand\n oiintSize2: [\"oiintSize2\", 1.472, 0.659],\n oiiintSize1: [\"oiiintSize1\", 1.304, 0.499],\n oiiintSize2: [\"oiiintSize2\", 1.98, 0.659]\n};\n\nconst staticSvg = function (value, options) {\n // Create a span with inline SVG for the element.\n const [pathName, width, height] = svgData[value];\n const path = new PathNode(pathName);\n const svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + 1000 * height,\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n const span = makeSvgSpan([\"overlay\"], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return span;\n};\n\n/* harmony default export */ var buildCommon = ({\n fontMap,\n makeSymbol,\n mathsym,\n makeSpan,\n makeSvgSpan,\n makeLineSpan,\n makeAnchor,\n makeFragment,\n wrapFragment,\n makeVList,\n makeOrd,\n makeGlue,\n staticSvg,\n svgData,\n tryCombineChars\n});\n;// CONCATENATED MODULE: ./src/spacingData.js\n/**\n * Describes spaces between different classes of atoms.\n */\nconst thinspace = {\n number: 3,\n unit: \"mu\"\n};\nconst mediumspace = {\n number: 4,\n unit: \"mu\"\n};\nconst thickspace = {\n number: 5,\n unit: \"mu\"\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n\n// Spacing relationships for display and text styles\nconst spacings = {\n mord: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n minner: thinspace\n },\n mbin: {\n mord: mediumspace,\n mop: mediumspace,\n mopen: mediumspace,\n minner: mediumspace\n },\n mrel: {\n mord: thickspace,\n mop: thickspace,\n mopen: thickspace,\n minner: thickspace\n },\n mopen: {},\n mclose: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mpunct: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n mopen: thinspace,\n mclose: thinspace,\n mpunct: thinspace,\n minner: thinspace\n },\n minner: {\n mord: thinspace,\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n mopen: thinspace,\n mpunct: thinspace,\n minner: thinspace\n }\n}; // Spacing relationships for script and scriptscript styles\n\nconst tightSpacings = {\n mord: {\n mop: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace\n },\n mbin: {},\n mrel: {},\n mopen: {},\n mclose: {\n mop: thinspace\n },\n mpunct: {},\n minner: {\n mop: thinspace\n }\n};\n;// CONCATENATED MODULE: ./src/defineFunction.js\n/** Context provided to function handlers for error messages. */\n// Note: reverse the order of the return type union will cause a flow error.\n// See https://github.com/facebook/flow/issues/3663.\n// More general version of `HtmlBuilder` for nodes (e.g. \\sum, accent types)\n// whose presence impacts super/subscripting. In this case, ParseNode<\"supsub\">\n// delegates its HTML building to the HtmlBuilder corresponding to these nodes.\n\n/**\n * Final function spec for use at parse time.\n * This is almost identical to `FunctionPropSpec`, except it\n * 1. includes the function handler, and\n * 2. requires all arguments except argTypes.\n * It is generated by `defineFunction()` below.\n */\n\n/**\n * All registered functions.\n * `functions.js` just exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary.\n */\nconst _functions = {};\n/**\n * All HTML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nconst _htmlGroupBuilders = {};\n/**\n * All MathML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nconst _mathmlGroupBuilders = {};\nfunction defineFunction(_ref) {\n let {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of functions\n const data = {\n type,\n numArgs: props.numArgs,\n argTypes: props.argTypes,\n allowedInArgument: !!props.allowedInArgument,\n allowedInText: !!props.allowedInText,\n allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath,\n numOptionalArgs: props.numOptionalArgs || 0,\n infix: !!props.infix,\n primitive: !!props.primitive,\n handler: handler\n };\n\n for (let i = 0; i < names.length; ++i) {\n _functions[names[i]] = data;\n }\n\n if (type) {\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n }\n}\n/**\n * Use this to register only the HTML and MathML builders for a function (e.g.\n * if the function's ParseNode is generated in Parser.js rather than via a\n * stand-alone handler provided to `defineFunction`).\n */\n\nfunction defineFunctionBuilders(_ref2) {\n let {\n type,\n htmlBuilder,\n mathmlBuilder\n } = _ref2;\n defineFunction({\n type,\n names: [],\n props: {\n numArgs: 0\n },\n\n handler() {\n throw new Error('Should never be called.');\n },\n\n htmlBuilder,\n mathmlBuilder\n });\n}\nconst normalizeArgument = function (arg) {\n return arg.type === \"ordgroup\" && arg.body.length === 1 ? arg.body[0] : arg;\n}; // Since the corresponding buildHTML/buildMathML function expects a\n// list of elements, we normalize for different kinds of arguments\n\nconst ordargument = function (arg) {\n return arg.type === \"ordgroup\" ? arg.body : [arg];\n};\n;// CONCATENATED MODULE: ./src/buildHTML.js\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupBuilders functions\n * are called, to produce a final HTML tree.\n */\n\n\n\n\n\n\n\n\n\nconst buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`)\n// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6,\n// and the text before Rule 19.\n\nconst binLeftCanceller = [\"leftmost\", \"mbin\", \"mopen\", \"mrel\", \"mop\", \"mpunct\"];\nconst binRightCanceller = [\"rightmost\", \"mrel\", \"mclose\", \"mpunct\"];\nconst styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\nconst DomEnum = {\n mord: \"mord\",\n mop: \"mop\",\n mbin: \"mbin\",\n mrel: \"mrel\",\n mopen: \"mopen\",\n mclose: \"mclose\",\n mpunct: \"mpunct\",\n minner: \"minner\"\n};\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. documentFragments are flattened into their contents, so the\n * returned list contains no fragments. `isRealGroup` is true if `expression`\n * is a real group (no atoms will be added on either side), as opposed to\n * a partial group (e.g. one created by \\color). `surrounding` is an array\n * consisting type of nodes that will be added to the left and right.\n */\nconst buildExpression = function (expression, options, isRealGroup, surrounding) {\n if (surrounding === void 0) {\n surrounding = [null, null];\n }\n\n // Parse expressions into `groups`.\n const groups = [];\n\n for (let i = 0; i < expression.length; i++) {\n const output = buildGroup(expression[i], options);\n\n if (output instanceof DocumentFragment) {\n const children = output.children;\n groups.push(...children);\n } else {\n groups.push(output);\n }\n } // Combine consecutive domTree.symbolNodes into a single symbolNode.\n\n\n buildCommon.tryCombineChars(groups); // If `expression` is a partial group, let the parent handle spacings\n // to avoid processing groups multiple times.\n\n if (!isRealGroup) {\n return groups;\n }\n\n let glueOptions = options;\n\n if (expression.length === 1) {\n const node = expression[0];\n\n if (node.type === \"sizing\") {\n glueOptions = options.havingSize(node.size);\n } else if (node.type === \"styling\") {\n glueOptions = options.havingStyle(styleMap[node.style]);\n }\n } // Dummy spans for determining spacings between surrounding atoms.\n // If `expression` has no atoms on the left or right, class \"leftmost\"\n // or \"rightmost\", respectively, is used to indicate it.\n\n\n const dummyPrev = buildHTML_makeSpan([surrounding[0] || \"leftmost\"], [], options);\n const dummyNext = buildHTML_makeSpan([surrounding[1] || \"rightmost\"], [], options); // TODO: These code assumes that a node's math class is the first element\n // of its `classes` array. A later cleanup should ensure this, for\n // instance by changing the signature of `makeSpan`.\n // Before determining what spaces to insert, perform bin cancellation.\n // Binary operators change to ordinary symbols in some contexts.\n\n const isRoot = isRealGroup === \"root\";\n traverseNonSpaceNodes(groups, (node, prev) => {\n const prevType = prev.classes[0];\n const type = node.classes[0];\n\n if (prevType === \"mbin\" && utils.contains(binRightCanceller, type)) {\n prev.classes[0] = \"mord\";\n } else if (type === \"mbin\" && utils.contains(binLeftCanceller, prevType)) {\n node.classes[0] = \"mord\";\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n traverseNonSpaceNodes(groups, (node, prev) => {\n const prevType = getTypeOfDomTree(prev);\n const type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style.\n\n const space = prevType && type ? node.hasClass(\"mtight\") ? tightSpacings[prevType][type] : spacings[prevType][type] : null;\n\n if (space) {\n // Insert glue (spacing) after the `prev`.\n return buildCommon.makeGlue(space, glueOptions);\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n return groups;\n}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and\n// previous node as arguments, optionally returning a node to insert after the\n// previous node. `prev` is an object with the previous node and `insertAfter`\n// function to insert after it. `next` is a node that will be added to the right.\n// Used for bin cancellation and inserting spacings.\n\nconst traverseNonSpaceNodes = function (nodes, callback, prev, next, isRoot) {\n if (next) {\n // temporarily append the right node, if exists\n nodes.push(next);\n }\n\n let i = 0;\n\n for (; i < nodes.length; i++) {\n const node = nodes[i];\n const partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n // Recursive DFS\n // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array\n traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot);\n continue;\n } // Ignore explicit spaces (e.g., \\;, \\,) when determining what implicit\n // spacing should go between atoms of different classes\n\n\n const nonspace = !node.hasClass(\"mspace\");\n\n if (nonspace) {\n const result = callback(node, prev.node);\n\n if (result) {\n if (prev.insertAfter) {\n prev.insertAfter(result);\n } else {\n // insert at front\n nodes.unshift(result);\n i++;\n }\n }\n }\n\n if (nonspace) {\n prev.node = node;\n } else if (isRoot && node.hasClass(\"newline\")) {\n prev.node = buildHTML_makeSpan([\"leftmost\"]); // treat like beginning of line\n }\n\n prev.insertAfter = (index => n => {\n nodes.splice(index + 1, 0, n);\n i++;\n })(i);\n }\n\n if (next) {\n nodes.pop();\n }\n}; // Check if given node is a partial group, i.e., does not affect spacing around.\n\n\nconst checkPartialGroup = function (node) {\n if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass(\"enclosing\")) {\n return node;\n }\n\n return null;\n}; // Return the outermost node of a domTree.\n\n\nconst getOutermostNode = function (node, side) {\n const partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n const children = partialGroup.children;\n\n if (children.length) {\n if (side === \"right\") {\n return getOutermostNode(children[children.length - 1], \"right\");\n } else if (side === \"left\") {\n return getOutermostNode(children[0], \"left\");\n }\n }\n }\n\n return node;\n}; // Return math atom class (mclass) of a domTree.\n// If `side` is given, it will get the type of the outermost node at given side.\n\n\nconst getTypeOfDomTree = function (node, side) {\n if (!node) {\n return null;\n }\n\n if (side) {\n node = getOutermostNode(node, side);\n } // This makes a lot of assumptions as to where the type of atom\n // appears. We should do a better job of enforcing this.\n\n\n return DomEnum[node.classes[0]] || null;\n};\nconst makeNullDelimiter = function (options, classes) {\n const moreClasses = [\"nulldelimiter\"].concat(options.baseSizingClasses());\n return buildHTML_makeSpan(classes.concat(moreClasses));\n};\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\n\nconst buildGroup = function (group, options, baseOptions) {\n if (!group) {\n return buildHTML_makeSpan();\n }\n\n if (_htmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n let groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account\n // for that size difference.\n\n if (baseOptions && options.size !== baseOptions.size) {\n groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options);\n const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;\n groupNode.height *= multiplier;\n groupNode.depth *= multiplier;\n }\n\n return groupNode;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`)\n * into an unbreakable HTML node of class .base, with proper struts to\n * guarantee correct vertical extent. `buildHTML` calls this repeatedly to\n * make up the entire expression as a sequence of unbreakable units.\n */\n\nfunction buildHTMLUnbreakable(children, options) {\n // Compute height and depth of this chunk.\n const body = buildHTML_makeSpan([\"base\"], children, options); // Add strut, which ensures that the top of the HTML element falls at\n // the height of the expression, and the bottom of the HTML element\n // falls at the depth of the expression.\n\n const strut = buildHTML_makeSpan([\"strut\"]);\n strut.style.height = makeEm(body.height + body.depth);\n\n if (body.depth) {\n strut.style.verticalAlign = makeEm(-body.depth);\n }\n\n body.children.unshift(strut);\n return body;\n}\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\n\n\nfunction buildHTML(tree, options) {\n // Strip off outer tag wrapper for processing below.\n let tag = null;\n\n if (tree.length === 1 && tree[0].type === \"tag\") {\n tag = tree[0].tag;\n tree = tree[0].body;\n } // Build the expression contained in the tree\n\n\n const expression = buildExpression(tree, options, \"root\");\n let eqnNum;\n\n if (expression.length === 2 && expression[1].hasClass(\"tag\")) {\n // An environment with automatic equation numbers, e.g. {gather}.\n eqnNum = expression.pop();\n }\n\n const children = []; // Create one base node for each chunk between potential line breaks.\n // The TeXBook [p.173] says \"A formula will be broken only after a\n // relation symbol like $=$ or $<$ or $\\rightarrow$, or after a binary\n // operation symbol like $+$ or $-$ or $\\times$, where the relation or\n // binary operation is on the ``outer level'' of the formula (i.e., not\n // enclosed in {...} and not part of an \\over construction).\"\n\n let parts = [];\n\n for (let i = 0; i < expression.length; i++) {\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"mbin\") || expression[i].hasClass(\"mrel\") || expression[i].hasClass(\"allowbreak\")) {\n // Put any post-operator glue on same line as operator.\n // Watch for \\nobreak along the way, and stop at \\newline.\n let nobreak = false;\n\n while (i < expression.length - 1 && expression[i + 1].hasClass(\"mspace\") && !expression[i + 1].hasClass(\"newline\")) {\n i++;\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"nobreak\")) {\n nobreak = true;\n }\n } // Don't allow break if \\nobreak among the post-operator glue.\n\n\n if (!nobreak) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n }\n } else if (expression[i].hasClass(\"newline\")) {\n // Write the line except the newline\n parts.pop();\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n } // Put the newline at the top level\n\n\n children.push(expression[i]);\n }\n }\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n } // Now, if there was a tag, build it too and append it as a final child.\n\n\n let tagChild;\n\n if (tag) {\n tagChild = buildHTMLUnbreakable(buildExpression(tag, options, true));\n tagChild.classes = [\"tag\"];\n children.push(tagChild);\n } else if (eqnNum) {\n children.push(eqnNum);\n }\n\n const htmlNode = buildHTML_makeSpan([\"katex-html\"], children);\n htmlNode.setAttribute(\"aria-hidden\", \"true\"); // Adjust the strut of the tag to be the maximum height of all children\n // (the height of the enclosing htmlNode) for proper vertical alignment.\n\n if (tagChild) {\n const strut = tagChild.children[0];\n strut.style.height = makeEm(htmlNode.height + htmlNode.depth);\n\n if (htmlNode.depth) {\n strut.style.verticalAlign = makeEm(-htmlNode.depth);\n }\n }\n\n return htmlNode;\n}\n;// CONCATENATED MODULE: ./src/mathMLTree.js\n/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we're mainly using MathML to improve accessibility, we don't manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work similarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\n\n\n\n\nfunction newDocumentFragment(children) {\n return new DocumentFragment(children);\n}\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `\"mo\"` or\n * `\"mspace\"`, corresponding to `` and `` tags).\n */\n\nclass MathNode {\n constructor(type, children, classes) {\n this.type = void 0;\n this.attributes = void 0;\n this.children = void 0;\n this.classes = void 0;\n this.type = type;\n this.attributes = {};\n this.children = children || [];\n this.classes = classes || [];\n }\n /**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\n\n\n setAttribute(name, value) {\n this.attributes[name] = value;\n }\n /**\n * Gets an attribute on a MathML node.\n */\n\n\n getAttribute(name) {\n return this.attributes[name];\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n const node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", this.type);\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n if (this.classes.length > 0) {\n node.className = createClass(this.classes);\n }\n\n for (let i = 0; i < this.children.length; i++) {\n // Combine multiple TextNodes into one TextNode, to prevent\n // screen readers from reading each as a separate word [#3995]\n if (this.children[i] instanceof TextNode && this.children[i + 1] instanceof TextNode) {\n let text = this.children[i].toText() + this.children[++i].toText();\n\n while (this.children[i + 1] instanceof TextNode) {\n text += this.children[++i].toText();\n }\n\n node.appendChild(new TextNode(text).toNode());\n } else {\n node.appendChild(this.children[i].toNode());\n }\n }\n\n return node;\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n let markup = \"<\" + this.type; // Add the attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\";\n markup += utils.escape(this.attributes[attr]);\n markup += \"\\\"\";\n }\n }\n\n if (this.classes.length > 0) {\n markup += \" class =\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n markup += \">\";\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText, but escaped.\n */\n\n\n toText() {\n return this.children.map(child => child.toText()).join(\"\");\n }\n\n}\n/**\n * This node represents a piece of text.\n */\n\nclass TextNode {\n constructor(text) {\n this.text = void 0;\n this.text = text;\n }\n /**\n * Converts the text node into a DOM text node.\n */\n\n\n toNode() {\n return document.createTextNode(this.text);\n }\n /**\n * Converts the text node into escaped HTML markup\n * (representing the text itself).\n */\n\n\n toMarkup() {\n return utils.escape(this.toText());\n }\n /**\n * Converts the text node into a string\n * (representing the text itself).\n */\n\n\n toText() {\n return this.text;\n }\n\n}\n/**\n * This node represents a space, but may render as or as text,\n * depending on the width.\n */\n\nclass SpaceNode {\n /**\n * Create a Space node with width given in CSS ems.\n */\n constructor(width) {\n this.width = void 0;\n this.character = void 0;\n this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html\n // for a table of space-like characters. We use Unicode\n // representations instead of &LongNames; as it's not clear how to\n // make the latter via document.createTextNode.\n\n if (width >= 0.05555 && width <= 0.05556) {\n this.character = \"\\u200a\"; //  \n } else if (width >= 0.1666 && width <= 0.1667) {\n this.character = \"\\u2009\"; //  \n } else if (width >= 0.2222 && width <= 0.2223) {\n this.character = \"\\u2005\"; //  \n } else if (width >= 0.2777 && width <= 0.2778) {\n this.character = \"\\u2005\\u200a\"; //   \n } else if (width >= -0.05556 && width <= -0.05555) {\n this.character = \"\\u200a\\u2063\"; // ​\n } else if (width >= -0.1667 && width <= -0.1666) {\n this.character = \"\\u2009\\u2063\"; // ​\n } else if (width >= -0.2223 && width <= -0.2222) {\n this.character = \"\\u205f\\u2063\"; // ​\n } else if (width >= -0.2778 && width <= -0.2777) {\n this.character = \"\\u2005\\u2063\"; // ​\n } else {\n this.character = null;\n }\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n if (this.character) {\n return document.createTextNode(this.character);\n } else {\n const node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"mspace\");\n node.setAttribute(\"width\", makeEm(this.width));\n return node;\n }\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n if (this.character) {\n return \"\" + this.character + \"\";\n } else {\n return \"\";\n }\n }\n /**\n * Converts the math node into a string, similar to innerText.\n */\n\n\n toText() {\n if (this.character) {\n return this.character;\n } else {\n return \" \";\n }\n }\n\n}\n\n/* harmony default export */ var mathMLTree = ({\n MathNode,\n TextNode,\n SpaceNode,\n newDocumentFragment\n});\n;// CONCATENATED MODULE: ./src/buildMathML.js\n/**\n * This file converts a parse tree into a corresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\n\n\n\n\n\n\n\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nconst makeText = function (text, mode, options) {\n if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.slice(4, 6) === \"tt\" || options.font && options.font.slice(4, 6) === \"tt\"))) {\n text = src_symbols[mode][text].replace;\n }\n\n return new mathMLTree.TextNode(text);\n};\n/**\n * Wrap the given array of nodes in an node if needed, i.e.,\n * unless the array has length 1. Always returns a single node.\n */\n\nconst makeRow = function (body) {\n if (body.length === 1) {\n return body[0];\n } else {\n return new mathMLTree.MathNode(\"mrow\", body);\n }\n};\n/**\n * Returns the math variant as a string or null if none is required.\n */\n\nconst getVariant = function (group, options) {\n // Handle \\text... font specifiers as best we can.\n // MathML has a limited list of allowable mathvariant specifiers; see\n // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt\n if (options.fontFamily === \"texttt\") {\n return \"monospace\";\n } else if (options.fontFamily === \"textsf\") {\n if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"sans-serif-bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"sans-serif-italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold-sans-serif\";\n } else {\n return \"sans-serif\";\n }\n } else if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold\";\n }\n\n const font = options.font;\n\n if (!font || font === \"mathnormal\") {\n return null;\n }\n\n const mode = group.mode;\n\n if (font === \"mathit\") {\n return \"italic\";\n } else if (font === \"boldsymbol\") {\n return group.type === \"textord\" ? \"bold\" : \"bold-italic\";\n } else if (font === \"mathbf\") {\n return \"bold\";\n } else if (font === \"mathbb\") {\n return \"double-struck\";\n } else if (font === \"mathsfit\") {\n return \"sans-serif-italic\";\n } else if (font === \"mathfrak\") {\n return \"fraktur\";\n } else if (font === \"mathscr\" || font === \"mathcal\") {\n // MathML makes no distinction between script and calligraphic\n return \"script\";\n } else if (font === \"mathsf\") {\n return \"sans-serif\";\n } else if (font === \"mathtt\") {\n return \"monospace\";\n }\n\n let text = group.text;\n\n if (utils.contains([\"\\\\imath\", \"\\\\jmath\"], text)) {\n return null;\n }\n\n if (src_symbols[mode][text] && src_symbols[mode][text].replace) {\n text = src_symbols[mode][text].replace;\n }\n\n const fontName = buildCommon.fontMap[font].fontName;\n\n if (getCharacterMetrics(text, fontName, mode)) {\n return buildCommon.fontMap[font].variant;\n }\n\n return null;\n};\n/**\n * Check for . which is how a dot renders in MathML,\n * or ,\n * which is how a braced comma {,} renders in MathML\n */\n\nfunction isNumberPunctuation(group) {\n if (!group) {\n return false;\n }\n\n if (group.type === 'mi' && group.children.length === 1) {\n const child = group.children[0];\n return child instanceof TextNode && child.text === '.';\n } else if (group.type === 'mo' && group.children.length === 1 && group.getAttribute('separator') === 'true' && group.getAttribute('lspace') === '0em' && group.getAttribute('rspace') === '0em') {\n const child = group.children[0];\n return child instanceof TextNode && child.text === ',';\n } else {\n return false;\n }\n}\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. Also combine consecutive outputs into a single\n * tag.\n */\n\n\nconst buildMathML_buildExpression = function (expression, options, isOrdgroup) {\n if (expression.length === 1) {\n const group = buildMathML_buildGroup(expression[0], options);\n\n if (isOrdgroup && group instanceof MathNode && group.type === \"mo\") {\n // When TeX writers want to suppress spacing on an operator,\n // they often put the operator by itself inside braces.\n group.setAttribute(\"lspace\", \"0em\");\n group.setAttribute(\"rspace\", \"0em\");\n }\n\n return [group];\n }\n\n const groups = [];\n let lastGroup;\n\n for (let i = 0; i < expression.length; i++) {\n const group = buildMathML_buildGroup(expression[i], options);\n\n if (group instanceof MathNode && lastGroup instanceof MathNode) {\n // Concatenate adjacent s\n if (group.type === 'mtext' && lastGroup.type === 'mtext' && group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) {\n lastGroup.children.push(...group.children);\n continue; // Concatenate adjacent s\n } else if (group.type === 'mn' && lastGroup.type === 'mn') {\n lastGroup.children.push(...group.children);\n continue; // Concatenate ... followed by .\n } else if (isNumberPunctuation(group) && lastGroup.type === 'mn') {\n lastGroup.children.push(...group.children);\n continue; // Concatenate . followed by ...\n } else if (group.type === 'mn' && isNumberPunctuation(lastGroup)) {\n group.children = [...lastGroup.children, ...group.children];\n groups.pop(); // Put preceding ... or . inside base of\n // ...base......exponent... (or )\n } else if ((group.type === 'msup' || group.type === 'msub') && group.children.length >= 1 && (lastGroup.type === 'mn' || isNumberPunctuation(lastGroup))) {\n const base = group.children[0];\n\n if (base instanceof MathNode && base.type === 'mn') {\n base.children = [...lastGroup.children, ...base.children];\n groups.pop();\n } // \\not\n\n } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) {\n const lastChild = lastGroup.children[0];\n\n if (lastChild instanceof TextNode && lastChild.text === '\\u0338' && (group.type === 'mo' || group.type === 'mi' || group.type === 'mn')) {\n const child = group.children[0];\n\n if (child instanceof TextNode && child.text.length > 0) {\n // Overlay with combining character long solidus\n child.text = child.text.slice(0, 1) + \"\\u0338\" + child.text.slice(1);\n groups.pop();\n }\n }\n }\n }\n\n groups.push(group);\n lastGroup = group;\n }\n\n return groups;\n};\n/**\n * Equivalent to buildExpression, but wraps the elements in an \n * if there's more than one. Returns a single node instead of an array.\n */\n\nconst buildExpressionRow = function (expression, options, isOrdgroup) {\n return makeRow(buildMathML_buildExpression(expression, options, isOrdgroup));\n};\n/**\n * Takes a group from the parser and calls the appropriate groupBuilders function\n * on it to produce a MathML node.\n */\n\nconst buildMathML_buildGroup = function (group, options) {\n if (!group) {\n return new mathMLTree.MathNode(\"mrow\");\n }\n\n if (_mathmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n const result = _mathmlGroupBuilders[group.type](group, options); // $FlowFixMe\n\n return result;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `` inside it so\n * we can do appropriate styling.\n */\n\nfunction buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) {\n const expression = buildMathML_buildExpression(tree, options); // TODO: Make a pass thru the MathML similar to buildHTML.traverseNonSpaceNodes\n // and add spacing nodes. This is necessary only adjacent to math operators\n // like \\sin or \\lim or to subsup elements that contain math operators.\n // MathML takes care of the other spacing issues.\n // Wrap up the expression in an mrow so it is presented in the semantics\n // tag correctly, unless it's a single or .\n\n let wrapper;\n\n if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains([\"mrow\", \"mtable\"], expression[0].type)) {\n wrapper = expression[0];\n } else {\n wrapper = new mathMLTree.MathNode(\"mrow\", expression);\n } // Build a TeX annotation of the source\n\n\n const annotation = new mathMLTree.MathNode(\"annotation\", [new mathMLTree.TextNode(texExpression)]);\n annotation.setAttribute(\"encoding\", \"application/x-tex\");\n const semantics = new mathMLTree.MathNode(\"semantics\", [wrapper, annotation]);\n const math = new mathMLTree.MathNode(\"math\", [semantics]);\n math.setAttribute(\"xmlns\", \"http://www.w3.org/1998/Math/MathML\");\n\n if (isDisplayMode) {\n math.setAttribute(\"display\", \"block\");\n } // You can't style nodes, so we wrap the node in a span.\n // NOTE: The span class is not typed to have nodes as children, and\n // we don't want to make the children type more generic since the children\n // of span are expected to have more fields in `buildHtml` contexts.\n\n\n const wrapperClass = forMathmlOnly ? \"katex\" : \"katex-mathml\"; // $FlowFixMe\n\n return buildCommon.makeSpan([wrapperClass], [math]);\n}\n;// CONCATENATED MODULE: ./src/buildTree.js\n\n\n\n\n\n\n\nconst optionsFromSettings = function (settings) {\n return new src_Options({\n style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT,\n maxSize: settings.maxSize,\n minRuleThickness: settings.minRuleThickness\n });\n};\n\nconst displayWrap = function (node, settings) {\n if (settings.displayMode) {\n const classes = [\"katex-display\"];\n\n if (settings.leqno) {\n classes.push(\"leqno\");\n }\n\n if (settings.fleqn) {\n classes.push(\"fleqn\");\n }\n\n node = buildCommon.makeSpan(classes, [node]);\n }\n\n return node;\n};\n\nconst buildTree = function (tree, expression, settings) {\n const options = optionsFromSettings(settings);\n let katexNode;\n\n if (settings.output === \"mathml\") {\n return buildMathML(tree, expression, options, settings.displayMode, true);\n } else if (settings.output === \"html\") {\n const htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n } else {\n const mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false);\n const htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [mathMLNode, htmlNode]);\n }\n\n return displayWrap(katexNode, settings);\n};\nconst buildHTMLTree = function (tree, expression, settings) {\n const options = optionsFromSettings(settings);\n const htmlNode = buildHTML(tree, options);\n const katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n return displayWrap(katexNode, settings);\n};\n/* harmony default export */ var src_buildTree = ((/* unused pure expression or super */ null && (false)));\n;// CONCATENATED MODULE: ./src/stretchy.js\n/**\n * This file provides support to buildMathML.js and buildHTML.js\n * for stretchy wide elements rendered from SVG files\n * and other CSS trickery.\n */\n\n\n\n\n\nconst stretchyCodePoint = {\n widehat: \"^\",\n widecheck: \"ˇ\",\n widetilde: \"~\",\n utilde: \"~\",\n overleftarrow: \"\\u2190\",\n underleftarrow: \"\\u2190\",\n xleftarrow: \"\\u2190\",\n overrightarrow: \"\\u2192\",\n underrightarrow: \"\\u2192\",\n xrightarrow: \"\\u2192\",\n underbrace: \"\\u23df\",\n overbrace: \"\\u23de\",\n overgroup: \"\\u23e0\",\n undergroup: \"\\u23e1\",\n overleftrightarrow: \"\\u2194\",\n underleftrightarrow: \"\\u2194\",\n xleftrightarrow: \"\\u2194\",\n Overrightarrow: \"\\u21d2\",\n xRightarrow: \"\\u21d2\",\n overleftharpoon: \"\\u21bc\",\n xleftharpoonup: \"\\u21bc\",\n overrightharpoon: \"\\u21c0\",\n xrightharpoonup: \"\\u21c0\",\n xLeftarrow: \"\\u21d0\",\n xLeftrightarrow: \"\\u21d4\",\n xhookleftarrow: \"\\u21a9\",\n xhookrightarrow: \"\\u21aa\",\n xmapsto: \"\\u21a6\",\n xrightharpoondown: \"\\u21c1\",\n xleftharpoondown: \"\\u21bd\",\n xrightleftharpoons: \"\\u21cc\",\n xleftrightharpoons: \"\\u21cb\",\n xtwoheadleftarrow: \"\\u219e\",\n xtwoheadrightarrow: \"\\u21a0\",\n xlongequal: \"=\",\n xtofrom: \"\\u21c4\",\n xrightleftarrows: \"\\u21c4\",\n xrightequilibrium: \"\\u21cc\",\n // Not a perfect match.\n xleftequilibrium: \"\\u21cb\",\n // None better available.\n \"\\\\cdrightarrow\": \"\\u2192\",\n \"\\\\cdleftarrow\": \"\\u2190\",\n \"\\\\cdlongequal\": \"=\"\n};\n\nconst mathMLnode = function (label) {\n const node = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(stretchyCodePoint[label.replace(/^\\\\/, '')])]);\n node.setAttribute(\"stretchy\", \"true\");\n return node;\n}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts.\n// Copyright (c) 2009-2010, Design Science, Inc. ()\n// Copyright (c) 2014-2017 Khan Academy ()\n// Licensed under the SIL Open Font License, Version 1.1.\n// See \\nhttp://scripts.sil.org/OFL\n// Very Long SVGs\n// Many of the KaTeX stretchy wide elements use a long SVG image and an\n// overflow: hidden tactic to achieve a stretchy image while avoiding\n// distortion of arrowheads or brace corners.\n// The SVG typically contains a very long (400 em) arrow.\n// The SVG is in a container span that has overflow: hidden, so the span\n// acts like a window that exposes only part of the SVG.\n// The SVG always has a longer, thinner aspect ratio than the container span.\n// After the SVG fills 100% of the height of the container span,\n// there is a long arrow shaft left over. That left-over shaft is not shown.\n// Instead, it is sliced off because the span's CSS has overflow: hidden.\n// Thus, the reader sees an arrow that matches the subject matter width\n// without distortion.\n// Some functions, such as \\cancel, need to vary their aspect ratio. These\n// functions do not get the overflow SVG treatment.\n// Second Brush Stroke\n// Low resolution monitors struggle to display images in fine detail.\n// So browsers apply anti-aliasing. A long straight arrow shaft therefore\n// will sometimes appear as if it has a blurred edge.\n// To mitigate this, these SVG files contain a second \"brush-stroke\" on the\n// arrow shafts. That is, a second long thin rectangular SVG path has been\n// written directly on top of each arrow shaft. This reinforcement causes\n// some of the screen pixels to display as black instead of the anti-aliased\n// gray pixel that a single path would generate. So we get arrow shafts\n// whose edges appear to be sharper.\n// In the katexImagesData object just below, the dimensions all\n// correspond to path geometry inside the relevant SVG.\n// For example, \\overrightarrow uses the same arrowhead as glyph U+2192\n// from the KaTeX Main font. The scaling factor is 1000.\n// That is, inside the font, that arrowhead is 522 units tall, which\n// corresponds to 0.522 em inside the document.\n\n\nconst katexImagesData = {\n // path(s), minWidth, height, align\n overrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n overleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n underrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n underleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n xrightarrow: [[\"rightarrow\"], 1.469, 522, \"xMaxYMin\"],\n \"\\\\cdrightarrow\": [[\"rightarrow\"], 3.0, 522, \"xMaxYMin\"],\n // CD minwwidth2.5pc\n xleftarrow: [[\"leftarrow\"], 1.469, 522, \"xMinYMin\"],\n \"\\\\cdleftarrow\": [[\"leftarrow\"], 3.0, 522, \"xMinYMin\"],\n Overrightarrow: [[\"doublerightarrow\"], 0.888, 560, \"xMaxYMin\"],\n xRightarrow: [[\"doublerightarrow\"], 1.526, 560, \"xMaxYMin\"],\n xLeftarrow: [[\"doubleleftarrow\"], 1.526, 560, \"xMinYMin\"],\n overleftharpoon: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoonup: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoondown: [[\"leftharpoondown\"], 0.888, 522, \"xMinYMin\"],\n overrightharpoon: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoonup: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoondown: [[\"rightharpoondown\"], 0.888, 522, \"xMaxYMin\"],\n xlongequal: [[\"longequal\"], 0.888, 334, \"xMinYMin\"],\n \"\\\\cdlongequal\": [[\"longequal\"], 3.0, 334, \"xMinYMin\"],\n xtwoheadleftarrow: [[\"twoheadleftarrow\"], 0.888, 334, \"xMinYMin\"],\n xtwoheadrightarrow: [[\"twoheadrightarrow\"], 0.888, 334, \"xMaxYMin\"],\n overleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n overbrace: [[\"leftbrace\", \"midbrace\", \"rightbrace\"], 1.6, 548],\n underbrace: [[\"leftbraceunder\", \"midbraceunder\", \"rightbraceunder\"], 1.6, 548],\n underleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n xleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 1.75, 522],\n xLeftrightarrow: [[\"doubleleftarrow\", \"doublerightarrow\"], 1.75, 560],\n xrightleftharpoons: [[\"leftharpoondownplus\", \"rightharpoonplus\"], 1.75, 716],\n xleftrightharpoons: [[\"leftharpoonplus\", \"rightharpoondownplus\"], 1.75, 716],\n xhookleftarrow: [[\"leftarrow\", \"righthook\"], 1.08, 522],\n xhookrightarrow: [[\"lefthook\", \"rightarrow\"], 1.08, 522],\n overlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n underlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n overgroup: [[\"leftgroup\", \"rightgroup\"], 0.888, 342],\n undergroup: [[\"leftgroupunder\", \"rightgroupunder\"], 0.888, 342],\n xmapsto: [[\"leftmapsto\", \"rightarrow\"], 1.5, 522],\n xtofrom: [[\"leftToFrom\", \"rightToFrom\"], 1.75, 528],\n // The next three arrows are from the mhchem package.\n // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the\n // document as \\xrightarrow or \\xrightleftharpoons. Those have\n // min-length = 1.75em, so we set min-length on these next three to match.\n xrightleftarrows: [[\"baraboveleftarrow\", \"rightarrowabovebar\"], 1.75, 901],\n xrightequilibrium: [[\"baraboveshortleftharpoon\", \"rightharpoonaboveshortbar\"], 1.75, 716],\n xleftequilibrium: [[\"shortbaraboveleftharpoon\", \"shortrightharpoonabovebar\"], 1.75, 716]\n};\n\nconst groupLength = function (arg) {\n if (arg.type === \"ordgroup\") {\n return arg.body.length;\n } else {\n return 1;\n }\n};\n\nconst svgSpan = function (group, options) {\n // Create a span with inline SVG for the element.\n function buildSvgSpan_() {\n let viewBoxWidth = 400000; // default\n\n const label = group.label.slice(1);\n\n if (utils.contains([\"widehat\", \"widecheck\", \"widetilde\", \"utilde\"], label)) {\n // Each type in the `if` statement corresponds to one of the ParseNode\n // types below. This narrowing is required to access `grp.base`.\n // $FlowFixMe\n const grp = group; // There are four SVG images available for each function.\n // Choose a taller image when there are more characters.\n\n const numChars = groupLength(grp.base);\n let viewBoxHeight;\n let pathName;\n let height;\n\n if (numChars > 5) {\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxHeight = 420;\n viewBoxWidth = 2364;\n height = 0.42;\n pathName = label + \"4\";\n } else {\n viewBoxHeight = 312;\n viewBoxWidth = 2340;\n height = 0.34;\n pathName = \"tilde4\";\n }\n } else {\n const imgIndex = [1, 1, 2, 2, 3, 3][numChars];\n\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex];\n viewBoxHeight = [0, 239, 300, 360, 420][imgIndex];\n height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex];\n pathName = label + imgIndex;\n } else {\n viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex];\n viewBoxHeight = [0, 260, 286, 306, 312][imgIndex];\n height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex];\n pathName = \"tilde\" + imgIndex;\n }\n }\n\n const path = new PathNode(pathName);\n const svgNode = new SvgNode([path], {\n \"width\": \"100%\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": \"none\"\n });\n return {\n span: buildCommon.makeSvgSpan([], [svgNode], options),\n minWidth: 0,\n height\n };\n } else {\n const spans = [];\n const data = katexImagesData[label];\n const [paths, minWidth, viewBoxHeight] = data;\n const height = viewBoxHeight / 1000;\n const numSvgChildren = paths.length;\n let widthClasses;\n let aligns;\n\n if (numSvgChildren === 1) {\n // $FlowFixMe: All these cases must be of the 4-tuple type.\n const align1 = data[3];\n widthClasses = [\"hide-tail\"];\n aligns = [align1];\n } else if (numSvgChildren === 2) {\n widthClasses = [\"halfarrow-left\", \"halfarrow-right\"];\n aligns = [\"xMinYMin\", \"xMaxYMin\"];\n } else if (numSvgChildren === 3) {\n widthClasses = [\"brace-left\", \"brace-center\", \"brace-right\"];\n aligns = [\"xMinYMin\", \"xMidYMin\", \"xMaxYMin\"];\n } else {\n throw new Error(\"Correct katexImagesData or update code here to support\\n \" + numSvgChildren + \" children.\");\n }\n\n for (let i = 0; i < numSvgChildren; i++) {\n const path = new PathNode(paths[i]);\n const svgNode = new SvgNode([path], {\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": aligns[i] + \" slice\"\n });\n const span = buildCommon.makeSvgSpan([widthClasses[i]], [svgNode], options);\n\n if (numSvgChildren === 1) {\n return {\n span,\n minWidth,\n height\n };\n } else {\n span.style.height = makeEm(height);\n spans.push(span);\n }\n }\n\n return {\n span: buildCommon.makeSpan([\"stretchy\"], spans, options),\n minWidth,\n height\n };\n }\n } // buildSvgSpan_()\n\n\n const {\n span,\n minWidth,\n height\n } = buildSvgSpan_(); // Note that we are returning span.depth = 0.\n // Any adjustments relative to the baseline must be done in buildHTML.\n\n span.height = height;\n span.style.height = makeEm(height);\n\n if (minWidth > 0) {\n span.style.minWidth = makeEm(minWidth);\n }\n\n return span;\n};\n\nconst encloseSpan = function (inner, label, topPad, bottomPad, options) {\n // Return an image span for \\cancel, \\bcancel, \\xcancel, \\fbox, or \\angl\n let img;\n const totalHeight = inner.height + inner.depth + topPad + bottomPad;\n\n if (/fbox|color|angl/.test(label)) {\n img = buildCommon.makeSpan([\"stretchy\", label], [], options);\n\n if (label === \"fbox\") {\n const color = options.color && options.getColor();\n\n if (color) {\n img.style.borderColor = color;\n }\n }\n } else {\n // \\cancel, \\bcancel, or \\xcancel\n // Since \\cancel's SVG is inline and it omits the viewBox attribute,\n // its stroke-width will not vary with span area.\n const lines = [];\n\n if (/^[bx]cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"0\",\n \"x2\": \"100%\",\n \"y2\": \"100%\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n if (/^x?cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n const svgNode = new SvgNode(lines, {\n \"width\": \"100%\",\n \"height\": makeEm(totalHeight)\n });\n img = buildCommon.makeSvgSpan([], [svgNode], options);\n }\n\n img.height = totalHeight;\n img.style.height = makeEm(totalHeight);\n return img;\n};\n\n/* harmony default export */ var stretchy = ({\n encloseSpan,\n mathMLnode,\n svgSpan\n});\n;// CONCATENATED MODULE: ./src/parseNode.js\n\n\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node's type does not match.\n */\nfunction assertNodeType(node, type) {\n if (!node || node.type !== type) {\n throw new Error(\"Expected node of type \" + type + \", but got \" + (node ? \"node of type \" + node.type : String(node)));\n } // $FlowFixMe, >=0.125\n\n\n return node;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction assertSymbolNodeType(node) {\n const typedNode = checkSymbolNodeType(node);\n\n if (!typedNode) {\n throw new Error(\"Expected node of symbol group type, but got \" + (node ? \"node of type \" + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkSymbolNodeType(node) {\n if (node && (node.type === \"atom\" || NON_ATOMS.hasOwnProperty(node.type))) {\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n;// CONCATENATED MODULE: ./src/functions/accent.js\n\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"accent\", but\n// also \"supsub\" since an accent can affect super/subscripting.\nconst htmlBuilder = (grp, options) => {\n // Accents are handled in the TeXbook pg. 443, rule 12.\n let base;\n let group;\n let supSubGroup;\n\n if (grp && grp.type === \"supsub\") {\n // If our base is a character box, and we have superscripts and\n // subscripts, the supsub will defer to us. In particular, we want\n // to attach the superscripts and subscripts to the inner body (so\n // that the position of the superscripts and subscripts won't be\n // affected by the height of the accent). We accomplish this by\n // sticking the base of the accent into the base of the supsub, and\n // rendering that, while keeping track of where the accent is.\n // The real accent group is the base of the supsub group\n group = assertNodeType(grp.base, \"accent\"); // The character box is the base of the accent group\n\n base = group.base; // Stick the character box into the base of the supsub group\n\n grp.base = base; // Rerender the supsub group with its new base, and store that\n // result.\n\n supSubGroup = assertSpan(buildGroup(grp, options)); // reset original base\n\n grp.base = group;\n } else {\n group = assertNodeType(grp, \"accent\");\n base = group.base;\n } // Build the base group\n\n\n const body = buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character?\n\n const mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line \"If the\n // nucleus is not a single character, let s = 0; otherwise set s to the\n // kern amount for the nucleus followed by the \\skewchar of its font.\"\n // Note that our skew metrics are just the kern between each character\n // and the skewchar.\n\n let skew = 0;\n\n if (mustShift) {\n // If the base is a character box, then we want the skew of the\n // innermost character. To do that, we find the innermost character:\n const baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it\n\n const baseGroup = buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol.\n\n skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we\n // removed with getBaseElem might contain things like \\color which\n // we can't get rid of.\n // TODO(emily): Find a better way to get the skew\n }\n\n const accentBelow = group.label === \"\\\\c\"; // calculate the amount of space between the body and the accent\n\n let clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight); // Build the accent\n\n let accentBody;\n\n if (!group.isStretchy) {\n let accent;\n let width;\n\n if (group.label === \"\\\\vec\") {\n // Before version 0.9, \\vec used the combining font glyph U+20D7.\n // But browsers, especially Safari, are not consistent in how they\n // render combining characters when not preceded by a character.\n // So now we use an SVG.\n // If Safari reforms, we should consider reverting to the glyph.\n accent = buildCommon.staticSvg(\"vec\", options);\n width = buildCommon.svgData.vec[1];\n } else {\n accent = buildCommon.makeOrd({\n mode: group.mode,\n text: group.label\n }, options, \"textord\");\n accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to\n // shift the accent over to a place we don't want.\n\n accent.italic = 0;\n width = accent.width;\n\n if (accentBelow) {\n clearance += accent.depth;\n }\n }\n\n accentBody = buildCommon.makeSpan([\"accent-body\"], [accent]); // \"Full\" accents expand the width of the resulting symbol to be\n // at least the width of the accent, and overlap directly onto the\n // character without any vertical offset.\n\n const accentFull = group.label === \"\\\\textcircled\";\n\n if (accentFull) {\n accentBody.classes.push('accent-full');\n clearance = body.height;\n } // Shift the accent over by the skew.\n\n\n let left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }`\n // so that the accent doesn't contribute to the bounding box.\n // We need to shift the character by its width (effectively half\n // its width) to compensate.\n\n if (!accentFull) {\n left -= width / 2;\n }\n\n accentBody.style.left = makeEm(left); // \\textcircled uses the \\bigcirc glyph, so it needs some\n // vertical adjustment to match LaTeX.\n\n if (group.label === \"\\\\textcircled\") {\n accentBody.style.top = \".2em\";\n }\n\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: -clearance\n }, {\n type: \"elem\",\n elem: accentBody\n }]\n }, options);\n } else {\n accentBody = stretchy.svgSpan(group, options);\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"],\n wrapperStyle: skew > 0 ? {\n width: \"calc(100% - \" + makeEm(2 * skew) + \")\",\n marginLeft: makeEm(2 * skew)\n } : undefined\n }]\n }, options);\n }\n\n const accentWrap = buildCommon.makeSpan([\"mord\", \"accent\"], [accentBody], options);\n\n if (supSubGroup) {\n // Here, we replace the \"base\" child of the supsub with our newly\n // generated accent.\n supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the\n // accent, we manually recalculate height.\n\n supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not.\n\n supSubGroup.classes[0] = \"mord\";\n return supSubGroup;\n } else {\n return accentWrap;\n }\n};\n\nconst mathmlBuilder = (group, options) => {\n const accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode(\"mo\", [makeText(group.label, group.mode)]);\n const node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n};\n\nconst NON_STRETCHY_ACCENT_REGEX = new RegExp([\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\"].map(accent => \"\\\\\" + accent).join(\"|\")); // Accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\", \"\\\\widecheck\", \"\\\\widehat\", \"\\\\widetilde\", \"\\\\overrightarrow\", \"\\\\overleftarrow\", \"\\\\Overrightarrow\", \"\\\\overleftrightarrow\", \"\\\\overgroup\", \"\\\\overlinesegment\", \"\\\\overleftharpoon\", \"\\\\overrightharpoon\"],\n props: {\n numArgs: 1\n },\n handler: (context, args) => {\n const base = normalizeArgument(args[0]);\n const isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);\n const isShifty = !isStretchy || context.funcName === \"\\\\widehat\" || context.funcName === \"\\\\widetilde\" || context.funcName === \"\\\\widecheck\";\n return {\n type: \"accent\",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: isStretchy,\n isShifty: isShifty,\n base: base\n };\n },\n htmlBuilder,\n mathmlBuilder\n}); // Text-mode accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\'\", \"\\\\`\", \"\\\\^\", \"\\\\~\", \"\\\\=\", \"\\\\u\", \"\\\\.\", '\\\\\"', \"\\\\c\", \"\\\\r\", \"\\\\H\", \"\\\\v\", \"\\\\textcircled\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n // unless in strict mode\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n const base = args[0];\n let mode = context.parser.mode;\n\n if (mode === \"math\") {\n context.parser.settings.reportNonstrict(\"mathVsTextAccents\", \"LaTeX's accent \" + context.funcName + \" works only in text mode\");\n mode = \"text\";\n }\n\n return {\n type: \"accent\",\n mode: mode,\n label: context.funcName,\n isStretchy: false,\n isShifty: true,\n base: base\n };\n },\n htmlBuilder,\n mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/accentunder.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"accentUnder\",\n names: [\"\\\\underleftarrow\", \"\\\\underrightarrow\", \"\\\\underleftrightarrow\", \"\\\\undergroup\", \"\\\\underlinesegment\", \"\\\\utilde\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const base = args[0];\n return {\n type: \"accentUnder\",\n mode: parser.mode,\n label: funcName,\n base: base\n };\n },\n htmlBuilder: (group, options) => {\n // Treat under accents much like underlines.\n const innerGroup = buildGroup(group.base, options);\n const accentBody = stretchy.svgSpan(group, options);\n const kern = group.label === \"\\\\utilde\" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns\n\n const vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: kern\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"accentunder\"], [vlist], options);\n },\n mathmlBuilder: (group, options) => {\n const accentNode = stretchy.mathMLnode(group.label);\n const node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/arrow.js\n\n\n\n\n\n\n\n// Helper function\nconst paddedNode = group => {\n const node = new mathMLTree.MathNode(\"mpadded\", group ? [group] : []);\n node.setAttribute(\"width\", \"+0.6em\");\n node.setAttribute(\"lspace\", \"0.3em\");\n return node;\n}; // Stretchy arrows with an optional argument\n\n\ndefineFunction({\n type: \"xArrow\",\n names: [\"\\\\xleftarrow\", \"\\\\xrightarrow\", \"\\\\xLeftarrow\", \"\\\\xRightarrow\", \"\\\\xleftrightarrow\", \"\\\\xLeftrightarrow\", \"\\\\xhookleftarrow\", \"\\\\xhookrightarrow\", \"\\\\xmapsto\", \"\\\\xrightharpoondown\", \"\\\\xrightharpoonup\", \"\\\\xleftharpoondown\", \"\\\\xleftharpoonup\", \"\\\\xrightleftharpoons\", \"\\\\xleftrightharpoons\", \"\\\\xlongequal\", \"\\\\xtwoheadrightarrow\", \"\\\\xtwoheadleftarrow\", \"\\\\xtofrom\", // The next 3 functions are here to support the mhchem extension.\n // Direct use of these functions is discouraged and may break someday.\n \"\\\\xrightleftarrows\", \"\\\\xrightequilibrium\", \"\\\\xleftequilibrium\", // The next 3 functions are here only to support the {CD} environment.\n \"\\\\\\\\cdrightarrow\", \"\\\\\\\\cdleftarrow\", \"\\\\\\\\cdlongequal\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"xArrow\",\n mode: parser.mode,\n label: funcName,\n body: args[0],\n below: optArgs[0]\n };\n },\n\n // Flow is unable to correctly infer the type of `group`, even though it's\n // unambiguously determined from the passed-in `type` above.\n htmlBuilder(group, options) {\n const style = options.style; // Build the argument groups in the appropriate style.\n // Ref: amsmath.dtx: \\hbox{$\\scriptstyle\\mkern#3mu{#6}\\mkern#4mu$}%\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n let newOptions = options.havingStyle(style.sup());\n const upperGroup = buildCommon.wrapFragment(buildGroup(group.body, newOptions, options), options);\n const arrowPrefix = group.label.slice(0, 2) === \"\\\\x\" ? \"x\" : \"cd\";\n upperGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n let lowerGroup;\n\n if (group.below) {\n // Build the lower group\n newOptions = options.havingStyle(style.sub());\n lowerGroup = buildCommon.wrapFragment(buildGroup(group.below, newOptions, options), options);\n lowerGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n }\n\n const arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0.\n // The point we want on the math axis is at 0.5 * arrowBody.height.\n\n const arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\\if0#2\\else\\mkern#2mu\\fi\n\n let upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu\n\n if (upperGroup.depth > 0.25 || group.label === \"\\\\xleftequilibrium\") {\n upperShift -= upperGroup.depth; // shift up if depth encroaches\n } // Generate the vlist\n\n\n let vlist;\n\n if (lowerGroup) {\n const lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111;\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }, {\n type: \"elem\",\n elem: lowerGroup,\n shift: lowerShift\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }]\n }, options);\n } // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n return buildCommon.makeSpan([\"mrel\", \"x-arrow\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const arrowNode = stretchy.mathMLnode(group.label);\n arrowNode.setAttribute(\"minsize\", group.label.charAt(0) === \"x\" ? \"1.75em\" : \"3.0em\");\n let node;\n\n if (group.body) {\n const upperNode = paddedNode(buildMathML_buildGroup(group.body, options));\n\n if (group.below) {\n const lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munderover\", [arrowNode, lowerNode, upperNode]);\n } else {\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, upperNode]);\n }\n } else if (group.below) {\n const lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munder\", [arrowNode, lowerNode]);\n } else {\n // This should never happen.\n // Parser.js throws an error if there is no argument.\n node = paddedNode();\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, node]);\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/mclass.js\n\n\n\n\n\n\nconst mclass_makeSpan = buildCommon.makeSpan;\n\nfunction mclass_htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, true);\n return mclass_makeSpan([group.mclass], elements, options);\n}\n\nfunction mclass_mathmlBuilder(group, options) {\n let node;\n const inner = buildMathML_buildExpression(group.body, options);\n\n if (group.mclass === \"minner\") {\n node = new mathMLTree.MathNode(\"mpadded\", inner);\n } else if (group.mclass === \"mord\") {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mi\";\n } else {\n node = new mathMLTree.MathNode(\"mi\", inner);\n }\n } else {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mo\";\n } else {\n node = new mathMLTree.MathNode(\"mo\", inner);\n } // Set spacing based on what is the most likely adjacent atom type.\n // See TeXbook p170.\n\n\n if (group.mclass === \"mbin\") {\n node.attributes.lspace = \"0.22em\"; // medium space\n\n node.attributes.rspace = \"0.22em\";\n } else if (group.mclass === \"mpunct\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0.17em\"; // thinspace\n } else if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0em\";\n } else if (group.mclass === \"minner\") {\n node.attributes.lspace = \"0.0556em\"; // 1 mu is the most likely option\n\n node.attributes.width = \"+0.1111em\";\n } // MathML default space is 5/18 em, so needs no action.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo\n\n }\n\n return node;\n} // Math class commands except \\mathop\n\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\mathord\", \"\\\\mathbin\", \"\\\\mathrel\", \"\\\\mathopen\", \"\\\\mathclose\", \"\\\\mathpunct\", \"\\\\mathinner\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: \"m\" + funcName.slice(5),\n // TODO(kevinb): don't prefix with 'm'\n body: ordargument(body),\n isCharacterBox: utils.isCharacterBox(body)\n };\n },\n\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\nconst binrelClass = arg => {\n // \\binrel@ spacing varies with (bin|rel|ord) of the atom in the argument.\n // (by rendering separately and with {}s before and after, and measuring\n // the change in spacing). We'll do roughly the same by detecting the\n // atom type directly.\n const atom = arg.type === \"ordgroup\" && arg.body.length ? arg.body[0] : arg;\n\n if (atom.type === \"atom\" && (atom.family === \"bin\" || atom.family === \"rel\")) {\n return \"m\" + atom.family;\n } else {\n return \"mord\";\n }\n}; // \\@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord.\n// This is equivalent to \\binrel@{x}\\binrel@@{y} in AMSTeX.\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\@binrel\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref2, args) {\n let {\n parser\n } = _ref2;\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[1]),\n isCharacterBox: utils.isCharacterBox(args[1])\n };\n }\n\n}); // Build a relation or stacked op by placing one symbol on top of another\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\stackrel\", \"\\\\overset\", \"\\\\underset\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref3, args) {\n let {\n parser,\n funcName\n } = _ref3;\n const baseArg = args[1];\n const shiftedArg = args[0];\n let mclass;\n\n if (funcName !== \"\\\\stackrel\") {\n // LaTeX applies \\binrel spacing to \\overset and \\underset.\n mclass = binrelClass(baseArg);\n } else {\n mclass = \"mrel\"; // for \\stackrel\n }\n\n const baseOp = {\n type: \"op\",\n mode: baseArg.mode,\n limits: true,\n alwaysHandleSupSub: true,\n parentIsSupSub: false,\n symbol: false,\n suppressBaseShift: funcName !== \"\\\\stackrel\",\n body: ordargument(baseArg)\n };\n const supsub = {\n type: \"supsub\",\n mode: shiftedArg.mode,\n base: baseOp,\n sup: funcName === \"\\\\underset\" ? null : shiftedArg,\n sub: funcName === \"\\\\underset\" ? shiftedArg : null\n };\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass,\n body: [supsub],\n isCharacterBox: utils.isCharacterBox(supsub)\n };\n },\n\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/pmb.js\n\n\n\n\n\n\n// \\pmb is a simulation of bold font.\n// The version of \\pmb in ambsy.sty works by typesetting three copies\n// with small offsets. We use CSS text-shadow.\n// It's a hack. Not as good as a real bold font. Better than nothing.\ndefineFunction({\n type: \"pmb\",\n names: [\"\\\\pmb\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"pmb\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, true);\n const node = buildCommon.makeSpan([group.mclass], elements, options);\n node.style.textShadow = \"0.02em 0.01em 0.04px\";\n return node;\n },\n\n mathmlBuilder(group, style) {\n const inner = buildMathML_buildExpression(group.body, style); // Wrap with an element.\n\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"style\", \"text-shadow: 0.02em 0.01em 0.04px\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/environments/cd.js\n\n\n\n\n\n\n\n\nconst cdArrowFunctionName = {\n \">\": \"\\\\\\\\cdrightarrow\",\n \"<\": \"\\\\\\\\cdleftarrow\",\n \"=\": \"\\\\\\\\cdlongequal\",\n \"A\": \"\\\\uparrow\",\n \"V\": \"\\\\downarrow\",\n \"|\": \"\\\\Vert\",\n \".\": \"no arrow\"\n};\n\nconst newCell = () => {\n // Create an empty cell, to be filled below with parse nodes.\n // The parseTree from this module must be constructed like the\n // one created by parseArray(), so an empty CD cell must\n // be a ParseNode<\"styling\">. And CD is always displaystyle.\n // So these values are fixed and flow can do implicit typing.\n return {\n type: \"styling\",\n body: [],\n mode: \"math\",\n style: \"display\"\n };\n};\n\nconst isStartOfArrow = node => {\n return node.type === \"textord\" && node.text === \"@\";\n};\n\nconst isLabelEnd = (node, endChar) => {\n return (node.type === \"mathord\" || node.type === \"atom\") && node.text === endChar;\n};\n\nfunction cdArrow(arrowChar, labels, parser) {\n // Return a parse tree of an arrow and its labels.\n // This acts in a way similar to a macro expansion.\n const funcName = cdArrowFunctionName[arrowChar];\n\n switch (funcName) {\n case \"\\\\\\\\cdrightarrow\":\n case \"\\\\\\\\cdleftarrow\":\n return parser.callFunction(funcName, [labels[0]], [labels[1]]);\n\n case \"\\\\uparrow\":\n case \"\\\\downarrow\":\n {\n const leftLabel = parser.callFunction(\"\\\\\\\\cdleft\", [labels[0]], []);\n const bareArrow = {\n type: \"atom\",\n text: funcName,\n mode: \"math\",\n family: \"rel\"\n };\n const sizedArrow = parser.callFunction(\"\\\\Big\", [bareArrow], []);\n const rightLabel = parser.callFunction(\"\\\\\\\\cdright\", [labels[1]], []);\n const arrowGroup = {\n type: \"ordgroup\",\n mode: \"math\",\n body: [leftLabel, sizedArrow, rightLabel]\n };\n return parser.callFunction(\"\\\\\\\\cdparent\", [arrowGroup], []);\n }\n\n case \"\\\\\\\\cdlongequal\":\n return parser.callFunction(\"\\\\\\\\cdlongequal\", [], []);\n\n case \"\\\\Vert\":\n {\n const arrow = {\n type: \"textord\",\n text: \"\\\\Vert\",\n mode: \"math\"\n };\n return parser.callFunction(\"\\\\Big\", [arrow], []);\n }\n\n default:\n return {\n type: \"textord\",\n text: \" \",\n mode: \"math\"\n };\n }\n}\n\nfunction parseCD(parser) {\n // Get the array's parse nodes with \\\\ temporarily mapped to \\cr.\n const parsedRows = [];\n parser.gullet.beginGroup();\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n parser.gullet.beginGroup();\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Get the parse nodes for the next row.\n parsedRows.push(parser.parseExpression(false, \"\\\\\\\\\"));\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n const next = parser.fetch().text;\n\n if (next === \"&\" || next === \"\\\\\\\\\") {\n parser.consume();\n } else if (next === \"\\\\end\") {\n if (parsedRows[parsedRows.length - 1].length === 0) {\n parsedRows.pop(); // final row ended in \\\\\n }\n\n break;\n } else {\n throw new src_ParseError(\"Expected \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n }\n\n let row = [];\n const body = [row]; // Loop thru the parse nodes. Collect them into cells and arrows.\n\n for (let i = 0; i < parsedRows.length; i++) {\n // Start a new row.\n const rowNodes = parsedRows[i]; // Create the first cell.\n\n let cell = newCell();\n\n for (let j = 0; j < rowNodes.length; j++) {\n if (!isStartOfArrow(rowNodes[j])) {\n // If a parseNode is not an arrow, it goes into a cell.\n cell.body.push(rowNodes[j]);\n } else {\n // Parse node j is an \"@\", the start of an arrow.\n // Before starting on the arrow, push the cell into `row`.\n row.push(cell); // Now collect parseNodes into an arrow.\n // The character after \"@\" defines the arrow type.\n\n j += 1;\n const arrowChar = assertSymbolNodeType(rowNodes[j]).text; // Create two empty label nodes. We may or may not use them.\n\n const labels = new Array(2);\n labels[0] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n };\n labels[1] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n }; // Process the arrow.\n\n if (\"=|.\".indexOf(arrowChar) > -1) {// Three \"arrows\", ``@=`, `@|`, and `@.`, do not take labels.\n // Do nothing here.\n } else if (\"<>AV\".indexOf(arrowChar) > -1) {\n // Four arrows, `@>>>`, `@<<<`, `@AAA`, and `@VVV`, each take\n // two optional labels. E.g. the right-point arrow syntax is\n // really: @>{optional label}>{optional label}>\n // Collect parseNodes into labels.\n for (let labelNum = 0; labelNum < 2; labelNum++) {\n let inLabel = true;\n\n for (let k = j + 1; k < rowNodes.length; k++) {\n if (isLabelEnd(rowNodes[k], arrowChar)) {\n inLabel = false;\n j = k;\n break;\n }\n\n if (isStartOfArrow(rowNodes[k])) {\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[k]);\n }\n\n labels[labelNum].body.push(rowNodes[k]);\n }\n\n if (inLabel) {\n // isLabelEnd never returned a true.\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[j]);\n }\n }\n } else {\n throw new src_ParseError(\"Expected one of \\\"<>AV=|.\\\" after @\", rowNodes[j]);\n } // Now join the arrow to its labels.\n\n\n const arrow = cdArrow(arrowChar, labels, parser); // Wrap the arrow in ParseNode<\"styling\">.\n // This is done to match parseArray() behavior.\n\n const wrappedArrow = {\n type: \"styling\",\n body: [arrow],\n mode: \"math\",\n style: \"display\" // CD is always displaystyle.\n\n };\n row.push(wrappedArrow); // In CD's syntax, cells are implicit. That is, everything that\n // is not an arrow gets collected into a cell. So create an empty\n // cell now. It will collect upcoming parseNodes.\n\n cell = newCell();\n }\n }\n\n if (i % 2 === 0) {\n // Even-numbered rows consist of: cell, arrow, cell, arrow, ... cell\n // The last cell is not yet pushed into `row`, so:\n row.push(cell);\n } else {\n // Odd-numbered rows consist of: vert arrow, empty cell, ... vert arrow\n // Remove the empty cell that was placed at the beginning of `row`.\n row.shift();\n }\n\n row = [];\n body.push(row);\n } // End row group\n\n\n parser.gullet.endGroup(); // End array group defining \\\\\n\n parser.gullet.endGroup(); // define column separation.\n\n const cols = new Array(body[0].length).fill({\n type: \"align\",\n align: \"c\",\n pregap: 0.25,\n // CD package sets \\enskip between columns.\n postgap: 0.25 // So pre and post each get half an \\enskip, i.e. 0.25em.\n\n });\n return {\n type: \"array\",\n mode: \"math\",\n body,\n arraystretch: 1,\n addJot: true,\n rowGaps: [null],\n cols,\n colSeparationType: \"CD\",\n hLinesBeforeRow: new Array(body.length + 1).fill([])\n };\n} // The functions below are not available for general use.\n// They are here only for internal use by the {CD} environment in placing labels\n// next to vertical arrows.\n// We don't need any such functions for horizontal arrows because we can reuse\n// the functionality that already exists for extensible arrows.\n\ndefineFunction({\n type: \"cdlabel\",\n names: [\"\\\\\\\\cdleft\", \"\\\\\\\\cdright\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"cdlabel\",\n mode: parser.mode,\n side: funcName.slice(4),\n label: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n const newOptions = options.havingStyle(options.style.sup());\n const label = buildCommon.wrapFragment(buildGroup(group.label, newOptions, options), options);\n label.classes.push(\"cd-label-\" + group.side);\n label.style.bottom = makeEm(0.8 - label.depth); // Zero out label height & depth, so vertical align of arrow is set\n // by the arrow height, not by the label.\n\n label.height = 0;\n label.depth = 0;\n return label;\n },\n\n mathmlBuilder(group, options) {\n let label = new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.label, options)]);\n label = new mathMLTree.MathNode(\"mpadded\", [label]);\n label.setAttribute(\"width\", \"0\");\n\n if (group.side === \"left\") {\n label.setAttribute(\"lspace\", \"-1width\");\n } // We have to guess at vertical alignment. We know the arrow is 1.8em tall,\n // But we don't know the height or depth of the label.\n\n\n label.setAttribute(\"voffset\", \"0.7em\");\n label = new mathMLTree.MathNode(\"mstyle\", [label]);\n label.setAttribute(\"displaystyle\", \"false\");\n label.setAttribute(\"scriptlevel\", \"1\");\n return label;\n }\n\n});\ndefineFunction({\n type: \"cdlabelparent\",\n names: [\"\\\\\\\\cdparent\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref2, args) {\n let {\n parser\n } = _ref2;\n return {\n type: \"cdlabelparent\",\n mode: parser.mode,\n fragment: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Wrap the vertical arrow and its labels.\n // The parent gets position: relative. The child gets position: absolute.\n // So CSS can locate the label correctly.\n const parent = buildCommon.wrapFragment(buildGroup(group.fragment, options), options);\n parent.classes.push(\"cd-vert-arrow\");\n return parent;\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.fragment, options)]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/char.js\n\n\n // \\@char is an internal function that takes a grouped decimal argument like\n// {123} and converts into symbol with code 123. It is used by the *macro*\n// \\char defined in macros.js.\n\ndefineFunction({\n type: \"textord\",\n names: [\"\\\\@char\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const arg = assertNodeType(args[0], \"ordgroup\");\n const group = arg.body;\n let number = \"\";\n\n for (let i = 0; i < group.length; i++) {\n const node = assertNodeType(group[i], \"textord\");\n number += node.text;\n }\n\n let code = parseInt(number);\n let text;\n\n if (isNaN(code)) {\n throw new src_ParseError(\"\\\\@char has non-numeric argument \" + number); // If we drop IE support, the following code could be replaced with\n // text = String.fromCodePoint(code)\n } else if (code < 0 || code >= 0x10ffff) {\n throw new src_ParseError(\"\\\\@char with invalid code point \" + number);\n } else if (code <= 0xffff) {\n text = String.fromCharCode(code);\n } else {\n // Astral code point; split into surrogate halves\n code -= 0x10000;\n text = String.fromCharCode((code >> 10) + 0xd800, (code & 0x3ff) + 0xdc00);\n }\n\n return {\n type: \"textord\",\n mode: parser.mode,\n text: text\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/color.js\n\n\n\n\n\n\n\nconst color_htmlBuilder = (group, options) => {\n const elements = buildExpression(group.body, options.withColor(group.color), false); // \\color isn't supposed to affect the type of the elements it contains.\n // To accomplish this, we wrap the results in a fragment, so the inner\n // elements will be able to directly interact with their neighbors. For\n // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n\n return buildCommon.makeFragment(elements);\n};\n\nconst color_mathmlBuilder = (group, options) => {\n const inner = buildMathML_buildExpression(group.body, options.withColor(group.color));\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"mathcolor\", group.color);\n return node;\n};\n\ndefineFunction({\n type: \"color\",\n names: [\"\\\\textcolor\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"original\"]\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const color = assertNodeType(args[0], \"color-token\").color;\n const body = args[1];\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body: ordargument(body)\n };\n },\n\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\ndefineFunction({\n type: \"color\",\n names: [\"\\\\color\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n argTypes: [\"color\"]\n },\n\n handler(_ref2, args) {\n let {\n parser,\n breakOnTokenText\n } = _ref2;\n const color = assertNodeType(args[0], \"color-token\").color; // Set macro \\current@color in current namespace to store the current\n // color, mimicking the behavior of color.sty.\n // This is currently used just to correctly color a \\right\n // that follows a \\color command.\n\n parser.gullet.macros.set(\"\\\\current@color\", color); // Parse out the implicit body that should be colored.\n\n const body = parser.parseExpression(true, breakOnTokenText);\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body\n };\n },\n\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/cr.js\n// Row breaks within tabular environments, and line breaks at top level\n\n\n\n\n // \\DeclareRobustCommand\\\\{...\\@xnewline}\n\ndefineFunction({\n type: \"cr\",\n names: [\"\\\\\\\\\"],\n props: {\n numArgs: 0,\n numOptionalArgs: 0,\n allowedInText: true\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const size = parser.gullet.future().text === \"[\" ? parser.parseSizeGroup(true) : null;\n const newLine = !parser.settings.displayMode || !parser.settings.useStrictBehavior(\"newLineInDisplayMode\", \"In LaTeX, \\\\\\\\ or \\\\newline \" + \"does nothing in display mode\");\n return {\n type: \"cr\",\n mode: parser.mode,\n newLine,\n size: size && assertNodeType(size, \"size\").value\n };\n },\n\n // The following builders are called only at the top level,\n // not within tabular/array environments.\n htmlBuilder(group, options) {\n const span = buildCommon.makeSpan([\"mspace\"], [], options);\n\n if (group.newLine) {\n span.classes.push(\"newline\");\n\n if (group.size) {\n span.style.marginTop = makeEm(calculateSize(group.size, options));\n }\n }\n\n return span;\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mspace\");\n\n if (group.newLine) {\n node.setAttribute(\"linebreak\", \"newline\");\n\n if (group.size) {\n node.setAttribute(\"height\", makeEm(calculateSize(group.size, options)));\n }\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/def.js\n\n\n\nconst globalMap = {\n \"\\\\global\": \"\\\\global\",\n \"\\\\long\": \"\\\\\\\\globallong\",\n \"\\\\\\\\globallong\": \"\\\\\\\\globallong\",\n \"\\\\def\": \"\\\\gdef\",\n \"\\\\gdef\": \"\\\\gdef\",\n \"\\\\edef\": \"\\\\xdef\",\n \"\\\\xdef\": \"\\\\xdef\",\n \"\\\\let\": \"\\\\\\\\globallet\",\n \"\\\\futurelet\": \"\\\\\\\\globalfuture\"\n};\n\nconst checkControlSequence = tok => {\n const name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n return name;\n};\n\nconst getRHS = parser => {\n let tok = parser.gullet.popToken();\n\n if (tok.text === \"=\") {\n // consume optional equals\n tok = parser.gullet.popToken();\n\n if (tok.text === \" \") {\n // consume one optional space\n tok = parser.gullet.popToken();\n }\n }\n\n return tok;\n};\n\nconst letCommand = (parser, name, tok, global) => {\n let macro = parser.gullet.macros.get(tok.text);\n\n if (macro == null) {\n // don't expand it later even if a macro with the same name is defined\n // e.g., \\let\\foo=\\frac \\def\\frac{\\relax} \\frac12\n tok.noexpand = true;\n macro = {\n tokens: [tok],\n numArgs: 0,\n // reproduce the same behavior in expansion\n unexpandable: !parser.gullet.isExpandable(tok.text)\n };\n }\n\n parser.gullet.macros.set(name, macro, global);\n}; // -> |\n// -> |\\global\n// -> |\n// -> \\global|\\long|\\outer\n\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\global\", \"\\\\long\", \"\\\\\\\\globallong\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(_ref) {\n let {\n parser,\n funcName\n } = _ref;\n parser.consumeSpaces();\n const token = parser.fetch();\n\n if (globalMap[token.text]) {\n // KaTeX doesn't have \\par, so ignore \\long\n if (funcName === \"\\\\global\" || funcName === \"\\\\\\\\globallong\") {\n token.text = globalMap[token.text];\n }\n\n return assertNodeType(parser.parseFunction(), \"internal\");\n }\n\n throw new src_ParseError(\"Invalid token after macro prefix\", token);\n }\n\n}); // Basic support for macro definitions: \\def, \\gdef, \\edef, \\xdef\n// -> \n// -> \\def|\\gdef|\\edef|\\xdef\n// -> \n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\def\", \"\\\\gdef\", \"\\\\edef\", \"\\\\xdef\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref2) {\n let {\n parser,\n funcName\n } = _ref2;\n let tok = parser.gullet.popToken();\n const name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n let numArgs = 0;\n let insert;\n const delimiters = [[]]; // contains no braces\n\n while (parser.gullet.future().text !== \"{\") {\n tok = parser.gullet.popToken();\n\n if (tok.text === \"#\") {\n // If the very last character of the is #, so that\n // this # is immediately followed by {, TeX will behave as if the {\n // had been inserted at the right end of both the parameter text\n // and the replacement text.\n if (parser.gullet.future().text === \"{\") {\n insert = parser.gullet.future();\n delimiters[numArgs].push(\"{\");\n break;\n } // A parameter, the first appearance of # must be followed by 1,\n // the next by 2, and so on; up to nine #’s are allowed\n\n\n tok = parser.gullet.popToken();\n\n if (!/^[1-9]$/.test(tok.text)) {\n throw new src_ParseError(\"Invalid argument number \\\"\" + tok.text + \"\\\"\");\n }\n\n if (parseInt(tok.text) !== numArgs + 1) {\n throw new src_ParseError(\"Argument number \\\"\" + tok.text + \"\\\" out of order\");\n }\n\n numArgs++;\n delimiters.push([]);\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Expected a macro definition\");\n } else {\n delimiters[numArgs].push(tok.text);\n }\n } // replacement text, enclosed in '{' and '}' and properly nested\n\n\n let {\n tokens\n } = parser.gullet.consumeArg();\n\n if (insert) {\n tokens.unshift(insert);\n }\n\n if (funcName === \"\\\\edef\" || funcName === \"\\\\xdef\") {\n tokens = parser.gullet.expandTokens(tokens);\n tokens.reverse(); // to fit in with stack order\n } // Final arg is the expansion of the macro\n\n\n parser.gullet.macros.set(name, {\n tokens,\n numArgs,\n delimiters\n }, funcName === globalMap[funcName]);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // -> \n// -> \\futurelet\n// | \\let\n// -> |=\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\let\", \"\\\\\\\\globallet\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName\n } = _ref3;\n const name = checkControlSequence(parser.gullet.popToken());\n parser.gullet.consumeSpaces();\n const tok = getRHS(parser);\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globallet\");\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\futurelet\", \"\\\\\\\\globalfuture\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref4) {\n let {\n parser,\n funcName\n } = _ref4;\n const name = checkControlSequence(parser.gullet.popToken());\n const middle = parser.gullet.popToken();\n const tok = parser.gullet.popToken();\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globalfuture\");\n parser.gullet.pushToken(tok);\n parser.gullet.pushToken(middle);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/delimiter.js\n/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the \"Another subroutine sets box\n * x to a specified variable delimiter\" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nconst getMetrics = function (symbol, font, mode) {\n const replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace;\n const metrics = getCharacterMetrics(replace || symbol, font, mode);\n\n if (!metrics) {\n throw new Error(\"Unsupported symbol \" + symbol + \" and font size \" + font + \".\");\n }\n\n return metrics;\n};\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\n\n\nconst styleWrap = function (delim, toStyle, options, classes) {\n const newOptions = options.havingBaseStyle(toStyle);\n const span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options);\n const delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier;\n span.height *= delimSizeMultiplier;\n span.depth *= delimSizeMultiplier;\n span.maxFontSize = newOptions.sizeMultiplier;\n return span;\n};\n\nconst centerSpan = function (span, options, style) {\n const newOptions = options.havingBaseStyle(style);\n const shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight;\n span.classes.push(\"delimcenter\");\n span.style.top = makeEm(shift);\n span.height -= shift;\n span.depth += shift;\n};\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\n\n\nconst makeSmallDelim = function (delim, style, center, options, mode, classes) {\n const text = buildCommon.makeSymbol(delim, \"Main-Regular\", mode, options);\n const span = styleWrap(text, style, options, classes);\n\n if (center) {\n centerSpan(span, options, style);\n }\n\n return span;\n};\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\n\n\nconst mathrmSize = function (value, size, mode, options) {\n return buildCommon.makeSymbol(value, \"Size\" + size + \"-Regular\", mode, options);\n};\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\n\n\nconst makeLargeDelim = function (delim, size, center, options, mode, classes) {\n const inner = mathrmSize(delim, size, mode, options);\n const span = styleWrap(buildCommon.makeSpan([\"delimsizing\", \"size\" + size], [inner], options), src_Style.TEXT, options, classes);\n\n if (center) {\n centerSpan(span, options, src_Style.TEXT);\n }\n\n return span;\n};\n/**\n * Make a span from a font glyph with the given offset and in the given font.\n * This is used in makeStackedDelim to make the stacking pieces for the delimiter.\n */\n\n\nconst makeGlyphSpan = function (symbol, font, mode) {\n let sizeClass; // Apply the correct CSS class to choose the right font.\n\n if (font === \"Size1-Regular\") {\n sizeClass = \"delim-size1\";\n } else\n /* if (font === \"Size4-Regular\") */\n {\n sizeClass = \"delim-size4\";\n }\n\n const corner = buildCommon.makeSpan([\"delimsizinginner\", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element\n // in the appropriate tag that VList uses.\n\n return {\n type: \"elem\",\n elem: corner\n };\n};\n\nconst makeInner = function (ch, height, options) {\n // Create a span with inline SVG for the inner part of a tall stacked delimiter.\n const width = fontMetricsData['Size4-Regular'][ch.charCodeAt(0)] ? fontMetricsData['Size4-Regular'][ch.charCodeAt(0)][4] : fontMetricsData['Size1-Regular'][ch.charCodeAt(0)][4];\n const path = new PathNode(\"inner\", innerPath(ch, Math.round(1000 * height)));\n const svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + Math.round(1000 * height),\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n const span = buildCommon.makeSvgSpan([], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return {\n type: \"elem\",\n elem: span\n };\n}; // Helpers for makeStackedDelim\n\n\nconst lapInEms = 0.008;\nconst lap = {\n type: \"kern\",\n size: -1 * lapInEms\n};\nconst verts = [\"|\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\vert\"];\nconst doubleVerts = [\"\\\\|\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\Vert\"];\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\n\nconst makeStackedDelim = function (delim, heightTotal, center, options, mode, classes) {\n // There are four parts, the top, an optional middle, a repeated part, and a\n // bottom.\n let top;\n let middle;\n let repeat;\n let bottom;\n let svgLabel = \"\";\n let viewBoxWidth = 0;\n top = repeat = bottom = delim;\n middle = null; // Also keep track of what font the delimiters are in\n\n let font = \"Size1-Regular\"; // We set the parts and font based on the symbol. Note that we use\n // '\\u23d0' instead of '|' and '\\u2016' instead of '\\\\|' for the\n // repeats of the arrows\n\n if (delim === \"\\\\uparrow\") {\n repeat = bottom = \"\\u23d0\";\n } else if (delim === \"\\\\Uparrow\") {\n repeat = bottom = \"\\u2016\";\n } else if (delim === \"\\\\downarrow\") {\n top = repeat = \"\\u23d0\";\n } else if (delim === \"\\\\Downarrow\") {\n top = repeat = \"\\u2016\";\n } else if (delim === \"\\\\updownarrow\") {\n top = \"\\\\uparrow\";\n repeat = \"\\u23d0\";\n bottom = \"\\\\downarrow\";\n } else if (delim === \"\\\\Updownarrow\") {\n top = \"\\\\Uparrow\";\n repeat = \"\\u2016\";\n bottom = \"\\\\Downarrow\";\n } else if (utils.contains(verts, delim)) {\n repeat = \"\\u2223\";\n svgLabel = \"vert\";\n viewBoxWidth = 333;\n } else if (utils.contains(doubleVerts, delim)) {\n repeat = \"\\u2225\";\n svgLabel = \"doublevert\";\n viewBoxWidth = 556;\n } else if (delim === \"[\" || delim === \"\\\\lbrack\") {\n top = \"\\u23a1\";\n repeat = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"]\" || delim === \"\\\\rbrack\") {\n top = \"\\u23a4\";\n repeat = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lfloor\" || delim === \"\\u230a\") {\n repeat = top = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lceil\" || delim === \"\\u2308\") {\n top = \"\\u23a1\";\n repeat = bottom = \"\\u23a2\";\n font = \"Size4-Regular\";\n svgLabel = \"lceil\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rfloor\" || delim === \"\\u230b\") {\n repeat = top = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rceil\" || delim === \"\\u2309\") {\n top = \"\\u23a4\";\n repeat = bottom = \"\\u23a5\";\n font = \"Size4-Regular\";\n svgLabel = \"rceil\";\n viewBoxWidth = 667;\n } else if (delim === \"(\" || delim === \"\\\\lparen\") {\n top = \"\\u239b\";\n repeat = \"\\u239c\";\n bottom = \"\\u239d\";\n font = \"Size4-Regular\";\n svgLabel = \"lparen\";\n viewBoxWidth = 875;\n } else if (delim === \")\" || delim === \"\\\\rparen\") {\n top = \"\\u239e\";\n repeat = \"\\u239f\";\n bottom = \"\\u23a0\";\n font = \"Size4-Regular\";\n svgLabel = \"rparen\";\n viewBoxWidth = 875;\n } else if (delim === \"\\\\{\" || delim === \"\\\\lbrace\") {\n top = \"\\u23a7\";\n middle = \"\\u23a8\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\}\" || delim === \"\\\\rbrace\") {\n top = \"\\u23ab\";\n middle = \"\\u23ac\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lgroup\" || delim === \"\\u27ee\") {\n top = \"\\u23a7\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rgroup\" || delim === \"\\u27ef\") {\n top = \"\\u23ab\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lmoustache\" || delim === \"\\u23b0\") {\n top = \"\\u23a7\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rmoustache\" || delim === \"\\u23b1\") {\n top = \"\\u23ab\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } // Get the metrics of the four sections\n\n\n const topMetrics = getMetrics(top, font, mode);\n const topHeightTotal = topMetrics.height + topMetrics.depth;\n const repeatMetrics = getMetrics(repeat, font, mode);\n const repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n const bottomMetrics = getMetrics(bottom, font, mode);\n const bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n let middleHeightTotal = 0;\n let middleFactor = 1;\n\n if (middle !== null) {\n const middleMetrics = getMetrics(middle, font, mode);\n middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n middleFactor = 2; // repeat symmetrically above and below middle\n } // Calculate the minimal height that the delimiter can have.\n // It is at least the size of the top, bottom, and optional middle combined.\n\n\n const minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need\n\n const repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols\n\n const realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note\n // that in this context, \"center\" means that the delimiter should be\n // centered around the axis in the current style, while normally it is\n // centered around the axis in textstyle.\n\n let axisHeight = options.fontMetrics().axisHeight;\n\n if (center) {\n axisHeight *= options.sizeMultiplier;\n } // Calculate the depth\n\n\n const depth = realHeightTotal / 2 - axisHeight; // Now, we start building the pieces that will go into the vlist\n // Keep a list of the pieces of the stacked delimiter\n\n const stack = [];\n\n if (svgLabel.length > 0) {\n // Instead of stacking glyphs, create a single SVG.\n // This evades browser problems with imprecise positioning of spans.\n const midHeight = realHeightTotal - topHeightTotal - bottomHeightTotal;\n const viewBoxHeight = Math.round(realHeightTotal * 1000);\n const pathStr = tallDelim(svgLabel, Math.round(midHeight * 1000));\n const path = new PathNode(svgLabel, pathStr);\n const width = (viewBoxWidth / 1000).toFixed(3) + \"em\";\n const height = (viewBoxHeight / 1000).toFixed(3) + \"em\";\n const svg = new SvgNode([path], {\n \"width\": width,\n \"height\": height,\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight\n });\n const wrapper = buildCommon.makeSvgSpan([], [svg], options);\n wrapper.height = viewBoxHeight / 1000;\n wrapper.style.width = width;\n wrapper.style.height = height;\n stack.push({\n type: \"elem\",\n elem: wrapper\n });\n } else {\n // Stack glyphs\n // Start by adding the bottom symbol\n stack.push(makeGlyphSpan(bottom, font, mode));\n stack.push(lap); // overlap\n\n if (middle === null) {\n // The middle section will be an SVG. Make it an extra 0.016em tall.\n // We'll overlap by 0.008em at top and bottom.\n const innerHeight = realHeightTotal - topHeightTotal - bottomHeightTotal + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options));\n } else {\n // When there is a middle bit, we need the middle part and two repeated\n // sections\n const innerHeight = (realHeightTotal - topHeightTotal - bottomHeightTotal - middleHeightTotal) / 2 + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options)); // Now insert the middle of the brace.\n\n stack.push(lap);\n stack.push(makeGlyphSpan(middle, font, mode));\n stack.push(lap);\n stack.push(makeInner(repeat, innerHeight, options));\n } // Add the top symbol\n\n\n stack.push(lap);\n stack.push(makeGlyphSpan(top, font, mode));\n } // Finally, build the vlist\n\n\n const newOptions = options.havingBaseStyle(src_Style.TEXT);\n const inner = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: depth,\n children: stack\n }, newOptions);\n return styleWrap(buildCommon.makeSpan([\"delimsizing\", \"mult\"], [inner], newOptions), src_Style.TEXT, options, classes);\n}; // All surds have 0.08em padding above the vinculum inside the SVG.\n// That keeps browser span height rounding error from pinching the line.\n\n\nconst vbPad = 80; // padding above the surd, measured inside the viewBox.\n\nconst emPad = 0.08; // padding, in ems, measured in the document.\n\nconst sqrtSvg = function (sqrtName, height, viewBoxHeight, extraVinculum, options) {\n const path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight);\n const pathNode = new PathNode(sqrtName, path);\n const svg = new SvgNode([pathNode], {\n // Note: 1000:1 ratio of viewBox to document em width.\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n });\n return buildCommon.makeSvgSpan([\"hide-tail\"], [svg], options);\n};\n/**\n * Make a sqrt image of the given height,\n */\n\n\nconst makeSqrtImage = function (height, options) {\n // Define a newOptions that removes the effect of size changes such as \\Huge.\n // We don't pick different a height surd for \\Huge. For it, we scale up.\n const newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds.\n\n const delim = traverseSequence(\"\\\\surd\", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);\n let sizeMultiplier = newOptions.sizeMultiplier; // default\n // The standard sqrt SVGs each have a 0.04em thick vinculum.\n // If Settings.minRuleThickness is larger than that, we add extraVinculum.\n\n const extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.\n\n let span;\n let spanHeight = 0;\n let texHeight = 0;\n let viewBoxHeight = 0;\n let advanceWidth; // We create viewBoxes with 80 units of \"padding\" above each surd.\n // Then browser rounding error on the parent span height will not\n // encroach on the ink of the vinculum. But that padding is not\n // included in the TeX-like `height` used for calculation of\n // vertical alignment. So texHeight = span.height < span.style.height.\n\n if (delim.type === \"small\") {\n // Get an SVG that is derived from glyph U+221A in font KaTeX-Main.\n // 1000 unit normal glyph height.\n viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad;\n\n if (height < 1.0) {\n sizeMultiplier = 1.0; // mimic a \\textfont radical\n } else if (height < 1.4) {\n sizeMultiplier = 0.7; // mimic a \\scriptfont radical\n }\n\n spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier;\n texHeight = (1.00 + extraVinculum) / sizeMultiplier;\n span = sqrtSvg(\"sqrtMain\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.853em\";\n advanceWidth = 0.833 / sizeMultiplier; // from the font.\n } else if (delim.type === \"large\") {\n // These SVGs come from fonts: KaTeX_Size1, _Size2, etc.\n viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];\n texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier;\n spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier;\n span = sqrtSvg(\"sqrtSize\" + delim.size, spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"1.02em\";\n advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.\n } else {\n // Tall sqrt. In TeX, this would be stacked using multiple glyphs.\n // We'll use a single SVG to accomplish the same thing.\n spanHeight = height + extraVinculum + emPad;\n texHeight = height + extraVinculum;\n viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad;\n span = sqrtSvg(\"sqrtTall\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.742em\";\n advanceWidth = 1.056;\n }\n\n span.height = texHeight;\n span.style.height = makeEm(spanHeight);\n return {\n span,\n advanceWidth,\n // Calculate the actual line width.\n // This actually should depend on the chosen font -- e.g. \\boldmath\n // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and\n // have thicker rules.\n ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier\n };\n}; // There are three kinds of delimiters, delimiters that stack when they become\n// too large\n\n\nconst stackLargeDelimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"\\\\surd\"]; // delimiters that always stack\n\nconst stackAlwaysDelimiters = [\"\\\\uparrow\", \"\\\\downarrow\", \"\\\\updownarrow\", \"\\\\Uparrow\", \"\\\\Downarrow\", \"\\\\Updownarrow\", \"|\", \"\\\\|\", \"\\\\vert\", \"\\\\Vert\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\"]; // and delimiters that never stack\n\nconst stackNeverDelimiters = [\"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"/\", \"\\\\backslash\", \"\\\\lt\", \"\\\\gt\"]; // Metrics of the different sizes. Found by looking at TeX's output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\n\nconst sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\n\nconst makeSizedDelim = function (delim, size, options, mode, classes) {\n // < and > turn into \\langle and \\rangle in delimiters\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Sized delimiters are never centered.\n\n\n if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) {\n return makeLargeDelim(delim, size, false, options, mode, classes);\n } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes);\n } else {\n throw new src_ParseError(\"Illegal delimiter: '\" + delim + \"'\");\n }\n};\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren't explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n\n// Delimiters that never stack try small delimiters and large delimiters only\nconst stackNeverDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}]; // Delimiters that always stack try the small delimiters first, then stack\n\nconst stackAlwaysDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"stack\"\n}]; // Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\n\nconst stackLargeDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}, {\n type: \"stack\"\n}];\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n * TODO(#963) Use more specific font family return type once that is introduced.\n */\n\nconst delimTypeToFont = function (type) {\n if (type.type === \"small\") {\n return \"Main-Regular\";\n } else if (type.type === \"large\") {\n return \"Size\" + type.size + \"-Regular\";\n } else if (type.type === \"stack\") {\n return \"Size4-Regular\";\n } else {\n throw new Error(\"Add support for delim type '\" + type.type + \"' here.\");\n }\n};\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\n\n\nconst traverseSequence = function (delim, height, sequence, options) {\n // Here, we choose the index we should start at in the sequences. In smaller\n // sizes (which correspond to larger numbers in style.size) we start earlier\n // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n const start = Math.min(2, 3 - options.style.size);\n\n for (let i = start; i < sequence.length; i++) {\n if (sequence[i].type === \"stack\") {\n // This is always the last delimiter, so we just break the loop now.\n break;\n }\n\n const metrics = getMetrics(delim, delimTypeToFont(sequence[i]), \"math\");\n let heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we\n // account for the style change size.\n\n if (sequence[i].type === \"small\") {\n const newOptions = options.havingBaseStyle(sequence[i].style);\n heightDepth *= newOptions.sizeMultiplier;\n } // Check if the delimiter at this size works for the given height.\n\n\n if (heightDepth > height) {\n return sequence[i];\n }\n } // If we reached the end of the sequence, return the last sequence element.\n\n\n return sequence[sequence.length - 1];\n};\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\n\n\nconst makeCustomSizedDelim = function (delim, height, center, options, mode, classes) {\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Decide what sequence to use\n\n\n let sequence;\n\n if (utils.contains(stackNeverDelimiters, delim)) {\n sequence = stackNeverDelimiterSequence;\n } else if (utils.contains(stackLargeDelimiters, delim)) {\n sequence = stackLargeDelimiterSequence;\n } else {\n sequence = stackAlwaysDelimiterSequence;\n } // Look through the sequence\n\n\n const delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs.\n // Depending on the sequence element we decided on, call the\n // appropriate function.\n\n if (delimType.type === \"small\") {\n return makeSmallDelim(delim, delimType.style, center, options, mode, classes);\n } else if (delimType.type === \"large\") {\n return makeLargeDelim(delim, delimType.size, center, options, mode, classes);\n } else\n /* if (delimType.type === \"stack\") */\n {\n return makeStackedDelim(delim, height, center, options, mode, classes);\n }\n};\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\n\n\nconst makeLeftRightDelim = function (delim, height, depth, options, mode, classes) {\n // We always center \\left/\\right delimiters, so the axis is always shifted\n const axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right\n\n const delimiterFactor = 901;\n const delimiterExtend = 5.0 / options.fontMetrics().ptPerEm;\n const maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight);\n const totalHeight = Math.max( // In real TeX, calculations are done using integral values which are\n // 65536 per pt, or 655360 per em. So, the division here truncates in\n // TeX but doesn't here, producing different results. If we wanted to\n // exactly match TeX's calculation, we could do\n // Math.floor(655360 * maxDistFromAxis / 500) *\n // delimiterFactor / 655360\n // (To see the difference, compare\n // x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n // in TeX and KaTeX)\n maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n // height\n\n return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes);\n};\n\n/* harmony default export */ var delimiter = ({\n sqrtImage: makeSqrtImage,\n sizedDelim: makeSizedDelim,\n sizeToMaxHeight: sizeToMaxHeight,\n customSizedDelim: makeCustomSizedDelim,\n leftRightDelim: makeLeftRightDelim\n});\n;// CONCATENATED MODULE: ./src/functions/delimsizing.js\n\n\n\n\n\n\n\n\n\n\n// Extra data needed for the delimiter handler down below\nconst delimiterSizes = {\n \"\\\\bigl\": {\n mclass: \"mopen\",\n size: 1\n },\n \"\\\\Bigl\": {\n mclass: \"mopen\",\n size: 2\n },\n \"\\\\biggl\": {\n mclass: \"mopen\",\n size: 3\n },\n \"\\\\Biggl\": {\n mclass: \"mopen\",\n size: 4\n },\n \"\\\\bigr\": {\n mclass: \"mclose\",\n size: 1\n },\n \"\\\\Bigr\": {\n mclass: \"mclose\",\n size: 2\n },\n \"\\\\biggr\": {\n mclass: \"mclose\",\n size: 3\n },\n \"\\\\Biggr\": {\n mclass: \"mclose\",\n size: 4\n },\n \"\\\\bigm\": {\n mclass: \"mrel\",\n size: 1\n },\n \"\\\\Bigm\": {\n mclass: \"mrel\",\n size: 2\n },\n \"\\\\biggm\": {\n mclass: \"mrel\",\n size: 3\n },\n \"\\\\Biggm\": {\n mclass: \"mrel\",\n size: 4\n },\n \"\\\\big\": {\n mclass: \"mord\",\n size: 1\n },\n \"\\\\Big\": {\n mclass: \"mord\",\n size: 2\n },\n \"\\\\bigg\": {\n mclass: \"mord\",\n size: 3\n },\n \"\\\\Bigg\": {\n mclass: \"mord\",\n size: 4\n }\n};\nconst delimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"<\", \">\", \"\\\\langle\", \"\\u27e8\", \"\\\\rangle\", \"\\u27e9\", \"\\\\lt\", \"\\\\gt\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\", \"/\", \"\\\\backslash\", \"|\", \"\\\\vert\", \"\\\\|\", \"\\\\Vert\", \"\\\\uparrow\", \"\\\\Uparrow\", \"\\\\downarrow\", \"\\\\Downarrow\", \"\\\\updownarrow\", \"\\\\Updownarrow\", \".\"];\n\n// Delimiter functions\nfunction checkDelimiter(delim, context) {\n const symDelim = checkSymbolNodeType(delim);\n\n if (symDelim && utils.contains(delimiters, symDelim.text)) {\n return symDelim;\n } else if (symDelim) {\n throw new src_ParseError(\"Invalid delimiter '\" + symDelim.text + \"' after '\" + context.funcName + \"'\", delim);\n } else {\n throw new src_ParseError(\"Invalid delimiter type '\" + delim.type + \"'\", delim);\n }\n}\n\ndefineFunction({\n type: \"delimsizing\",\n names: [\"\\\\bigl\", \"\\\\Bigl\", \"\\\\biggl\", \"\\\\Biggl\", \"\\\\bigr\", \"\\\\Bigr\", \"\\\\biggr\", \"\\\\Biggr\", \"\\\\bigm\", \"\\\\Bigm\", \"\\\\biggm\", \"\\\\Biggm\", \"\\\\big\", \"\\\\Big\", \"\\\\bigg\", \"\\\\Bigg\"],\n props: {\n numArgs: 1,\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n return {\n type: \"delimsizing\",\n mode: context.parser.mode,\n size: delimiterSizes[context.funcName].size,\n mclass: delimiterSizes[context.funcName].mclass,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n if (group.delim === \".\") {\n // Empty delimiters still count as elements, even though they don't\n // show anything.\n return buildCommon.makeSpan([group.mclass]);\n } // Use delimiter.sizedDelim to generate the delimiter.\n\n\n return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]);\n },\n mathmlBuilder: group => {\n const children = [];\n\n if (group.delim !== \".\") {\n children.push(makeText(group.delim, group.mode));\n }\n\n const node = new mathMLTree.MathNode(\"mo\", children);\n\n if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n // Only some of the delimsizing functions act as fences, and they\n // return \"mopen\" or \"mclose\" mclass.\n node.setAttribute(\"fence\", \"true\");\n } else {\n // Explicitly disable fencing if it's not a fence, to override the\n // defaults.\n node.setAttribute(\"fence\", \"false\");\n }\n\n node.setAttribute(\"stretchy\", \"true\");\n const size = makeEm(delimiter.sizeToMaxHeight[group.size]);\n node.setAttribute(\"minsize\", size);\n node.setAttribute(\"maxsize\", size);\n return node;\n }\n});\n\nfunction assertParsed(group) {\n if (!group.body) {\n throw new Error(\"Bug: The leftright ParseNode wasn't fully parsed.\");\n }\n}\n\ndefineFunction({\n type: \"leftright-right\",\n names: [\"\\\\right\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n // \\left case below triggers parsing of \\right in\n // `const right = parser.parseFunction();`\n // uses this return value.\n const color = context.parser.gullet.macros.get(\"\\\\current@color\");\n\n if (color && typeof color !== \"string\") {\n throw new src_ParseError(\"\\\\current@color set to non-string in \\\\right\");\n }\n\n return {\n type: \"leftright-right\",\n mode: context.parser.mode,\n delim: checkDelimiter(args[0], context).text,\n color // undefined if not set via \\color\n\n };\n }\n});\ndefineFunction({\n type: \"leftright\",\n names: [\"\\\\left\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n const parser = context.parser; // Parse out the implicit body\n\n ++parser.leftrightDepth; // parseExpression stops before '\\\\right'\n\n const body = parser.parseExpression(false);\n --parser.leftrightDepth; // Check the next token\n\n parser.expect(\"\\\\right\", false);\n const right = assertNodeType(parser.parseFunction(), \"leftright-right\");\n return {\n type: \"leftright\",\n mode: parser.mode,\n body,\n left: delim.text,\n right: right.delim,\n rightColor: right.color\n };\n },\n htmlBuilder: (group, options) => {\n assertParsed(group); // Build the inner expression\n\n const inner = buildExpression(group.body, options, true, [\"mopen\", \"mclose\"]);\n let innerHeight = 0;\n let innerDepth = 0;\n let hadMiddle = false; // Calculate its height and depth\n\n for (let i = 0; i < inner.length; i++) {\n // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n if (inner[i].isMiddle) {\n hadMiddle = true;\n } else {\n innerHeight = Math.max(inner[i].height, innerHeight);\n innerDepth = Math.max(inner[i].depth, innerDepth);\n }\n } // The size of delimiters is the same, regardless of what style we are\n // in. Thus, to correctly calculate the size of delimiter we need around\n // a group, we scale down the inner size based on the size.\n\n\n innerHeight *= options.sizeMultiplier;\n innerDepth *= options.sizeMultiplier;\n let leftDelim;\n\n if (group.left === \".\") {\n // Empty delimiters in \\left and \\right make null delimiter spaces.\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n // Otherwise, use leftRightDelim to generate the correct sized\n // delimiter.\n leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, [\"mopen\"]);\n } // Add it to the beginning of the expression\n\n\n inner.unshift(leftDelim); // Handle middle delimiters\n\n if (hadMiddle) {\n for (let i = 1; i < inner.length; i++) {\n const middleDelim = inner[i]; // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n\n const isMiddle = middleDelim.isMiddle;\n\n if (isMiddle) {\n // Apply the options that were active when \\middle was called\n inner[i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []);\n }\n }\n }\n\n let rightDelim; // Same for the right delimiter, but using color specified by \\color\n\n if (group.right === \".\") {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n const colorOptions = group.rightColor ? options.withColor(group.rightColor) : options;\n rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, [\"mclose\"]);\n } // Add it to the end of the expression.\n\n\n inner.push(rightDelim);\n return buildCommon.makeSpan([\"minner\"], inner, options);\n },\n mathmlBuilder: (group, options) => {\n assertParsed(group);\n const inner = buildMathML_buildExpression(group.body, options);\n\n if (group.left !== \".\") {\n const leftNode = new mathMLTree.MathNode(\"mo\", [makeText(group.left, group.mode)]);\n leftNode.setAttribute(\"fence\", \"true\");\n inner.unshift(leftNode);\n }\n\n if (group.right !== \".\") {\n const rightNode = new mathMLTree.MathNode(\"mo\", [makeText(group.right, group.mode)]);\n rightNode.setAttribute(\"fence\", \"true\");\n\n if (group.rightColor) {\n rightNode.setAttribute(\"mathcolor\", group.rightColor);\n }\n\n inner.push(rightNode);\n }\n\n return makeRow(inner);\n }\n});\ndefineFunction({\n type: \"middle\",\n names: [\"\\\\middle\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n\n if (!context.parser.leftrightDepth) {\n throw new src_ParseError(\"\\\\middle without preceding \\\\left\", delim);\n }\n\n return {\n type: \"middle\",\n mode: context.parser.mode,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n let middleDelim;\n\n if (group.delim === \".\") {\n middleDelim = makeNullDelimiter(options, []);\n } else {\n middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []);\n const isMiddle = {\n delim: group.delim,\n options\n }; // Property `isMiddle` not defined on `span`. It is only used in\n // this file above.\n // TODO: Fix this violation of the `span` type and possibly rename\n // things since `isMiddle` sounds like a boolean, but is a struct.\n // $FlowFixMe\n\n middleDelim.isMiddle = isMiddle;\n }\n\n return middleDelim;\n },\n mathmlBuilder: (group, options) => {\n // A Firefox \\middle will stretch a character vertically only if it\n // is in the fence part of the operator dictionary at:\n // https://www.w3.org/TR/MathML3/appendixc.html.\n // So we need to avoid U+2223 and use plain \"|\" instead.\n const textNode = group.delim === \"\\\\vert\" || group.delim === \"|\" ? makeText(\"|\", \"text\") : makeText(group.delim, group.mode);\n const middleNode = new mathMLTree.MathNode(\"mo\", [textNode]);\n middleNode.setAttribute(\"fence\", \"true\"); // MathML gives 5/18em spacing to each element.\n // \\middle should get delimiter spacing instead.\n\n middleNode.setAttribute(\"lspace\", \"0.05em\");\n middleNode.setAttribute(\"rspace\", \"0.05em\");\n return middleNode;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/enclose.js\n\n\n\n\n\n\n\n\n\n\n\n\nconst enclose_htmlBuilder = (group, options) => {\n // \\cancel, \\bcancel, \\xcancel, \\sout, \\fbox, \\colorbox, \\fcolorbox, \\phase\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n const inner = buildCommon.wrapFragment(buildGroup(group.body, options), options);\n const label = group.label.slice(1);\n let scale = options.sizeMultiplier;\n let img;\n let imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different\n // depending on whether the subject is wider than it is tall, or vice versa.\n // We don't know the width of a group, so as a proxy, we test if\n // the subject is a single character. This captures most of the\n // subjects that should get the \"tall\" treatment.\n\n const isSingleChar = utils.isCharacterBox(group.body);\n\n if (label === \"sout\") {\n img = buildCommon.makeSpan([\"stretchy\", \"sout\"]);\n img.height = options.fontMetrics().defaultRuleThickness / scale;\n imgShift = -0.5 * options.fontMetrics().xHeight;\n } else if (label === \"phase\") {\n // Set a couple of dimensions from the steinmetz package.\n const lineWeight = calculateSize({\n number: 0.6,\n unit: \"pt\"\n }, options);\n const clearance = calculateSize({\n number: 0.35,\n unit: \"ex\"\n }, options); // Prevent size changes like \\Huge from affecting line thickness\n\n const newOptions = options.havingBaseSizing();\n scale = scale / newOptions.sizeMultiplier;\n const angleHeight = inner.height + inner.depth + lineWeight + clearance; // Reserve a left pad for the angle.\n\n inner.style.paddingLeft = makeEm(angleHeight / 2 + lineWeight); // Create an SVG\n\n const viewBoxHeight = Math.floor(1000 * angleHeight * scale);\n const path = phasePath(viewBoxHeight);\n const svgNode = new SvgNode([new PathNode(\"phase\", path)], {\n \"width\": \"400em\",\n \"height\": makeEm(viewBoxHeight / 1000),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n }); // Wrap it in a span with overflow: hidden.\n\n img = buildCommon.makeSvgSpan([\"hide-tail\"], [svgNode], options);\n img.style.height = makeEm(angleHeight);\n imgShift = inner.depth + lineWeight + clearance;\n } else {\n // Add horizontal padding\n if (/cancel/.test(label)) {\n if (!isSingleChar) {\n inner.classes.push(\"cancel-pad\");\n }\n } else if (label === \"angl\") {\n inner.classes.push(\"anglpad\");\n } else {\n inner.classes.push(\"boxpad\");\n } // Add vertical padding\n\n\n let topPad = 0;\n let bottomPad = 0;\n let ruleThickness = 0; // ref: cancel package: \\advance\\totalheight2\\p@ % \"+2\"\n\n if (/box/.test(label)) {\n ruleThickness = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // User override.\n );\n topPad = options.fontMetrics().fboxsep + (label === \"colorbox\" ? 0 : ruleThickness);\n bottomPad = topPad;\n } else if (label === \"angl\") {\n ruleThickness = Math.max(options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n topPad = 4 * ruleThickness; // gap = 3 × line, plus the line itself.\n\n bottomPad = Math.max(0, 0.25 - inner.depth);\n } else {\n topPad = isSingleChar ? 0.2 : 0;\n bottomPad = topPad;\n }\n\n img = stretchy.encloseSpan(inner, label, topPad, bottomPad, options);\n\n if (/fbox|boxed|fcolorbox/.test(label)) {\n img.style.borderStyle = \"solid\";\n img.style.borderWidth = makeEm(ruleThickness);\n } else if (label === \"angl\" && ruleThickness !== 0.049) {\n img.style.borderTopWidth = makeEm(ruleThickness);\n img.style.borderRightWidth = makeEm(ruleThickness);\n }\n\n imgShift = inner.depth + bottomPad;\n\n if (group.backgroundColor) {\n img.style.backgroundColor = group.backgroundColor;\n\n if (group.borderColor) {\n img.style.borderColor = group.borderColor;\n }\n }\n }\n\n let vlist;\n\n if (group.backgroundColor) {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Put the color background behind inner;\n {\n type: \"elem\",\n elem: img,\n shift: imgShift\n }, {\n type: \"elem\",\n elem: inner,\n shift: 0\n }]\n }, options);\n } else {\n const classes = /cancel|phase/.test(label) ? [\"svg-align\"] : [];\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Write the \\cancel stroke on top of inner.\n {\n type: \"elem\",\n elem: inner,\n shift: 0\n }, {\n type: \"elem\",\n elem: img,\n shift: imgShift,\n wrapperClasses: classes\n }]\n }, options);\n }\n\n if (/cancel/.test(label)) {\n // The cancel package documentation says that cancel lines add their height\n // to the expression, but tests show that isn't how it actually works.\n vlist.height = inner.height;\n vlist.depth = inner.depth;\n }\n\n if (/cancel/.test(label) && !isSingleChar) {\n // cancel does not create horiz space for its line extension.\n return buildCommon.makeSpan([\"mord\", \"cancel-lap\"], [vlist], options);\n } else {\n return buildCommon.makeSpan([\"mord\"], [vlist], options);\n }\n};\n\nconst enclose_mathmlBuilder = (group, options) => {\n let fboxsep = 0;\n const node = new mathMLTree.MathNode(group.label.indexOf(\"colorbox\") > -1 ? \"mpadded\" : \"menclose\", [buildMathML_buildGroup(group.body, options)]);\n\n switch (group.label) {\n case \"\\\\cancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike\");\n break;\n\n case \"\\\\bcancel\":\n node.setAttribute(\"notation\", \"downdiagonalstrike\");\n break;\n\n case \"\\\\phase\":\n node.setAttribute(\"notation\", \"phasorangle\");\n break;\n\n case \"\\\\sout\":\n node.setAttribute(\"notation\", \"horizontalstrike\");\n break;\n\n case \"\\\\fbox\":\n node.setAttribute(\"notation\", \"box\");\n break;\n\n case \"\\\\angl\":\n node.setAttribute(\"notation\", \"actuarial\");\n break;\n\n case \"\\\\fcolorbox\":\n case \"\\\\colorbox\":\n // doesn't have a good notation option. So use \n // instead. Set some attributes that come included with .\n fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm;\n node.setAttribute(\"width\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"height\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"lspace\", fboxsep + \"pt\"); //\n\n node.setAttribute(\"voffset\", fboxsep + \"pt\");\n\n if (group.label === \"\\\\fcolorbox\") {\n const thk = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // user override\n );\n node.setAttribute(\"style\", \"border: \" + thk + \"em solid \" + String(group.borderColor));\n }\n\n break;\n\n case \"\\\\xcancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike downdiagonalstrike\");\n break;\n }\n\n if (group.backgroundColor) {\n node.setAttribute(\"mathbackground\", group.backgroundColor);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\colorbox\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"text\"]\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref;\n const color = assertNodeType(args[0], \"color-token\").color;\n const body = args[1];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor: color,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fcolorbox\"],\n props: {\n numArgs: 3,\n allowedInText: true,\n argTypes: [\"color\", \"color\", \"text\"]\n },\n\n handler(_ref2, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref2;\n const borderColor = assertNodeType(args[0], \"color-token\").color;\n const backgroundColor = assertNodeType(args[1], \"color-token\").color;\n const body = args[2];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor,\n borderColor,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: true\n },\n\n handler(_ref3, args) {\n let {\n parser\n } = _ref3;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\fbox\",\n body: args[0]\n };\n }\n\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\cancel\", \"\\\\bcancel\", \"\\\\xcancel\", \"\\\\sout\", \"\\\\phase\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref4, args) {\n let {\n parser,\n funcName\n } = _ref4;\n const body = args[0];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\angl\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: false\n },\n\n handler(_ref5, args) {\n let {\n parser\n } = _ref5;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\angl\",\n body: args[0]\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/defineEnvironment.js\n\n\n/**\n * All registered environments.\n * `environments.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `environments.js`.\n */\nconst _environments = {};\nfunction defineEnvironment(_ref) {\n let {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of environments.\n const data = {\n type,\n numArgs: props.numArgs || 0,\n allowedInText: false,\n numOptionalArgs: 0,\n handler\n };\n\n for (let i = 0; i < names.length; ++i) {\n // TODO: The value type of _environments should be a type union of all\n // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is\n // an existential type.\n _environments[names[i]] = data;\n }\n\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n}\n;// CONCATENATED MODULE: ./src/defineMacro.js\n\n\n/**\n * All registered global/built-in macros.\n * `macros.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `macros.js`.\n */\nconst _macros = {}; // This function might one day accept an additional argument and do more things.\n\nfunction defineMacro(name, body) {\n _macros[name] = body;\n}\n;// CONCATENATED MODULE: ./src/SourceLocation.js\n/**\n * Lexing or parsing positional information for error reporting.\n * This object is immutable.\n */\nclass SourceLocation {\n // The + prefix indicates that these fields aren't writeable\n // Lexer holding the input string.\n // Start offset, zero-based inclusive.\n // End offset, zero-based exclusive.\n constructor(lexer, start, end) {\n this.lexer = void 0;\n this.start = void 0;\n this.end = void 0;\n this.lexer = lexer;\n this.start = start;\n this.end = end;\n }\n /**\n * Merges two `SourceLocation`s from location providers, given they are\n * provided in order of appearance.\n * - Returns the first one's location if only the first is provided.\n * - Returns a merged range of the first and the last if both are provided\n * and their lexers match.\n * - Otherwise, returns null.\n */\n\n\n static range(first, second) {\n if (!second) {\n return first && first.loc;\n } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {\n return null;\n } else {\n return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);\n }\n }\n\n}\n;// CONCATENATED MODULE: ./src/Token.js\n\n/**\n * Interface required to break circular dependency between Token, Lexer, and\n * ParseError.\n */\n\n/**\n * The resulting token returned from `lex`.\n *\n * It consists of the token text plus some position information.\n * The position information is essentially a range in an input string,\n * but instead of referencing the bare input string, we refer to the lexer.\n * That way it is possible to attach extra metadata to the input string,\n * like for example a file name or similar.\n *\n * The position information is optional, so it is OK to construct synthetic\n * tokens if appropriate. Not providing available position information may\n * lead to degraded error reporting, though.\n */\nclass Token {\n // don't expand the token\n // used in \\noexpand\n constructor(text, // the text of this token\n loc) {\n this.text = void 0;\n this.loc = void 0;\n this.noexpand = void 0;\n this.treatAsRelax = void 0;\n this.text = text;\n this.loc = loc;\n }\n /**\n * Given a pair of tokens (this and endToken), compute a `Token` encompassing\n * the whole input range enclosed by these two.\n */\n\n\n range(endToken, // last token of the range, inclusive\n text // the text of the newly constructed token\n ) {\n return new Token(text, SourceLocation.range(this, endToken));\n }\n\n}\n;// CONCATENATED MODULE: ./src/environments/array.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Helper functions\nfunction getHLines(parser) {\n // Return an array. The array length = number of hlines.\n // Each element in the array tells if the line is dashed.\n const hlineInfo = [];\n parser.consumeSpaces();\n let nxt = parser.fetch().text;\n\n if (nxt === \"\\\\relax\") {\n // \\relax is an artifact of the \\cr macro below\n parser.consume();\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n while (nxt === \"\\\\hline\" || nxt === \"\\\\hdashline\") {\n parser.consume();\n hlineInfo.push(nxt === \"\\\\hdashline\");\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n return hlineInfo;\n}\n\nconst validateAmsEnvironmentContext = context => {\n const settings = context.parser.settings;\n\n if (!settings.displayMode) {\n throw new src_ParseError(\"{\" + context.envName + \"} can be used only in\" + \" display mode.\");\n }\n}; // autoTag (an argument to parseArray) can be one of three values:\n// * undefined: Regular (not-top-level) array; no tags on each row\n// * true: Automatic equation numbering, overridable by \\tag\n// * false: Tags allowed on each row, but no automatic numbering\n// This function *doesn't* work with the \"split\" environment name.\n\n\nfunction getAutoTag(name) {\n if (name.indexOf(\"ed\") === -1) {\n return name.indexOf(\"*\") === -1;\n } // return undefined;\n\n}\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell. If given an optional argument style\n * (\"text\", \"display\", etc.), then each cell is cast into that style.\n */\n\n\nfunction parseArray(parser, _ref, style) {\n let {\n hskipBeforeAndAfter,\n addJot,\n cols,\n arraystretch,\n colSeparationType,\n autoTag,\n singleRow,\n emptySingleRow,\n maxNumCols,\n leqno\n } = _ref;\n parser.gullet.beginGroup();\n\n if (!singleRow) {\n // \\cr is equivalent to \\\\ without the optional size argument (see below)\n // TODO: provide helpful error when \\cr is used outside array environment\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n } // Get current arraystretch if it's not set by the environment\n\n\n if (!arraystretch) {\n const stretch = parser.gullet.expandMacroAsText(\"\\\\arraystretch\");\n\n if (stretch == null) {\n // Default \\arraystretch from lttab.dtx\n arraystretch = 1;\n } else {\n arraystretch = parseFloat(stretch);\n\n if (!arraystretch || arraystretch < 0) {\n throw new src_ParseError(\"Invalid \\\\arraystretch: \" + stretch);\n }\n }\n } // Start group for first cell\n\n\n parser.gullet.beginGroup();\n let row = [];\n const body = [row];\n const rowGaps = [];\n const hLinesBeforeRow = [];\n const tags = autoTag != null ? [] : undefined; // amsmath uses \\global\\@eqnswtrue and \\global\\@eqnswfalse to represent\n // whether this row should have an equation number. Simulate this with\n // a \\@eqnsw macro set to 1 or 0.\n\n function beginRow() {\n if (autoTag) {\n parser.gullet.macros.set(\"\\\\@eqnsw\", \"1\", true);\n }\n }\n\n function endRow() {\n if (tags) {\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n tags.push(parser.subparse([new Token(\"\\\\df@tag\")]));\n parser.gullet.macros.set(\"\\\\df@tag\", undefined, true);\n } else {\n tags.push(Boolean(autoTag) && parser.gullet.macros.get(\"\\\\@eqnsw\") === \"1\");\n }\n }\n }\n\n beginRow(); // Test for \\hline at the top of the array.\n\n hLinesBeforeRow.push(getHLines(parser));\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Parse each cell in its own group (namespace)\n let cell = parser.parseExpression(false, singleRow ? \"\\\\end\" : \"\\\\\\\\\");\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n cell = {\n type: \"ordgroup\",\n mode: parser.mode,\n body: cell\n };\n\n if (style) {\n cell = {\n type: \"styling\",\n mode: parser.mode,\n style,\n body: [cell]\n };\n }\n\n row.push(cell);\n const next = parser.fetch().text;\n\n if (next === \"&\") {\n if (maxNumCols && row.length === maxNumCols) {\n if (singleRow || colSeparationType) {\n // {equation} or {split}\n throw new src_ParseError(\"Too many tab characters: &\", parser.nextToken);\n } else {\n // {array} environment\n parser.settings.reportNonstrict(\"textEnv\", \"Too few columns \" + \"specified in the {array} column argument.\");\n }\n }\n\n parser.consume();\n } else if (next === \"\\\\end\") {\n endRow(); // Arrays terminate newlines with `\\crcr` which consumes a `\\cr` if\n // the last line is empty. However, AMS environments keep the\n // empty row if it's the only one.\n // NOTE: Currently, `cell` is the last item added into `row`.\n\n if (row.length === 1 && cell.type === \"styling\" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {\n body.pop();\n }\n\n if (hLinesBeforeRow.length < body.length + 1) {\n hLinesBeforeRow.push([]);\n }\n\n break;\n } else if (next === \"\\\\\\\\\") {\n parser.consume();\n let size; // \\def\\Let@{\\let\\\\\\math@cr}\n // \\def\\math@cr{...\\math@cr@}\n // \\def\\math@cr@{\\new@ifnextchar[\\math@cr@@{\\math@cr@@[\\z@]}}\n // \\def\\math@cr@@[#1]{...\\math@cr@@@...}\n // \\def\\math@cr@@@{\\cr}\n\n if (parser.gullet.future().text !== \" \") {\n size = parser.parseSizeGroup(true);\n }\n\n rowGaps.push(size ? size.value : null);\n endRow(); // check for \\hline(s) following the row separator\n\n hLinesBeforeRow.push(getHLines(parser));\n row = [];\n body.push(row);\n beginRow();\n } else {\n throw new src_ParseError(\"Expected & or \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n } // End cell group\n\n\n parser.gullet.endGroup(); // End array group defining \\cr\n\n parser.gullet.endGroup();\n return {\n type: \"array\",\n mode: parser.mode,\n addJot,\n arraystretch,\n body,\n cols,\n rowGaps,\n hskipBeforeAndAfter,\n hLinesBeforeRow,\n colSeparationType,\n tags,\n leqno\n };\n} // Decides on a style for cells in an array according to whether the given\n// environment name starts with the letter 'd'.\n\n\nfunction dCellStyle(envName) {\n if (envName.slice(0, 1) === \"d\") {\n return \"display\";\n } else {\n return \"text\";\n }\n}\n\nconst array_htmlBuilder = function (group, options) {\n let r;\n let c;\n const nr = group.body.length;\n const hLinesBeforeRow = group.hLinesBeforeRow;\n let nc = 0;\n let body = new Array(nr);\n const hlines = [];\n const ruleThickness = Math.max( // From LaTeX \\showthe\\arrayrulewidth. Equals 0.04 em.\n options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override.\n ); // Horizontal spacing\n\n const pt = 1 / options.fontMetrics().ptPerEm;\n let arraycolsep = 5 * pt; // default value, i.e. \\arraycolsep in article.cls\n\n if (group.colSeparationType && group.colSeparationType === \"small\") {\n // We're in a {smallmatrix}. Default column space is \\thickspace,\n // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}.\n // But that needs adjustment because LaTeX applies \\scriptstyle to the\n // entire array, including the colspace, but this function applies\n // \\scriptstyle only inside each element.\n const localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier;\n arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier);\n } // Vertical spacing\n\n\n const baselineskip = group.colSeparationType === \"CD\" ? calculateSize({\n number: 3,\n unit: \"ex\"\n }, options) : 12 * pt; // see size10.clo\n // Default \\jot from ltmath.dtx\n // TODO(edemaine): allow overriding \\jot via \\setlength (#687)\n\n const jot = 3 * pt;\n const arrayskip = group.arraystretch * baselineskip;\n const arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n\n const arstrutDepth = 0.3 * arrayskip; // \\@arstrutbox in lttab.dtx\n\n let totalHeight = 0; // Set a position for \\hline(s) at the top of the array, if any.\n\n function setHLinePos(hlinesInGap) {\n for (let i = 0; i < hlinesInGap.length; ++i) {\n if (i > 0) {\n totalHeight += 0.25;\n }\n\n hlines.push({\n pos: totalHeight,\n isDashed: hlinesInGap[i]\n });\n }\n }\n\n setHLinePos(hLinesBeforeRow[0]);\n\n for (r = 0; r < group.body.length; ++r) {\n const inrow = group.body[r];\n let height = arstrutHeight; // \\@array adds an \\@arstrut\n\n let depth = arstrutDepth; // to each tow (via the template)\n\n if (nc < inrow.length) {\n nc = inrow.length;\n }\n\n const outrow = new Array(inrow.length);\n\n for (c = 0; c < inrow.length; ++c) {\n const elt = buildGroup(inrow[c], options);\n\n if (depth < elt.depth) {\n depth = elt.depth;\n }\n\n if (height < elt.height) {\n height = elt.height;\n }\n\n outrow[c] = elt;\n }\n\n const rowGap = group.rowGaps[r];\n let gap = 0;\n\n if (rowGap) {\n gap = calculateSize(rowGap, options);\n\n if (gap > 0) {\n // \\@argarraycr\n gap += arstrutDepth;\n\n if (depth < gap) {\n depth = gap; // \\@xargarraycr\n }\n\n gap = 0;\n }\n } // In AMS multiline environments such as aligned and gathered, rows\n // correspond to lines that have additional \\jot added to the\n // \\baselineskip via \\openup.\n\n\n if (group.addJot) {\n depth += jot;\n }\n\n outrow.height = height;\n outrow.depth = depth;\n totalHeight += height;\n outrow.pos = totalHeight;\n totalHeight += depth + gap; // \\@yargarraycr\n\n body[r] = outrow; // Set a position for \\hline(s), if any.\n\n setHLinePos(hLinesBeforeRow[r + 1]);\n }\n\n const offset = totalHeight / 2 + options.fontMetrics().axisHeight;\n const colDescriptions = group.cols || [];\n const cols = [];\n let colSep;\n let colDescrNum;\n const tagSpans = [];\n\n if (group.tags && group.tags.some(tag => tag)) {\n // An environment with manual tags and/or automatic equation numbers.\n // Create node(s), the latter of which trigger CSS counter increment.\n for (r = 0; r < nr; ++r) {\n const rw = body[r];\n const shift = rw.pos - offset;\n const tag = group.tags[r];\n let tagSpan;\n\n if (tag === true) {\n // automatic numbering\n tagSpan = buildCommon.makeSpan([\"eqn-num\"], [], options);\n } else if (tag === false) {\n // \\nonumber/\\notag or starred environment\n tagSpan = buildCommon.makeSpan([], [], options);\n } else {\n // manual \\tag\n tagSpan = buildCommon.makeSpan([], buildExpression(tag, options, true), options);\n }\n\n tagSpan.depth = rw.depth;\n tagSpan.height = rw.height;\n tagSpans.push({\n type: \"elem\",\n elem: tagSpan,\n shift\n });\n }\n }\n\n for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column\n // descriptions, so trailing separators don't get lost.\n c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) {\n let colDescr = colDescriptions[colDescrNum] || {};\n let firstSeparator = true;\n\n while (colDescr.type === \"separator\") {\n // If there is more than one separator in a row, add a space\n // between them.\n if (!firstSeparator) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(options.fontMetrics().doubleRuleSep);\n cols.push(colSep);\n }\n\n if (colDescr.separator === \"|\" || colDescr.separator === \":\") {\n const lineType = colDescr.separator === \"|\" ? \"solid\" : \"dashed\";\n const separator = buildCommon.makeSpan([\"vertical-separator\"], [], options);\n separator.style.height = makeEm(totalHeight);\n separator.style.borderRightWidth = makeEm(ruleThickness);\n separator.style.borderRightStyle = lineType;\n separator.style.margin = \"0 \" + makeEm(-ruleThickness / 2);\n const shift = totalHeight - offset;\n\n if (shift) {\n separator.style.verticalAlign = makeEm(-shift);\n }\n\n cols.push(separator);\n } else {\n throw new src_ParseError(\"Invalid separator type: \" + colDescr.separator);\n }\n\n colDescrNum++;\n colDescr = colDescriptions[colDescrNum] || {};\n firstSeparator = false;\n }\n\n if (c >= nc) {\n continue;\n }\n\n let sepwidth;\n\n if (c > 0 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n\n let col = [];\n\n for (r = 0; r < nr; ++r) {\n const row = body[r];\n const elem = row[c];\n\n if (!elem) {\n continue;\n }\n\n const shift = row.pos - offset;\n elem.depth = row.depth;\n elem.height = row.height;\n col.push({\n type: \"elem\",\n elem: elem,\n shift: shift\n });\n }\n\n col = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: col\n }, options);\n col = buildCommon.makeSpan([\"col-align-\" + (colDescr.align || \"c\")], [col]);\n cols.push(col);\n\n if (c < nc - 1 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n }\n\n body = buildCommon.makeSpan([\"mtable\"], cols); // Add \\hline(s), if any.\n\n if (hlines.length > 0) {\n const line = buildCommon.makeLineSpan(\"hline\", options, ruleThickness);\n const dashes = buildCommon.makeLineSpan(\"hdashline\", options, ruleThickness);\n const vListElems = [{\n type: \"elem\",\n elem: body,\n shift: 0\n }];\n\n while (hlines.length > 0) {\n const hline = hlines.pop();\n const lineShift = hline.pos - offset;\n\n if (hline.isDashed) {\n vListElems.push({\n type: \"elem\",\n elem: dashes,\n shift: lineShift\n });\n } else {\n vListElems.push({\n type: \"elem\",\n elem: line,\n shift: lineShift\n });\n }\n }\n\n body = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vListElems\n }, options);\n }\n\n if (tagSpans.length === 0) {\n return buildCommon.makeSpan([\"mord\"], [body], options);\n } else {\n let eqnNumCol = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: tagSpans\n }, options);\n eqnNumCol = buildCommon.makeSpan([\"tag\"], [eqnNumCol], options);\n return buildCommon.makeFragment([body, eqnNumCol]);\n }\n};\n\nconst alignMap = {\n c: \"center \",\n l: \"left \",\n r: \"right \"\n};\n\nconst array_mathmlBuilder = function (group, options) {\n const tbl = [];\n const glue = new mathMLTree.MathNode(\"mtd\", [], [\"mtr-glue\"]);\n const tag = new mathMLTree.MathNode(\"mtd\", [], [\"mml-eqn-num\"]);\n\n for (let i = 0; i < group.body.length; i++) {\n const rw = group.body[i];\n const row = [];\n\n for (let j = 0; j < rw.length; j++) {\n row.push(new mathMLTree.MathNode(\"mtd\", [buildMathML_buildGroup(rw[j], options)]));\n }\n\n if (group.tags && group.tags[i]) {\n row.unshift(glue);\n row.push(glue);\n\n if (group.leqno) {\n row.unshift(tag);\n } else {\n row.push(tag);\n }\n }\n\n tbl.push(new mathMLTree.MathNode(\"mtr\", row));\n }\n\n let table = new mathMLTree.MathNode(\"mtable\", tbl); // Set column alignment, row spacing, column spacing, and\n // array lines by setting attributes on the table element.\n // Set the row spacing. In MathML, we specify a gap distance.\n // We do not use rowGap[] because MathML automatically increases\n // cell height with the height/depth of the element content.\n // LaTeX \\arraystretch multiplies the row baseline-to-baseline distance.\n // We simulate this by adding (arraystretch - 1)em to the gap. This\n // does a reasonable job of adjusting arrays containing 1 em tall content.\n // The 0.16 and 0.09 values are found empirically. They produce an array\n // similar to LaTeX and in which content does not interfere with \\hlines.\n\n const gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}\n : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);\n table.setAttribute(\"rowspacing\", makeEm(gap)); // MathML table lines go only between cells.\n // To place a line on an edge we'll use , if necessary.\n\n let menclose = \"\";\n let align = \"\";\n\n if (group.cols && group.cols.length > 0) {\n // Find column alignment, column spacing, and vertical lines.\n const cols = group.cols;\n let columnLines = \"\";\n let prevTypeWasAlign = false;\n let iStart = 0;\n let iEnd = cols.length;\n\n if (cols[0].type === \"separator\") {\n menclose += \"top \";\n iStart = 1;\n }\n\n if (cols[cols.length - 1].type === \"separator\") {\n menclose += \"bottom \";\n iEnd -= 1;\n }\n\n for (let i = iStart; i < iEnd; i++) {\n if (cols[i].type === \"align\") {\n align += alignMap[cols[i].align];\n\n if (prevTypeWasAlign) {\n columnLines += \"none \";\n }\n\n prevTypeWasAlign = true;\n } else if (cols[i].type === \"separator\") {\n // MathML accepts only single lines between cells.\n // So we read only the first of consecutive separators.\n if (prevTypeWasAlign) {\n columnLines += cols[i].separator === \"|\" ? \"solid \" : \"dashed \";\n prevTypeWasAlign = false;\n }\n }\n }\n\n table.setAttribute(\"columnalign\", align.trim());\n\n if (/[sd]/.test(columnLines)) {\n table.setAttribute(\"columnlines\", columnLines.trim());\n }\n } // Set column spacing.\n\n\n if (group.colSeparationType === \"align\") {\n const cols = group.cols || [];\n let spacing = \"\";\n\n for (let i = 1; i < cols.length; i++) {\n spacing += i % 2 ? \"0em \" : \"1em \";\n }\n\n table.setAttribute(\"columnspacing\", spacing.trim());\n } else if (group.colSeparationType === \"alignat\" || group.colSeparationType === \"gather\") {\n table.setAttribute(\"columnspacing\", \"0em\");\n } else if (group.colSeparationType === \"small\") {\n table.setAttribute(\"columnspacing\", \"0.2778em\");\n } else if (group.colSeparationType === \"CD\") {\n table.setAttribute(\"columnspacing\", \"0.5em\");\n } else {\n table.setAttribute(\"columnspacing\", \"1em\");\n } // Address \\hline and \\hdashline\n\n\n let rowLines = \"\";\n const hlines = group.hLinesBeforeRow;\n menclose += hlines[0].length > 0 ? \"left \" : \"\";\n menclose += hlines[hlines.length - 1].length > 0 ? \"right \" : \"\";\n\n for (let i = 1; i < hlines.length - 1; i++) {\n rowLines += hlines[i].length === 0 ? \"none \" // MathML accepts only a single line between rows. Read one element.\n : hlines[i][0] ? \"dashed \" : \"solid \";\n }\n\n if (/[sd]/.test(rowLines)) {\n table.setAttribute(\"rowlines\", rowLines.trim());\n }\n\n if (menclose !== \"\") {\n table = new mathMLTree.MathNode(\"menclose\", [table]);\n table.setAttribute(\"notation\", menclose.trim());\n }\n\n if (group.arraystretch && group.arraystretch < 1) {\n // A small array. Wrap in scriptstyle so row gap is not too large.\n table = new mathMLTree.MathNode(\"mstyle\", [table]);\n table.setAttribute(\"scriptlevel\", \"1\");\n }\n\n return table;\n}; // Convenience function for align, align*, aligned, alignat, alignat*, alignedat.\n\n\nconst alignedHandler = function (context, args) {\n if (context.envName.indexOf(\"ed\") === -1) {\n validateAmsEnvironmentContext(context);\n }\n\n const cols = [];\n const separationType = context.envName.indexOf(\"at\") > -1 ? \"alignat\" : \"align\";\n const isSplit = context.envName === \"split\";\n const res = parseArray(context.parser, {\n cols,\n addJot: true,\n autoTag: isSplit ? undefined : getAutoTag(context.envName),\n emptySingleRow: true,\n colSeparationType: separationType,\n maxNumCols: isSplit ? 2 : undefined,\n leqno: context.parser.settings.leqno\n }, \"display\"); // Determining number of columns.\n // 1. If the first argument is given, we use it as a number of columns,\n // and makes sure that each row doesn't exceed that number.\n // 2. Otherwise, just count number of columns = maximum number\n // of cells in each row (\"aligned\" mode -- isAligned will be true).\n //\n // At the same time, prepend empty group {} at beginning of every second\n // cell in each row (starting with second cell) so that operators become\n // binary. This behavior is implemented in amsmath's \\start@aligned.\n\n let numMaths;\n let numCols = 0;\n const emptyGroup = {\n type: \"ordgroup\",\n mode: context.mode,\n body: []\n };\n\n if (args[0] && args[0].type === \"ordgroup\") {\n let arg0 = \"\";\n\n for (let i = 0; i < args[0].body.length; i++) {\n const textord = assertNodeType(args[0].body[i], \"textord\");\n arg0 += textord.text;\n }\n\n numMaths = Number(arg0);\n numCols = numMaths * 2;\n }\n\n const isAligned = !numCols;\n res.body.forEach(function (row) {\n for (let i = 1; i < row.length; i += 2) {\n // Modify ordgroup node within styling node\n const styling = assertNodeType(row[i], \"styling\");\n const ordgroup = assertNodeType(styling.body[0], \"ordgroup\");\n ordgroup.body.unshift(emptyGroup);\n }\n\n if (!isAligned) {\n // Case 1\n const curMaths = row.length / 2;\n\n if (numMaths < curMaths) {\n throw new src_ParseError(\"Too many math in a row: \" + (\"expected \" + numMaths + \", but got \" + curMaths), row[0]);\n }\n } else if (numCols < row.length) {\n // Case 2\n numCols = row.length;\n }\n }); // Adjusting alignment.\n // In aligned mode, we add one \\qquad between columns;\n // otherwise we add nothing.\n\n for (let i = 0; i < numCols; ++i) {\n let align = \"r\";\n let pregap = 0;\n\n if (i % 2 === 1) {\n align = \"l\";\n } else if (i > 0 && isAligned) {\n // \"aligned\" mode.\n pregap = 1; // add one \\quad\n }\n\n cols[i] = {\n type: \"align\",\n align: align,\n pregap: pregap,\n postgap: 0\n };\n }\n\n res.colSeparationType = isAligned ? \"align\" : \"alignat\";\n return res;\n}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\n// {darray} is an {array} environment where cells are set in \\displaystyle,\n// as defined in nccmath.sty.\n\n\ndefineEnvironment({\n type: \"array\",\n names: [\"array\", \"darray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Since no types are specified above, the two possibilities are\n // - The argument is wrapped in {} or [], in which case Parser's\n // parseGroup() returns an \"ordgroup\" wrapping some symbol node.\n // - The argument is a bare symbol node.\n const symNode = checkSymbolNodeType(args[0]);\n const colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n const cols = colalign.map(function (nde) {\n const node = assertSymbolNodeType(nde);\n const ca = node.text;\n\n if (\"lcr\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n } else if (ca === \"|\") {\n return {\n type: \"separator\",\n separator: \"|\"\n };\n } else if (ca === \":\") {\n return {\n type: \"separator\",\n separator: \":\"\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n const res = {\n cols,\n hskipBeforeAndAfter: true,\n // \\@preamble in lttab.dtx\n maxNumCols: cols.length\n };\n return parseArray(context.parser, res, dCellStyle(context.envName));\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\n// The mathtools package adds starred versions of the same environments.\n// These have an optional argument to choose left|center|right justification.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"matrix\", \"pmatrix\", \"bmatrix\", \"Bmatrix\", \"vmatrix\", \"Vmatrix\", \"matrix*\", \"pmatrix*\", \"bmatrix*\", \"Bmatrix*\", \"vmatrix*\", \"Vmatrix*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const delimiters = {\n \"matrix\": null,\n \"pmatrix\": [\"(\", \")\"],\n \"bmatrix\": [\"[\", \"]\"],\n \"Bmatrix\": [\"\\\\{\", \"\\\\}\"],\n \"vmatrix\": [\"|\", \"|\"],\n \"Vmatrix\": [\"\\\\Vert\", \"\\\\Vert\"]\n }[context.envName.replace(\"*\", \"\")]; // \\hskip -\\arraycolsep in amsmath\n\n let colAlign = \"c\";\n const payload = {\n hskipBeforeAndAfter: false,\n cols: [{\n type: \"align\",\n align: colAlign\n }]\n };\n\n if (context.envName.charAt(context.envName.length - 1) === \"*\") {\n // It's one of the mathtools starred functions.\n // Parse the optional alignment argument.\n const parser = context.parser;\n parser.consumeSpaces();\n\n if (parser.fetch().text === \"[\") {\n parser.consume();\n parser.consumeSpaces();\n colAlign = parser.fetch().text;\n\n if (\"lcr\".indexOf(colAlign) === -1) {\n throw new src_ParseError(\"Expected l or c or r\", parser.nextToken);\n }\n\n parser.consume();\n parser.consumeSpaces();\n parser.expect(\"]\");\n parser.consume();\n payload.cols = [{\n type: \"align\",\n align: colAlign\n }];\n }\n }\n\n const res = parseArray(context.parser, payload, dCellStyle(context.envName)); // Populate cols with the correct number of column alignment specs.\n\n const numCols = Math.max(0, ...res.body.map(row => row.length));\n res.cols = new Array(numCols).fill({\n type: \"align\",\n align: colAlign\n });\n return delimiters ? {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: delimiters[0],\n right: delimiters[1],\n rightColor: undefined // \\right uninfluenced by \\color in array\n\n } : res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"smallmatrix\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const payload = {\n arraystretch: 0.5\n };\n const res = parseArray(context.parser, payload, \"script\");\n res.colSeparationType = \"small\";\n return res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"subarray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Parsing of {subarray} is similar to {array}\n const symNode = checkSymbolNodeType(args[0]);\n const colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n const cols = colalign.map(function (nde) {\n const node = assertSymbolNodeType(nde);\n const ca = node.text; // {subarray} only recognizes \"l\" & \"c\"\n\n if (\"lc\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n\n if (cols.length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n let res = {\n cols,\n hskipBeforeAndAfter: false,\n arraystretch: 0.5\n };\n res = parseArray(context.parser, res, \"script\");\n\n if (res.body.length > 0 && res.body[0].length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n return res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} … \\end{array}\\right.\n// {dcases} is a {cases} environment where cells are set in \\displaystyle,\n// as defined in mathtools.sty.\n// {rcases} is another mathtools environment. It's brace is on the right side.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"cases\", \"dcases\", \"rcases\", \"drcases\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const payload = {\n arraystretch: 1.2,\n cols: [{\n type: \"align\",\n align: \"l\",\n pregap: 0,\n // TODO(kevinb) get the current style.\n // For now we use the metrics for TEXT style which is what we were\n // doing before. Before attempting to get the current style we\n // should look at TeX's behavior especially for \\over and matrices.\n postgap: 1.0\n /* 1em quad */\n\n }, {\n type: \"align\",\n align: \"l\",\n pregap: 0,\n postgap: 0\n }]\n };\n const res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: context.envName.indexOf(\"r\") > -1 ? \".\" : \"\\\\{\",\n right: context.envName.indexOf(\"r\") > -1 ? \"\\\\}\" : \".\",\n rightColor: undefined\n };\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // In the align environment, one uses ampersands, &, to specify number of\n// columns in each row, and to locate spacing between each column.\n// align gets automatic numbering. align* and aligned do not.\n// The alignedat environment can be used in math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"align\", \"align*\", \"aligned\", \"split\"],\n props: {\n numArgs: 0\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A gathered environment is like an array environment with one centered\n// column, but where rows are considered lines so get \\jot line spacing\n// and contents are set in \\displaystyle.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"gathered\", \"gather\", \"gather*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n if (utils.contains([\"gather\", \"gather*\"], context.envName)) {\n validateAmsEnvironmentContext(context);\n }\n\n const res = {\n cols: [{\n type: \"align\",\n align: \"c\"\n }],\n addJot: true,\n colSeparationType: \"gather\",\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // alignat environment is like an align environment, but one must explicitly\n// specify maximum number of columns in each row, and can adjust spacing between\n// each columns.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"alignat\", \"alignat*\", \"alignedat\"],\n props: {\n numArgs: 1\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"equation\", \"equation*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n const res = {\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n singleRow: true,\n maxNumCols: 1,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"CD\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n return parseCD(context.parser);\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineMacro(\"\\\\nonumber\", \"\\\\gdef\\\\@eqnsw{0}\");\ndefineMacro(\"\\\\notag\", \"\\\\nonumber\"); // Catch \\hline outside array environment\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\hline\", \"\\\\hdashline\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: true\n },\n\n handler(context, args) {\n throw new src_ParseError(context.funcName + \" valid only within array environment\");\n }\n\n});\n;// CONCATENATED MODULE: ./src/environments.js\n\nconst environments = _environments;\n/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below\n\n\n;// CONCATENATED MODULE: ./src/functions/environment.js\n\n\n\n // Environment delimiters. HTML/MathML rendering is defined in the corresponding\n// defineEnvironment definitions.\n\ndefineFunction({\n type: \"environment\",\n names: [\"\\\\begin\", \"\\\\end\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"]\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const nameGroup = args[0];\n\n if (nameGroup.type !== \"ordgroup\") {\n throw new src_ParseError(\"Invalid environment name\", nameGroup);\n }\n\n let envName = \"\";\n\n for (let i = 0; i < nameGroup.body.length; ++i) {\n envName += assertNodeType(nameGroup.body[i], \"textord\").text;\n }\n\n if (funcName === \"\\\\begin\") {\n // begin...end is similar to left...right\n if (!src_environments.hasOwnProperty(envName)) {\n throw new src_ParseError(\"No such environment: \" + envName, nameGroup);\n } // Build the environment object. Arguments and other information will\n // be made available to the begin and end methods using properties.\n\n\n const env = src_environments[envName];\n const {\n args,\n optArgs\n } = parser.parseArguments(\"\\\\begin{\" + envName + \"}\", env);\n const context = {\n mode: parser.mode,\n envName,\n parser\n };\n const result = env.handler(context, args, optArgs);\n parser.expect(\"\\\\end\", false);\n const endNameToken = parser.nextToken;\n const end = assertNodeType(parser.parseFunction(), \"environment\");\n\n if (end.name !== envName) {\n throw new src_ParseError(\"Mismatch: \\\\begin{\" + envName + \"} matched by \\\\end{\" + end.name + \"}\", endNameToken);\n } // $FlowFixMe, \"environment\" handler returns an environment ParseNode\n\n\n return result;\n }\n\n return {\n type: \"environment\",\n mode: parser.mode,\n name: envName,\n nameGroup\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/font.js\n// TODO(kevinb): implement \\\\sl and \\\\sc\n\n\n\n\n\n\nconst font_htmlBuilder = (group, options) => {\n const font = group.font;\n const newOptions = options.withFont(font);\n return buildGroup(group.body, newOptions);\n};\n\nconst font_mathmlBuilder = (group, options) => {\n const font = group.font;\n const newOptions = options.withFont(font);\n return buildMathML_buildGroup(group.body, newOptions);\n};\n\nconst fontAliases = {\n \"\\\\Bbb\": \"\\\\mathbb\",\n \"\\\\bold\": \"\\\\mathbf\",\n \"\\\\frak\": \"\\\\mathfrak\",\n \"\\\\bm\": \"\\\\boldsymbol\"\n};\ndefineFunction({\n type: \"font\",\n names: [// styles, except \\boldsymbol defined below\n \"\\\\mathrm\", \"\\\\mathit\", \"\\\\mathbf\", \"\\\\mathnormal\", \"\\\\mathsfit\", // families\n \"\\\\mathbb\", \"\\\\mathcal\", \"\\\\mathfrak\", \"\\\\mathscr\", \"\\\\mathsf\", \"\\\\mathtt\", // aliases, except \\bm defined below\n \"\\\\Bbb\", \"\\\\bold\", \"\\\\frak\"],\n props: {\n numArgs: 1,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = normalizeArgument(args[0]);\n let func = funcName;\n\n if (func in fontAliases) {\n func = fontAliases[func];\n }\n\n return {\n type: \"font\",\n mode: parser.mode,\n font: func.slice(1),\n body\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\boldsymbol\", \"\\\\bm\"],\n props: {\n numArgs: 1\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n const isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \\boldsymbol uses \\binrel spacing to inherit the\n // argument's bin|rel|ord status\n\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(body),\n body: [{\n type: \"font\",\n mode: parser.mode,\n font: \"boldsymbol\",\n body\n }],\n isCharacterBox: isCharacterBox\n };\n }\n}); // Old font changing functions\n\ndefineFunction({\n type: \"font\",\n names: [\"\\\\rm\", \"\\\\sf\", \"\\\\tt\", \"\\\\bf\", \"\\\\it\", \"\\\\cal\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n let {\n parser,\n funcName,\n breakOnTokenText\n } = _ref3;\n const {\n mode\n } = parser;\n const body = parser.parseExpression(true, breakOnTokenText);\n const style = \"math\" + funcName.slice(1);\n return {\n type: \"font\",\n mode: mode,\n font: style,\n body: {\n type: \"ordgroup\",\n mode: parser.mode,\n body\n }\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/genfrac.js\n\n\n\n\n\n\n\n\n\n\n\nconst adjustStyle = (size, originalStyle) => {\n // Figure out what style this fraction should be in based on the\n // function used\n let style = originalStyle;\n\n if (size === \"display\") {\n // Get display style as a default.\n // If incoming style is sub/sup, use style.text() to get correct size.\n style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY;\n } else if (size === \"text\" && style.size === src_Style.DISPLAY.size) {\n // We're in a \\tfrac but incoming style is displaystyle, so:\n style = src_Style.TEXT;\n } else if (size === \"script\") {\n style = src_Style.SCRIPT;\n } else if (size === \"scriptscript\") {\n style = src_Style.SCRIPTSCRIPT;\n }\n\n return style;\n};\n\nconst genfrac_htmlBuilder = (group, options) => {\n // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n const style = adjustStyle(group.size, options.style);\n const nstyle = style.fracNum();\n const dstyle = style.fracDen();\n let newOptions;\n newOptions = options.havingStyle(nstyle);\n const numerm = buildGroup(group.numer, newOptions, options);\n\n if (group.continued) {\n // \\cfrac inserts a \\strut into the numerator.\n // Get \\strut dimensions from TeXbook page 353.\n const hStrut = 8.5 / options.fontMetrics().ptPerEm;\n const dStrut = 3.5 / options.fontMetrics().ptPerEm;\n numerm.height = numerm.height < hStrut ? hStrut : numerm.height;\n numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth;\n }\n\n newOptions = options.havingStyle(dstyle);\n const denomm = buildGroup(group.denom, newOptions, options);\n let rule;\n let ruleWidth;\n let ruleSpacing;\n\n if (group.hasBarLine) {\n if (group.barSize) {\n ruleWidth = calculateSize(group.barSize, options);\n rule = buildCommon.makeLineSpan(\"frac-line\", options, ruleWidth);\n } else {\n rule = buildCommon.makeLineSpan(\"frac-line\", options);\n }\n\n ruleWidth = rule.height;\n ruleSpacing = rule.height;\n } else {\n rule = null;\n ruleWidth = 0;\n ruleSpacing = options.fontMetrics().defaultRuleThickness;\n } // Rule 15b\n\n\n let numShift;\n let clearance;\n let denomShift;\n\n if (style.size === src_Style.DISPLAY.size || group.size === \"display\") {\n numShift = options.fontMetrics().num1;\n\n if (ruleWidth > 0) {\n clearance = 3 * ruleSpacing;\n } else {\n clearance = 7 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom1;\n } else {\n if (ruleWidth > 0) {\n numShift = options.fontMetrics().num2;\n clearance = ruleSpacing;\n } else {\n numShift = options.fontMetrics().num3;\n clearance = 3 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom2;\n }\n\n let frac;\n\n if (!rule) {\n // Rule 15c\n const candidateClearance = numShift - numerm.depth - (denomm.height - denomShift);\n\n if (candidateClearance < clearance) {\n numShift += 0.5 * (clearance - candidateClearance);\n denomShift += 0.5 * (clearance - candidateClearance);\n }\n\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } else {\n // Rule 15d\n const axisHeight = options.fontMetrics().axisHeight;\n\n if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) {\n numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth));\n }\n\n if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) {\n denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift));\n }\n\n const midShift = -(axisHeight - 0.5 * ruleWidth);\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: rule,\n shift: midShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n // account for the possible size change here.\n\n\n newOptions = options.havingStyle(style);\n frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier;\n frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e\n\n let delimSize;\n\n if (style.size === src_Style.DISPLAY.size) {\n delimSize = options.fontMetrics().delim1;\n } else if (style.size === src_Style.SCRIPTSCRIPT.size) {\n delimSize = options.havingStyle(src_Style.SCRIPT).fontMetrics().delim2;\n } else {\n delimSize = options.fontMetrics().delim2;\n }\n\n let leftDelim;\n let rightDelim;\n\n if (group.leftDelim == null) {\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mopen\"]);\n }\n\n if (group.continued) {\n rightDelim = buildCommon.makeSpan([]); // zero width for \\cfrac\n } else if (group.rightDelim == null) {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mclose\"]);\n }\n\n return buildCommon.makeSpan([\"mord\"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan([\"mfrac\"], [frac]), rightDelim], options);\n};\n\nconst genfrac_mathmlBuilder = (group, options) => {\n let node = new mathMLTree.MathNode(\"mfrac\", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]);\n\n if (!group.hasBarLine) {\n node.setAttribute(\"linethickness\", \"0px\");\n } else if (group.barSize) {\n const ruleWidth = calculateSize(group.barSize, options);\n node.setAttribute(\"linethickness\", makeEm(ruleWidth));\n }\n\n const style = adjustStyle(group.size, options.style);\n\n if (style.size !== options.style.size) {\n node = new mathMLTree.MathNode(\"mstyle\", [node]);\n const isDisplay = style.size === src_Style.DISPLAY.size ? \"true\" : \"false\";\n node.setAttribute(\"displaystyle\", isDisplay);\n node.setAttribute(\"scriptlevel\", \"0\");\n }\n\n if (group.leftDelim != null || group.rightDelim != null) {\n const withDelims = [];\n\n if (group.leftDelim != null) {\n const leftOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.leftDelim.replace(\"\\\\\", \"\"))]);\n leftOp.setAttribute(\"fence\", \"true\");\n withDelims.push(leftOp);\n }\n\n withDelims.push(node);\n\n if (group.rightDelim != null) {\n const rightOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.rightDelim.replace(\"\\\\\", \"\"))]);\n rightOp.setAttribute(\"fence\", \"true\");\n withDelims.push(rightOp);\n }\n\n return makeRow(withDelims);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\dfrac\", \"\\\\frac\", \"\\\\tfrac\", \"\\\\dbinom\", \"\\\\binom\", \"\\\\tbinom\", \"\\\\\\\\atopfrac\", // can’t be entered directly\n \"\\\\\\\\bracefrac\", \"\\\\\\\\brackfrac\" // ditto\n ],\n props: {\n numArgs: 2,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const numer = args[0];\n const denom = args[1];\n let hasBarLine;\n let leftDelim = null;\n let rightDelim = null;\n let size = \"auto\";\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\frac\":\n case \"\\\\tfrac\":\n hasBarLine = true;\n break;\n\n case \"\\\\\\\\atopfrac\":\n hasBarLine = false;\n break;\n\n case \"\\\\dbinom\":\n case \"\\\\binom\":\n case \"\\\\tbinom\":\n hasBarLine = false;\n leftDelim = \"(\";\n rightDelim = \")\";\n break;\n\n case \"\\\\\\\\bracefrac\":\n hasBarLine = false;\n leftDelim = \"\\\\{\";\n rightDelim = \"\\\\}\";\n break;\n\n case \"\\\\\\\\brackfrac\":\n hasBarLine = false;\n leftDelim = \"[\";\n rightDelim = \"]\";\n break;\n\n default:\n throw new Error(\"Unrecognized genfrac command\");\n }\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\dbinom\":\n size = \"display\";\n break;\n\n case \"\\\\tfrac\":\n case \"\\\\tbinom\":\n size = \"text\";\n break;\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: false,\n numer,\n denom,\n hasBarLine,\n leftDelim,\n rightDelim,\n size,\n barSize: null\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\cfrac\"],\n props: {\n numArgs: 2\n },\n handler: (_ref2, args) => {\n let {\n parser,\n funcName\n } = _ref2;\n const numer = args[0];\n const denom = args[1];\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: true,\n numer,\n denom,\n hasBarLine: true,\n leftDelim: null,\n rightDelim: null,\n size: \"display\",\n barSize: null\n };\n }\n}); // Infix generalized fractions -- these are not rendered directly, but replaced\n// immediately by one of the variants above.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\over\", \"\\\\choose\", \"\\\\atop\", \"\\\\brace\", \"\\\\brack\"],\n props: {\n numArgs: 0,\n infix: true\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName,\n token\n } = _ref3;\n let replaceWith;\n\n switch (funcName) {\n case \"\\\\over\":\n replaceWith = \"\\\\frac\";\n break;\n\n case \"\\\\choose\":\n replaceWith = \"\\\\binom\";\n break;\n\n case \"\\\\atop\":\n replaceWith = \"\\\\\\\\atopfrac\";\n break;\n\n case \"\\\\brace\":\n replaceWith = \"\\\\\\\\bracefrac\";\n break;\n\n case \"\\\\brack\":\n replaceWith = \"\\\\\\\\brackfrac\";\n break;\n\n default:\n throw new Error(\"Unrecognized infix genfrac command\");\n }\n\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith,\n token\n };\n }\n\n});\nconst stylArray = [\"display\", \"text\", \"script\", \"scriptscript\"];\n\nconst delimFromValue = function (delimString) {\n let delim = null;\n\n if (delimString.length > 0) {\n delim = delimString;\n delim = delim === \".\" ? null : delim;\n }\n\n return delim;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\genfrac\"],\n props: {\n numArgs: 6,\n allowedInArgument: true,\n argTypes: [\"math\", \"math\", \"size\", \"text\", \"math\", \"math\"]\n },\n\n handler(_ref4, args) {\n let {\n parser\n } = _ref4;\n const numer = args[4];\n const denom = args[5]; // Look into the parse nodes to get the desired delimiters.\n\n const leftNode = normalizeArgument(args[0]);\n const leftDelim = leftNode.type === \"atom\" && leftNode.family === \"open\" ? delimFromValue(leftNode.text) : null;\n const rightNode = normalizeArgument(args[1]);\n const rightDelim = rightNode.type === \"atom\" && rightNode.family === \"close\" ? delimFromValue(rightNode.text) : null;\n const barNode = assertNodeType(args[2], \"size\");\n let hasBarLine;\n let barSize = null;\n\n if (barNode.isBlank) {\n // \\genfrac acts differently than \\above.\n // \\genfrac treats an empty size group as a signal to use a\n // standard bar size. \\above would see size = 0 and omit the bar.\n hasBarLine = true;\n } else {\n barSize = barNode.value;\n hasBarLine = barSize.number > 0;\n } // Find out if we want displaystyle, textstyle, etc.\n\n\n let size = \"auto\";\n let styl = args[3];\n\n if (styl.type === \"ordgroup\") {\n if (styl.body.length > 0) {\n const textOrd = assertNodeType(styl.body[0], \"textord\");\n size = stylArray[Number(textOrd.text)];\n }\n } else {\n styl = assertNodeType(styl, \"textord\");\n size = stylArray[Number(styl.text)];\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim,\n rightDelim,\n size\n };\n },\n\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n}); // \\above is an infix fraction that also defines a fraction bar size.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\above\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n infix: true\n },\n\n handler(_ref5, args) {\n let {\n parser,\n funcName,\n token\n } = _ref5;\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith: \"\\\\\\\\abovefrac\",\n size: assertNodeType(args[0], \"size\").value,\n token\n };\n }\n\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\\\\\abovefrac\"],\n props: {\n numArgs: 3,\n argTypes: [\"math\", \"size\", \"math\"]\n },\n handler: (_ref6, args) => {\n let {\n parser,\n funcName\n } = _ref6;\n const numer = args[0];\n const barSize = assert(assertNodeType(args[1], \"infix\").size);\n const denom = args[2];\n const hasBarLine = barSize.number > 0;\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim: null,\n rightDelim: null,\n size: \"auto\"\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/horizBrace.js\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"horizBrace\", but\n// also \"supsub\" since an over/underbrace can affect super/subscripting.\nconst horizBrace_htmlBuilder = (grp, options) => {\n const style = options.style; // Pull out the `ParseNode<\"horizBrace\">` if `grp` is a \"supsub\" node.\n\n let supSubGroup;\n let group;\n\n if (grp.type === \"supsub\") {\n // Ref: LaTeX source2e: }}}}\\limits}\n // i.e. LaTeX treats the brace similar to an op and passes it\n // with \\limits, so we need to assign supsub style.\n supSubGroup = grp.sup ? buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildGroup(grp.sub, options.havingStyle(style.sub()), options);\n group = assertNodeType(grp.base, \"horizBrace\");\n } else {\n group = assertNodeType(grp, \"horizBrace\");\n } // Build the base group\n\n\n const body = buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element\n\n const braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓\n // This first vlist contains the content and the brace: equation\n\n let vlist;\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: braceBody\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: body.depth + 0.1 + braceBody.height,\n children: [{\n type: \"elem\",\n elem: braceBody\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: body\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[0].classes.push(\"svg-align\");\n }\n\n if (supSubGroup) {\n // To write the supsub, wrap the first vlist in another vlist:\n // They can't all go in the same vlist, because the note might be\n // wider than the equation. We want the equation to control the\n // brace width.\n // note long note long note\n // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓\n // equation eqn eqn\n const vSpan = buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: vSpan\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: supSubGroup\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth,\n children: [{\n type: \"elem\",\n elem: supSubGroup\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: vSpan\n }]\n }, options);\n }\n }\n\n return buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n};\n\nconst horizBrace_mathmlBuilder = (group, options) => {\n const accentNode = stretchy.mathMLnode(group.label);\n return new mathMLTree.MathNode(group.isOver ? \"mover\" : \"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n}; // Horizontal stretchy braces\n\n\ndefineFunction({\n type: \"horizBrace\",\n names: [\"\\\\overbrace\", \"\\\\underbrace\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"horizBrace\",\n mode: parser.mode,\n label: funcName,\n isOver: /^\\\\over/.test(funcName),\n base: args[0]\n };\n },\n\n htmlBuilder: horizBrace_htmlBuilder,\n mathmlBuilder: horizBrace_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/href.js\n\n\n\n\n\n\ndefineFunction({\n type: \"href\",\n names: [\"\\\\href\"],\n props: {\n numArgs: 2,\n argTypes: [\"url\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n const body = args[1];\n const href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\href\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\href\");\n }\n\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options, false);\n return buildCommon.makeAnchor(group.href, [], elements, options);\n },\n mathmlBuilder: (group, options) => {\n let math = buildExpressionRow(group.body, options);\n\n if (!(math instanceof MathNode)) {\n math = new MathNode(\"mrow\", [math]);\n }\n\n math.setAttribute(\"href\", group.href);\n return math;\n }\n});\ndefineFunction({\n type: \"href\",\n names: [\"\\\\url\"],\n props: {\n numArgs: 1,\n argTypes: [\"url\"],\n allowedInText: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\url\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\url\");\n }\n\n const chars = [];\n\n for (let i = 0; i < href.length; i++) {\n let c = href[i];\n\n if (c === \"~\") {\n c = \"\\\\textasciitilde\";\n }\n\n chars.push({\n type: \"textord\",\n mode: \"text\",\n text: c\n });\n }\n\n const body = {\n type: \"text\",\n mode: parser.mode,\n font: \"\\\\texttt\",\n body: chars\n };\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/hbox.js\n\n\n\n\n // \\hbox is provided for compatibility with LaTeX \\vcenter.\n// In LaTeX, \\vcenter can act only on a box, as in\n// \\vcenter{\\hbox{$\\frac{a+b}{\\dfrac{c}{d}}$}}\n// This function by itself doesn't do anything but prevent a soft line break.\n\ndefineFunction({\n type: \"hbox\",\n names: [\"\\\\hbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"hbox\",\n mode: parser.mode,\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, false);\n return buildCommon.makeFragment(elements);\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", buildMathML_buildExpression(group.body, options));\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/html.js\n\n\n\n\n\n\ndefineFunction({\n type: \"html\",\n names: [\"\\\\htmlClass\", \"\\\\htmlId\", \"\\\\htmlStyle\", \"\\\\htmlData\"],\n props: {\n numArgs: 2,\n argTypes: [\"raw\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName,\n token\n } = _ref;\n const value = assertNodeType(args[0], \"raw\").string;\n const body = args[1];\n\n if (parser.settings.strict) {\n parser.settings.reportNonstrict(\"htmlExtension\", \"HTML extension is disabled on strict mode\");\n }\n\n let trustContext;\n const attributes = {};\n\n switch (funcName) {\n case \"\\\\htmlClass\":\n attributes.class = value;\n trustContext = {\n command: \"\\\\htmlClass\",\n class: value\n };\n break;\n\n case \"\\\\htmlId\":\n attributes.id = value;\n trustContext = {\n command: \"\\\\htmlId\",\n id: value\n };\n break;\n\n case \"\\\\htmlStyle\":\n attributes.style = value;\n trustContext = {\n command: \"\\\\htmlStyle\",\n style: value\n };\n break;\n\n case \"\\\\htmlData\":\n {\n const data = value.split(\",\");\n\n for (let i = 0; i < data.length; i++) {\n const keyVal = data[i].split(\"=\");\n\n if (keyVal.length !== 2) {\n throw new src_ParseError(\"Error parsing key-value for \\\\htmlData\");\n }\n\n attributes[\"data-\" + keyVal[0].trim()] = keyVal[1].trim();\n }\n\n trustContext = {\n command: \"\\\\htmlData\",\n attributes\n };\n break;\n }\n\n default:\n throw new Error(\"Unrecognized html command\");\n }\n\n if (!parser.settings.isTrusted(trustContext)) {\n return parser.formatUnsupportedCmd(funcName);\n }\n\n return {\n type: \"html\",\n mode: parser.mode,\n attributes,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options, false);\n const classes = [\"enclosing\"];\n\n if (group.attributes.class) {\n classes.push(...group.attributes.class.trim().split(/\\s+/));\n }\n\n const span = buildCommon.makeSpan(classes, elements, options);\n\n for (const attr in group.attributes) {\n if (attr !== \"class\" && group.attributes.hasOwnProperty(attr)) {\n span.setAttribute(attr, group.attributes[attr]);\n }\n }\n\n return span;\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/htmlmathml.js\n\n\n\n\ndefineFunction({\n type: \"htmlmathml\",\n names: [\"\\\\html@mathml\"],\n props: {\n numArgs: 2,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n return {\n type: \"htmlmathml\",\n mode: parser.mode,\n html: ordargument(args[0]),\n mathml: ordargument(args[1])\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.html, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.mathml, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/includegraphics.js\n\n\n\n\n\n\n\nconst sizeData = function (str) {\n if (/^[-+]? *(\\d+(\\.\\d*)?|\\.\\d+)$/.test(str)) {\n // str is a number with no unit specified.\n // default unit is bp, per graphix package.\n return {\n number: +str,\n unit: \"bp\"\n };\n } else {\n const match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(str);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + str + \"' in \\\\includegraphics\");\n }\n\n const data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"' in \\\\includegraphics.\");\n }\n\n return data;\n }\n};\n\ndefineFunction({\n type: \"includegraphics\",\n names: [\"\\\\includegraphics\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n argTypes: [\"raw\", \"url\"],\n allowedInText: false\n },\n handler: (_ref, args, optArgs) => {\n let {\n parser\n } = _ref;\n let width = {\n number: 0,\n unit: \"em\"\n };\n let height = {\n number: 0.9,\n unit: \"em\"\n }; // sorta character sized.\n\n let totalheight = {\n number: 0,\n unit: \"em\"\n };\n let alt = \"\";\n\n if (optArgs[0]) {\n const attributeStr = assertNodeType(optArgs[0], \"raw\").string; // Parser.js does not parse key/value pairs. We get a string.\n\n const attributes = attributeStr.split(\",\");\n\n for (let i = 0; i < attributes.length; i++) {\n const keyVal = attributes[i].split(\"=\");\n\n if (keyVal.length === 2) {\n const str = keyVal[1].trim();\n\n switch (keyVal[0].trim()) {\n case \"alt\":\n alt = str;\n break;\n\n case \"width\":\n width = sizeData(str);\n break;\n\n case \"height\":\n height = sizeData(str);\n break;\n\n case \"totalheight\":\n totalheight = sizeData(str);\n break;\n\n default:\n throw new src_ParseError(\"Invalid key: '\" + keyVal[0] + \"' in \\\\includegraphics.\");\n }\n }\n }\n }\n\n const src = assertNodeType(args[0], \"url\").url;\n\n if (alt === \"\") {\n // No alt given. Use the file name. Strip away the path.\n alt = src;\n alt = alt.replace(/^.*[\\\\/]/, '');\n alt = alt.substring(0, alt.lastIndexOf('.'));\n }\n\n if (!parser.settings.isTrusted({\n command: \"\\\\includegraphics\",\n url: src\n })) {\n return parser.formatUnsupportedCmd(\"\\\\includegraphics\");\n }\n\n return {\n type: \"includegraphics\",\n mode: parser.mode,\n alt: alt,\n width: width,\n height: height,\n totalheight: totalheight,\n src: src\n };\n },\n htmlBuilder: (group, options) => {\n const height = calculateSize(group.height, options);\n let depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n }\n\n let width = 0;\n\n if (group.width.number > 0) {\n width = calculateSize(group.width, options);\n }\n\n const style = {\n height: makeEm(height + depth)\n };\n\n if (width > 0) {\n style.width = makeEm(width);\n }\n\n if (depth > 0) {\n style.verticalAlign = makeEm(-depth);\n }\n\n const node = new Img(group.src, group.alt, style);\n node.height = height;\n node.depth = depth;\n return node;\n },\n mathmlBuilder: (group, options) => {\n const node = new mathMLTree.MathNode(\"mglyph\", []);\n node.setAttribute(\"alt\", group.alt);\n const height = calculateSize(group.height, options);\n let depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n node.setAttribute(\"valign\", makeEm(-depth));\n }\n\n node.setAttribute(\"height\", makeEm(height + depth));\n\n if (group.width.number > 0) {\n const width = calculateSize(group.width, options);\n node.setAttribute(\"width\", makeEm(width));\n }\n\n node.setAttribute(\"src\", group.src);\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/kern.js\n// Horizontal spacing commands\n\n\n\n\n // TODO: \\hskip and \\mskip should support plus and minus in lengths\n\ndefineFunction({\n type: \"kern\",\n names: [\"\\\\kern\", \"\\\\mkern\", \"\\\\hskip\", \"\\\\mskip\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n primitive: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const size = assertNodeType(args[0], \"size\");\n\n if (parser.settings.strict) {\n const mathFunction = funcName[1] === 'm'; // \\mkern, \\mskip\n\n const muUnit = size.value.unit === 'mu';\n\n if (mathFunction) {\n if (!muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" supports only mu units, \" + (\"not \" + size.value.unit + \" units\"));\n }\n\n if (parser.mode !== \"math\") {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" works only in math mode\");\n }\n } else {\n // !mathFunction\n if (muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" doesn't support mu units\");\n }\n }\n }\n\n return {\n type: \"kern\",\n mode: parser.mode,\n dimension: size.value\n };\n },\n\n htmlBuilder(group, options) {\n return buildCommon.makeGlue(group.dimension, options);\n },\n\n mathmlBuilder(group, options) {\n const dimension = calculateSize(group.dimension, options);\n return new mathMLTree.SpaceNode(dimension);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/lap.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"lap\",\n names: [\"\\\\mathllap\", \"\\\\mathrlap\", \"\\\\mathclap\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"lap\",\n mode: parser.mode,\n alignment: funcName.slice(5),\n body\n };\n },\n htmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n let inner;\n\n if (group.alignment === \"clap\") {\n // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/\n inner = buildCommon.makeSpan([], [buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span\n\n inner = buildCommon.makeSpan([\"inner\"], [inner], options);\n } else {\n inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options)]);\n }\n\n const fix = buildCommon.makeSpan([\"fix\"], []);\n let node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the\n // two items involved in the lap.\n // Next, use a strut to set the height of the HTML bounding box.\n // Otherwise, a tall argument may be misplaced.\n // This code resolved issue #1153\n\n const strut = buildCommon.makeSpan([\"strut\"]);\n strut.style.height = makeEm(node.height + node.depth);\n\n if (node.depth) {\n strut.style.verticalAlign = makeEm(-node.depth);\n }\n\n node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall.\n // This code resolves issue #1234\n\n node = buildCommon.makeSpan([\"thinbox\"], [node], options);\n return buildCommon.makeSpan([\"mord\", \"vbox\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.alignment !== \"rlap\") {\n const offset = group.alignment === \"llap\" ? \"-1\" : \"-0.5\";\n node.setAttribute(\"lspace\", offset + \"width\");\n }\n\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/math.js\n\n // Switching from text mode back to math mode\n\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\(\", \"$\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(_ref, args) {\n let {\n funcName,\n parser\n } = _ref;\n const outerMode = parser.mode;\n parser.switchMode(\"math\");\n const close = funcName === \"\\\\(\" ? \"\\\\)\" : \"$\";\n const body = parser.parseExpression(false, close);\n parser.expect(close);\n parser.switchMode(outerMode);\n return {\n type: \"styling\",\n mode: parser.mode,\n style: \"text\",\n body\n };\n }\n\n}); // Check for extra closing math delimiters\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\)\", \"\\\\]\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(context, args) {\n throw new src_ParseError(\"Mismatched \" + context.funcName);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/mathchoice.js\n\n\n\n\n\n\nconst chooseMathStyle = (group, options) => {\n switch (options.style.size) {\n case src_Style.DISPLAY.size:\n return group.display;\n\n case src_Style.TEXT.size:\n return group.text;\n\n case src_Style.SCRIPT.size:\n return group.script;\n\n case src_Style.SCRIPTSCRIPT.size:\n return group.scriptscript;\n\n default:\n return group.text;\n }\n};\n\ndefineFunction({\n type: \"mathchoice\",\n names: [\"\\\\mathchoice\"],\n props: {\n numArgs: 4,\n primitive: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n return {\n type: \"mathchoice\",\n mode: parser.mode,\n display: ordargument(args[0]),\n text: ordargument(args[1]),\n script: ordargument(args[2]),\n scriptscript: ordargument(args[3])\n };\n },\n htmlBuilder: (group, options) => {\n const body = chooseMathStyle(group, options);\n const elements = buildExpression(body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n const body = chooseMathStyle(group, options);\n return buildExpressionRow(body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js\n\n\n\n // For an operator with limits, assemble the base, sup, and sub into a span.\n\nconst assembleSupSub = (base, supGroup, subGroup, options, style, slant, baseShift) => {\n base = buildCommon.makeSpan([], [base]);\n const subIsSingleCharacter = subGroup && utils.isCharacterBox(subGroup);\n let sub;\n let sup; // We manually have to handle the superscripts and subscripts. This,\n // aside from the kern calculations, is copied from supsub.\n\n if (supGroup) {\n const elem = buildGroup(supGroup, options.havingStyle(style.sup()), options);\n sup = {\n elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth)\n };\n }\n\n if (subGroup) {\n const elem = buildGroup(subGroup, options.havingStyle(style.sub()), options);\n sub = {\n elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - elem.height)\n };\n } // Build the final group as a vlist of the possible subscript, base,\n // and possible superscript.\n\n\n let finalGroup;\n\n if (sup && sub) {\n const bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else if (sub) {\n const top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note\n // that we are supposed to shift the limits by 1/2 of the slant,\n // but since we are centering the limits adding a full slant of\n // margin will shift by 1/2 that.\n\n finalGroup = buildCommon.makeVList({\n positionType: \"top\",\n positionData: top,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }]\n }, options);\n } else if (sup) {\n const bottom = base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else {\n // This case probably shouldn't occur (this would mean the\n // supsub was sending us a group with no superscript or\n // subscript) but be safe.\n return base;\n }\n\n const parts = [finalGroup];\n\n if (sub && slant !== 0 && !subIsSingleCharacter) {\n // A negative margin-left was applied to the lower limit.\n // Avoid an overlap by placing a spacer on the left on the group.\n const spacer = buildCommon.makeSpan([\"mspace\"], [], options);\n spacer.style.marginRight = makeEm(slant);\n parts.unshift(spacer);\n }\n\n return buildCommon.makeSpan([\"mop\", \"op-limits\"], parts, options);\n};\n;// CONCATENATED MODULE: ./src/functions/op.js\n// Limits, symbols\n\n\n\n\n\n\n\n\n\n\n\n// Most operators have a large successor symbol, but these don't.\nconst noSuccessor = [\"\\\\smallint\"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only \"op\", but also\n// \"supsub\" since some of them (like \\int) can affect super/subscripting.\n\nconst op_htmlBuilder = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n let supGroup;\n let subGroup;\n let hasLimits = false;\n let group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"op\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"op\");\n }\n\n const style = options.style;\n let large = false;\n\n if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) {\n // Most symbol operators get larger in displaystyle (rule 13)\n large = true;\n }\n\n let base;\n\n if (group.symbol) {\n // If this is a symbol, create the symbol.\n const fontName = large ? \"Size2-Regular\" : \"Size1-Regular\";\n let stash = \"\";\n\n if (group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") {\n // No font glyphs yet, so use a glyph w/o the oval.\n // TODO: When font glyphs are available, delete this code.\n stash = group.name.slice(1);\n group.name = stash === \"oiint\" ? \"\\\\iint\" : \"\\\\iiint\";\n }\n\n base = buildCommon.makeSymbol(group.name, fontName, \"math\", options, [\"mop\", \"op-symbol\", large ? \"large-op\" : \"small-op\"]);\n\n if (stash.length > 0) {\n // We're in \\oiint or \\oiiint. Overlay the oval.\n // TODO: When font glyphs are available, delete this code.\n const italic = base.italic;\n const oval = buildCommon.staticSvg(stash + \"Size\" + (large ? \"2\" : \"1\"), options);\n base = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: base,\n shift: 0\n }, {\n type: \"elem\",\n elem: oval,\n shift: large ? 0.08 : 0\n }]\n }, options);\n group.name = \"\\\\\" + stash;\n base.classes.unshift(\"mop\"); // $FlowFixMe\n\n base.italic = italic;\n }\n } else if (group.body) {\n // If this is a list, compose that list.\n const inner = buildExpression(group.body, options, true);\n\n if (inner.length === 1 && inner[0] instanceof SymbolNode) {\n base = inner[0];\n base.classes[0] = \"mop\"; // replace old mclass\n } else {\n base = buildCommon.makeSpan([\"mop\"], inner, options);\n }\n } else {\n // Otherwise, this is a text operator. Build the text from the\n // operator's name.\n const output = [];\n\n for (let i = 1; i < group.name.length; i++) {\n output.push(buildCommon.mathsym(group.name[i], group.mode, options));\n }\n\n base = buildCommon.makeSpan([\"mop\"], output, options);\n } // If content of op is a single symbol, shift it vertically.\n\n\n let baseShift = 0;\n let slant = 0;\n\n if ((base instanceof SymbolNode || group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") && !group.suppressBaseShift) {\n // We suppress the shift of the base of \\overset and \\underset. Otherwise,\n // shift the symbol so its center lies on the axis (rule 13). It\n // appears that our fonts have the centers of the symbols already\n // almost on the axis, so these numbers are very small. Note we\n // don't actually apply this here, but instead it is used either in\n // the vlist creation or separately when there are no limits.\n baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction.\n // $FlowFixMe\n\n slant = base.italic;\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift);\n } else {\n if (baseShift) {\n base.style.position = \"relative\";\n base.style.top = makeEm(baseShift);\n }\n\n return base;\n }\n};\n\nconst op_mathmlBuilder = (group, options) => {\n let node;\n\n if (group.symbol) {\n // This is a symbol. Just add the symbol.\n node = new MathNode(\"mo\", [makeText(group.name, group.mode)]);\n\n if (utils.contains(noSuccessor, group.name)) {\n node.setAttribute(\"largeop\", \"false\");\n }\n } else if (group.body) {\n // This is an operator with children. Add them.\n node = new MathNode(\"mo\", buildMathML_buildExpression(group.body, options));\n } else {\n // This is a text operator. Add all of the characters from the\n // operator's name.\n node = new MathNode(\"mi\", [new TextNode(group.name.slice(1))]); // Append an .\n // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4\n\n const operator = new MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n node = new MathNode(\"mrow\", [node, operator]);\n } else {\n node = newDocumentFragment([node, operator]);\n }\n }\n\n return node;\n};\n\nconst singleCharBigOps = {\n \"\\u220F\": \"\\\\prod\",\n \"\\u2210\": \"\\\\coprod\",\n \"\\u2211\": \"\\\\sum\",\n \"\\u22c0\": \"\\\\bigwedge\",\n \"\\u22c1\": \"\\\\bigvee\",\n \"\\u22c2\": \"\\\\bigcap\",\n \"\\u22c3\": \"\\\\bigcup\",\n \"\\u2a00\": \"\\\\bigodot\",\n \"\\u2a01\": \"\\\\bigoplus\",\n \"\\u2a02\": \"\\\\bigotimes\",\n \"\\u2a04\": \"\\\\biguplus\",\n \"\\u2a06\": \"\\\\bigsqcup\"\n};\ndefineFunction({\n type: \"op\",\n names: [\"\\\\coprod\", \"\\\\bigvee\", \"\\\\bigwedge\", \"\\\\biguplus\", \"\\\\bigcap\", \"\\\\bigcup\", \"\\\\intop\", \"\\\\prod\", \"\\\\sum\", \"\\\\bigotimes\", \"\\\\bigoplus\", \"\\\\bigodot\", \"\\\\bigsqcup\", \"\\\\smallint\", \"\\u220F\", \"\\u2210\", \"\\u2211\", \"\\u22c0\", \"\\u22c1\", \"\\u22c2\", \"\\u22c3\", \"\\u2a00\", \"\\u2a01\", \"\\u2a02\", \"\\u2a04\", \"\\u2a06\"],\n props: {\n numArgs: 0\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n let fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharBigOps[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Note: calling defineFunction with a type that's already been defined only\n// works because the same htmlBuilder and mathmlBuilder are being used.\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\mathop\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n body: ordargument(body)\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\nconst singleCharIntegrals = {\n \"\\u222b\": \"\\\\int\",\n \"\\u222c\": \"\\\\iint\",\n \"\\u222d\": \"\\\\iiint\",\n \"\\u222e\": \"\\\\oint\",\n \"\\u222f\": \"\\\\oiint\",\n \"\\u2230\": \"\\\\oiiint\"\n}; // No limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\arcsin\", \"\\\\arccos\", \"\\\\arctan\", \"\\\\arctg\", \"\\\\arcctg\", \"\\\\arg\", \"\\\\ch\", \"\\\\cos\", \"\\\\cosec\", \"\\\\cosh\", \"\\\\cot\", \"\\\\cotg\", \"\\\\coth\", \"\\\\csc\", \"\\\\ctg\", \"\\\\cth\", \"\\\\deg\", \"\\\\dim\", \"\\\\exp\", \"\\\\hom\", \"\\\\ker\", \"\\\\lg\", \"\\\\ln\", \"\\\\log\", \"\\\\sec\", \"\\\\sin\", \"\\\\sinh\", \"\\\\sh\", \"\\\\tan\", \"\\\\tanh\", \"\\\\tg\", \"\\\\th\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName\n } = _ref3;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\det\", \"\\\\gcd\", \"\\\\inf\", \"\\\\lim\", \"\\\\max\", \"\\\\min\", \"\\\\Pr\", \"\\\\sup\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref4) {\n let {\n parser,\n funcName\n } = _ref4;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // No limits, symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\int\", \"\\\\iint\", \"\\\\iiint\", \"\\\\oint\", \"\\\\oiint\", \"\\\\oiiint\", \"\\u222b\", \"\\u222c\", \"\\u222d\", \"\\u222e\", \"\\u222f\", \"\\u2230\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref5) {\n let {\n parser,\n funcName\n } = _ref5;\n let fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharIntegrals[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/operatorname.js\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only\n// \"operatorname\", but also \"supsub\" since \\operatorname* can\n// affect super/subscripting.\nconst operatorname_htmlBuilder = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n let supGroup;\n let subGroup;\n let hasLimits = false;\n let group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"operatorname\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"operatorname\");\n }\n\n let base;\n\n if (group.body.length > 0) {\n const body = group.body.map(child => {\n // $FlowFixMe: Check if the node has a string `text` property.\n const childText = child.text;\n\n if (typeof childText === \"string\") {\n return {\n type: \"textord\",\n mode: child.mode,\n text: childText\n };\n } else {\n return child;\n }\n }); // Consolidate function names into symbol characters.\n\n const expression = buildExpression(body, options.withFont(\"mathrm\"), true);\n\n for (let i = 0; i < expression.length; i++) {\n const child = expression[i];\n\n if (child instanceof SymbolNode) {\n // Per amsopn package,\n // change minus to hyphen and \\ast to asterisk\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n }\n }\n\n base = buildCommon.makeSpan([\"mop\"], expression, options);\n } else {\n base = buildCommon.makeSpan([\"mop\"], [], options);\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0);\n } else {\n return base;\n }\n};\n\nconst operatorname_mathmlBuilder = (group, options) => {\n // The steps taken here are similar to the html version.\n let expression = buildMathML_buildExpression(group.body, options.withFont(\"mathrm\")); // Is expression a string or has it something like a fraction?\n\n let isAllString = true; // default\n\n for (let i = 0; i < expression.length; i++) {\n const node = expression[i];\n\n if (node instanceof mathMLTree.SpaceNode) {// Do nothing\n } else if (node instanceof mathMLTree.MathNode) {\n switch (node.type) {\n case \"mi\":\n case \"mn\":\n case \"ms\":\n case \"mspace\":\n case \"mtext\":\n break;\n // Do nothing yet.\n\n case \"mo\":\n {\n const child = node.children[0];\n\n if (node.children.length === 1 && child instanceof mathMLTree.TextNode) {\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n } else {\n isAllString = false;\n }\n\n break;\n }\n\n default:\n isAllString = false;\n }\n } else {\n isAllString = false;\n }\n }\n\n if (isAllString) {\n // Write a single TextNode instead of multiple nested tags.\n const word = expression.map(node => node.toText()).join(\"\");\n expression = [new mathMLTree.TextNode(word)];\n }\n\n const identifier = new mathMLTree.MathNode(\"mi\", expression);\n identifier.setAttribute(\"mathvariant\", \"normal\"); // \\u2061 is the same as ⁡\n // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp\n\n const operator = new mathMLTree.MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n return new mathMLTree.MathNode(\"mrow\", [identifier, operator]);\n } else {\n return mathMLTree.newDocumentFragment([identifier, operator]);\n }\n}; // \\operatorname\n// amsopn.dtx: \\mathop{#1\\kern\\z@\\operator@font#3}\\newmcodes@\n\n\ndefineFunction({\n type: \"operatorname\",\n names: [\"\\\\operatorname@\", \"\\\\operatornamewithlimits\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"operatorname\",\n mode: parser.mode,\n body: ordargument(body),\n alwaysHandleSupSub: funcName === \"\\\\operatornamewithlimits\",\n limits: false,\n parentIsSupSub: false\n };\n },\n htmlBuilder: operatorname_htmlBuilder,\n mathmlBuilder: operatorname_mathmlBuilder\n});\ndefineMacro(\"\\\\operatorname\", \"\\\\@ifstar\\\\operatornamewithlimits\\\\operatorname@\");\n;// CONCATENATED MODULE: ./src/functions/ordgroup.js\n\n\n\n\ndefineFunctionBuilders({\n type: \"ordgroup\",\n\n htmlBuilder(group, options) {\n if (group.semisimple) {\n return buildCommon.makeFragment(buildExpression(group.body, options, false));\n }\n\n return buildCommon.makeSpan([\"mord\"], buildExpression(group.body, options, true), options);\n },\n\n mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options, true);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/overline.js\n\n\n\n\n\ndefineFunction({\n type: \"overline\",\n names: [\"\\\\overline\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const body = args[0];\n return {\n type: \"overline\",\n mode: parser.mode,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Overlines are handled in the TeXbook pg 443, Rule 9.\n // Build the inner group in the cramped style.\n const innerGroup = buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body\n\n const line = buildCommon.makeLineSpan(\"overline-line\", options); // Generate the vlist, with the appropriate kerns\n\n const defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n const vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: innerGroup\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: defaultRuleThickness\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"overline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n const node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/phantom.js\n\n\n\n\n\ndefineFunction({\n type: \"phantom\",\n names: [\"\\\\phantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n const body = args[0];\n return {\n type: \"phantom\",\n mode: parser.mode,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options.withPhantom(), false); // \\phantom isn't supposed to affect the elements it contains.\n // See \"color\" for more details.\n\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(group.body, options);\n return new mathMLTree.MathNode(\"mphantom\", inner);\n }\n});\ndefineFunction({\n type: \"hphantom\",\n names: [\"\\\\hphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n return {\n type: \"hphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n let node = buildCommon.makeSpan([], [buildGroup(group.body, options.withPhantom())]);\n node.height = 0;\n node.depth = 0;\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n node.children[i].depth = 0;\n }\n } // See smash for comment re: use of makeVList\n\n\n node = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\smash as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(ordargument(group.body), options);\n const phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n const node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"height\", \"0px\");\n node.setAttribute(\"depth\", \"0px\");\n return node;\n }\n});\ndefineFunction({\n type: \"vphantom\",\n names: [\"\\\\vphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n let {\n parser\n } = _ref3;\n const body = args[0];\n return {\n type: \"vphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n const inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options.withPhantom())]);\n const fix = buildCommon.makeSpan([\"fix\"], []);\n return buildCommon.makeSpan([\"mord\", \"rlap\"], [inner, fix], options);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(ordargument(group.body), options);\n const phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n const node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/raisebox.js\n\n\n\n\n\n\n // Box manipulation\n\ndefineFunction({\n type: \"raisebox\",\n names: [\"\\\\raisebox\"],\n props: {\n numArgs: 2,\n argTypes: [\"size\", \"hbox\"],\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const amount = assertNodeType(args[0], \"size\").value;\n const body = args[1];\n return {\n type: \"raisebox\",\n mode: parser.mode,\n dy: amount,\n body\n };\n },\n\n htmlBuilder(group, options) {\n const body = buildGroup(group.body, options);\n const dy = calculateSize(group.dy, options);\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n const dy = group.dy.number + group.dy.unit;\n node.setAttribute(\"voffset\", dy);\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/relax.js\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\relax\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInArgument: true\n },\n\n handler(_ref) {\n let {\n parser\n } = _ref;\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/rule.js\n\n\n\n\n\ndefineFunction({\n type: \"rule\",\n names: [\"\\\\rule\"],\n props: {\n numArgs: 2,\n numOptionalArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n argTypes: [\"size\", \"size\", \"size\"]\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const shift = optArgs[0];\n const width = assertNodeType(args[0], \"size\");\n const height = assertNodeType(args[1], \"size\");\n return {\n type: \"rule\",\n mode: parser.mode,\n shift: shift && assertNodeType(shift, \"size\").value,\n width: width.value,\n height: height.value\n };\n },\n\n htmlBuilder(group, options) {\n // Make an empty span for the rule\n const rule = buildCommon.makeSpan([\"mord\", \"rule\"], [], options); // Calculate the shift, width, and height of the rule, and account for units\n\n const width = calculateSize(group.width, options);\n const height = calculateSize(group.height, options);\n const shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size\n\n rule.style.borderRightWidth = makeEm(width);\n rule.style.borderTopWidth = makeEm(height);\n rule.style.bottom = makeEm(shift); // Record the height and width\n\n rule.width = width;\n rule.height = height + shift;\n rule.depth = -shift; // Font size is the number large enough that the browser will\n // reserve at least `absHeight` space above the baseline.\n // The 1.125 factor was empirically determined\n\n rule.maxFontSize = height * 1.125 * options.sizeMultiplier;\n return rule;\n },\n\n mathmlBuilder(group, options) {\n const width = calculateSize(group.width, options);\n const height = calculateSize(group.height, options);\n const shift = group.shift ? calculateSize(group.shift, options) : 0;\n const color = options.color && options.getColor() || \"black\";\n const rule = new mathMLTree.MathNode(\"mspace\");\n rule.setAttribute(\"mathbackground\", color);\n rule.setAttribute(\"width\", makeEm(width));\n rule.setAttribute(\"height\", makeEm(height));\n const wrapper = new mathMLTree.MathNode(\"mpadded\", [rule]);\n\n if (shift >= 0) {\n wrapper.setAttribute(\"height\", makeEm(shift));\n } else {\n wrapper.setAttribute(\"height\", makeEm(shift));\n wrapper.setAttribute(\"depth\", makeEm(-shift));\n }\n\n wrapper.setAttribute(\"voffset\", makeEm(shift));\n return wrapper;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/sizing.js\n\n\n\n\n\n\nfunction sizingGroup(value, options, baseOptions) {\n const inner = buildExpression(value, options, false);\n const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize\n // manually. Handle nested size changes.\n\n for (let i = 0; i < inner.length; i++) {\n const pos = inner[i].classes.indexOf(\"sizing\");\n\n if (pos < 0) {\n Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions));\n } else if (inner[i].classes[pos + 1] === \"reset-size\" + options.size) {\n // This is a nested size change: e.g., inner[i] is the \"b\" in\n // `\\Huge a \\small b`. Override the old size (the `reset-` class)\n // but not the new size.\n inner[i].classes[pos + 1] = \"reset-size\" + baseOptions.size;\n }\n\n inner[i].height *= multiplier;\n inner[i].depth *= multiplier;\n }\n\n return buildCommon.makeFragment(inner);\n}\nconst sizeFuncs = [\"\\\\tiny\", \"\\\\sixptsize\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\", \"\\\\normalsize\", \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\"];\nconst sizing_htmlBuilder = (group, options) => {\n // Handle sizing operators like \\Huge. Real TeX doesn't actually allow\n // these functions inside of math expressions, so we do some special\n // handling.\n const newOptions = options.havingSize(group.size);\n return sizingGroup(group.body, newOptions, options);\n};\ndefineFunction({\n type: \"sizing\",\n names: sizeFuncs,\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n const body = parser.parseExpression(false, breakOnTokenText);\n return {\n type: \"sizing\",\n mode: parser.mode,\n // Figure out what size to use based on the list of functions above\n size: sizeFuncs.indexOf(funcName) + 1,\n body\n };\n },\n htmlBuilder: sizing_htmlBuilder,\n mathmlBuilder: (group, options) => {\n const newOptions = options.havingSize(group.size);\n const inner = buildMathML_buildExpression(group.body, newOptions);\n const node = new mathMLTree.MathNode(\"mstyle\", inner); // TODO(emily): This doesn't produce the correct size for nested size\n // changes, because we don't keep state of what style we're currently\n // in, so we can't reset the size to normal before changing it. Now\n // that we're passing an options parameter we should be able to fix\n // this.\n\n node.setAttribute(\"mathsize\", makeEm(newOptions.sizeMultiplier));\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/smash.js\n// smash, with optional [tb], as in AMS\n\n\n\n\n\n\ndefineFunction({\n type: \"smash\",\n names: [\"\\\\smash\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args, optArgs) => {\n let {\n parser\n } = _ref;\n let smashHeight = false;\n let smashDepth = false;\n const tbArg = optArgs[0] && assertNodeType(optArgs[0], \"ordgroup\");\n\n if (tbArg) {\n // Optional [tb] argument is engaged.\n // ref: amsmath: \\renewcommand{\\smash}[1][tb]{%\n // def\\mb@t{\\ht}\\def\\mb@b{\\dp}\\def\\mb@tb{\\ht\\z@\\z@\\dp}%\n let letter = \"\";\n\n for (let i = 0; i < tbArg.body.length; ++i) {\n const node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n letter = node.text;\n\n if (letter === \"t\") {\n smashHeight = true;\n } else if (letter === \"b\") {\n smashDepth = true;\n } else {\n smashHeight = false;\n smashDepth = false;\n break;\n }\n }\n } else {\n smashHeight = true;\n smashDepth = true;\n }\n\n const body = args[0];\n return {\n type: \"smash\",\n mode: parser.mode,\n body,\n smashHeight,\n smashDepth\n };\n },\n htmlBuilder: (group, options) => {\n const node = buildCommon.makeSpan([], [buildGroup(group.body, options)]);\n\n if (!group.smashHeight && !group.smashDepth) {\n return node;\n }\n\n if (group.smashHeight) {\n node.height = 0; // In order to influence makeVList, we have to reset the children.\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n }\n }\n }\n\n if (group.smashDepth) {\n node.depth = 0;\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].depth = 0;\n }\n }\n } // At this point, we've reset the TeX-like height and depth values.\n // But the span still has an HTML line height.\n // makeVList applies \"display: table-cell\", which prevents the browser\n // from acting on that line height. So we'll call makeVList now.\n\n\n const smashedNode = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\hphantom as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [smashedNode], options);\n },\n mathmlBuilder: (group, options) => {\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.smashHeight) {\n node.setAttribute(\"height\", \"0px\");\n }\n\n if (group.smashDepth) {\n node.setAttribute(\"depth\", \"0px\");\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/sqrt.js\n\n\n\n\n\n\n\n\ndefineFunction({\n type: \"sqrt\",\n names: [\"\\\\sqrt\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const index = optArgs[0];\n const body = args[0];\n return {\n type: \"sqrt\",\n mode: parser.mode,\n body,\n index\n };\n },\n\n htmlBuilder(group, options) {\n // Square roots are handled in the TeXbook pg. 443, Rule 11.\n // First, we do the same steps as in overline to build the inner group\n // and line\n let inner = buildGroup(group.body, options.havingCrampedStyle());\n\n if (inner.height === 0) {\n // Render a small surd.\n inner.height = options.fontMetrics().xHeight;\n } // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n\n inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \\surd delimiter\n\n const metrics = options.fontMetrics();\n const theta = metrics.defaultRuleThickness;\n let phi = theta;\n\n if (options.style.id < src_Style.TEXT.id) {\n phi = options.fontMetrics().xHeight;\n } // Calculate the clearance between the body and line\n\n\n let lineClearance = theta + phi / 4;\n const minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size\n\n const {\n span: img,\n ruleWidth,\n advanceWidth\n } = delimiter.sqrtImage(minDelimiterHeight, options);\n const delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size\n\n if (delimDepth > inner.height + inner.depth + lineClearance) {\n lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n } // Shift the sqrt image\n\n\n const imgShift = img.height - inner.height - lineClearance - ruleWidth;\n inner.style.paddingLeft = makeEm(advanceWidth); // Overlay the image and the argument.\n\n const body = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: inner,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: -(inner.height + imgShift)\n }, {\n type: \"elem\",\n elem: img\n }, {\n type: \"kern\",\n size: ruleWidth\n }]\n }, options);\n\n if (!group.index) {\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [body], options);\n } else {\n // Handle the optional root index\n // The index is always in scriptscript style\n const newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT);\n const rootm = buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX\n // source, in the definition of `\\r@@t`.\n\n const toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly\n\n const rootVList = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -toShift,\n children: [{\n type: \"elem\",\n elem: rootm\n }]\n }, options); // Add a class surrounding it so we can add on the appropriate\n // kerning\n\n const rootVListWrap = buildCommon.makeSpan([\"root\"], [rootVList]);\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [rootVListWrap, body], options);\n }\n },\n\n mathmlBuilder(group, options) {\n const {\n body,\n index\n } = group;\n return index ? new mathMLTree.MathNode(\"mroot\", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode(\"msqrt\", [buildMathML_buildGroup(body, options)]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/styling.js\n\n\n\n\n\nconst styling_styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\", \"\\\\scriptscriptstyle\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n // parse out the implicit body\n const body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g.\n // here and in buildHTML and de-dupe the enumeration of all the styles).\n // $FlowFixMe: The names above exactly match the styles.\n\n const style = funcName.slice(1, funcName.length - 5);\n return {\n type: \"styling\",\n mode: parser.mode,\n // Figure out what style to use by pulling out the style from\n // the function name\n style,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n const newStyle = styling_styleMap[group.style];\n const newOptions = options.havingStyle(newStyle).withFont('');\n return sizingGroup(group.body, newOptions, options);\n },\n\n mathmlBuilder(group, options) {\n // Figure out what style we're changing to.\n const newStyle = styling_styleMap[group.style];\n const newOptions = options.havingStyle(newStyle);\n const inner = buildMathML_buildExpression(group.body, newOptions);\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n const styleAttributes = {\n \"display\": [\"0\", \"true\"],\n \"text\": [\"0\", \"false\"],\n \"script\": [\"1\", \"false\"],\n \"scriptscript\": [\"2\", \"false\"]\n };\n const attr = styleAttributes[group.style];\n node.setAttribute(\"scriptlevel\", attr[0]);\n node.setAttribute(\"displaystyle\", attr[1]);\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/supsub.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * Sometimes, groups perform special rules when they have superscripts or\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nconst htmlBuilderDelegate = function (group, options) {\n const base = group.base;\n\n if (!base) {\n return null;\n } else if (base.type === \"op\") {\n // Operators handle supsubs differently when they have limits\n // (e.g. `\\displaystyle\\sum_2^3`)\n const delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub);\n return delegate ? op_htmlBuilder : null;\n } else if (base.type === \"operatorname\") {\n const delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits);\n return delegate ? operatorname_htmlBuilder : null;\n } else if (base.type === \"accent\") {\n return utils.isCharacterBox(base.base) ? htmlBuilder : null;\n } else if (base.type === \"horizBrace\") {\n const isSup = !group.sub;\n return isSup === base.isOver ? horizBrace_htmlBuilder : null;\n } else {\n return null;\n }\n}; // Super scripts and subscripts, whose precise placement can depend on other\n// functions that precede them.\n\n\ndefineFunctionBuilders({\n type: \"supsub\",\n\n htmlBuilder(group, options) {\n // Superscript and subscripts are handled in the TeXbook on page\n // 445-446, rules 18(a-f).\n // Here is where we defer to the inner group if it should handle\n // superscripts and subscripts itself.\n const builderDelegate = htmlBuilderDelegate(group, options);\n\n if (builderDelegate) {\n return builderDelegate(group, options);\n }\n\n const {\n base: valueBase,\n sup: valueSup,\n sub: valueSub\n } = group;\n const base = buildGroup(valueBase, options);\n let supm;\n let subm;\n const metrics = options.fontMetrics(); // Rule 18a\n\n let supShift = 0;\n let subShift = 0;\n const isCharacterBox = valueBase && utils.isCharacterBox(valueBase);\n\n if (valueSup) {\n const newOptions = options.havingStyle(options.style.sup());\n supm = buildGroup(valueSup, newOptions, options);\n\n if (!isCharacterBox) {\n supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n if (valueSub) {\n const newOptions = options.havingStyle(options.style.sub());\n subm = buildGroup(valueSub, newOptions, options);\n\n if (!isCharacterBox) {\n subShift = base.depth + newOptions.fontMetrics().subDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n } // Rule 18c\n\n\n let minSupShift;\n\n if (options.style === src_Style.DISPLAY) {\n minSupShift = metrics.sup1;\n } else if (options.style.cramped) {\n minSupShift = metrics.sup3;\n } else {\n minSupShift = metrics.sup2;\n } // scriptspace is a font-size-independent size, so scale it\n // appropriately for use as the marginRight.\n\n\n const multiplier = options.sizeMultiplier;\n const marginRight = makeEm(0.5 / metrics.ptPerEm / multiplier);\n let marginLeft = null;\n\n if (subm) {\n // Subscripts shouldn't be shifted by the base's italic correction.\n // Account for that by shifting the subscript back the appropriate\n // amount. Note we only do this when the base is a single symbol.\n const isOiint = group.base && group.base.type === \"op\" && group.base.name && (group.base.name === \"\\\\oiint\" || group.base.name === \"\\\\oiiint\");\n\n if (base instanceof SymbolNode || isOiint) {\n // $FlowFixMe\n marginLeft = makeEm(-base.italic);\n }\n }\n\n let supsub;\n\n if (supm && subm) {\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n subShift = Math.max(subShift, metrics.sub2);\n const ruleWidth = metrics.defaultRuleThickness; // Rule 18e\n\n const maxWidth = 4 * ruleWidth;\n\n if (supShift - supm.depth - (subm.height - subShift) < maxWidth) {\n subShift = maxWidth - (supShift - supm.depth) + subm.height;\n const psi = 0.8 * metrics.xHeight - (supShift - supm.depth);\n\n if (psi > 0) {\n supShift += psi;\n subShift -= psi;\n }\n }\n\n const vlistElem = [{\n type: \"elem\",\n elem: subm,\n shift: subShift,\n marginRight,\n marginLeft\n }, {\n type: \"elem\",\n elem: supm,\n shift: -supShift,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vlistElem\n }, options);\n } else if (subm) {\n // Rule 18b\n subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight);\n const vlistElem = [{\n type: \"elem\",\n elem: subm,\n marginLeft,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: subShift,\n children: vlistElem\n }, options);\n } else if (supm) {\n // Rule 18c, d\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -supShift,\n children: [{\n type: \"elem\",\n elem: supm,\n marginRight\n }]\n }, options);\n } else {\n throw new Error(\"supsub must have either sup or sub.\");\n } // Wrap the supsub vlist in a span.msupsub to reset text-align.\n\n\n const mclass = getTypeOfDomTree(base, \"right\") || \"mord\";\n return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan([\"msupsub\"], [supsub])], options);\n },\n\n mathmlBuilder(group, options) {\n // Is the inner group a relevant horizontal brace?\n let isBrace = false;\n let isOver;\n let isSup;\n\n if (group.base && group.base.type === \"horizBrace\") {\n isSup = !!group.sup;\n\n if (isSup === group.base.isOver) {\n isBrace = true;\n isOver = group.base.isOver;\n }\n }\n\n if (group.base && (group.base.type === \"op\" || group.base.type === \"operatorname\")) {\n group.base.parentIsSupSub = true;\n }\n\n const children = [buildMathML_buildGroup(group.base, options)];\n\n if (group.sub) {\n children.push(buildMathML_buildGroup(group.sub, options));\n }\n\n if (group.sup) {\n children.push(buildMathML_buildGroup(group.sup, options));\n }\n\n let nodeType;\n\n if (isBrace) {\n nodeType = isOver ? \"mover\" : \"munder\";\n } else if (!group.sub) {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"mover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"mover\";\n } else {\n nodeType = \"msup\";\n }\n } else if (!group.sup) {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"munder\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"munder\";\n } else {\n nodeType = \"msub\";\n }\n } else {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && options.style === src_Style.DISPLAY) {\n nodeType = \"munderover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || base.limits)) {\n nodeType = \"munderover\";\n } else {\n nodeType = \"msubsup\";\n }\n }\n\n return new mathMLTree.MathNode(nodeType, children);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOp.js\n\n\n\n // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"atom\",\n\n htmlBuilder(group, options) {\n return buildCommon.mathsym(group.text, group.mode, options, [\"m\" + group.family]);\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mo\", [makeText(group.text, group.mode)]);\n\n if (group.family === \"bin\") {\n const variant = getVariant(group, options);\n\n if (variant === \"bold-italic\") {\n node.setAttribute(\"mathvariant\", variant);\n }\n } else if (group.family === \"punct\") {\n node.setAttribute(\"separator\", \"true\");\n } else if (group.family === \"open\" || group.family === \"close\") {\n // Delims built here should not stretch vertically.\n // See delimsizing.js for stretchy delims.\n node.setAttribute(\"stretchy\", \"false\");\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOrd.js\n\n\n\n\n// \"mathord\" and \"textord\" ParseNodes created in Parser.js from symbol Groups in\n// src/symbols.js.\nconst defaultVariant = {\n \"mi\": \"italic\",\n \"mn\": \"normal\",\n \"mtext\": \"normal\"\n};\ndefineFunctionBuilders({\n type: \"mathord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"mathord\");\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mi\", [makeText(group.text, group.mode, options)]);\n const variant = getVariant(group, options) || \"italic\";\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\ndefineFunctionBuilders({\n type: \"textord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"textord\");\n },\n\n mathmlBuilder(group, options) {\n const text = makeText(group.text, group.mode, options);\n const variant = getVariant(group, options) || \"normal\";\n let node;\n\n if (group.mode === 'text') {\n node = new mathMLTree.MathNode(\"mtext\", [text]);\n } else if (/[0-9]/.test(group.text)) {\n node = new mathMLTree.MathNode(\"mn\", [text]);\n } else if (group.text === \"\\\\prime\") {\n node = new mathMLTree.MathNode(\"mo\", [text]);\n } else {\n node = new mathMLTree.MathNode(\"mi\", [text]);\n }\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js\n\n\n\n // A map of CSS-based spacing functions to their CSS class.\n\nconst cssSpace = {\n \"\\\\nobreak\": \"nobreak\",\n \"\\\\allowbreak\": \"allowbreak\"\n}; // A lookup table to determine whether a spacing function/symbol should be\n// treated like a regular space character. If a symbol or command is a key\n// in this table, then it should be a regular space character. Furthermore,\n// the associated value may have a `className` specifying an extra CSS class\n// to add to the created `span`.\n\nconst regularSpace = {\n \" \": {},\n \"\\\\ \": {},\n \"~\": {\n className: \"nobreak\"\n },\n \"\\\\space\": {},\n \"\\\\nobreakspace\": {\n className: \"nobreak\"\n }\n}; // ParseNode<\"spacing\"> created in Parser.js from the \"spacing\" symbol Groups in\n// src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"spacing\",\n\n htmlBuilder(group, options) {\n if (regularSpace.hasOwnProperty(group.text)) {\n const className = regularSpace[group.text].className || \"\"; // Spaces are generated by adding an actual space. Each of these\n // things has an entry in the symbols table, so these will be turned\n // into appropriate outputs.\n\n if (group.mode === \"text\") {\n const ord = buildCommon.makeOrd(group, options, \"textord\");\n ord.classes.push(className);\n return ord;\n } else {\n return buildCommon.makeSpan([\"mspace\", className], [buildCommon.mathsym(group.text, group.mode, options)], options);\n }\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // Spaces based on just a CSS class.\n return buildCommon.makeSpan([\"mspace\", cssSpace[group.text]], [], options);\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n },\n\n mathmlBuilder(group, options) {\n let node;\n\n if (regularSpace.hasOwnProperty(group.text)) {\n node = new mathMLTree.MathNode(\"mtext\", [new mathMLTree.TextNode(\"\\u00a0\")]);\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // CSS-based MathML spaces (\\nobreak, \\allowbreak) are ignored\n return new mathMLTree.MathNode(\"mspace\");\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/tag.js\n\n\n\n\nconst pad = () => {\n const padNode = new mathMLTree.MathNode(\"mtd\", []);\n padNode.setAttribute(\"width\", \"50%\");\n return padNode;\n};\n\ndefineFunctionBuilders({\n type: \"tag\",\n\n mathmlBuilder(group, options) {\n const table = new mathMLTree.MathNode(\"mtable\", [new mathMLTree.MathNode(\"mtr\", [pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.tag, options)])])]);\n table.setAttribute(\"width\", \"100%\");\n return table; // TODO: Left-aligned tags.\n // Currently, the group and options passed here do not contain\n // enough info to set tag alignment. `leqno` is in Settings but it is\n // not passed to Options. On the HTML side, leqno is\n // set by a CSS class applied in buildTree.js. That would have worked\n // in MathML if browsers supported . Since they don't, we\n // need to rewrite the way this function is called.\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/text.js\n\n\n\n // Non-mathy text, possibly in a font\n\nconst textFontFamilies = {\n \"\\\\text\": undefined,\n \"\\\\textrm\": \"textrm\",\n \"\\\\textsf\": \"textsf\",\n \"\\\\texttt\": \"texttt\",\n \"\\\\textnormal\": \"textrm\"\n};\nconst textFontWeights = {\n \"\\\\textbf\": \"textbf\",\n \"\\\\textmd\": \"textmd\"\n};\nconst textFontShapes = {\n \"\\\\textit\": \"textit\",\n \"\\\\textup\": \"textup\"\n};\n\nconst optionsWithFont = (group, options) => {\n const font = group.font; // Checks if the argument is a font family or a font style.\n\n if (!font) {\n return options;\n } else if (textFontFamilies[font]) {\n return options.withTextFontFamily(textFontFamilies[font]);\n } else if (textFontWeights[font]) {\n return options.withTextFontWeight(textFontWeights[font]);\n } else if (font === \"\\\\emph\") {\n return options.fontShape === \"textit\" ? options.withTextFontShape(\"textup\") : options.withTextFontShape(\"textit\");\n }\n\n return options.withTextFontShape(textFontShapes[font]);\n};\n\ndefineFunction({\n type: \"text\",\n names: [// Font families\n \"\\\\text\", \"\\\\textrm\", \"\\\\textsf\", \"\\\\texttt\", \"\\\\textnormal\", // Font weights\n \"\\\\textbf\", \"\\\\textmd\", // Font Shapes\n \"\\\\textit\", \"\\\\textup\", \"\\\\emph\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInArgument: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"text\",\n mode: parser.mode,\n body: ordargument(body),\n font: funcName\n };\n },\n\n htmlBuilder(group, options) {\n const newOptions = optionsWithFont(group, options);\n const inner = buildExpression(group.body, newOptions, true);\n return buildCommon.makeSpan([\"mord\", \"text\"], inner, newOptions);\n },\n\n mathmlBuilder(group, options) {\n const newOptions = optionsWithFont(group, options);\n return buildExpressionRow(group.body, newOptions);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/underline.js\n\n\n\n\n\ndefineFunction({\n type: \"underline\",\n names: [\"\\\\underline\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"underline\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Underlines are handled in the TeXbook pg 443, Rule 10.\n // Build the inner group.\n const innerGroup = buildGroup(group.body, options); // Create the line to go below the body\n\n const line = buildCommon.makeLineSpan(\"underline-line\", options); // Generate the vlist, with the appropriate kerns\n\n const defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n const vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"kern\",\n size: defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"underline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n const node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/vcenter.js\n\n\n\n\n // \\vcenter: Vertically center the argument group on the math axis.\n\ndefineFunction({\n type: \"vcenter\",\n names: [\"\\\\vcenter\"],\n props: {\n numArgs: 1,\n argTypes: [\"original\"],\n // In LaTeX, \\vcenter can act only on a box.\n allowedInText: false\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"vcenter\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n const body = buildGroup(group.body, options);\n const axisHeight = options.fontMetrics().axisHeight;\n const dy = 0.5 * (body.height - axisHeight - (body.depth + axisHeight));\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n // There is no way to do this in MathML.\n // Write a class as a breadcrumb in case some post-processor wants\n // to perform a vcenter adjustment.\n return new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)], [\"vcenter\"]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/verb.js\n\n\n\n\ndefineFunction({\n type: \"verb\",\n names: [\"\\\\verb\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(context, args, optArgs) {\n // \\verb and \\verb* are dealt with directly in Parser.js.\n // If we end up here, it's because of a failure to match the two delimiters\n // in the regex in Lexer.js. LaTeX raises the following error when \\verb is\n // terminated by end of line (or file).\n throw new src_ParseError(\"\\\\verb ended by end of line instead of matching delimiter\");\n },\n\n htmlBuilder(group, options) {\n const text = makeVerb(group);\n const body = []; // \\verb enters text mode and therefore is sized like \\textstyle\n\n const newOptions = options.havingStyle(options.style.text());\n\n for (let i = 0; i < text.length; i++) {\n let c = text[i];\n\n if (c === '~') {\n c = '\\\\textasciitilde';\n }\n\n body.push(buildCommon.makeSymbol(c, \"Typewriter-Regular\", group.mode, newOptions, [\"mord\", \"texttt\"]));\n }\n\n return buildCommon.makeSpan([\"mord\", \"text\"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions);\n },\n\n mathmlBuilder(group, options) {\n const text = new mathMLTree.TextNode(makeVerb(group));\n const node = new mathMLTree.MathNode(\"mtext\", [text]);\n node.setAttribute(\"mathvariant\", \"monospace\");\n return node;\n }\n\n});\n/**\n * Converts verb group into body string.\n *\n * \\verb* replaces each space with an open box \\u2423\n * \\verb replaces each space with a no-break space \\xA0\n */\n\nconst makeVerb = group => group.body.replace(/ /g, group.star ? '\\u2423' : '\\xA0');\n;// CONCATENATED MODULE: ./src/functions.js\n/** Include this to ensure that all functions are defined. */\n\nconst functions = _functions;\n/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with\n// that object in this file instead of relying on side-effects.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;// CONCATENATED MODULE: ./src/Lexer.js\n/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\n\n\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more whitespace characters\n * - matches a backslash followed by one or more letters then whitespace\n * - matches a backslash followed by any BMP character\n * Capturing groups:\n * [1] regular whitespace\n * [2] backslash followed by whitespace\n * [3] anything else, which may include:\n * [4] left character of \\verb*\n * [5] left character of \\verb\n * [6] backslash followed by word, excluding any trailing whitespace\n * Just because the Lexer matches something doesn't mean it's valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nconst spaceRegexString = \"[ \\r\\n\\t]\";\nconst controlWordRegexString = \"\\\\\\\\[a-zA-Z@]+\";\nconst controlSymbolRegexString = \"\\\\\\\\[^\\uD800-\\uDFFF]\";\nconst controlWordWhitespaceRegexString = \"(\" + controlWordRegexString + \")\" + spaceRegexString + \"*\";\nconst controlSpaceRegexString = \"\\\\\\\\(\\n|[ \\r\\t]+\\n?)[ \\r\\t]*\";\nconst combiningDiacriticalMarkString = \"[\\u0300-\\u036f]\";\nconst combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + \"+$\");\nconst tokenRegexString = \"(\" + spaceRegexString + \"+)|\" + ( // whitespace\ncontrolSpaceRegexString + \"|\") + // \\whitespace\n\"([!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]\" + ( // single codepoint\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\" + ( // surrogate pair\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|\\\\\\\\verb\\\\*([^]).*?\\\\4\" + // \\verb*\n\"|\\\\\\\\verb([^*a-zA-Z]).*?\\\\5\" + ( // \\verb unstarred\n\"|\" + controlWordWhitespaceRegexString) + ( // \\macroName + spaces\n\"|\" + controlSymbolRegexString + \")\"); // \\\\, \\', etc.\n\n/** Main Lexer class */\n\nclass Lexer {\n // Category codes. The lexer only supports comment characters (14) for now.\n // MacroExpander additionally distinguishes active (13).\n constructor(input, settings) {\n this.input = void 0;\n this.settings = void 0;\n this.tokenRegex = void 0;\n this.catcodes = void 0;\n // Separate accents from characters\n this.input = input;\n this.settings = settings;\n this.tokenRegex = new RegExp(tokenRegexString, 'g');\n this.catcodes = {\n \"%\": 14,\n // comment character\n \"~\": 13 // active character\n\n };\n }\n\n setCatcode(char, code) {\n this.catcodes[char] = code;\n }\n /**\n * This function lexes a single token.\n */\n\n\n lex() {\n const input = this.input;\n const pos = this.tokenRegex.lastIndex;\n\n if (pos === input.length) {\n return new Token(\"EOF\", new SourceLocation(this, pos, pos));\n }\n\n const match = this.tokenRegex.exec(input);\n\n if (match === null || match.index !== pos) {\n throw new src_ParseError(\"Unexpected character: '\" + input[pos] + \"'\", new Token(input[pos], new SourceLocation(this, pos, pos + 1)));\n }\n\n const text = match[6] || match[3] || (match[2] ? \"\\\\ \" : \" \");\n\n if (this.catcodes[text] === 14) {\n // comment character\n const nlIndex = input.indexOf('\\n', this.tokenRegex.lastIndex);\n\n if (nlIndex === -1) {\n this.tokenRegex.lastIndex = input.length; // EOF\n\n this.settings.reportNonstrict(\"commentAtEnd\", \"% comment has no terminating newline; LaTeX would \" + \"fail because of commenting the end of math mode (e.g. $)\");\n } else {\n this.tokenRegex.lastIndex = nlIndex + 1;\n }\n\n return this.lex();\n }\n\n return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex));\n }\n\n}\n;// CONCATENATED MODULE: ./src/Namespace.js\n/**\n * A `Namespace` refers to a space of nameable things like macros or lengths,\n * which can be `set` either globally or local to a nested group, using an\n * undo stack similar to how TeX implements this functionality.\n * Performance-wise, `get` and local `set` take constant time, while global\n * `set` takes time proportional to the depth of group nesting.\n */\n\nclass Namespace {\n /**\n * Both arguments are optional. The first argument is an object of\n * built-in mappings which never change. The second argument is an object\n * of initial (global-level) mappings, which will constantly change\n * according to any global/top-level `set`s done.\n */\n constructor(builtins, globalMacros) {\n if (builtins === void 0) {\n builtins = {};\n }\n\n if (globalMacros === void 0) {\n globalMacros = {};\n }\n\n this.current = void 0;\n this.builtins = void 0;\n this.undefStack = void 0;\n this.current = globalMacros;\n this.builtins = builtins;\n this.undefStack = [];\n }\n /**\n * Start a new nested group, affecting future local `set`s.\n */\n\n\n beginGroup() {\n this.undefStack.push({});\n }\n /**\n * End current nested group, restoring values before the group began.\n */\n\n\n endGroup() {\n if (this.undefStack.length === 0) {\n throw new src_ParseError(\"Unbalanced namespace destruction: attempt \" + \"to pop global namespace; please report this as a bug\");\n }\n\n const undefs = this.undefStack.pop();\n\n for (const undef in undefs) {\n if (undefs.hasOwnProperty(undef)) {\n if (undefs[undef] == null) {\n delete this.current[undef];\n } else {\n this.current[undef] = undefs[undef];\n }\n }\n }\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n while (this.undefStack.length > 0) {\n this.endGroup();\n }\n }\n /**\n * Detect whether `name` has a definition. Equivalent to\n * `get(name) != null`.\n */\n\n\n has(name) {\n return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name);\n }\n /**\n * Get the current value of a name, or `undefined` if there is no value.\n *\n * Note: Do not use `if (namespace.get(...))` to detect whether a macro\n * is defined, as the definition may be the empty string which evaluates\n * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or\n * `if (namespace.has(...))`.\n */\n\n\n get(name) {\n if (this.current.hasOwnProperty(name)) {\n return this.current[name];\n } else {\n return this.builtins[name];\n }\n }\n /**\n * Set the current value of a name, and optionally set it globally too.\n * Local set() sets the current value and (when appropriate) adds an undo\n * operation to the undo stack. Global set() may change the undo\n * operation at every level, so takes time linear in their number.\n * A value of undefined means to delete existing definitions.\n */\n\n\n set(name, value, global) {\n if (global === void 0) {\n global = false;\n }\n\n if (global) {\n // Global set is equivalent to setting in all groups. Simulate this\n // by destroying any undos currently scheduled for this name,\n // and adding an undo with the *new* value (in case it later gets\n // locally reset within this environment).\n for (let i = 0; i < this.undefStack.length; i++) {\n delete this.undefStack[i][name];\n }\n\n if (this.undefStack.length > 0) {\n this.undefStack[this.undefStack.length - 1][name] = value;\n }\n } else {\n // Undo this set at end of this group (possibly to `undefined`),\n // unless an undo is already in place, in which case that older\n // value is the correct one.\n const top = this.undefStack[this.undefStack.length - 1];\n\n if (top && !top.hasOwnProperty(name)) {\n top[name] = this.current[name];\n }\n }\n\n if (value == null) {\n delete this.current[name];\n } else {\n this.current[name] = value;\n }\n }\n\n}\n;// CONCATENATED MODULE: ./src/macros.js\n/**\n * Predefined macros for KaTeX.\n * This can be used to define some commands in terms of others.\n */\n// Export global macros object from defineMacro\n\nconst macros = _macros;\n/* harmony default export */ var src_macros = (macros);\n\n\n\n\n\n //////////////////////////////////////////////////////////////////////\n// macro tools\n\ndefineMacro(\"\\\\noexpand\", function (context) {\n // The expansion is the token itself; but that token is interpreted\n // as if its meaning were ‘\\relax’ if it is a control sequence that\n // would ordinarily be expanded by TeX’s expansion rules.\n const t = context.popToken();\n\n if (context.isExpandable(t.text)) {\n t.noexpand = true;\n t.treatAsRelax = true;\n }\n\n return {\n tokens: [t],\n numArgs: 0\n };\n});\ndefineMacro(\"\\\\expandafter\", function (context) {\n // TeX first reads the token that comes immediately after \\expandafter,\n // without expanding it; let’s call this token t. Then TeX reads the\n // token that comes after t (and possibly more tokens, if that token\n // has an argument), replacing it by its expansion. Finally TeX puts\n // t back in front of that expansion.\n const t = context.popToken();\n context.expandOnce(true); // expand only an expandable token\n\n return {\n tokens: [t],\n numArgs: 0\n };\n}); // LaTeX's \\@firstoftwo{#1}{#2} expands to #1, skipping #2\n// TeX source: \\long\\def\\@firstoftwo#1#2{#1}\n\ndefineMacro(\"\\\\@firstoftwo\", function (context) {\n const args = context.consumeArgs(2);\n return {\n tokens: args[0],\n numArgs: 0\n };\n}); // LaTeX's \\@secondoftwo{#1}{#2} expands to #2, skipping #1\n// TeX source: \\long\\def\\@secondoftwo#1#2{#2}\n\ndefineMacro(\"\\\\@secondoftwo\", function (context) {\n const args = context.consumeArgs(2);\n return {\n tokens: args[1],\n numArgs: 0\n };\n}); // LaTeX's \\@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded)\n// symbol that isn't a space, consuming any spaces but not consuming the\n// first nonspace character. If that nonspace character matches #1, then\n// the macro expands to #2; otherwise, it expands to #3.\n\ndefineMacro(\"\\\\@ifnextchar\", function (context) {\n const args = context.consumeArgs(3); // symbol, if, else\n\n context.consumeSpaces();\n const nextToken = context.future();\n\n if (args[0].length === 1 && args[0][0].text === nextToken.text) {\n return {\n tokens: args[1],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[2],\n numArgs: 0\n };\n }\n}); // LaTeX's \\@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol.\n// If it is `*`, then it consumes the symbol, and the macro expands to #1;\n// otherwise, the macro expands to #2 (without consuming the symbol).\n// TeX source: \\def\\@ifstar#1{\\@ifnextchar *{\\@firstoftwo{#1}}}\n\ndefineMacro(\"\\\\@ifstar\", \"\\\\@ifnextchar *{\\\\@firstoftwo{#1}}\"); // LaTeX's \\TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode\n\ndefineMacro(\"\\\\TextOrMath\", function (context) {\n const args = context.consumeArgs(2);\n\n if (context.mode === 'text') {\n return {\n tokens: args[0],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[1],\n numArgs: 0\n };\n }\n}); // Lookup table for parsing numbers in base 8 through 16\n\nconst digitToNumber = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"a\": 10,\n \"A\": 10,\n \"b\": 11,\n \"B\": 11,\n \"c\": 12,\n \"C\": 12,\n \"d\": 13,\n \"D\": 13,\n \"e\": 14,\n \"E\": 14,\n \"f\": 15,\n \"F\": 15\n}; // TeX \\char makes a literal character (catcode 12) using the following forms:\n// (see The TeXBook, p. 43)\n// \\char123 -- decimal\n// \\char'123 -- octal\n// \\char\"123 -- hex\n// \\char`x -- character that can be written (i.e. isn't active)\n// \\char`\\x -- character that cannot be written (e.g. %)\n// These all refer to characters from the font, so we turn them into special\n// calls to a function \\@char dealt with in the Parser.\n\ndefineMacro(\"\\\\char\", function (context) {\n let token = context.popToken();\n let base;\n let number = '';\n\n if (token.text === \"'\") {\n base = 8;\n token = context.popToken();\n } else if (token.text === '\"') {\n base = 16;\n token = context.popToken();\n } else if (token.text === \"`\") {\n token = context.popToken();\n\n if (token.text[0] === \"\\\\\") {\n number = token.text.charCodeAt(1);\n } else if (token.text === \"EOF\") {\n throw new src_ParseError(\"\\\\char` missing argument\");\n } else {\n number = token.text.charCodeAt(0);\n }\n } else {\n base = 10;\n }\n\n if (base) {\n // Parse a number in the given base, starting with first `token`.\n number = digitToNumber[token.text];\n\n if (number == null || number >= base) {\n throw new src_ParseError(\"Invalid base-\" + base + \" digit \" + token.text);\n }\n\n let digit;\n\n while ((digit = digitToNumber[context.future().text]) != null && digit < base) {\n number *= base;\n number += digit;\n context.popToken();\n }\n }\n\n return \"\\\\@char{\" + number + \"}\";\n}); // \\newcommand{\\macro}[args]{definition}\n// \\renewcommand{\\macro}[args]{definition}\n// TODO: Optional arguments: \\newcommand{\\macro}[args][default]{definition}\n\nconst newcommand = (context, existsOK, nonexistsOK, skipIfExists) => {\n let arg = context.consumeArg().tokens;\n\n if (arg.length !== 1) {\n throw new src_ParseError(\"\\\\newcommand's first argument must be a macro name\");\n }\n\n const name = arg[0].text;\n const exists = context.isDefined(name);\n\n if (exists && !existsOK) {\n throw new src_ParseError(\"\\\\newcommand{\" + name + \"} attempting to redefine \" + (name + \"; use \\\\renewcommand\"));\n }\n\n if (!exists && !nonexistsOK) {\n throw new src_ParseError(\"\\\\renewcommand{\" + name + \"} when command \" + name + \" \" + \"does not yet exist; use \\\\newcommand\");\n }\n\n let numArgs = 0;\n arg = context.consumeArg().tokens;\n\n if (arg.length === 1 && arg[0].text === \"[\") {\n let argText = '';\n let token = context.expandNextToken();\n\n while (token.text !== \"]\" && token.text !== \"EOF\") {\n // TODO: Should properly expand arg, e.g., ignore {}s\n argText += token.text;\n token = context.expandNextToken();\n }\n\n if (!argText.match(/^\\s*[0-9]+\\s*$/)) {\n throw new src_ParseError(\"Invalid number of arguments: \" + argText);\n }\n\n numArgs = parseInt(argText);\n arg = context.consumeArg().tokens;\n }\n\n if (!(exists && skipIfExists)) {\n // Final arg is the expansion of the macro\n context.macros.set(name, {\n tokens: arg,\n numArgs\n });\n }\n\n return '';\n};\n\ndefineMacro(\"\\\\newcommand\", context => newcommand(context, false, true, false));\ndefineMacro(\"\\\\renewcommand\", context => newcommand(context, true, false, false));\ndefineMacro(\"\\\\providecommand\", context => newcommand(context, true, true, true)); // terminal (console) tools\n\ndefineMacro(\"\\\\message\", context => {\n const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.log(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\errmessage\", context => {\n const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.error(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\show\", context => {\n const tok = context.popToken();\n const name = tok.text; // eslint-disable-next-line no-console\n\n console.log(tok, context.macros.get(name), src_functions[name], src_symbols.math[name], src_symbols.text[name]);\n return '';\n}); //////////////////////////////////////////////////////////////////////\n// Grouping\n// \\let\\bgroup={ \\let\\egroup=}\n\ndefineMacro(\"\\\\bgroup\", \"{\");\ndefineMacro(\"\\\\egroup\", \"}\"); // Symbols from latex.ltx:\n// \\def~{\\nobreakspace{}}\n// \\def\\lq{`}\n// \\def\\rq{'}\n// \\def \\aa {\\r a}\n// \\def \\AA {\\r A}\n\ndefineMacro(\"~\", \"\\\\nobreakspace\");\ndefineMacro(\"\\\\lq\", \"`\");\ndefineMacro(\"\\\\rq\", \"'\");\ndefineMacro(\"\\\\aa\", \"\\\\r a\");\ndefineMacro(\"\\\\AA\", \"\\\\r A\"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML.\n// \\DeclareTextCommandDefault{\\textcopyright}{\\textcircled{c}}\n// \\DeclareTextCommandDefault{\\textregistered}{\\textcircled{%\n// \\check@mathfonts\\fontsize\\sf@size\\z@\\math@fontsfalse\\selectfont R}}\n// \\DeclareRobustCommand{\\copyright}{%\n// \\ifmmode{\\nfss@text{\\textcopyright}}\\else\\textcopyright\\fi}\n\ndefineMacro(\"\\\\textcopyright\", \"\\\\html@mathml{\\\\textcircled{c}}{\\\\char`©}\");\ndefineMacro(\"\\\\copyright\", \"\\\\TextOrMath{\\\\textcopyright}{\\\\text{\\\\textcopyright}}\");\ndefineMacro(\"\\\\textregistered\", \"\\\\html@mathml{\\\\textcircled{\\\\scriptsize R}}{\\\\char`®}\"); // Characters omitted from Unicode range 1D400–1D7FF\n\ndefineMacro(\"\\u212C\", \"\\\\mathscr{B}\"); // script\n\ndefineMacro(\"\\u2130\", \"\\\\mathscr{E}\");\ndefineMacro(\"\\u2131\", \"\\\\mathscr{F}\");\ndefineMacro(\"\\u210B\", \"\\\\mathscr{H}\");\ndefineMacro(\"\\u2110\", \"\\\\mathscr{I}\");\ndefineMacro(\"\\u2112\", \"\\\\mathscr{L}\");\ndefineMacro(\"\\u2133\", \"\\\\mathscr{M}\");\ndefineMacro(\"\\u211B\", \"\\\\mathscr{R}\");\ndefineMacro(\"\\u212D\", \"\\\\mathfrak{C}\"); // Fraktur\n\ndefineMacro(\"\\u210C\", \"\\\\mathfrak{H}\");\ndefineMacro(\"\\u2128\", \"\\\\mathfrak{Z}\"); // Define \\Bbbk with a macro that works in both HTML and MathML.\n\ndefineMacro(\"\\\\Bbbk\", \"\\\\Bbb{k}\"); // Unicode middle dot\n// The KaTeX fonts do not contain U+00B7. Instead, \\cdotp displays\n// the dot at U+22C5 and gives it punct spacing.\n\ndefineMacro(\"\\u00b7\", \"\\\\cdotp\"); // \\llap and \\rlap render their contents in text mode\n\ndefineMacro(\"\\\\llap\", \"\\\\mathllap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\rlap\", \"\\\\mathrlap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\clap\", \"\\\\mathclap{\\\\textrm{#1}}\"); // \\mathstrut from the TeXbook, p 360\n\ndefineMacro(\"\\\\mathstrut\", \"\\\\vphantom{(}\"); // \\underbar from TeXbook p 353\n\ndefineMacro(\"\\\\underbar\", \"\\\\underline{\\\\text{#1}}\"); // \\not is defined by base/fontmath.ltx via\n// \\DeclareMathSymbol{\\not}{\\mathrel}{symbols}{\"36}\n// It's thus treated like a \\mathrel, but defined by a symbol that has zero\n// width but extends to the right. We use \\rlap to get that spacing.\n// For MathML we write U+0338 here. buildMathML.js will then do the overlay.\n\ndefineMacro(\"\\\\not\", '\\\\html@mathml{\\\\mathrel{\\\\mathrlap\\\\@not}}{\\\\char\"338}'); // Negated symbols from base/fontmath.ltx:\n// \\def\\neq{\\not=} \\let\\ne=\\neq\n// \\DeclareRobustCommand\n// \\notin{\\mathrel{\\m@th\\mathpalette\\c@ncel\\in}}\n// \\def\\c@ncel#1#2{\\m@th\\ooalign{$\\hfil#1\\mkern1mu/\\hfil$\\crcr$#1#2$}}\n\ndefineMacro(\"\\\\neq\", \"\\\\html@mathml{\\\\mathrel{\\\\not=}}{\\\\mathrel{\\\\char`≠}}\");\ndefineMacro(\"\\\\ne\", \"\\\\neq\");\ndefineMacro(\"\\u2260\", \"\\\\neq\");\ndefineMacro(\"\\\\notin\", \"\\\\html@mathml{\\\\mathrel{{\\\\in}\\\\mathllap{/\\\\mskip1mu}}}\" + \"{\\\\mathrel{\\\\char`∉}}\");\ndefineMacro(\"\\u2209\", \"\\\\notin\"); // Unicode stacked relations\n\ndefineMacro(\"\\u2258\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\kern{-1em}\\\\raisebox{0.4em}{$\\\\scriptsize\\\\frown$}}\" + \"}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u2259\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\wedge}{=}}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u225A\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\vee}{=}}{\\\\mathrel{\\\\char`\\u225A}}\");\ndefineMacro(\"\\u225B\", \"\\\\html@mathml{\\\\stackrel{\\\\scriptsize\\\\star}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225B}}\");\ndefineMacro(\"\\u225D\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{def}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225D}}\");\ndefineMacro(\"\\u225E\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{m}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225E}}\");\ndefineMacro(\"\\u225F\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny?}{=}}{\\\\mathrel{\\\\char`\\u225F}}\"); // Misc Unicode\n\ndefineMacro(\"\\u27C2\", \"\\\\perp\");\ndefineMacro(\"\\u203C\", \"\\\\mathclose{!\\\\mkern-0.8mu!}\");\ndefineMacro(\"\\u220C\", \"\\\\notni\");\ndefineMacro(\"\\u231C\", \"\\\\ulcorner\");\ndefineMacro(\"\\u231D\", \"\\\\urcorner\");\ndefineMacro(\"\\u231E\", \"\\\\llcorner\");\ndefineMacro(\"\\u231F\", \"\\\\lrcorner\");\ndefineMacro(\"\\u00A9\", \"\\\\copyright\");\ndefineMacro(\"\\u00AE\", \"\\\\textregistered\");\ndefineMacro(\"\\uFE0F\", \"\\\\textregistered\"); // The KaTeX fonts have corners at codepoints that don't match Unicode.\n// For MathML purposes, use the Unicode code point.\n\ndefineMacro(\"\\\\ulcorner\", \"\\\\html@mathml{\\\\@ulcorner}{\\\\mathop{\\\\char\\\"231c}}\");\ndefineMacro(\"\\\\urcorner\", \"\\\\html@mathml{\\\\@urcorner}{\\\\mathop{\\\\char\\\"231d}}\");\ndefineMacro(\"\\\\llcorner\", \"\\\\html@mathml{\\\\@llcorner}{\\\\mathop{\\\\char\\\"231e}}\");\ndefineMacro(\"\\\\lrcorner\", \"\\\\html@mathml{\\\\@lrcorner}{\\\\mathop{\\\\char\\\"231f}}\"); //////////////////////////////////////////////////////////////////////\n// LaTeX_2ε\n// \\vdots{\\vbox{\\baselineskip4\\p@ \\lineskiplimit\\z@\n// \\kern6\\p@\\hbox{.}\\hbox{.}\\hbox{.}}}\n// We'll call \\varvdots, which gets a glyph from symbols.js.\n// The zero-width rule gets us an equivalent to the vertical 6pt kern.\n\ndefineMacro(\"\\\\vdots\", \"{\\\\varvdots\\\\rule{0pt}{15pt}}\");\ndefineMacro(\"\\u22ee\", \"\\\\vdots\"); //////////////////////////////////////////////////////////////////////\n// amsmath.sty\n// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf\n// Italic Greek capital letters. AMS defines these with \\DeclareMathSymbol,\n// but they are equivalent to \\mathit{\\Letter}.\n\ndefineMacro(\"\\\\varGamma\", \"\\\\mathit{\\\\Gamma}\");\ndefineMacro(\"\\\\varDelta\", \"\\\\mathit{\\\\Delta}\");\ndefineMacro(\"\\\\varTheta\", \"\\\\mathit{\\\\Theta}\");\ndefineMacro(\"\\\\varLambda\", \"\\\\mathit{\\\\Lambda}\");\ndefineMacro(\"\\\\varXi\", \"\\\\mathit{\\\\Xi}\");\ndefineMacro(\"\\\\varPi\", \"\\\\mathit{\\\\Pi}\");\ndefineMacro(\"\\\\varSigma\", \"\\\\mathit{\\\\Sigma}\");\ndefineMacro(\"\\\\varUpsilon\", \"\\\\mathit{\\\\Upsilon}\");\ndefineMacro(\"\\\\varPhi\", \"\\\\mathit{\\\\Phi}\");\ndefineMacro(\"\\\\varPsi\", \"\\\\mathit{\\\\Psi}\");\ndefineMacro(\"\\\\varOmega\", \"\\\\mathit{\\\\Omega}\"); //\\newcommand{\\substack}[1]{\\subarray{c}#1\\endsubarray}\n\ndefineMacro(\"\\\\substack\", \"\\\\begin{subarray}{c}#1\\\\end{subarray}\"); // \\renewcommand{\\colon}{\\nobreak\\mskip2mu\\mathpunct{}\\nonscript\n// \\mkern-\\thinmuskip{:}\\mskip6muplus1mu\\relax}\n\ndefineMacro(\"\\\\colon\", \"\\\\nobreak\\\\mskip2mu\\\\mathpunct{}\" + \"\\\\mathchoice{\\\\mkern-3mu}{\\\\mkern-3mu}{}{}{:}\\\\mskip6mu\\\\relax\"); // \\newcommand{\\boxed}[1]{\\fbox{\\m@th$\\displaystyle#1$}}\n\ndefineMacro(\"\\\\boxed\", \"\\\\fbox{$\\\\displaystyle{#1}$}\"); // \\def\\iff{\\DOTSB\\;\\Longleftrightarrow\\;}\n// \\def\\implies{\\DOTSB\\;\\Longrightarrow\\;}\n// \\def\\impliedby{\\DOTSB\\;\\Longleftarrow\\;}\n\ndefineMacro(\"\\\\iff\", \"\\\\DOTSB\\\\;\\\\Longleftrightarrow\\\\;\");\ndefineMacro(\"\\\\implies\", \"\\\\DOTSB\\\\;\\\\Longrightarrow\\\\;\");\ndefineMacro(\"\\\\impliedby\", \"\\\\DOTSB\\\\;\\\\Longleftarrow\\\\;\"); // \\def\\dddot#1{{\\mathop{#1}\\limits^{\\vbox to-1.4\\ex@{\\kern-\\tw@\\ex@\n// \\hbox{\\normalfont ...}\\vss}}}}\n// We use \\overset which avoids the vertical shift of \\mathop.\n\ndefineMacro(\"\\\\dddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ...}}{#1}}\");\ndefineMacro(\"\\\\ddddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ....}}{#1}}\"); // AMSMath's automatic \\dots, based on \\mdots@@ macro.\n\nconst dotsByToken = {\n ',': '\\\\dotsc',\n '\\\\not': '\\\\dotsb',\n // \\keybin@ checks for the following:\n '+': '\\\\dotsb',\n '=': '\\\\dotsb',\n '<': '\\\\dotsb',\n '>': '\\\\dotsb',\n '-': '\\\\dotsb',\n '*': '\\\\dotsb',\n ':': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSB:\n '\\\\DOTSB': '\\\\dotsb',\n '\\\\coprod': '\\\\dotsb',\n '\\\\bigvee': '\\\\dotsb',\n '\\\\bigwedge': '\\\\dotsb',\n '\\\\biguplus': '\\\\dotsb',\n '\\\\bigcap': '\\\\dotsb',\n '\\\\bigcup': '\\\\dotsb',\n '\\\\prod': '\\\\dotsb',\n '\\\\sum': '\\\\dotsb',\n '\\\\bigotimes': '\\\\dotsb',\n '\\\\bigoplus': '\\\\dotsb',\n '\\\\bigodot': '\\\\dotsb',\n '\\\\bigsqcup': '\\\\dotsb',\n '\\\\And': '\\\\dotsb',\n '\\\\longrightarrow': '\\\\dotsb',\n '\\\\Longrightarrow': '\\\\dotsb',\n '\\\\longleftarrow': '\\\\dotsb',\n '\\\\Longleftarrow': '\\\\dotsb',\n '\\\\longleftrightarrow': '\\\\dotsb',\n '\\\\Longleftrightarrow': '\\\\dotsb',\n '\\\\mapsto': '\\\\dotsb',\n '\\\\longmapsto': '\\\\dotsb',\n '\\\\hookrightarrow': '\\\\dotsb',\n '\\\\doteq': '\\\\dotsb',\n // Symbols whose definition starts with \\mathbin:\n '\\\\mathbin': '\\\\dotsb',\n // Symbols whose definition starts with \\mathrel:\n '\\\\mathrel': '\\\\dotsb',\n '\\\\relbar': '\\\\dotsb',\n '\\\\Relbar': '\\\\dotsb',\n '\\\\xrightarrow': '\\\\dotsb',\n '\\\\xleftarrow': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSI:\n '\\\\DOTSI': '\\\\dotsi',\n '\\\\int': '\\\\dotsi',\n '\\\\oint': '\\\\dotsi',\n '\\\\iint': '\\\\dotsi',\n '\\\\iiint': '\\\\dotsi',\n '\\\\iiiint': '\\\\dotsi',\n '\\\\idotsint': '\\\\dotsi',\n // Symbols whose definition starts with \\DOTSX:\n '\\\\DOTSX': '\\\\dotsx'\n};\ndefineMacro(\"\\\\dots\", function (context) {\n // TODO: If used in text mode, should expand to \\textellipsis.\n // However, in KaTeX, \\textellipsis and \\ldots behave the same\n // (in text mode), and it's unlikely we'd see any of the math commands\n // that affect the behavior of \\dots when in text mode. So fine for now\n // (until we support \\ifmmode ... \\else ... \\fi).\n let thedots = '\\\\dotso';\n const next = context.expandAfterFuture().text;\n\n if (next in dotsByToken) {\n thedots = dotsByToken[next];\n } else if (next.slice(0, 4) === '\\\\not') {\n thedots = '\\\\dotsb';\n } else if (next in src_symbols.math) {\n if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) {\n thedots = '\\\\dotsb';\n }\n }\n\n return thedots;\n});\nconst spaceAfterDots = {\n // \\rightdelim@ checks for the following:\n ')': true,\n ']': true,\n '\\\\rbrack': true,\n '\\\\}': true,\n '\\\\rbrace': true,\n '\\\\rangle': true,\n '\\\\rceil': true,\n '\\\\rfloor': true,\n '\\\\rgroup': true,\n '\\\\rmoustache': true,\n '\\\\right': true,\n '\\\\bigr': true,\n '\\\\biggr': true,\n '\\\\Bigr': true,\n '\\\\Biggr': true,\n // \\extra@ also tests for the following:\n '$': true,\n // \\extrap@ checks for the following:\n ';': true,\n '.': true,\n ',': true\n};\ndefineMacro(\"\\\\dotso\", function (context) {\n const next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\dotsc\", function (context) {\n const next = context.future().text; // \\dotsc uses \\extra@ but not \\extrap@, instead specially checking for\n // ';' and '.', but doesn't check for ','.\n\n if (next in spaceAfterDots && next !== ',') {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\cdots\", function (context) {\n const next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\@cdots\\\\,\";\n } else {\n return \"\\\\@cdots\";\n }\n});\ndefineMacro(\"\\\\dotsb\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsm\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsi\", \"\\\\!\\\\cdots\"); // amsmath doesn't actually define \\dotsx, but \\dots followed by a macro\n// starting with \\DOTSX implies \\dotso, and then \\extra@ detects this case\n// and forces the added `\\,`.\n\ndefineMacro(\"\\\\dotsx\", \"\\\\ldots\\\\,\"); // \\let\\DOTSI\\relax\n// \\let\\DOTSB\\relax\n// \\let\\DOTSX\\relax\n\ndefineMacro(\"\\\\DOTSI\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSB\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSX\", \"\\\\relax\"); // Spacing, based on amsmath.sty's override of LaTeX defaults\n// \\DeclareRobustCommand{\\tmspace}[3]{%\n// \\ifmmode\\mskip#1#2\\else\\kern#1#3\\fi\\relax}\n\ndefineMacro(\"\\\\tmspace\", \"\\\\TextOrMath{\\\\kern#1#3}{\\\\mskip#1#2}\\\\relax\"); // \\renewcommand{\\,}{\\tmspace+\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\,\", \"\\\\tmspace+{3mu}{.1667em}\"); // \\let\\thinspace\\,\n\ndefineMacro(\"\\\\thinspace\", \"\\\\,\"); // \\def\\>{\\mskip\\medmuskip}\n// \\renewcommand{\\:}{\\tmspace+\\medmuskip{.2222em}}\n// TODO: \\> and math mode of \\: should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\>\", \"\\\\mskip{4mu}\");\ndefineMacro(\"\\\\:\", \"\\\\tmspace+{4mu}{.2222em}\"); // \\let\\medspace\\:\n\ndefineMacro(\"\\\\medspace\", \"\\\\:\"); // \\renewcommand{\\;}{\\tmspace+\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip = 5mu plus 5mu\n\ndefineMacro(\"\\\\;\", \"\\\\tmspace+{5mu}{.2777em}\"); // \\let\\thickspace\\;\n\ndefineMacro(\"\\\\thickspace\", \"\\\\;\"); // \\renewcommand{\\!}{\\tmspace-\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\!\", \"\\\\tmspace-{3mu}{.1667em}\"); // \\let\\negthinspace\\!\n\ndefineMacro(\"\\\\negthinspace\", \"\\\\!\"); // \\newcommand{\\negmedspace}{\\tmspace-\\medmuskip{.2222em}}\n// TODO: math mode should use \\medmuskip\n\ndefineMacro(\"\\\\negmedspace\", \"\\\\tmspace-{4mu}{.2222em}\"); // \\newcommand{\\negthickspace}{\\tmspace-\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip\n\ndefineMacro(\"\\\\negthickspace\", \"\\\\tmspace-{5mu}{.277em}\"); // \\def\\enspace{\\kern.5em }\n\ndefineMacro(\"\\\\enspace\", \"\\\\kern.5em \"); // \\def\\enskip{\\hskip.5em\\relax}\n\ndefineMacro(\"\\\\enskip\", \"\\\\hskip.5em\\\\relax\"); // \\def\\quad{\\hskip1em\\relax}\n\ndefineMacro(\"\\\\quad\", \"\\\\hskip1em\\\\relax\"); // \\def\\qquad{\\hskip2em\\relax}\n\ndefineMacro(\"\\\\qquad\", \"\\\\hskip2em\\\\relax\"); // \\tag@in@display form of \\tag\n\ndefineMacro(\"\\\\tag\", \"\\\\@ifstar\\\\tag@literal\\\\tag@paren\");\ndefineMacro(\"\\\\tag@paren\", \"\\\\tag@literal{({#1})}\");\ndefineMacro(\"\\\\tag@literal\", context => {\n if (context.macros.get(\"\\\\df@tag\")) {\n throw new src_ParseError(\"Multiple \\\\tag\");\n }\n\n return \"\\\\gdef\\\\df@tag{\\\\text{#1}}\";\n}); // \\renewcommand{\\bmod}{\\nonscript\\mskip-\\medmuskip\\mkern5mu\\mathbin\n// {\\operator@font mod}\\penalty900\n// \\mkern5mu\\nonscript\\mskip-\\medmuskip}\n// \\newcommand{\\pod}[1]{\\allowbreak\n// \\if@display\\mkern18mu\\else\\mkern8mu\\fi(#1)}\n// \\renewcommand{\\pmod}[1]{\\pod{{\\operator@font mod}\\mkern6mu#1}}\n// \\newcommand{\\mod}[1]{\\allowbreak\\if@display\\mkern18mu\n// \\else\\mkern12mu\\fi{\\operator@font mod}\\,\\,#1}\n// TODO: math mode should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\bmod\", \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\" + \"\\\\mathbin{\\\\rm mod}\" + \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\");\ndefineMacro(\"\\\\pod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern8mu}{\\\\mkern8mu}{\\\\mkern8mu}(#1)\");\ndefineMacro(\"\\\\pmod\", \"\\\\pod{{\\\\rm mod}\\\\mkern6mu#1}\");\ndefineMacro(\"\\\\mod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern12mu}{\\\\mkern12mu}{\\\\mkern12mu}\" + \"{\\\\rm mod}\\\\,\\\\,#1\"); //////////////////////////////////////////////////////////////////////\n// LaTeX source2e\n// \\expandafter\\let\\expandafter\\@normalcr\n// \\csname\\expandafter\\@gobble\\string\\\\ \\endcsname\n// \\DeclareRobustCommand\\newline{\\@normalcr\\relax}\n\ndefineMacro(\"\\\\newline\", \"\\\\\\\\\\\\relax\"); // \\def\\TeX{T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\@}\n// TODO: Doesn't normally work in math mode because \\@ fails. KaTeX doesn't\n// support \\@ yet, so that's omitted, and we add \\text so that the result\n// doesn't look funny in math mode.\n\ndefineMacro(\"\\\\TeX\", \"\\\\textrm{\\\\html@mathml{\" + \"T\\\\kern-.1667em\\\\raisebox{-.5ex}{E}\\\\kern-.125emX\" + \"}{TeX}}\"); // \\DeclareRobustCommand{\\LaTeX}{L\\kern-.36em%\n// {\\sbox\\z@ T%\n// \\vbox to\\ht\\z@{\\hbox{\\check@mathfonts\n// \\fontsize\\sf@size\\z@\n// \\math@fontsfalse\\selectfont\n// A}%\n// \\vss}%\n// }%\n// \\kern-.15em%\n// \\TeX}\n// This code aligns the top of the A with the T (from the perspective of TeX's\n// boxes, though visually the A appears to extend above slightly).\n// We compute the corresponding \\raisebox when A is rendered in \\normalsize\n// \\scriptstyle, which has a scale factor of 0.7 (see Options.js).\n\nconst latexRaiseA = makeEm(fontMetricsData['Main-Regular'][\"T\".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular'][\"A\".charCodeAt(0)][1]);\ndefineMacro(\"\\\\LaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"L\\\\kern-.36em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{LaTeX}}\"); // New KaTeX logo based on tweaking LaTeX logo\n\ndefineMacro(\"\\\\KaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"K\\\\kern-.17em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{KaTeX}}\"); // \\DeclareRobustCommand\\hspace{\\@ifstar\\@hspacer\\@hspace}\n// \\def\\@hspace#1{\\hskip #1\\relax}\n// \\def\\@hspacer#1{\\vrule \\@width\\z@\\nobreak\n// \\hskip #1\\hskip \\z@skip}\n\ndefineMacro(\"\\\\hspace\", \"\\\\@ifstar\\\\@hspacer\\\\@hspace\");\ndefineMacro(\"\\\\@hspace\", \"\\\\hskip #1\\\\relax\");\ndefineMacro(\"\\\\@hspacer\", \"\\\\rule{0pt}{0pt}\\\\hskip #1\\\\relax\"); //////////////////////////////////////////////////////////////////////\n// mathtools.sty\n//\\providecommand\\ordinarycolon{:}\n\ndefineMacro(\"\\\\ordinarycolon\", \":\"); //\\def\\vcentcolon{\\mathrel{\\mathop\\ordinarycolon}}\n//TODO(edemaine): Not yet centered. Fix via \\raisebox or #726\n\ndefineMacro(\"\\\\vcentcolon\", \"\\\\mathrel{\\\\mathop\\\\ordinarycolon}\"); // \\providecommand*\\dblcolon{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}\n\ndefineMacro(\"\\\\dblcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-.9mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2237}}\"); // \\providecommand*\\coloneqq{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2254}}\"); // ≔\n// \\providecommand*\\Coloneqq{\\dblcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\Coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"3d}}\"); // \\providecommand*\\coloneq{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2212}}\"); // \\providecommand*\\Coloneq{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\Coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2212}}\"); // \\providecommand*\\eqqcolon{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2255}}\"); // ≕\n// \\providecommand*\\Eqqcolon{=\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"3d\\\\char\\\"2237}}\"); // \\providecommand*\\eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2239}}\"); // \\providecommand*\\Eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"2212\\\\char\\\"2237}}\"); // \\providecommand*\\colonapprox{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2248}}\"); // \\providecommand*\\Colonapprox{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\Colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2248}}\"); // \\providecommand*\\colonsim{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"223c}}\"); // \\providecommand*\\Colonsim{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\Colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"223c}}\"); // Some Unicode characters are implemented with macros to mathtools functions.\n\ndefineMacro(\"\\u2237\", \"\\\\dblcolon\"); // ::\n\ndefineMacro(\"\\u2239\", \"\\\\eqcolon\"); // -:\n\ndefineMacro(\"\\u2254\", \"\\\\coloneqq\"); // :=\n\ndefineMacro(\"\\u2255\", \"\\\\eqqcolon\"); // =:\n\ndefineMacro(\"\\u2A74\", \"\\\\Coloneqq\"); // ::=\n//////////////////////////////////////////////////////////////////////\n// colonequals.sty\n// Alternate names for mathtools's macros:\n\ndefineMacro(\"\\\\ratio\", \"\\\\vcentcolon\");\ndefineMacro(\"\\\\coloncolon\", \"\\\\dblcolon\");\ndefineMacro(\"\\\\colonequals\", \"\\\\coloneqq\");\ndefineMacro(\"\\\\coloncolonequals\", \"\\\\Coloneqq\");\ndefineMacro(\"\\\\equalscolon\", \"\\\\eqqcolon\");\ndefineMacro(\"\\\\equalscoloncolon\", \"\\\\Eqqcolon\");\ndefineMacro(\"\\\\colonminus\", \"\\\\coloneq\");\ndefineMacro(\"\\\\coloncolonminus\", \"\\\\Coloneq\");\ndefineMacro(\"\\\\minuscolon\", \"\\\\eqcolon\");\ndefineMacro(\"\\\\minuscoloncolon\", \"\\\\Eqcolon\"); // \\colonapprox name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonapprox\", \"\\\\Colonapprox\"); // \\colonsim name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonsim\", \"\\\\Colonsim\"); // Additional macros, implemented by analogy with mathtools definitions:\n\ndefineMacro(\"\\\\simcolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\simcoloncolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\");\ndefineMacro(\"\\\\approxcolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\approxcoloncolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\"); // Present in newtxmath, pxfonts and txfonts\n\ndefineMacro(\"\\\\notni\", \"\\\\html@mathml{\\\\not\\\\ni}{\\\\mathrel{\\\\char`\\u220C}}\");\ndefineMacro(\"\\\\limsup\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,sup}\");\ndefineMacro(\"\\\\liminf\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,inf}\"); //////////////////////////////////////////////////////////////////////\n// From amsopn.sty\n\ndefineMacro(\"\\\\injlim\", \"\\\\DOTSB\\\\operatorname*{inj\\\\,lim}\");\ndefineMacro(\"\\\\projlim\", \"\\\\DOTSB\\\\operatorname*{proj\\\\,lim}\");\ndefineMacro(\"\\\\varlimsup\", \"\\\\DOTSB\\\\operatorname*{\\\\overline{lim}}\");\ndefineMacro(\"\\\\varliminf\", \"\\\\DOTSB\\\\operatorname*{\\\\underline{lim}}\");\ndefineMacro(\"\\\\varinjlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underrightarrow{lim}}\");\ndefineMacro(\"\\\\varprojlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underleftarrow{lim}}\"); //////////////////////////////////////////////////////////////////////\n// MathML alternates for KaTeX glyphs in the Unicode private area\n\ndefineMacro(\"\\\\gvertneqq\", \"\\\\html@mathml{\\\\@gvertneqq}{\\u2269}\");\ndefineMacro(\"\\\\lvertneqq\", \"\\\\html@mathml{\\\\@lvertneqq}{\\u2268}\");\ndefineMacro(\"\\\\ngeqq\", \"\\\\html@mathml{\\\\@ngeqq}{\\u2271}\");\ndefineMacro(\"\\\\ngeqslant\", \"\\\\html@mathml{\\\\@ngeqslant}{\\u2271}\");\ndefineMacro(\"\\\\nleqq\", \"\\\\html@mathml{\\\\@nleqq}{\\u2270}\");\ndefineMacro(\"\\\\nleqslant\", \"\\\\html@mathml{\\\\@nleqslant}{\\u2270}\");\ndefineMacro(\"\\\\nshortmid\", \"\\\\html@mathml{\\\\@nshortmid}{∤}\");\ndefineMacro(\"\\\\nshortparallel\", \"\\\\html@mathml{\\\\@nshortparallel}{∦}\");\ndefineMacro(\"\\\\nsubseteqq\", \"\\\\html@mathml{\\\\@nsubseteqq}{\\u2288}\");\ndefineMacro(\"\\\\nsupseteqq\", \"\\\\html@mathml{\\\\@nsupseteqq}{\\u2289}\");\ndefineMacro(\"\\\\varsubsetneq\", \"\\\\html@mathml{\\\\@varsubsetneq}{⊊}\");\ndefineMacro(\"\\\\varsubsetneqq\", \"\\\\html@mathml{\\\\@varsubsetneqq}{⫋}\");\ndefineMacro(\"\\\\varsupsetneq\", \"\\\\html@mathml{\\\\@varsupsetneq}{⊋}\");\ndefineMacro(\"\\\\varsupsetneqq\", \"\\\\html@mathml{\\\\@varsupsetneqq}{⫌}\");\ndefineMacro(\"\\\\imath\", \"\\\\html@mathml{\\\\@imath}{\\u0131}\");\ndefineMacro(\"\\\\jmath\", \"\\\\html@mathml{\\\\@jmath}{\\u0237}\"); //////////////////////////////////////////////////////////////////////\n// stmaryrd and semantic\n// The stmaryrd and semantic packages render the next four items by calling a\n// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.\n\ndefineMacro(\"\\\\llbracket\", \"\\\\html@mathml{\" + \"\\\\mathopen{[\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u27e6}}\");\ndefineMacro(\"\\\\rrbracket\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu]}}\" + \"{\\\\mathclose{\\\\char`\\u27e7}}\");\ndefineMacro(\"\\u27e6\", \"\\\\llbracket\"); // blackboard bold [\n\ndefineMacro(\"\\u27e7\", \"\\\\rrbracket\"); // blackboard bold ]\n\ndefineMacro(\"\\\\lBrace\", \"\\\\html@mathml{\" + \"\\\\mathopen{\\\\{\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u2983}}\");\ndefineMacro(\"\\\\rBrace\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu\\\\}}}\" + \"{\\\\mathclose{\\\\char`\\u2984}}\");\ndefineMacro(\"\\u2983\", \"\\\\lBrace\"); // blackboard bold {\n\ndefineMacro(\"\\u2984\", \"\\\\rBrace\"); // blackboard bold }\n// TODO: Create variable sized versions of the last two items. I believe that\n// will require new font glyphs.\n// The stmaryrd function `\\minuso` provides a \"Plimsoll\" symbol that\n// superimposes the characters \\circ and \\mathminus. Used in chemistry.\n\ndefineMacro(\"\\\\minuso\", \"\\\\mathbin{\\\\html@mathml{\" + \"{\\\\mathrlap{\\\\mathchoice{\\\\kern{0.145em}}{\\\\kern{0.145em}}\" + \"{\\\\kern{0.1015em}}{\\\\kern{0.0725em}}\\\\circ}{-}}}\" + \"{\\\\char`⦵}}\");\ndefineMacro(\"⦵\", \"\\\\minuso\"); //////////////////////////////////////////////////////////////////////\n// texvc.sty\n// The texvc package contains macros available in mediawiki pages.\n// We omit the functions deprecated at\n// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax\n// We also omit texvc's \\O, which conflicts with \\text{\\O}\n\ndefineMacro(\"\\\\darr\", \"\\\\downarrow\");\ndefineMacro(\"\\\\dArr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\Darr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\lang\", \"\\\\langle\");\ndefineMacro(\"\\\\rang\", \"\\\\rangle\");\ndefineMacro(\"\\\\uarr\", \"\\\\uparrow\");\ndefineMacro(\"\\\\uArr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\Uarr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\N\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\R\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Z\", \"\\\\mathbb{Z}\");\ndefineMacro(\"\\\\alef\", \"\\\\aleph\");\ndefineMacro(\"\\\\alefsym\", \"\\\\aleph\");\ndefineMacro(\"\\\\Alpha\", \"\\\\mathrm{A}\");\ndefineMacro(\"\\\\Beta\", \"\\\\mathrm{B}\");\ndefineMacro(\"\\\\bull\", \"\\\\bullet\");\ndefineMacro(\"\\\\Chi\", \"\\\\mathrm{X}\");\ndefineMacro(\"\\\\clubs\", \"\\\\clubsuit\");\ndefineMacro(\"\\\\cnums\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Complex\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Dagger\", \"\\\\ddagger\");\ndefineMacro(\"\\\\diamonds\", \"\\\\diamondsuit\");\ndefineMacro(\"\\\\empty\", \"\\\\emptyset\");\ndefineMacro(\"\\\\Epsilon\", \"\\\\mathrm{E}\");\ndefineMacro(\"\\\\Eta\", \"\\\\mathrm{H}\");\ndefineMacro(\"\\\\exist\", \"\\\\exists\");\ndefineMacro(\"\\\\harr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\hArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Harr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\hearts\", \"\\\\heartsuit\");\ndefineMacro(\"\\\\image\", \"\\\\Im\");\ndefineMacro(\"\\\\infin\", \"\\\\infty\");\ndefineMacro(\"\\\\Iota\", \"\\\\mathrm{I}\");\ndefineMacro(\"\\\\isin\", \"\\\\in\");\ndefineMacro(\"\\\\Kappa\", \"\\\\mathrm{K}\");\ndefineMacro(\"\\\\larr\", \"\\\\leftarrow\");\ndefineMacro(\"\\\\lArr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\Larr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\lrarr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\lrArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Lrarr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Mu\", \"\\\\mathrm{M}\");\ndefineMacro(\"\\\\natnums\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\Nu\", \"\\\\mathrm{N}\");\ndefineMacro(\"\\\\Omicron\", \"\\\\mathrm{O}\");\ndefineMacro(\"\\\\plusmn\", \"\\\\pm\");\ndefineMacro(\"\\\\rarr\", \"\\\\rightarrow\");\ndefineMacro(\"\\\\rArr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\Rarr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\real\", \"\\\\Re\");\ndefineMacro(\"\\\\reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Rho\", \"\\\\mathrm{P}\");\ndefineMacro(\"\\\\sdot\", \"\\\\cdot\");\ndefineMacro(\"\\\\sect\", \"\\\\S\");\ndefineMacro(\"\\\\spades\", \"\\\\spadesuit\");\ndefineMacro(\"\\\\sub\", \"\\\\subset\");\ndefineMacro(\"\\\\sube\", \"\\\\subseteq\");\ndefineMacro(\"\\\\supe\", \"\\\\supseteq\");\ndefineMacro(\"\\\\Tau\", \"\\\\mathrm{T}\");\ndefineMacro(\"\\\\thetasym\", \"\\\\vartheta\"); // TODO: defineMacro(\"\\\\varcoppa\", \"\\\\\\mbox{\\\\coppa}\");\n\ndefineMacro(\"\\\\weierp\", \"\\\\wp\");\ndefineMacro(\"\\\\Zeta\", \"\\\\mathrm{Z}\"); //////////////////////////////////////////////////////////////////////\n// statmath.sty\n// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf\n\ndefineMacro(\"\\\\argmin\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,min}\");\ndefineMacro(\"\\\\argmax\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,max}\");\ndefineMacro(\"\\\\plim\", \"\\\\DOTSB\\\\mathop{\\\\operatorname{plim}}\\\\limits\"); //////////////////////////////////////////////////////////////////////\n// braket.sty\n// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf\n\ndefineMacro(\"\\\\bra\", \"\\\\mathinner{\\\\langle{#1}|}\");\ndefineMacro(\"\\\\ket\", \"\\\\mathinner{|{#1}\\\\rangle}\");\ndefineMacro(\"\\\\braket\", \"\\\\mathinner{\\\\langle{#1}\\\\rangle}\");\ndefineMacro(\"\\\\Bra\", \"\\\\left\\\\langle#1\\\\right|\");\ndefineMacro(\"\\\\Ket\", \"\\\\left|#1\\\\right\\\\rangle\");\n\nconst braketHelper = one => context => {\n const left = context.consumeArg().tokens;\n const middle = context.consumeArg().tokens;\n const middleDouble = context.consumeArg().tokens;\n const right = context.consumeArg().tokens;\n const oldMiddle = context.macros.get(\"|\");\n const oldMiddleDouble = context.macros.get(\"\\\\|\");\n context.macros.beginGroup();\n\n const midMacro = double => context => {\n if (one) {\n // Only modify the first instance of | or \\|\n context.macros.set(\"|\", oldMiddle);\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", oldMiddleDouble);\n }\n }\n\n let doubled = double;\n\n if (!double && middleDouble.length) {\n // Mimic \\@ifnextchar\n const nextToken = context.future();\n\n if (nextToken.text === \"|\") {\n context.popToken();\n doubled = true;\n }\n }\n\n return {\n tokens: doubled ? middleDouble : middle,\n numArgs: 0\n };\n };\n\n context.macros.set(\"|\", midMacro(false));\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", midMacro(true));\n }\n\n const arg = context.consumeArg().tokens;\n const expanded = context.expandTokens([...right, ...arg, ...left // reversed\n ]);\n context.macros.endGroup();\n return {\n tokens: expanded.reverse(),\n numArgs: 0\n };\n};\n\ndefineMacro(\"\\\\bra@ket\", braketHelper(false));\ndefineMacro(\"\\\\bra@set\", braketHelper(true));\ndefineMacro(\"\\\\Braket\", \"\\\\bra@ket{\\\\left\\\\langle}\" + \"{\\\\,\\\\middle\\\\vert\\\\,}{\\\\,\\\\middle\\\\vert\\\\,}{\\\\right\\\\rangle}\");\ndefineMacro(\"\\\\Set\", \"\\\\bra@set{\\\\left\\\\{\\\\:}\" + \"{\\\\;\\\\middle\\\\vert\\\\;}{\\\\;\\\\middle\\\\Vert\\\\;}{\\\\:\\\\right\\\\}}\");\ndefineMacro(\"\\\\set\", \"\\\\bra@set{\\\\{\\\\,}{\\\\mid}{}{\\\\,\\\\}}\"); // has no support for special || or \\|\n//////////////////////////////////////////////////////////////////////\n// actuarialangle.dtx\n\ndefineMacro(\"\\\\angln\", \"{\\\\angl n}\"); // Custom Khan Academy colors, should be moved to an optional package\n\ndefineMacro(\"\\\\blue\", \"\\\\textcolor{##6495ed}{#1}\");\ndefineMacro(\"\\\\orange\", \"\\\\textcolor{##ffa500}{#1}\");\ndefineMacro(\"\\\\pink\", \"\\\\textcolor{##ff00af}{#1}\");\ndefineMacro(\"\\\\red\", \"\\\\textcolor{##df0030}{#1}\");\ndefineMacro(\"\\\\green\", \"\\\\textcolor{##28ae7b}{#1}\");\ndefineMacro(\"\\\\gray\", \"\\\\textcolor{gray}{#1}\");\ndefineMacro(\"\\\\purple\", \"\\\\textcolor{##9d38bd}{#1}\");\ndefineMacro(\"\\\\blueA\", \"\\\\textcolor{##ccfaff}{#1}\");\ndefineMacro(\"\\\\blueB\", \"\\\\textcolor{##80f6ff}{#1}\");\ndefineMacro(\"\\\\blueC\", \"\\\\textcolor{##63d9ea}{#1}\");\ndefineMacro(\"\\\\blueD\", \"\\\\textcolor{##11accd}{#1}\");\ndefineMacro(\"\\\\blueE\", \"\\\\textcolor{##0c7f99}{#1}\");\ndefineMacro(\"\\\\tealA\", \"\\\\textcolor{##94fff5}{#1}\");\ndefineMacro(\"\\\\tealB\", \"\\\\textcolor{##26edd5}{#1}\");\ndefineMacro(\"\\\\tealC\", \"\\\\textcolor{##01d1c1}{#1}\");\ndefineMacro(\"\\\\tealD\", \"\\\\textcolor{##01a995}{#1}\");\ndefineMacro(\"\\\\tealE\", \"\\\\textcolor{##208170}{#1}\");\ndefineMacro(\"\\\\greenA\", \"\\\\textcolor{##b6ffb0}{#1}\");\ndefineMacro(\"\\\\greenB\", \"\\\\textcolor{##8af281}{#1}\");\ndefineMacro(\"\\\\greenC\", \"\\\\textcolor{##74cf70}{#1}\");\ndefineMacro(\"\\\\greenD\", \"\\\\textcolor{##1fab54}{#1}\");\ndefineMacro(\"\\\\greenE\", \"\\\\textcolor{##0d923f}{#1}\");\ndefineMacro(\"\\\\goldA\", \"\\\\textcolor{##ffd0a9}{#1}\");\ndefineMacro(\"\\\\goldB\", \"\\\\textcolor{##ffbb71}{#1}\");\ndefineMacro(\"\\\\goldC\", \"\\\\textcolor{##ff9c39}{#1}\");\ndefineMacro(\"\\\\goldD\", \"\\\\textcolor{##e07d10}{#1}\");\ndefineMacro(\"\\\\goldE\", \"\\\\textcolor{##a75a05}{#1}\");\ndefineMacro(\"\\\\redA\", \"\\\\textcolor{##fca9a9}{#1}\");\ndefineMacro(\"\\\\redB\", \"\\\\textcolor{##ff8482}{#1}\");\ndefineMacro(\"\\\\redC\", \"\\\\textcolor{##f9685d}{#1}\");\ndefineMacro(\"\\\\redD\", \"\\\\textcolor{##e84d39}{#1}\");\ndefineMacro(\"\\\\redE\", \"\\\\textcolor{##bc2612}{#1}\");\ndefineMacro(\"\\\\maroonA\", \"\\\\textcolor{##ffbde0}{#1}\");\ndefineMacro(\"\\\\maroonB\", \"\\\\textcolor{##ff92c6}{#1}\");\ndefineMacro(\"\\\\maroonC\", \"\\\\textcolor{##ed5fa6}{#1}\");\ndefineMacro(\"\\\\maroonD\", \"\\\\textcolor{##ca337c}{#1}\");\ndefineMacro(\"\\\\maroonE\", \"\\\\textcolor{##9e034e}{#1}\");\ndefineMacro(\"\\\\purpleA\", \"\\\\textcolor{##ddd7ff}{#1}\");\ndefineMacro(\"\\\\purpleB\", \"\\\\textcolor{##c6b9fc}{#1}\");\ndefineMacro(\"\\\\purpleC\", \"\\\\textcolor{##aa87ff}{#1}\");\ndefineMacro(\"\\\\purpleD\", \"\\\\textcolor{##7854ab}{#1}\");\ndefineMacro(\"\\\\purpleE\", \"\\\\textcolor{##543b78}{#1}\");\ndefineMacro(\"\\\\mintA\", \"\\\\textcolor{##f5f9e8}{#1}\");\ndefineMacro(\"\\\\mintB\", \"\\\\textcolor{##edf2df}{#1}\");\ndefineMacro(\"\\\\mintC\", \"\\\\textcolor{##e0e5cc}{#1}\");\ndefineMacro(\"\\\\grayA\", \"\\\\textcolor{##f6f7f7}{#1}\");\ndefineMacro(\"\\\\grayB\", \"\\\\textcolor{##f0f1f2}{#1}\");\ndefineMacro(\"\\\\grayC\", \"\\\\textcolor{##e3e5e6}{#1}\");\ndefineMacro(\"\\\\grayD\", \"\\\\textcolor{##d6d8da}{#1}\");\ndefineMacro(\"\\\\grayE\", \"\\\\textcolor{##babec2}{#1}\");\ndefineMacro(\"\\\\grayF\", \"\\\\textcolor{##888d93}{#1}\");\ndefineMacro(\"\\\\grayG\", \"\\\\textcolor{##626569}{#1}\");\ndefineMacro(\"\\\\grayH\", \"\\\\textcolor{##3b3e40}{#1}\");\ndefineMacro(\"\\\\grayI\", \"\\\\textcolor{##21242c}{#1}\");\ndefineMacro(\"\\\\kaBlue\", \"\\\\textcolor{##314453}{#1}\");\ndefineMacro(\"\\\\kaGreen\", \"\\\\textcolor{##71B307}{#1}\");\n;// CONCATENATED MODULE: ./src/MacroExpander.js\n/**\n * This file contains the “gullet” where macros are expanded\n * until only non-macro tokens remain.\n */\n\n\n\n\n\n\n\n// List of commands that act like macros but aren't defined as a macro,\n// function, or symbol. Used in `isDefined`.\nconst implicitCommands = {\n \"^\": true,\n // Parser.js\n \"_\": true,\n // Parser.js\n \"\\\\limits\": true,\n // Parser.js\n \"\\\\nolimits\": true // Parser.js\n\n};\nclass MacroExpander {\n constructor(input, settings, mode) {\n this.settings = void 0;\n this.expansionCount = void 0;\n this.lexer = void 0;\n this.macros = void 0;\n this.stack = void 0;\n this.mode = void 0;\n this.settings = settings;\n this.expansionCount = 0;\n this.feed(input); // Make new global namespace\n\n this.macros = new Namespace(src_macros, settings.macros);\n this.mode = mode;\n this.stack = []; // contains tokens in REVERSE order\n }\n /**\n * Feed a new input string to the same MacroExpander\n * (with existing macros etc.).\n */\n\n\n feed(input) {\n this.lexer = new Lexer(input, this.settings);\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n }\n /**\n * Start a new group nesting within all namespaces.\n */\n\n\n beginGroup() {\n this.macros.beginGroup();\n }\n /**\n * End current group nesting within all namespaces.\n */\n\n\n endGroup() {\n this.macros.endGroup();\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n this.macros.endGroups();\n }\n /**\n * Returns the topmost token on the stack, without expanding it.\n * Similar in behavior to TeX's `\\futurelet`.\n */\n\n\n future() {\n if (this.stack.length === 0) {\n this.pushToken(this.lexer.lex());\n }\n\n return this.stack[this.stack.length - 1];\n }\n /**\n * Remove and return the next unexpanded token.\n */\n\n\n popToken() {\n this.future(); // ensure non-empty stack\n\n return this.stack.pop();\n }\n /**\n * Add a given token to the token stack. In particular, this get be used\n * to put back a token returned from one of the other methods.\n */\n\n\n pushToken(token) {\n this.stack.push(token);\n }\n /**\n * Append an array of tokens to the token stack.\n */\n\n\n pushTokens(tokens) {\n this.stack.push(...tokens);\n }\n /**\n * Find an macro argument without expanding tokens and append the array of\n * tokens to the token stack. Uses Token as a container for the result.\n */\n\n\n scanArgument(isOptional) {\n let start;\n let end;\n let tokens;\n\n if (isOptional) {\n this.consumeSpaces(); // \\@ifnextchar gobbles any space following it\n\n if (this.future().text !== \"[\") {\n return null;\n }\n\n start = this.popToken(); // don't include [ in tokens\n\n ({\n tokens,\n end\n } = this.consumeArg([\"]\"]));\n } else {\n ({\n tokens,\n start,\n end\n } = this.consumeArg());\n } // indicate the end of an argument\n\n\n this.pushToken(new Token(\"EOF\", end.loc));\n this.pushTokens(tokens);\n return start.range(end, \"\");\n }\n /**\n * Consume all following space tokens, without expansion.\n */\n\n\n consumeSpaces() {\n for (;;) {\n const token = this.future();\n\n if (token.text === \" \") {\n this.stack.pop();\n } else {\n break;\n }\n }\n }\n /**\n * Consume an argument from the token stream, and return the resulting array\n * of tokens and start/end token.\n */\n\n\n consumeArg(delims) {\n // The argument for a delimited parameter is the shortest (possibly\n // empty) sequence of tokens with properly nested {...} groups that is\n // followed ... by this particular list of non-parameter tokens.\n // The argument for an undelimited parameter is the next nonblank\n // token, unless that token is ‘{’, when the argument will be the\n // entire {...} group that follows.\n const tokens = [];\n const isDelimited = delims && delims.length > 0;\n\n if (!isDelimited) {\n // Ignore spaces between arguments. As the TeXbook says:\n // \"After you have said ‘\\def\\row#1#2{...}’, you are allowed to\n // put spaces between the arguments (e.g., ‘\\row x n’), because\n // TeX doesn’t use single spaces as undelimited arguments.\"\n this.consumeSpaces();\n }\n\n const start = this.future();\n let tok;\n let depth = 0;\n let match = 0;\n\n do {\n tok = this.popToken();\n tokens.push(tok);\n\n if (tok.text === \"{\") {\n ++depth;\n } else if (tok.text === \"}\") {\n --depth;\n\n if (depth === -1) {\n throw new src_ParseError(\"Extra }\", tok);\n }\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Unexpected end of input in a macro argument\" + \", expected '\" + (delims && isDelimited ? delims[match] : \"}\") + \"'\", tok);\n }\n\n if (delims && isDelimited) {\n if ((depth === 0 || depth === 1 && delims[match] === \"{\") && tok.text === delims[match]) {\n ++match;\n\n if (match === delims.length) {\n // don't include delims in tokens\n tokens.splice(-match, match);\n break;\n }\n } else {\n match = 0;\n }\n }\n } while (depth !== 0 || isDelimited); // If the argument found ... has the form ‘{}’,\n // ... the outermost braces enclosing the argument are removed\n\n\n if (start.text === \"{\" && tokens[tokens.length - 1].text === \"}\") {\n tokens.pop();\n tokens.shift();\n }\n\n tokens.reverse(); // to fit in with stack order\n\n return {\n tokens,\n start,\n end: tok\n };\n }\n /**\n * Consume the specified number of (delimited) arguments from the token\n * stream and return the resulting array of arguments.\n */\n\n\n consumeArgs(numArgs, delimiters) {\n if (delimiters) {\n if (delimiters.length !== numArgs + 1) {\n throw new src_ParseError(\"The length of delimiters doesn't match the number of args!\");\n }\n\n const delims = delimiters[0];\n\n for (let i = 0; i < delims.length; i++) {\n const tok = this.popToken();\n\n if (delims[i] !== tok.text) {\n throw new src_ParseError(\"Use of the macro doesn't match its definition\", tok);\n }\n }\n }\n\n const args = [];\n\n for (let i = 0; i < numArgs; i++) {\n args.push(this.consumeArg(delimiters && delimiters[i + 1]).tokens);\n }\n\n return args;\n }\n /**\n * Increment `expansionCount` by the specified amount.\n * Throw an error if it exceeds `maxExpand`.\n */\n\n\n countExpansion(amount) {\n this.expansionCount += amount;\n\n if (this.expansionCount > this.settings.maxExpand) {\n throw new src_ParseError(\"Too many expansions: infinite loop or \" + \"need to increase maxExpand setting\");\n }\n }\n /**\n * Expand the next token only once if possible.\n *\n * If the token is expanded, the resulting tokens will be pushed onto\n * the stack in reverse order, and the number of such tokens will be\n * returned. This number might be zero or positive.\n *\n * If not, the return value is `false`, and the next token remains at the\n * top of the stack.\n *\n * In either case, the next token will be on the top of the stack,\n * or the stack will be empty (in case of empty expansion\n * and no other tokens).\n *\n * Used to implement `expandAfterFuture` and `expandNextToken`.\n *\n * If expandableOnly, only expandable tokens are expanded and\n * an undefined control sequence results in an error.\n */\n\n\n expandOnce(expandableOnly) {\n const topToken = this.popToken();\n const name = topToken.text;\n const expansion = !topToken.noexpand ? this._getExpansion(name) : null;\n\n if (expansion == null || expandableOnly && expansion.unexpandable) {\n if (expandableOnly && expansion == null && name[0] === \"\\\\\" && !this.isDefined(name)) {\n throw new src_ParseError(\"Undefined control sequence: \" + name);\n }\n\n this.pushToken(topToken);\n return false;\n }\n\n this.countExpansion(1);\n let tokens = expansion.tokens;\n const args = this.consumeArgs(expansion.numArgs, expansion.delimiters);\n\n if (expansion.numArgs) {\n // paste arguments in place of the placeholders\n tokens = tokens.slice(); // make a shallow copy\n\n for (let i = tokens.length - 1; i >= 0; --i) {\n let tok = tokens[i];\n\n if (tok.text === \"#\") {\n if (i === 0) {\n throw new src_ParseError(\"Incomplete placeholder at end of macro body\", tok);\n }\n\n tok = tokens[--i]; // next token on stack\n\n if (tok.text === \"#\") {\n // ## → #\n tokens.splice(i + 1, 1); // drop first #\n } else if (/^[1-9]$/.test(tok.text)) {\n // replace the placeholder with the indicated argument\n tokens.splice(i, 2, ...args[+tok.text - 1]);\n } else {\n throw new src_ParseError(\"Not a valid argument number\", tok);\n }\n }\n }\n } // Concatenate expansion onto top of stack.\n\n\n this.pushTokens(tokens);\n return tokens.length;\n }\n /**\n * Expand the next token only once (if possible), and return the resulting\n * top token on the stack (without removing anything from the stack).\n * Similar in behavior to TeX's `\\expandafter\\futurelet`.\n * Equivalent to expandOnce() followed by future().\n */\n\n\n expandAfterFuture() {\n this.expandOnce();\n return this.future();\n }\n /**\n * Recursively expand first token, then return first non-expandable token.\n */\n\n\n expandNextToken() {\n for (;;) {\n if (this.expandOnce() === false) {\n // fully expanded\n const token = this.stack.pop(); // the token after \\noexpand is interpreted as if its meaning\n // were ‘\\relax’\n\n if (token.treatAsRelax) {\n token.text = \"\\\\relax\";\n }\n\n return token;\n }\n } // Flow unable to figure out that this pathway is impossible.\n // https://github.com/facebook/flow/issues/4808\n\n\n throw new Error(); // eslint-disable-line no-unreachable\n }\n /**\n * Fully expand the given macro name and return the resulting list of\n * tokens, or return `undefined` if no such macro is defined.\n */\n\n\n expandMacro(name) {\n return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined;\n }\n /**\n * Fully expand the given token stream and return the resulting list of\n * tokens. Note that the input tokens are in reverse order, but the\n * output tokens are in forward order.\n */\n\n\n expandTokens(tokens) {\n const output = [];\n const oldStackLength = this.stack.length;\n this.pushTokens(tokens);\n\n while (this.stack.length > oldStackLength) {\n // Expand only expandable tokens\n if (this.expandOnce(true) === false) {\n // fully expanded\n const token = this.stack.pop();\n\n if (token.treatAsRelax) {\n // the expansion of \\noexpand is the token itself\n token.noexpand = false;\n token.treatAsRelax = false;\n }\n\n output.push(token);\n }\n } // Count all of these tokens as additional expansions, to prevent\n // exponential blowup from linearly many \\edef's.\n\n\n this.countExpansion(output.length);\n return output;\n }\n /**\n * Fully expand the given macro name and return the result as a string,\n * or return `undefined` if no such macro is defined.\n */\n\n\n expandMacroAsText(name) {\n const tokens = this.expandMacro(name);\n\n if (tokens) {\n return tokens.map(token => token.text).join(\"\");\n } else {\n return tokens;\n }\n }\n /**\n * Returns the expanded macro as a reversed array of tokens and a macro\n * argument count. Or returns `null` if no such macro.\n */\n\n\n _getExpansion(name) {\n const definition = this.macros.get(name);\n\n if (definition == null) {\n // mainly checking for undefined here\n return definition;\n } // If a single character has an associated catcode other than 13\n // (active character), then don't expand it.\n\n\n if (name.length === 1) {\n const catcode = this.lexer.catcodes[name];\n\n if (catcode != null && catcode !== 13) {\n return;\n }\n }\n\n const expansion = typeof definition === \"function\" ? definition(this) : definition;\n\n if (typeof expansion === \"string\") {\n let numArgs = 0;\n\n if (expansion.indexOf(\"#\") !== -1) {\n const stripped = expansion.replace(/##/g, \"\");\n\n while (stripped.indexOf(\"#\" + (numArgs + 1)) !== -1) {\n ++numArgs;\n }\n }\n\n const bodyLexer = new Lexer(expansion, this.settings);\n const tokens = [];\n let tok = bodyLexer.lex();\n\n while (tok.text !== \"EOF\") {\n tokens.push(tok);\n tok = bodyLexer.lex();\n }\n\n tokens.reverse(); // to fit in with stack using push and pop\n\n const expanded = {\n tokens,\n numArgs\n };\n return expanded;\n }\n\n return expansion;\n }\n /**\n * Determine whether a command is currently \"defined\" (has some\n * functionality), meaning that it's a macro (in the current group),\n * a function, a symbol, or one of the special commands listed in\n * `implicitCommands`.\n */\n\n\n isDefined(name) {\n return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name);\n }\n /**\n * Determine whether a command is expandable.\n */\n\n\n isExpandable(name) {\n const macro = this.macros.get(name);\n return macro != null ? typeof macro === \"string\" || typeof macro === \"function\" || !macro.unexpandable : src_functions.hasOwnProperty(name) && !src_functions[name].primitive;\n }\n\n}\n;// CONCATENATED MODULE: ./src/unicodeSupOrSub.js\n// Helpers for Parser.js handling of Unicode (sub|super)script characters.\nconst unicodeSubRegEx = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/;\nconst uSubsAndSups = Object.freeze({\n '₊': '+',\n '₋': '-',\n '₌': '=',\n '₍': '(',\n '₎': ')',\n '₀': '0',\n '₁': '1',\n '₂': '2',\n '₃': '3',\n '₄': '4',\n '₅': '5',\n '₆': '6',\n '₇': '7',\n '₈': '8',\n '₉': '9',\n '\\u2090': 'a',\n '\\u2091': 'e',\n '\\u2095': 'h',\n '\\u1D62': 'i',\n '\\u2C7C': 'j',\n '\\u2096': 'k',\n '\\u2097': 'l',\n '\\u2098': 'm',\n '\\u2099': 'n',\n '\\u2092': 'o',\n '\\u209A': 'p',\n '\\u1D63': 'r',\n '\\u209B': 's',\n '\\u209C': 't',\n '\\u1D64': 'u',\n '\\u1D65': 'v',\n '\\u2093': 'x',\n '\\u1D66': 'β',\n '\\u1D67': 'γ',\n '\\u1D68': 'ρ',\n '\\u1D69': '\\u03d5',\n '\\u1D6A': 'χ',\n '⁺': '+',\n '⁻': '-',\n '⁼': '=',\n '⁽': '(',\n '⁾': ')',\n '⁰': '0',\n '¹': '1',\n '²': '2',\n '³': '3',\n '⁴': '4',\n '⁵': '5',\n '⁶': '6',\n '⁷': '7',\n '⁸': '8',\n '⁹': '9',\n '\\u1D2C': 'A',\n '\\u1D2E': 'B',\n '\\u1D30': 'D',\n '\\u1D31': 'E',\n '\\u1D33': 'G',\n '\\u1D34': 'H',\n '\\u1D35': 'I',\n '\\u1D36': 'J',\n '\\u1D37': 'K',\n '\\u1D38': 'L',\n '\\u1D39': 'M',\n '\\u1D3A': 'N',\n '\\u1D3C': 'O',\n '\\u1D3E': 'P',\n '\\u1D3F': 'R',\n '\\u1D40': 'T',\n '\\u1D41': 'U',\n '\\u2C7D': 'V',\n '\\u1D42': 'W',\n '\\u1D43': 'a',\n '\\u1D47': 'b',\n '\\u1D9C': 'c',\n '\\u1D48': 'd',\n '\\u1D49': 'e',\n '\\u1DA0': 'f',\n '\\u1D4D': 'g',\n '\\u02B0': 'h',\n '\\u2071': 'i',\n '\\u02B2': 'j',\n '\\u1D4F': 'k',\n '\\u02E1': 'l',\n '\\u1D50': 'm',\n '\\u207F': 'n',\n '\\u1D52': 'o',\n '\\u1D56': 'p',\n '\\u02B3': 'r',\n '\\u02E2': 's',\n '\\u1D57': 't',\n '\\u1D58': 'u',\n '\\u1D5B': 'v',\n '\\u02B7': 'w',\n '\\u02E3': 'x',\n '\\u02B8': 'y',\n '\\u1DBB': 'z',\n '\\u1D5D': 'β',\n '\\u1D5E': 'γ',\n '\\u1D5F': 'δ',\n '\\u1D60': '\\u03d5',\n '\\u1D61': 'χ',\n '\\u1DBF': 'θ'\n});\n;// CONCATENATED MODULE: ./src/Parser.js\n/* eslint no-constant-condition:0 */\n\n\n\n\n\n\n\n\n\n\n // Pre-evaluate both modules as unicodeSymbols require String.normalize()\n\nconst unicodeAccents = {\n \"́\": {\n \"text\": \"\\\\'\",\n \"math\": \"\\\\acute\"\n },\n \"̀\": {\n \"text\": \"\\\\`\",\n \"math\": \"\\\\grave\"\n },\n \"̈\": {\n \"text\": \"\\\\\\\"\",\n \"math\": \"\\\\ddot\"\n },\n \"̃\": {\n \"text\": \"\\\\~\",\n \"math\": \"\\\\tilde\"\n },\n \"̄\": {\n \"text\": \"\\\\=\",\n \"math\": \"\\\\bar\"\n },\n \"̆\": {\n \"text\": \"\\\\u\",\n \"math\": \"\\\\breve\"\n },\n \"̌\": {\n \"text\": \"\\\\v\",\n \"math\": \"\\\\check\"\n },\n \"̂\": {\n \"text\": \"\\\\^\",\n \"math\": \"\\\\hat\"\n },\n \"̇\": {\n \"text\": \"\\\\.\",\n \"math\": \"\\\\dot\"\n },\n \"̊\": {\n \"text\": \"\\\\r\",\n \"math\": \"\\\\mathring\"\n },\n \"̋\": {\n \"text\": \"\\\\H\"\n },\n \"̧\": {\n \"text\": \"\\\\c\"\n }\n};\nconst unicodeSymbols = {\n \"á\": \"á\",\n \"à\": \"à\",\n \"ä\": \"ä\",\n \"ǟ\": \"ǟ\",\n \"ã\": \"ã\",\n \"ā\": \"ā\",\n \"ă\": \"ă\",\n \"ắ\": \"ắ\",\n \"ằ\": \"ằ\",\n \"ẵ\": \"ẵ\",\n \"ǎ\": \"ǎ\",\n \"â\": \"â\",\n \"ấ\": \"ấ\",\n \"ầ\": \"ầ\",\n \"ẫ\": \"ẫ\",\n \"ȧ\": \"ȧ\",\n \"ǡ\": \"ǡ\",\n \"å\": \"å\",\n \"ǻ\": \"ǻ\",\n \"ḃ\": \"ḃ\",\n \"ć\": \"ć\",\n \"ḉ\": \"ḉ\",\n \"č\": \"č\",\n \"ĉ\": \"ĉ\",\n \"ċ\": \"ċ\",\n \"ç\": \"ç\",\n \"ď\": \"ď\",\n \"ḋ\": \"ḋ\",\n \"ḑ\": \"ḑ\",\n \"é\": \"é\",\n \"è\": \"è\",\n \"ë\": \"ë\",\n \"ẽ\": \"ẽ\",\n \"ē\": \"ē\",\n \"ḗ\": \"ḗ\",\n \"ḕ\": \"ḕ\",\n \"ĕ\": \"ĕ\",\n \"ḝ\": \"ḝ\",\n \"ě\": \"ě\",\n \"ê\": \"ê\",\n \"ế\": \"ế\",\n \"ề\": \"ề\",\n \"ễ\": \"ễ\",\n \"ė\": \"ė\",\n \"ȩ\": \"ȩ\",\n \"ḟ\": \"ḟ\",\n \"ǵ\": \"ǵ\",\n \"ḡ\": \"ḡ\",\n \"ğ\": \"ğ\",\n \"ǧ\": \"ǧ\",\n \"ĝ\": \"ĝ\",\n \"ġ\": \"ġ\",\n \"ģ\": \"ģ\",\n \"ḧ\": \"ḧ\",\n \"ȟ\": \"ȟ\",\n \"ĥ\": \"ĥ\",\n \"ḣ\": \"ḣ\",\n \"ḩ\": \"ḩ\",\n \"í\": \"í\",\n \"ì\": \"ì\",\n \"ï\": \"ï\",\n \"ḯ\": \"ḯ\",\n \"ĩ\": \"ĩ\",\n \"ī\": \"ī\",\n \"ĭ\": \"ĭ\",\n \"ǐ\": \"ǐ\",\n \"î\": \"î\",\n \"ǰ\": \"ǰ\",\n \"ĵ\": \"ĵ\",\n \"ḱ\": \"ḱ\",\n \"ǩ\": \"ǩ\",\n \"ķ\": \"ķ\",\n \"ĺ\": \"ĺ\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"ḿ\": \"ḿ\",\n \"ṁ\": \"ṁ\",\n \"ń\": \"ń\",\n \"ǹ\": \"ǹ\",\n \"ñ\": \"ñ\",\n \"ň\": \"ň\",\n \"ṅ\": \"ṅ\",\n \"ņ\": \"ņ\",\n \"ó\": \"ó\",\n \"ò\": \"ò\",\n \"ö\": \"ö\",\n \"ȫ\": \"ȫ\",\n \"õ\": \"õ\",\n \"ṍ\": \"ṍ\",\n \"ṏ\": \"ṏ\",\n \"ȭ\": \"ȭ\",\n \"ō\": \"ō\",\n \"ṓ\": \"ṓ\",\n \"ṑ\": \"ṑ\",\n \"ŏ\": \"ŏ\",\n \"ǒ\": \"ǒ\",\n \"ô\": \"ô\",\n \"ố\": \"ố\",\n \"ồ\": \"ồ\",\n \"ỗ\": \"ỗ\",\n \"ȯ\": \"ȯ\",\n \"ȱ\": \"ȱ\",\n \"ő\": \"ő\",\n \"ṕ\": \"ṕ\",\n \"ṗ\": \"ṗ\",\n \"ŕ\": \"ŕ\",\n \"ř\": \"ř\",\n \"ṙ\": \"ṙ\",\n \"ŗ\": \"ŗ\",\n \"ś\": \"ś\",\n \"ṥ\": \"ṥ\",\n \"š\": \"š\",\n \"ṧ\": \"ṧ\",\n \"ŝ\": \"ŝ\",\n \"ṡ\": \"ṡ\",\n \"ş\": \"ş\",\n \"ẗ\": \"ẗ\",\n \"ť\": \"ť\",\n \"ṫ\": \"ṫ\",\n \"ţ\": \"ţ\",\n \"ú\": \"ú\",\n \"ù\": \"ù\",\n \"ü\": \"ü\",\n \"ǘ\": \"ǘ\",\n \"ǜ\": \"ǜ\",\n \"ǖ\": \"ǖ\",\n \"ǚ\": \"ǚ\",\n \"ũ\": \"ũ\",\n \"ṹ\": \"ṹ\",\n \"ū\": \"ū\",\n \"ṻ\": \"ṻ\",\n \"ŭ\": \"ŭ\",\n \"ǔ\": \"ǔ\",\n \"û\": \"û\",\n \"ů\": \"ů\",\n \"ű\": \"ű\",\n \"ṽ\": \"ṽ\",\n \"ẃ\": \"ẃ\",\n \"ẁ\": \"ẁ\",\n \"ẅ\": \"ẅ\",\n \"ŵ\": \"ŵ\",\n \"ẇ\": \"ẇ\",\n \"ẘ\": \"ẘ\",\n \"ẍ\": \"ẍ\",\n \"ẋ\": \"ẋ\",\n \"ý\": \"ý\",\n \"ỳ\": \"ỳ\",\n \"ÿ\": \"ÿ\",\n \"ỹ\": \"ỹ\",\n \"ȳ\": \"ȳ\",\n \"ŷ\": \"ŷ\",\n \"ẏ\": \"ẏ\",\n \"ẙ\": \"ẙ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"ẑ\": \"ẑ\",\n \"ż\": \"ż\",\n \"Á\": \"Á\",\n \"À\": \"À\",\n \"Ä\": \"Ä\",\n \"Ǟ\": \"Ǟ\",\n \"Ã\": \"Ã\",\n \"Ā\": \"Ā\",\n \"Ă\": \"Ă\",\n \"Ắ\": \"Ắ\",\n \"Ằ\": \"Ằ\",\n \"Ẵ\": \"Ẵ\",\n \"Ǎ\": \"Ǎ\",\n \"Â\": \"Â\",\n \"Ấ\": \"Ấ\",\n \"Ầ\": \"Ầ\",\n \"Ẫ\": \"Ẫ\",\n \"Ȧ\": \"Ȧ\",\n \"Ǡ\": \"Ǡ\",\n \"Å\": \"Å\",\n \"Ǻ\": \"Ǻ\",\n \"Ḃ\": \"Ḃ\",\n \"Ć\": \"Ć\",\n \"Ḉ\": \"Ḉ\",\n \"Č\": \"Č\",\n \"Ĉ\": \"Ĉ\",\n \"Ċ\": \"Ċ\",\n \"Ç\": \"Ç\",\n \"Ď\": \"Ď\",\n \"Ḋ\": \"Ḋ\",\n \"Ḑ\": \"Ḑ\",\n \"É\": \"É\",\n \"È\": \"È\",\n \"Ë\": \"Ë\",\n \"Ẽ\": \"Ẽ\",\n \"Ē\": \"Ē\",\n \"Ḗ\": \"Ḗ\",\n \"Ḕ\": \"Ḕ\",\n \"Ĕ\": \"Ĕ\",\n \"Ḝ\": \"Ḝ\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Ế\": \"Ế\",\n \"Ề\": \"Ề\",\n \"Ễ\": \"Ễ\",\n \"Ė\": \"Ė\",\n \"Ȩ\": \"Ȩ\",\n \"Ḟ\": \"Ḟ\",\n \"Ǵ\": \"Ǵ\",\n \"Ḡ\": \"Ḡ\",\n \"Ğ\": \"Ğ\",\n \"Ǧ\": \"Ǧ\",\n \"Ĝ\": \"Ĝ\",\n \"Ġ\": \"Ġ\",\n \"Ģ\": \"Ģ\",\n \"Ḧ\": \"Ḧ\",\n \"Ȟ\": \"Ȟ\",\n \"Ĥ\": \"Ĥ\",\n \"Ḣ\": \"Ḣ\",\n \"Ḩ\": \"Ḩ\",\n \"Í\": \"Í\",\n \"Ì\": \"Ì\",\n \"Ï\": \"Ï\",\n \"Ḯ\": \"Ḯ\",\n \"Ĩ\": \"Ĩ\",\n \"Ī\": \"Ī\",\n \"Ĭ\": \"Ĭ\",\n \"Ǐ\": \"Ǐ\",\n \"Î\": \"Î\",\n \"İ\": \"İ\",\n \"Ĵ\": \"Ĵ\",\n \"Ḱ\": \"Ḱ\",\n \"Ǩ\": \"Ǩ\",\n \"Ķ\": \"Ķ\",\n \"Ĺ\": \"Ĺ\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Ḿ\": \"Ḿ\",\n \"Ṁ\": \"Ṁ\",\n \"Ń\": \"Ń\",\n \"Ǹ\": \"Ǹ\",\n \"Ñ\": \"Ñ\",\n \"Ň\": \"Ň\",\n \"Ṅ\": \"Ṅ\",\n \"Ņ\": \"Ņ\",\n \"Ó\": \"Ó\",\n \"Ò\": \"Ò\",\n \"Ö\": \"Ö\",\n \"Ȫ\": \"Ȫ\",\n \"Õ\": \"Õ\",\n \"Ṍ\": \"Ṍ\",\n \"Ṏ\": \"Ṏ\",\n \"Ȭ\": \"Ȭ\",\n \"Ō\": \"Ō\",\n \"Ṓ\": \"Ṓ\",\n \"Ṑ\": \"Ṑ\",\n \"Ŏ\": \"Ŏ\",\n \"Ǒ\": \"Ǒ\",\n \"Ô\": \"Ô\",\n \"Ố\": \"Ố\",\n \"Ồ\": \"Ồ\",\n \"Ỗ\": \"Ỗ\",\n \"Ȯ\": \"Ȯ\",\n \"Ȱ\": \"Ȱ\",\n \"Ő\": \"Ő\",\n \"Ṕ\": \"Ṕ\",\n \"Ṗ\": \"Ṗ\",\n \"Ŕ\": \"Ŕ\",\n \"Ř\": \"Ř\",\n \"Ṙ\": \"Ṙ\",\n \"Ŗ\": \"Ŗ\",\n \"Ś\": \"Ś\",\n \"Ṥ\": \"Ṥ\",\n \"Š\": \"Š\",\n \"Ṧ\": \"Ṧ\",\n \"Ŝ\": \"Ŝ\",\n \"Ṡ\": \"Ṡ\",\n \"Ş\": \"Ş\",\n \"Ť\": \"Ť\",\n \"Ṫ\": \"Ṫ\",\n \"Ţ\": \"Ţ\",\n \"Ú\": \"Ú\",\n \"Ù\": \"Ù\",\n \"Ü\": \"Ü\",\n \"Ǘ\": \"Ǘ\",\n \"Ǜ\": \"Ǜ\",\n \"Ǖ\": \"Ǖ\",\n \"Ǚ\": \"Ǚ\",\n \"Ũ\": \"Ũ\",\n \"Ṹ\": \"Ṹ\",\n \"Ū\": \"Ū\",\n \"Ṻ\": \"Ṻ\",\n \"Ŭ\": \"Ŭ\",\n \"Ǔ\": \"Ǔ\",\n \"Û\": \"Û\",\n \"Ů\": \"Ů\",\n \"Ű\": \"Ű\",\n \"Ṽ\": \"Ṽ\",\n \"Ẃ\": \"Ẃ\",\n \"Ẁ\": \"Ẁ\",\n \"Ẅ\": \"Ẅ\",\n \"Ŵ\": \"Ŵ\",\n \"Ẇ\": \"Ẇ\",\n \"Ẍ\": \"Ẍ\",\n \"Ẋ\": \"Ẋ\",\n \"Ý\": \"Ý\",\n \"Ỳ\": \"Ỳ\",\n \"Ÿ\": \"Ÿ\",\n \"Ỹ\": \"Ỹ\",\n \"Ȳ\": \"Ȳ\",\n \"Ŷ\": \"Ŷ\",\n \"Ẏ\": \"Ẏ\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"Ẑ\": \"Ẑ\",\n \"Ż\": \"Ż\",\n \"ά\": \"ά\",\n \"ὰ\": \"ὰ\",\n \"ᾱ\": \"ᾱ\",\n \"ᾰ\": \"ᾰ\",\n \"έ\": \"έ\",\n \"ὲ\": \"ὲ\",\n \"ή\": \"ή\",\n \"ὴ\": \"ὴ\",\n \"ί\": \"ί\",\n \"ὶ\": \"ὶ\",\n \"ϊ\": \"ϊ\",\n \"ΐ\": \"ΐ\",\n \"ῒ\": \"ῒ\",\n \"ῑ\": \"ῑ\",\n \"ῐ\": \"ῐ\",\n \"ό\": \"ό\",\n \"ὸ\": \"ὸ\",\n \"ύ\": \"ύ\",\n \"ὺ\": \"ὺ\",\n \"ϋ\": \"ϋ\",\n \"ΰ\": \"ΰ\",\n \"ῢ\": \"ῢ\",\n \"ῡ\": \"ῡ\",\n \"ῠ\": \"ῠ\",\n \"ώ\": \"ώ\",\n \"ὼ\": \"ὼ\",\n \"Ύ\": \"Ύ\",\n \"Ὺ\": \"Ὺ\",\n \"Ϋ\": \"Ϋ\",\n \"Ῡ\": \"Ῡ\",\n \"Ῠ\": \"Ῠ\",\n \"Ώ\": \"Ώ\",\n \"Ὼ\": \"Ὼ\"\n};\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn't context-free, standard parsers don't work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called \"mode\" indicating the mode that\n * the parser is currently in. Currently it has to be one of \"math\" or\n * \"text\", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The functions return ParseNodes.\n */\nclass Parser {\n constructor(input, settings) {\n this.mode = void 0;\n this.gullet = void 0;\n this.settings = void 0;\n this.leftrightDepth = void 0;\n this.nextToken = void 0;\n // Start in math mode\n this.mode = \"math\"; // Create a new macro expander (gullet) and (indirectly via that) also a\n // new lexer (mouth) for this parser (stomach, in the language of TeX)\n\n this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing\n\n this.settings = settings; // Count leftright depth (for \\middle errors)\n\n this.leftrightDepth = 0;\n }\n /**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n */\n\n\n expect(text, consume) {\n if (consume === void 0) {\n consume = true;\n }\n\n if (this.fetch().text !== text) {\n throw new src_ParseError(\"Expected '\" + text + \"', got '\" + this.fetch().text + \"'\", this.fetch());\n }\n\n if (consume) {\n this.consume();\n }\n }\n /**\n * Discards the current lookahead token, considering it consumed.\n */\n\n\n consume() {\n this.nextToken = null;\n }\n /**\n * Return the current lookahead token, or if there isn't one (at the\n * beginning, or if the previous lookahead token was consume()d),\n * fetch the next token as the new lookahead token and return it.\n */\n\n\n fetch() {\n if (this.nextToken == null) {\n this.nextToken = this.gullet.expandNextToken();\n }\n\n return this.nextToken;\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n this.gullet.switchMode(newMode);\n }\n /**\n * Main parsing function, which parses an entire input.\n */\n\n\n parse() {\n if (!this.settings.globalGroup) {\n // Create a group namespace for the math expression.\n // (LaTeX creates a new group for every $...$, $$...$$, \\[...\\].)\n this.gullet.beginGroup();\n } // Use old \\color behavior (same as LaTeX's \\textcolor) if requested.\n // We do this within the group for the math expression, so it doesn't\n // pollute settings.macros.\n\n\n if (this.settings.colorIsTextColor) {\n this.gullet.macros.set(\"\\\\color\", \"\\\\textcolor\");\n }\n\n try {\n // Try to parse the input\n const parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end\n\n this.expect(\"EOF\"); // End the group namespace for the expression\n\n if (!this.settings.globalGroup) {\n this.gullet.endGroup();\n }\n\n return parse; // Close any leftover groups in case of a parse error.\n } finally {\n this.gullet.endGroups();\n }\n }\n /**\n * Fully parse a separate sequence of tokens as a separate job.\n * Tokens should be specified in reverse order, as in a MacroDefinition.\n */\n\n\n subparse(tokens) {\n // Save the next token from the current job.\n const oldToken = this.nextToken;\n this.consume(); // Run the new job, terminating it with an excess '}'\n\n this.gullet.pushToken(new Token(\"}\"));\n this.gullet.pushTokens(tokens);\n const parse = this.parseExpression(false);\n this.expect(\"}\"); // Restore the next token from the current job.\n\n this.nextToken = oldToken;\n return parse;\n }\n\n /**\n * Parses an \"expression\", which is a list of atoms.\n *\n * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This\n * happens when functions have higher precedence han infix\n * nodes in implicit parses.\n *\n * `breakOnTokenText`: The text of the token that the expression should end\n * with, or `null` if something else should end the\n * expression.\n */\n parseExpression(breakOnInfix, breakOnTokenText) {\n const body = []; // Keep adding atoms to the body until we can't parse any more atoms (either\n // we reached the end, a }, or a \\right)\n\n while (true) {\n // Ignore spaces in math mode\n if (this.mode === \"math\") {\n this.consumeSpaces();\n }\n\n const lex = this.fetch();\n\n if (Parser.endOfExpression.indexOf(lex.text) !== -1) {\n break;\n }\n\n if (breakOnTokenText && lex.text === breakOnTokenText) {\n break;\n }\n\n if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) {\n break;\n }\n\n const atom = this.parseAtom(breakOnTokenText);\n\n if (!atom) {\n break;\n } else if (atom.type === \"internal\") {\n // Internal nodes do not appear in parse tree\n continue;\n }\n\n body.push(atom);\n }\n\n if (this.mode === \"text\") {\n this.formLigatures(body);\n }\n\n return this.handleInfixNodes(body);\n }\n /**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group. If there's more than one\n * then the expression is ambiguous. This can be resolved by adding {}.\n */\n\n\n handleInfixNodes(body) {\n let overIndex = -1;\n let funcName;\n\n for (let i = 0; i < body.length; i++) {\n if (body[i].type === \"infix\") {\n if (overIndex !== -1) {\n throw new src_ParseError(\"only one infix operator per group\", body[i].token);\n }\n\n overIndex = i;\n funcName = body[i].replaceWith;\n }\n }\n\n if (overIndex !== -1 && funcName) {\n let numerNode;\n let denomNode;\n const numerBody = body.slice(0, overIndex);\n const denomBody = body.slice(overIndex + 1);\n\n if (numerBody.length === 1 && numerBody[0].type === \"ordgroup\") {\n numerNode = numerBody[0];\n } else {\n numerNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: numerBody\n };\n }\n\n if (denomBody.length === 1 && denomBody[0].type === \"ordgroup\") {\n denomNode = denomBody[0];\n } else {\n denomNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: denomBody\n };\n }\n\n let node;\n\n if (funcName === \"\\\\\\\\abovefrac\") {\n node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);\n } else {\n node = this.callFunction(funcName, [numerNode, denomNode], []);\n }\n\n return [node];\n } else {\n return body;\n }\n }\n /**\n * Handle a subscript or superscript with nice errors.\n */\n\n\n handleSupSubscript(name // For error reporting.\n ) {\n const symbolToken = this.fetch();\n const symbol = symbolToken.text;\n this.consume();\n this.consumeSpaces(); // ignore spaces before sup/subscript argument\n // Skip over allowed internal nodes such as \\relax\n\n let group;\n\n do {\n var _group;\n\n group = this.parseGroup(name);\n } while (((_group = group) == null ? void 0 : _group.type) === \"internal\");\n\n if (!group) {\n throw new src_ParseError(\"Expected group after '\" + symbol + \"'\", symbolToken);\n }\n\n return group;\n }\n /**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\n\n\n formatUnsupportedCmd(text) {\n const textordArray = [];\n\n for (let i = 0; i < text.length; i++) {\n textordArray.push({\n type: \"textord\",\n mode: \"text\",\n text: text[i]\n });\n }\n\n const textNode = {\n type: \"text\",\n mode: this.mode,\n body: textordArray\n };\n const colorNode = {\n type: \"color\",\n mode: this.mode,\n color: this.settings.errorColor,\n body: [textNode]\n };\n return colorNode;\n }\n /**\n * Parses a group with optional super/subscripts.\n */\n\n\n parseAtom(breakOnTokenText) {\n // The body of an atom is an implicit group, so that things like\n // \\left(x\\right)^2 work correctly.\n const base = this.parseGroup(\"atom\", breakOnTokenText); // Internal nodes (e.g. \\relax) cannot support super/subscripts.\n // Instead we will pick up super/subscripts with blank base next round.\n\n if ((base == null ? void 0 : base.type) === \"internal\") {\n return base;\n } // In text mode, we don't have superscripts or subscripts\n\n\n if (this.mode === \"text\") {\n return base;\n } // Note that base may be empty (i.e. null) at this point.\n\n\n let superscript;\n let subscript;\n\n while (true) {\n // Guaranteed in math mode, so eat any spaces first.\n this.consumeSpaces(); // Lex the first token\n\n const lex = this.fetch();\n\n if (lex.text === \"\\\\limits\" || lex.text === \"\\\\nolimits\") {\n // We got a limit control\n if (base && base.type === \"op\") {\n const limits = lex.text === \"\\\\limits\";\n base.limits = limits;\n base.alwaysHandleSupSub = true;\n } else if (base && base.type === \"operatorname\") {\n if (base.alwaysHandleSupSub) {\n base.limits = lex.text === \"\\\\limits\";\n }\n } else {\n throw new src_ParseError(\"Limit controls must follow a math operator\", lex);\n }\n\n this.consume();\n } else if (lex.text === \"^\") {\n // We got a superscript start\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n superscript = this.handleSupSubscript(\"superscript\");\n } else if (lex.text === \"_\") {\n // We got a subscript start\n if (subscript) {\n throw new src_ParseError(\"Double subscript\", lex);\n }\n\n subscript = this.handleSupSubscript(\"subscript\");\n } else if (lex.text === \"'\") {\n // We got a prime\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n const prime = {\n type: \"textord\",\n mode: this.mode,\n text: \"\\\\prime\"\n }; // Many primes can be grouped together, so we handle this here\n\n const primes = [prime];\n this.consume(); // Keep lexing tokens until we get something that's not a prime\n\n while (this.fetch().text === \"'\") {\n // For each one, add another prime to the list\n primes.push(prime);\n this.consume();\n } // If there's a superscript following the primes, combine that\n // superscript in with the primes.\n\n\n if (this.fetch().text === \"^\") {\n primes.push(this.handleSupSubscript(\"superscript\"));\n } // Put everything into an ordgroup as the superscript\n\n\n superscript = {\n type: \"ordgroup\",\n mode: this.mode,\n body: primes\n };\n } else if (uSubsAndSups[lex.text]) {\n // A Unicode subscript or superscript character.\n // We treat these similarly to the unicode-math package.\n // So we render a string of Unicode (sub|super)scripts the\n // same as a (sub|super)script of regular characters.\n const isSub = unicodeSubRegEx.test(lex.text);\n const subsupTokens = [];\n subsupTokens.push(new Token(uSubsAndSups[lex.text]));\n this.consume(); // Continue fetching tokens to fill out the string.\n\n while (true) {\n const token = this.fetch().text;\n\n if (!uSubsAndSups[token]) {\n break;\n }\n\n if (unicodeSubRegEx.test(token) !== isSub) {\n break;\n }\n\n subsupTokens.unshift(new Token(uSubsAndSups[token]));\n this.consume();\n } // Now create a (sub|super)script.\n\n\n const body = this.subparse(subsupTokens);\n\n if (isSub) {\n subscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n } else {\n superscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n }\n } else {\n // If it wasn't ^, _, or ', stop parsing super/subscripts\n break;\n }\n } // Base must be set if superscript or subscript are set per logic above,\n // but need to check here for type check to pass.\n\n\n if (superscript || subscript) {\n // If we got either a superscript or subscript, create a supsub\n return {\n type: \"supsub\",\n mode: this.mode,\n base: base,\n sup: superscript,\n sub: subscript\n };\n } else {\n // Otherwise return the original body\n return base;\n }\n }\n /**\n * Parses an entire function, including its base and all of its arguments.\n */\n\n\n parseFunction(breakOnTokenText, name // For determining its context\n ) {\n const token = this.fetch();\n const func = token.text;\n const funcData = src_functions[func];\n\n if (!funcData) {\n return null;\n }\n\n this.consume(); // consume command token\n\n if (name && name !== \"atom\" && !funcData.allowedInArgument) {\n throw new src_ParseError(\"Got function '\" + func + \"' with no arguments\" + (name ? \" as \" + name : \"\"), token);\n } else if (this.mode === \"text\" && !funcData.allowedInText) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in text mode\", token);\n } else if (this.mode === \"math\" && funcData.allowedInMath === false) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in math mode\", token);\n }\n\n const {\n args,\n optArgs\n } = this.parseArguments(func, funcData);\n return this.callFunction(func, args, optArgs, token, breakOnTokenText);\n }\n /**\n * Call a function handler with a suitable context and arguments.\n */\n\n\n callFunction(name, args, optArgs, token, breakOnTokenText) {\n const context = {\n funcName: name,\n parser: this,\n token,\n breakOnTokenText\n };\n const func = src_functions[name];\n\n if (func && func.handler) {\n return func.handler(context, args, optArgs);\n } else {\n throw new src_ParseError(\"No function handler for \" + name);\n }\n }\n /**\n * Parses the arguments of a function or environment\n */\n\n\n parseArguments(func, // Should look like \"\\name\" or \"\\begin{name}\".\n funcData) {\n const totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n\n if (totalArgs === 0) {\n return {\n args: [],\n optArgs: []\n };\n }\n\n const args = [];\n const optArgs = [];\n\n for (let i = 0; i < totalArgs; i++) {\n let argType = funcData.argTypes && funcData.argTypes[i];\n const isOptional = i < funcData.numOptionalArgs;\n\n if (funcData.primitive && argType == null || // \\sqrt expands into primitive if optional argument doesn't exist\n funcData.type === \"sqrt\" && i === 1 && optArgs[0] == null) {\n argType = \"primitive\";\n }\n\n const arg = this.parseGroupOfType(\"argument to '\" + func + \"'\", argType, isOptional);\n\n if (isOptional) {\n optArgs.push(arg);\n } else if (arg != null) {\n args.push(arg);\n } else {\n // should be unreachable\n throw new src_ParseError(\"Null argument, please report this as a bug\");\n }\n }\n\n return {\n args,\n optArgs\n };\n }\n /**\n * Parses a group when the mode is changing.\n */\n\n\n parseGroupOfType(name, type, optional) {\n switch (type) {\n case \"color\":\n return this.parseColorGroup(optional);\n\n case \"size\":\n return this.parseSizeGroup(optional);\n\n case \"url\":\n return this.parseUrlGroup(optional);\n\n case \"math\":\n case \"text\":\n return this.parseArgumentGroup(optional, type);\n\n case \"hbox\":\n {\n // hbox argument type wraps the argument in the equivalent of\n // \\hbox, which is like \\text but switching to \\textstyle size.\n const group = this.parseArgumentGroup(optional, \"text\");\n return group != null ? {\n type: \"styling\",\n mode: group.mode,\n body: [group],\n style: \"text\" // simulate \\textstyle\n\n } : null;\n }\n\n case \"raw\":\n {\n const token = this.parseStringGroup(\"raw\", optional);\n return token != null ? {\n type: \"raw\",\n mode: \"text\",\n string: token.text\n } : null;\n }\n\n case \"primitive\":\n {\n if (optional) {\n throw new src_ParseError(\"A primitive argument cannot be optional\");\n }\n\n const group = this.parseGroup(name);\n\n if (group == null) {\n throw new src_ParseError(\"Expected group as \" + name, this.fetch());\n }\n\n return group;\n }\n\n case \"original\":\n case null:\n case undefined:\n return this.parseArgumentGroup(optional);\n\n default:\n throw new src_ParseError(\"Unknown group type as \" + name, this.fetch());\n }\n }\n /**\n * Discard any space tokens, fetching the next non-space token.\n */\n\n\n consumeSpaces() {\n while (this.fetch().text === \" \") {\n this.consume();\n }\n }\n /**\n * Parses a group, essentially returning the string formed by the\n * brace-enclosed tokens plus some position information.\n */\n\n\n parseStringGroup(modeName, // Used to describe the mode in error messages.\n optional) {\n const argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n let str = \"\";\n let nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\") {\n str += nextToken.text;\n this.consume();\n }\n\n this.consume(); // consume the end of the argument\n\n argToken.text = str;\n return argToken;\n }\n /**\n * Parses a regex-delimited group: the largest sequence of tokens\n * whose concatenated strings match `regex`. Returns the string\n * formed by the tokens plus some position information.\n */\n\n\n parseRegexGroup(regex, modeName // Used to describe the mode in error messages.\n ) {\n const firstToken = this.fetch();\n let lastToken = firstToken;\n let str = \"\";\n let nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\" && regex.test(str + nextToken.text)) {\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n if (str === \"\") {\n throw new src_ParseError(\"Invalid \" + modeName + \": '\" + firstToken.text + \"'\", firstToken);\n }\n\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a color description.\n */\n\n\n parseColorGroup(optional) {\n const res = this.parseStringGroup(\"color\", optional);\n\n if (res == null) {\n return null;\n }\n\n const match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid color: '\" + res.text + \"'\", res);\n }\n\n let color = match[0];\n\n if (/^[0-9a-f]{6}$/i.test(color)) {\n // We allow a 6-digit HTML color spec without a leading \"#\".\n // This follows the xcolor package's HTML color model.\n // Predefined color names are all missed by this RegEx pattern.\n color = \"#\" + color;\n }\n\n return {\n type: \"color-token\",\n mode: this.mode,\n color\n };\n }\n /**\n * Parses a size specification, consisting of magnitude and unit.\n */\n\n\n parseSizeGroup(optional) {\n let res;\n let isBlank = false; // don't expand before parseStringGroup\n\n this.gullet.consumeSpaces();\n\n if (!optional && this.gullet.future().text !== \"{\") {\n res = this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/, \"size\");\n } else {\n res = this.parseStringGroup(\"size\", optional);\n }\n\n if (!res) {\n return null;\n }\n\n if (!optional && res.text.length === 0) {\n // Because we've tested for what is !optional, this block won't\n // affect \\kern, \\hspace, etc. It will capture the mandatory arguments\n // to \\genfrac and \\above.\n res.text = \"0pt\"; // Enable \\above{}\n\n isBlank = true; // This is here specifically for \\genfrac\n }\n\n const match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + res.text + \"'\", res);\n }\n\n const data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"'\", res);\n }\n\n return {\n type: \"size\",\n mode: this.mode,\n value: data,\n isBlank\n };\n }\n /**\n * Parses an URL, checking escaped letters and allowed protocols,\n * and setting the catcode of % as an active character (as in \\hyperref).\n */\n\n\n parseUrlGroup(optional) {\n this.gullet.lexer.setCatcode(\"%\", 13); // active character\n\n this.gullet.lexer.setCatcode(\"~\", 12); // other character\n\n const res = this.parseStringGroup(\"url\", optional);\n this.gullet.lexer.setCatcode(\"%\", 14); // comment character\n\n this.gullet.lexer.setCatcode(\"~\", 13); // active character\n\n if (res == null) {\n return null;\n } // hyperref package allows backslashes alone in href, but doesn't\n // generate valid links in such cases; we interpret this as\n // \"undefined\" behaviour, and keep them as-is. Some browser will\n // replace backslashes with forward slashes.\n\n\n const url = res.text.replace(/\\\\([#$%&~_^{}])/g, '$1');\n return {\n type: \"url\",\n mode: this.mode,\n url\n };\n }\n /**\n * Parses an argument with the mode specified.\n */\n\n\n parseArgumentGroup(optional, mode) {\n const argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n const outerMode = this.mode;\n\n if (mode) {\n // Switch to specified mode\n this.switchMode(mode);\n }\n\n this.gullet.beginGroup();\n const expression = this.parseExpression(false, \"EOF\"); // TODO: find an alternative way to denote the end\n\n this.expect(\"EOF\"); // expect the end of the argument\n\n this.gullet.endGroup();\n const result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: argToken.loc,\n body: expression\n };\n\n if (mode) {\n // Switch mode back\n this.switchMode(outerMode);\n }\n\n return result;\n }\n /**\n * Parses an ordinary group, which is either a single nucleus (like \"x\")\n * or an expression in braces (like \"{x+y}\") or an implicit group, a group\n * that starts at the current position, and ends right before a higher explicit\n * group ends, or at EOF.\n */\n\n\n parseGroup(name, // For error reporting.\n breakOnTokenText) {\n const firstToken = this.fetch();\n const text = firstToken.text;\n let result; // Try to parse an open brace or \\begingroup\n\n if (text === \"{\" || text === \"\\\\begingroup\") {\n this.consume();\n const groupEnd = text === \"{\" ? \"}\" : \"\\\\endgroup\";\n this.gullet.beginGroup(); // If we get a brace, parse an expression\n\n const expression = this.parseExpression(false, groupEnd);\n const lastToken = this.fetch();\n this.expect(groupEnd); // Check that we got a matching closing brace\n\n this.gullet.endGroup();\n result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: SourceLocation.range(firstToken, lastToken),\n body: expression,\n // A group formed by \\begingroup...\\endgroup is a semi-simple group\n // which doesn't affect spacing in math mode, i.e., is transparent.\n // https://tex.stackexchange.com/questions/1930/when-should-one-\n // use-begingroup-instead-of-bgroup\n semisimple: text === \"\\\\begingroup\" || undefined\n };\n } else {\n // If there exists a function with this name, parse the function.\n // Otherwise, just return a nucleus\n result = this.parseFunction(breakOnTokenText, name) || this.parseSymbol();\n\n if (result == null && text[0] === \"\\\\\" && !implicitCommands.hasOwnProperty(text)) {\n if (this.settings.throwOnError) {\n throw new src_ParseError(\"Undefined control sequence: \" + text, firstToken);\n }\n\n result = this.formatUnsupportedCmd(text);\n this.consume();\n }\n }\n\n return result;\n }\n /**\n * Form ligature-like combinations of characters for text mode.\n * This includes inputs like \"--\", \"---\", \"``\" and \"''\".\n * The result will simply replace multiple textord nodes with a single\n * character in each value by a single textord node having multiple\n * characters in its value. The representation is still ASCII source.\n * The group will be modified in place.\n */\n\n\n formLigatures(group) {\n let n = group.length - 1;\n\n for (let i = 0; i < n; ++i) {\n const a = group[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n const v = a.text;\n\n if (v === \"-\" && group[i + 1].text === \"-\") {\n if (i + 1 < n && group[i + 2].text === \"-\") {\n group.splice(i, 3, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 2]),\n text: \"---\"\n });\n n -= 2;\n } else {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: \"--\"\n });\n n -= 1;\n }\n }\n\n if ((v === \"'\" || v === \"`\") && group[i + 1].text === v) {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: v + v\n });\n n -= 1;\n }\n }\n }\n /**\n * Parse a single symbol out of the string. Here, we handle single character\n * symbols and special functions like \\verb.\n */\n\n\n parseSymbol() {\n const nucleus = this.fetch();\n let text = nucleus.text;\n\n if (/^\\\\verb[^a-zA-Z]/.test(text)) {\n this.consume();\n let arg = text.slice(5);\n const star = arg.charAt(0) === \"*\";\n\n if (star) {\n arg = arg.slice(1);\n } // Lexer's tokenRegex is constructed to always have matching\n // first/last characters.\n\n\n if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) {\n throw new src_ParseError(\"\\\\verb assertion failed --\\n please report what input caused this bug\");\n }\n\n arg = arg.slice(1, -1); // remove first and last char\n\n return {\n type: \"verb\",\n mode: \"text\",\n body: arg,\n star\n };\n } // At this point, we should have a symbol, possibly with accents.\n // First expand any accented base symbol according to unicodeSymbols.\n\n\n if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) {\n // This behavior is not strict (XeTeX-compatible) in math mode.\n if (this.settings.strict && this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Accented Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n text = unicodeSymbols[text[0]] + text.slice(1);\n } // Strip off any combining characters\n\n\n const match = combiningDiacriticalMarksEndRegex.exec(text);\n\n if (match) {\n text = text.substring(0, match.index);\n\n if (text === 'i') {\n text = '\\u0131'; // dotless i, in math and text mode\n } else if (text === 'j') {\n text = '\\u0237'; // dotless j, in math and text mode\n }\n } // Recognize base symbol\n\n\n let symbol;\n\n if (src_symbols[this.mode][text]) {\n if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Latin-1/Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n const group = src_symbols[this.mode][text].group;\n const loc = SourceLocation.range(nucleus);\n let s;\n\n if (ATOMS.hasOwnProperty(group)) {\n // $FlowFixMe\n const family = group;\n s = {\n type: \"atom\",\n mode: this.mode,\n family,\n loc,\n text\n };\n } else {\n // $FlowFixMe\n s = {\n type: group,\n mode: this.mode,\n loc,\n text\n };\n } // $FlowFixMe\n\n\n symbol = s;\n } else if (text.charCodeAt(0) >= 0x80) {\n // no symbol for e.g. ^\n if (this.settings.strict) {\n if (!supportedCodepoint(text.charCodeAt(0))) {\n this.settings.reportNonstrict(\"unknownSymbol\", \"Unrecognized Unicode character \\\"\" + text[0] + \"\\\"\" + (\" (\" + text.charCodeAt(0) + \")\"), nucleus);\n } else if (this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Unicode text character \\\"\" + text[0] + \"\\\" used in math mode\", nucleus);\n }\n } // All nonmathematical Unicode characters are rendered as if they\n // are in text mode (wrapped in \\text) because that's what it\n // takes to render them in LaTeX. Setting `mode: this.mode` is\n // another natural choice (the user requested math mode), but\n // this makes it more difficult for getCharacterMetrics() to\n // distinguish Unicode characters without metrics and those for\n // which we want to simulate the letter M.\n\n\n symbol = {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(nucleus),\n text\n };\n } else {\n return null; // EOF, ^, _, {, }, etc.\n }\n\n this.consume(); // Transform combining characters into accents\n\n if (match) {\n for (let i = 0; i < match[0].length; i++) {\n const accent = match[0][i];\n\n if (!unicodeAccents[accent]) {\n throw new src_ParseError(\"Unknown accent ' \" + accent + \"'\", nucleus);\n }\n\n const command = unicodeAccents[accent][this.mode] || unicodeAccents[accent].text;\n\n if (!command) {\n throw new src_ParseError(\"Accent \" + accent + \" unsupported in \" + this.mode + \" mode\", nucleus);\n }\n\n symbol = {\n type: \"accent\",\n mode: this.mode,\n loc: SourceLocation.range(nucleus),\n label: command,\n isStretchy: false,\n isShifty: true,\n // $FlowFixMe\n base: symbol\n };\n }\n } // $FlowFixMe\n\n\n return symbol;\n }\n\n}\nParser.endOfExpression = [\"}\", \"\\\\endgroup\", \"\\\\end\", \"\\\\right\", \"&\"];\n;// CONCATENATED MODULE: ./src/parseTree.js\n/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\n\n\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nconst parseTree = function (toParse, settings) {\n if (!(typeof toParse === 'string' || toParse instanceof String)) {\n throw new TypeError('KaTeX can only parse string typed expression');\n }\n\n const parser = new Parser(toParse, settings); // Blank out any \\df@tag to avoid spurious \"Duplicate \\tag\" errors\n\n delete parser.gullet.macros.current[\"\\\\df@tag\"];\n let tree = parser.parse(); // Prevent a color definition from persisting between calls to katex.render().\n\n delete parser.gullet.macros.current[\"\\\\current@color\"];\n delete parser.gullet.macros.current[\"\\\\color\"]; // If the input used \\tag, it will set the \\df@tag macro to the tag.\n // In this case, we separately parse the tag and wrap the tree.\n\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n if (!settings.displayMode) {\n throw new src_ParseError(\"\\\\tag works only in display equations\");\n }\n\n tree = [{\n type: \"tag\",\n mode: \"text\",\n body: tree,\n tag: parser.subparse([new Token(\"\\\\df@tag\")])\n }];\n }\n\n return tree;\n};\n\n/* harmony default export */ var src_parseTree = (parseTree);\n;// CONCATENATED MODULE: ./katex.js\n/* eslint no-console:0 */\n\n/**\n * This is the main entry point for KaTeX. Here, we expose functions for\n * rendering expressions either to DOM nodes or to markup strings.\n *\n * We also expose the ParseError class to check if errors thrown from KaTeX are\n * errors in the expression, or errors in javascript handling.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nlet render = function (expression, baseNode, options) {\n baseNode.textContent = \"\";\n const node = renderToDomTree(expression, options).toNode();\n baseNode.appendChild(node);\n}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and\n// disable rendering.\n\n\nif (typeof document !== \"undefined\") {\n if (document.compatMode !== \"CSS1Compat\") {\n typeof console !== \"undefined\" && console.warn(\"Warning: KaTeX doesn't work in quirks mode. Make sure your \" + \"website has a suitable doctype.\");\n\n render = function () {\n throw new src_ParseError(\"KaTeX doesn't work in quirks mode.\");\n };\n }\n}\n/**\n * Parse and build an expression, and return the markup for that.\n */\n\n\nconst renderToString = function (expression, options) {\n const markup = renderToDomTree(expression, options).toMarkup();\n return markup;\n};\n/**\n * Parse an expression and return the parse tree.\n */\n\n\nconst generateParseTree = function (expression, options) {\n const settings = new Settings(options);\n return src_parseTree(expression, settings);\n};\n/**\n * If the given error is a KaTeX ParseError and options.throwOnError is false,\n * renders the invalid LaTeX as a span with hover title giving the KaTeX\n * error message. Otherwise, simply throws the error.\n */\n\n\nconst renderError = function (error, expression, options) {\n if (options.throwOnError || !(error instanceof src_ParseError)) {\n throw error;\n }\n\n const node = buildCommon.makeSpan([\"katex-error\"], [new SymbolNode(expression)]);\n node.setAttribute(\"title\", error.toString());\n node.setAttribute(\"style\", \"color:\" + options.errorColor);\n return node;\n};\n/**\n * Generates and returns the katex build tree. This is used for advanced\n * use cases (like rendering to custom output).\n */\n\n\nconst renderToDomTree = function (expression, options) {\n const settings = new Settings(options);\n\n try {\n const tree = src_parseTree(expression, settings);\n return buildTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n/**\n * Generates and returns the katex build tree, with just HTML (no MathML).\n * This is used for advanced use cases (like rendering to custom output).\n */\n\n\nconst renderToHTMLTree = function (expression, options) {\n const settings = new Settings(options);\n\n try {\n const tree = src_parseTree(expression, settings);\n return buildHTMLTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n\nconst version = \"0.16.22\";\nconst __domTree = {\n Span: Span,\n Anchor: Anchor,\n SymbolNode: SymbolNode,\n SvgNode: SvgNode,\n PathNode: PathNode,\n LineNode: LineNode\n}; // ESM exports\n\n // CJS exports and ESM default export\n\n/* harmony default export */ var katex = ({\n /**\n * Current KaTeX version\n */\n version,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination, and adds\n * it as a child to the specified DOM node.\n */\n render,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination string,\n * for sending to the client.\n */\n renderToString,\n\n /**\n * KaTeX error, usually during parsing.\n */\n ParseError: src_ParseError,\n\n /**\n * The schema of Settings\n */\n SETTINGS_SCHEMA: SETTINGS_SCHEMA,\n\n /**\n * Parses the given LaTeX into KaTeX's internal parse tree structure,\n * without rendering to HTML or MathML.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __parse: generateParseTree,\n\n /**\n * Renders the given LaTeX into an HTML+MathML internal DOM tree\n * representation, without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToDomTree: renderToDomTree,\n\n /**\n * Renders the given LaTeX into an HTML internal DOM tree representation,\n * without MathML and without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToHTMLTree: renderToHTMLTree,\n\n /**\n * extends internal font metrics object with a new object\n * each key in the new object represents a font name\n */\n __setFontMetrics: setFontMetrics,\n\n /**\n * adds a new symbol to builtin symbols table\n */\n __defineSymbol: defineSymbol,\n\n /**\n * adds a new function to builtin function list,\n * which directly produce parse tree elements\n * and have their own html/mathml builders\n */\n __defineFunction: defineFunction,\n\n /**\n * adds a new macro to builtin macro list\n */\n __defineMacro: defineMacro,\n\n /**\n * Expose the dom tree node types, which can be useful for type checking nodes.\n *\n * NOTE: These methods are not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __domTree\n});\n;// CONCATENATED MODULE: ./katex.webpack.js\n/**\n * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2]\n * doesn't support CSS modules natively, a separate entry point is used and\n * it is not flowtyped.\n *\n * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef\n * [2] https://facebook.github.io/jest/docs/en/webpack.html\n */\n\n\n/* harmony default export */ var katex_webpack = (katex);\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/katex/dist/katex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_DataView.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_DataView.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar DataView = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'DataView');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataView);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_DataView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Hash.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Hash.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hashClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_hashClear.js */ \"../simple-mind-map/node_modules/lodash-es/_hashClear.js\");\n/* harmony import */ var _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hashDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_hashDelete.js\");\n/* harmony import */ var _hashGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hashGet.js */ \"../simple-mind-map/node_modules/lodash-es/_hashGet.js\");\n/* harmony import */ var _hashHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hashHas.js */ \"../simple-mind-map/node_modules/lodash-es/_hashHas.js\");\n/* harmony import */ var _hashSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_hashSet.js */ \"../simple-mind-map/node_modules/lodash-es/_hashSet.js\");\n\n\n\n\n\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = _hashClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nHash.prototype['delete'] = _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nHash.prototype.get = _hashGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nHash.prototype.has = _hashHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nHash.prototype.set = _hashSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Hash);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Hash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_baseLodash_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LazyWrapper);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_ListCache.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_ListCache.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_listCacheClear.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheClear.js\");\n/* harmony import */ var _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_listCacheDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js\");\n/* harmony import */ var _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_listCacheGet.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheGet.js\");\n/* harmony import */ var _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_listCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheHas.js\");\n/* harmony import */ var _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_listCacheSet.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheSet.js\");\n\n\n\n\n\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nListCache.prototype['delete'] = _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nListCache.prototype.get = _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nListCache.prototype.has = _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nListCache.prototype.set = _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ListCache);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_ListCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n\n\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_baseLodash_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LodashWrapper);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Map.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Map.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Map = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Map');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Map);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Map.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_MapCache.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_MapCache.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_mapCacheClear.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js\");\n/* harmony import */ var _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_mapCacheDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js\");\n/* harmony import */ var _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapCacheGet.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js\");\n/* harmony import */ var _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_mapCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js\");\n/* harmony import */ var _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapCacheSet.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js\");\n\n\n\n\n\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nMapCache.prototype['delete'] = _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nMapCache.prototype.get = _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nMapCache.prototype.has = _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nMapCache.prototype.set = _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MapCache);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_MapCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Promise.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Promise.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Promise = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Promise');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Promise);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Promise.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Set.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Set.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Set = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Set');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Set);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Set.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_SetCache.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_SetCache.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n/* harmony import */ var _setCacheAdd_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_setCacheAdd.js */ \"../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js\");\n/* harmony import */ var _setCacheHas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_setCacheHas.js\");\n\n\n\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = _setCacheAdd_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nSetCache.prototype.has = _setCacheHas_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SetCache);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_SetCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Stack.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Stack.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _stackClear_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stackClear.js */ \"../simple-mind-map/node_modules/lodash-es/_stackClear.js\");\n/* harmony import */ var _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stackDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_stackDelete.js\");\n/* harmony import */ var _stackGet_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_stackGet.js */ \"../simple-mind-map/node_modules/lodash-es/_stackGet.js\");\n/* harmony import */ var _stackHas_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stackHas.js */ \"../simple-mind-map/node_modules/lodash-es/_stackHas.js\");\n/* harmony import */ var _stackSet_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stackSet.js */ \"../simple-mind-map/node_modules/lodash-es/_stackSet.js\");\n\n\n\n\n\n\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = _stackClear_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nStack.prototype['delete'] = _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nStack.prototype.get = _stackGet_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nStack.prototype.has = _stackHas_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nStack.prototype.set = _stackSet_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stack);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Stack.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Symbol.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Symbol.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Built-in value references. */\nvar Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Symbol;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Symbol);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Symbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Uint8Array.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Uint8Array.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Built-in value references. */\nvar Uint8Array = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Uint8Array;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Uint8Array);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_Uint8Array.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_WeakMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_WeakMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'WeakMap');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (WeakMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_WeakMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_apply.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_apply.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (apply);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_apply.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayAggregator);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEach.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEach.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEach);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEachRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEvery.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEvery.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEvery);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayFilter.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayFilter.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayFilter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayFilter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, 0) > -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayIncludes);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayIncludesWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseTimes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseTimes.js */ \"../simple-mind-map/node_modules/lodash-es/_baseTimes.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value),\n isArg = !isArr && Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value),\n isBuff = !isArr && !isArg && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value),\n isType = !isArr && !isArg && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? Object(_baseTimes_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayLikeKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayPush.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayPush.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayPush);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayPush.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayReduce.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayReduce.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayReduce);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayReduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayReduceRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySample.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySample.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n\n\n/**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\nfunction arraySample(array) {\n var length = array.length;\n return length ? array[Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, length - 1)] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySample);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arraySample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n\n\n\n\n/**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\nfunction arraySampleSize(array, n) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array), Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, 0, array.length));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySampleSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n\n\n\n/**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction arrayShuffle(array) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayShuffle);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySome.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySome.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySome);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_arraySome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiSize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiSize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseProperty.js\");\n\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = Object(_baseProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('length');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_asciiSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiToArray.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiToArray.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_asciiToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiWords.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiWords.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiWords);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_asciiWords.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object[key], value)) ||\n (value === undefined && !(key in object))) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, value);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignMergeValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assignValue.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assignValue.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(objValue, value)) ||\n (value === undefined && !(key in object))) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, value);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_assignValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assocIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAggregator.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAggregator.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAggregator);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssign.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssign.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssign);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseAssign.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssignIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_defineProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_defineProperty.js\");\n\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssignValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n\n\n/**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\nfunction baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : Object(_get_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths[index]);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseClamp.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseClamp.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseClamp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseClamp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseClone.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseClone.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseAssign.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssign.js\");\n/* harmony import */ var _baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseAssignIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js\");\n/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cloneBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _copySymbols_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_copySymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_copySymbols.js\");\n/* harmony import */ var _copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_copySymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js\");\n/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_getAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeys.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_initCloneArray.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneArray.js\");\n/* harmony import */ var _initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_initCloneByTag.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js\");\n/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_initCloneObject.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneObject.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(value)) {\n return value;\n }\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(value);\n if (isArr) {\n result = Object(_initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(value);\n if (!isDeep) {\n return Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(value, result);\n }\n } else {\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(value)) {\n return Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(value);\n if (!isDeep) {\n return isFlat\n ? Object(_copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(value, Object(_baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(result, value))\n : Object(_copySymbols_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(value, Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = Object(_initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (Object(_isSet_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (Object(_isMap_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"] : _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])\n : (isFlat ? _keysIn_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"] : _keys_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]);\n\n var props = isArr ? undefined : keysFunc(value);\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseClone);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseConforms.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseConforms.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseConformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseConforms(source) {\n var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source);\n return function(object) {\n return Object(_baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, props);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseConforms);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseConforms.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\nfunction baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseConformsTo);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseCreate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseCreate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseCreate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseCreate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseDelay.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseDelay.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\nfunction baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseDelay);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseDelay.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseDifference.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseDifference.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(values, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee));\n }\n if (comparator) {\n includes = _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n isCommon = false;\n values = new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseDifference);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseDifference.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEach.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEach.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBaseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseEach.js\");\n\n\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = Object(_createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEach);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEachRight.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEachRight.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBaseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseEach.js\");\n\n\n\n/**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEachRight = Object(_createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEachRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEvery.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEvery.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEvery);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseExtremum.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseExtremum.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseExtremum);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseExtremum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFill.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFill.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n\n\n\n/**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\nfunction baseFill(array, value, start, end) {\n var length = array.length;\n\n start = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : Object(_toLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFill);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFill.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFilter.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFilter.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFilter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFilter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFindIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFindKey.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFindKey.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\nfunction baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFindKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFindKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFlatten.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFlatten.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _isFlattenable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isFlattenable.js */ \"../simple-mind-map/node_modules/lodash-es/_isFlattenable.js\");\n\n\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = _isFlattenable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFlatten);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFlatten.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFor.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFor.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createBaseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseFor.js\");\n\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = Object(_createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFor);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForOwn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForOwn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForOwn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseForOwn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForRight.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwnRight(object, iteratee) {\n return object && Object(_baseForRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForOwnRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForRight.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForRight.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createBaseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseFor.js\");\n\n\n/**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseForRight = Object(_createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseForRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFunctions.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFunctions.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n\n\n\n/**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\nfunction baseFunctions(object, props) {\n return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object[key]);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFunctions);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseFunctions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object) ? result : Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, symbolsFunc(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGetAllKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGetTag.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGetTag.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getRawTag.js\");\n/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ \"../simple-mind-map/node_modules/lodash-es/_objectToString.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)\n : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGetTag);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseGetTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseGt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseHas.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseHas.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseHasIn.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseHasIn.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseHasIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseHasIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInRange.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInRange.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInRange);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseInRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsNaN.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js\");\n/* harmony import */ var _strictIndexOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_strictIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js\");\n\n\n\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? Object(_strictIndexOf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, value, fromIndex)\n : Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], fromIndex);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIndexOfWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIntersection.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIntersection.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIntersection);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIntersection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInverter.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInverter.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n\n\n/**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseInverter(object, setter, iteratee, accumulator) {\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInverter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseInverter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInvoke.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInvoke.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _parent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_parent.js */ \"../simple-mind-map/node_modules/lodash-es/_parent.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, object);\n object = Object(_parent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, path);\n var func = object == null ? object : object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_last_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path))];\n return func == null ? undefined : Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, object, args);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInvoke);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseInvoke.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == argsTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsArguments);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\nvar arrayBufferTag = '[object ArrayBuffer]';\n\n/**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\nfunction baseIsArrayBuffer(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == arrayBufferTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsArrayBuffer);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsDate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsDate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == dateTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsDate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsDate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqualDeep_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqualDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && !Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other))) {\n return value !== value && other !== other;\n }\n return Object(_baseIsEqualDeep_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsEqual);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _equalArrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_equalArrays.js */ \"../simple-mind-map/node_modules/lodash-es/_equalArrays.js\");\n/* harmony import */ var _equalByTag_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_equalByTag.js */ \"../simple-mind-map/node_modules/lodash-es/_equalByTag.js\");\n/* harmony import */ var _equalObjects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_equalObjects.js */ \"../simple-mind-map/node_modules/lodash-es/_equalObjects.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(object),\n othIsArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(other),\n objTag = objIsArr ? arrayTag : Object(_getTag_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object),\n othTag = othIsArr ? arrayTag : Object(_getTag_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object)) {\n if (!Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return (objIsArr || Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(object))\n ? Object(_equalArrays_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, other, bitmask, customizer, equalFunc, stack)\n : Object(_equalByTag_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return Object(_equalObjects_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsEqualDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsMap.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsMap.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == mapTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsMatch);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsNaN);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsNative.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsNative.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isMasked_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMasked.js */ \"../simple-mind-map/node_modules/lodash-es/_isMasked.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toSource.js */ \"../simple-mind-map/node_modules/lodash-es/_toSource.js\");\n\n\n\n\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_isMasked_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n var pattern = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? reIsNative : reIsHostCtor;\n return pattern.test(Object(_toSource_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsNative);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == regexpTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsRegExp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsSet.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsSet.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == setTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) &&\n Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value.length) && !!typedArrayTags[Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsTypedArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIteratee.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIteratee.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMatches_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMatches.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatches.js\");\n/* harmony import */ var _baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _property_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./property.js */ \"../simple-mind-map/node_modules/lodash-es/property.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n if (typeof value == 'object') {\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value)\n ? Object(_baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value[0], value[1])\n : Object(_baseMatches_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n }\n return Object(_property_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIteratee);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseIteratee.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseKeys.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseKeys.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_nativeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeKeys.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object)) {\n return Object(_nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nativeKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js\");\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object)) {\n return Object(_nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n }\n var isProto = Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseKeysIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseLodash.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseLodash.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseLodash);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseLodash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseLt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseLt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseLt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseLt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection) ? Array(collection.length) : [];\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMatches.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMatches.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n/* harmony import */ var _matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_matchesStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js\");\n\n\n\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return Object(_matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, matchData);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMatches);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMatches.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _isStrictComparable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js\");\n/* harmony import */ var _matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_matchesStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (Object(_isKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path) && Object(_isStrictComparable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue)) {\n return Object(_matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Object(_toKey_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(path), srcValue);\n }\n return function(object) {\n var objValue = Object(_get_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? Object(_hasIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, path)\n : Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMatchesProperty);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMean.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMean.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\nfunction baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, iteratee) / length) : NAN;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMean);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMerge.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMerge.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _assignMergeValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_assignMergeValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js\");\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _baseMergeDeep_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseMergeDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony import */ var _safeGet_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_safeGet.js */ \"../simple-mind-map/node_modules/lodash-es/_safeGet.js\");\n\n\n\n\n\n\n\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, function(srcValue, key) {\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue)) {\n Object(_baseMergeDeep_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, newValue);\n }\n }, _keysIn_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMerge);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMerge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignMergeValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js\");\n/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js\");\n/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_initCloneObject.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneObject.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony import */ var _safeGet_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_safeGet.js */ \"../simple-mind-map/node_modules/lodash-es/_safeGet.js\");\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(object, key),\n srcValue = Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(srcValue),\n isBuff = !isArr && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(srcValue),\n isTyped = !isArr && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(objValue)) {\n newValue = objValue;\n }\n else if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(objValue)) {\n newValue = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(srcValue) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(srcValue)) {\n newValue = objValue;\n if (Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(objValue)) {\n newValue = Object(_toPlainObject_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(objValue);\n }\n else if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(objValue) || Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(objValue)) {\n newValue = Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, newValue);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMergeDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseNth.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseNth.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n/**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\nfunction baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, length) ? array[n] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseNth);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseNth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMap.js\");\n/* harmony import */ var _baseSortBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseSortBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortBy.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _compareMultiple_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_compareMultiple.js */ \"../simple-mind-map/node_modules/lodash-es/_compareMultiple.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, function(iteratee) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(iteratee)) {\n return function(value) {\n return Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [_identity_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]];\n }\n\n var index = -1;\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n\n var result = Object(_baseMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, function(value, key, collection) {\n var criteria = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return Object(_baseSortBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(result, function(object, other) {\n return Object(_compareMultiple_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object, other, orders);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseOrderBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePick.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePick.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePickBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePickBy.js */ \"../simple-mind-map/node_modules/lodash-es/_basePickBy.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n\n\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return Object(_basePickBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths, function(value, path) {\n return Object(_hasIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePick);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePick.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePickBy.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePickBy.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n\n\n\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n\n if (predicate(value, path)) {\n Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, Object(_castPath_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path, object), value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePickBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePickBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseProperty.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseProperty.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseProperty);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePropertyDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePropertyOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePullAll.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePullAll.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _baseIndexOfWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIndexOfWith.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? _baseIndexOfWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(values);\n }\n if (iteratee) {\n seen = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePullAll);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePullAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePullAt.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePullAt.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseUnset_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseUnset.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnset.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(index)) {\n splice.call(array, index, 1);\n } else {\n Object(_baseUnset_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, index);\n }\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePullAt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_basePullAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRandom.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRandom.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeRandom = Math.random;\n\n/**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\nfunction baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRandom);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseRandom.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRange.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRange.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRange);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseReduce.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseReduce.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseReduce);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseReduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRepeat.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRepeat.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRepeat);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseRepeat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _overRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_overRest.js */ \"../simple-mind-map/node_modules/lodash-es/_overRest.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n\n\n\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_overRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, start, _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), func + '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRest);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSample.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSample.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySample_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySample.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySample.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n/**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\nfunction baseSample(collection) {\n return Object(_arraySample_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_values_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSample);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n\n/**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\nfunction baseSampleSize(collection, n) {\n var array = Object(_values_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection);\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, 0, array.length));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSampleSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object)) {\n return object;\n }\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(objValue)\n ? objValue\n : (Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path[index + 1]) ? [] : {});\n }\n }\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSetData.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSetData.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _metaMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_metaMap.js */ \"../simple-mind-map/node_modules/lodash-es/_metaMap.js\");\n\n\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !_metaMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : function(func, data) {\n _metaMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(func, data);\n return func;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSetData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSetData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSetToString.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSetToString.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_defineProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_defineProperty.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !_defineProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : function(func, string) {\n return Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string),\n 'writable': true\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSetToString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSetToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseShuffle.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseShuffle.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n/**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction baseShuffle(collection) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_values_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseShuffle);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseShuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSlice.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSlice.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSlice);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSlice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSome.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSome.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSome);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortBy.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortBy.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSortBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n/**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], retHighest);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedIndexBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedUniq);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSum.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSum.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSum);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseSum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseTimes.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseTimes.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseTimes);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseTimes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToNumber.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToNumber.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\nfunction baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return NAN;\n }\n return +value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToNumber);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseToNumber.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToPairs.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToPairs.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n\n\n/**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\nfunction baseToPairs(object, props) {\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return [key, object[key]];\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToPairs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToString.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToString.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, baseToString) + '';\n }\n if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseTrim.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseTrim.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _trimmedEndIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_trimmedEndIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js\");\n\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, Object(_trimmedEndIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseTrim);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseTrim.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUnary.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUnary.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUnary);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseUnary.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUniq.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUniq.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n/* harmony import */ var _createSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createSet.js */ \"../simple-mind-map/node_modules/lodash-es/_createSet.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : Object(_createSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(array);\n if (set) {\n return Object(_setToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(set);\n }\n isCommon = false;\n includes = _cacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n seen = new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUniq);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUnset.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUnset.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _parent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_parent.js */ \"../simple-mind-map/node_modules/lodash-es/_parent.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n object = Object(_parent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, path);\n return object == null || delete object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_last_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path))];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUnset);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseUnset.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUpdate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUpdate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n\n/**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseUpdate(object, path, updater, customizer) {\n return Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, updater(Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path)), customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUpdate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseUpdate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseValues.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseValues.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return object[key];\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseValues);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseValues.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseWhile.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseWhile.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseWhile);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n\n\n\n\n/**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\nfunction baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n result = result.value();\n }\n return Object(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(actions, function(result, action) {\n return action.func.apply(action.thisArg, Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([result], action.args));\n }, result);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseWrapperValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseXor.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseXor.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseUniq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUniq.js\");\n\n\n\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? Object(_baseUniq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return Object(_baseUniq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, 1), iteratee, comparator);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseXor);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseXor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseZipObject.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseZipObject.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\nfunction baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseZipObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_baseZipObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cacheHas.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cacheHas.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cacheHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castArrayLikeObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castFunction.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castFunction.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castFunction);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_castFunction.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castPath.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castPath.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _stringToPath_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stringToPath.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToPath.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return value;\n }\n return Object(_isKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, object) ? [value] : Object(_stringToPath_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castPath);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_castPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n/**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nvar castRest = _baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castRest);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_castRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castSlice.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castSlice.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castSlice);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_castSlice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (charsEndIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (charsStartIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Uint8Array.js */ \"../simple-mind-map/node_modules/lodash-es/_Uint8Array.js\");\n\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](result).set(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](arrayBuffer));\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneArrayBuffer);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneBuffer);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneDataView.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneDataView.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDataView);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneDataView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneRegExp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneSymbol);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneTypedArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_compareAscending.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_compareAscending.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compareAscending);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_compareAscending.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_compareMultiple.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_compareMultiple.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _compareAscending_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_compareAscending.js */ \"../simple-mind-map/node_modules/lodash-es/_compareAscending.js\");\n\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = Object(_compareAscending_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compareMultiple);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_compareMultiple.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_composeArgs.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_composeArgs.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (composeArgs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_composeArgs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (composeArgsRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copyArray.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copyArray.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copyArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_copyArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copyObject.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copyObject.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n\n\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, newValue);\n } else {\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, newValue);\n }\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copyObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_copyObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copySymbols.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copySymbols.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n\n\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copySymbols);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_copySymbols.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js\");\n\n\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copySymbolsIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_coreJsData.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_coreJsData.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]['__core-js_shared__'];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (coreJsData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_coreJsData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_countHolders.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_countHolders.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (countHolders);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_countHolders.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createAggregator.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createAggregator.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayAggregator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js\");\n/* harmony import */ var _baseAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAggregator.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayAggregator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2), accumulator);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAggregator);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createAssigner.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createAssigner.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAssigner);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createAssigner.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBaseEach.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBaseEach.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBaseEach);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createBaseEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBaseFor.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBaseFor.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBaseFor);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createBaseFor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBind.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBind.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func);\n\n function wrapper() {\n var fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBind);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createBind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n\n var strSymbols = Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCaseFirst);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCompounder.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCompounder.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n\n\n\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return Object(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_words_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_deburr_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string).replace(reApos, '')), callback, '');\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCompounder);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createCompounder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCtor.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCtor.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result) ? result : thisBinding;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCtor);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createCtor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCurry.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCurry.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _createRecurry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createRecurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createRecurry.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n\n\n\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return Object(_createRecurry_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n func, bitmask, _createHybrid_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn, this, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCurry);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createCurry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createFind.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createFind.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection)) {\n var iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3);\n collection = Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createFind);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createFind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createFlow.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createFlow.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _getFuncName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_getFuncName.js */ \"../simple-mind-map/node_modules/lodash-es/_getFuncName.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isLaziable_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_isLaziable.js */ \"../simple-mind-map/node_modules/lodash-es/_isLaziable.js\");\n\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func) == 'wrapper') {\n var wrapper = new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func),\n data = funcName == 'wrapper' ? Object(_getData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func) : undefined;\n\n if (data && Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createFlow);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createFlow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createHybrid.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createHybrid.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _composeArgs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_composeArgs.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgs.js\");\n/* harmony import */ var _composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_composeArgsRight.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js\");\n/* harmony import */ var _countHolders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_countHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_countHolders.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _createRecurry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createRecurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createRecurry.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _reorder_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_reorder.js */ \"../simple-mind-map/node_modules/lodash-es/_reorder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(wrapper),\n holdersCount = Object(_countHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(args, placeholder);\n }\n if (partials) {\n args = Object(_composeArgs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = Object(_composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(args, placeholder);\n return Object(_createRecurry_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = Object(_reorder_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"] && this instanceof wrapper) {\n fn = Ctor || Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHybrid);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createHybrid.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createInverter.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createInverter.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInverter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInverter.js\");\n\n\n/**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\nfunction createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return Object(_baseInverter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, setter, toIteratee(iteratee), {});\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createInverter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createInverter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createMathOperation.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createMathOperation.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToNumber.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToNumber.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n\n\n\n/**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\nfunction createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n other = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other);\n } else {\n value = Object(_baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n other = Object(_baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createMathOperation);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createMathOperation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createOver.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createOver.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n\n\n\n\n/**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\nfunction createOver(arrayFunc) {\n return Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function(iteratees) {\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratees, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, thisArg, args);\n });\n });\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createOver);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createOver.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createPadding.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createPadding.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRepeat.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRepeat.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil;\n\n/**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\nfunction createPadding(length, chars) {\n chars = chars === undefined ? ' ' : Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chars, length) : chars;\n }\n var result = Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chars, nativeCeil(length / Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(chars)));\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(chars)\n ? Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(result), 0, length).join('')\n : result.slice(0, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createPadding);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createPadding.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createPartial.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createPartial.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createPartial);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createPartial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRange.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRange.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRange.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRange.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n\n\n\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(step);\n return Object(_baseRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(start, end, step, fromRight);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRange);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRecurry.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRecurry.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isLaziable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isLaziable.js */ \"../simple-mind-map/node_modules/lodash-es/_isLaziable.js\");\n/* harmony import */ var _setData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_setData.js */ \"../simple-mind-map/node_modules/lodash-es/_setData.js\");\n/* harmony import */ var _setWrapToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setWrapToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setWrapToString.js\");\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func)) {\n Object(_setData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, newData);\n }\n result.placeholder = placeholder;\n return Object(_setWrapToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, func, bitmask);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRecurry);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createRecurry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n/**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\nfunction createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n other = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n }\n return operator(value, other);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRelationalOperation);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRound.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRound.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsFinite = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFinite,\n nativeMin = Math.min;\n\n/**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\nfunction createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(number);\n precision = precision == null ? 0 : nativeMin(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRound);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createRound.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createSet.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createSet.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Set.js */ \"../simple-mind-map/node_modules/lodash-es/_Set.js\");\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(_Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && (1 / Object(_setToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(new _Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]([,-0]))[1]) == INFINITY) ? _noop_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(values) {\n return new _Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](values);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createToPairs.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createToPairs.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToPairs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToPairs.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToPairs.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _mapToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_mapToArray.js\");\n/* harmony import */ var _setToPairs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_setToPairs.js */ \"../simple-mind-map/node_modules/lodash-es/_setToPairs.js\");\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\nfunction createToPairs(keysFunc) {\n return function(object) {\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n if (tag == mapTag) {\n return Object(_mapToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n }\n if (tag == setTag) {\n return Object(_setToPairs_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object);\n }\n return Object(_baseToPairs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, keysFunc(object));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createToPairs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createWrap.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createWrap.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetData.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetData.js\");\n/* harmony import */ var _createBind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBind.js */ \"../simple-mind-map/node_modules/lodash-es/_createBind.js\");\n/* harmony import */ var _createCurry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createCurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createCurry.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _createPartial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createPartial.js */ \"../simple-mind-map/node_modules/lodash-es/_createPartial.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _mergeData_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_mergeData.js */ \"../simple-mind-map/node_modules/lodash-es/_mergeData.js\");\n/* harmony import */ var _setData_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_setData.js */ \"../simple-mind-map/node_modules/lodash-es/_setData.js\");\n/* harmony import */ var _setWrapToString_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_setWrapToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setWrapToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(ary), 0);\n arity = arity === undefined ? arity : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : Object(_getData_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n Object(_mergeData_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = Object(_createBind_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = Object(_createCurry_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = Object(_createPartial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(func, bitmask, thisArg, partials);\n } else {\n result = _createHybrid_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].apply(undefined, newData);\n }\n var setter = data ? _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _setData_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n return Object(_setWrapToString_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(setter(result, newData), func, bitmask);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createWrap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_createWrap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customDefaultsAssignIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(objValue) && Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customDefaultsMerge);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customOmitClone.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customOmitClone.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? undefined : value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customOmitClone);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_customOmitClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_deburrLetter.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_deburrLetter.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(deburredLetters);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (deburrLetter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_deburrLetter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_defineProperty.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_defineProperty.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n\n\nvar defineProperty = (function() {\n try {\n var func = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defineProperty);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_defineProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalArrays.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalArrays.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!Object(_arraySome_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other, function(othValue, othIndex) {\n if (!Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalArrays);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_equalArrays.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalByTag.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalByTag.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Uint8Array.js */ \"../simple-mind-map/node_modules/lodash-es/_Uint8Array.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _equalArrays_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_equalArrays.js */ \"../simple-mind-map/node_modules/lodash-es/_equalArrays.js\");\n/* harmony import */ var _mapToArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_mapToArray.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](object), new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return Object(_eq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = _mapToArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = _setToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = Object(_equalArrays_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalByTag);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_equalByTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalObjects.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalObjects.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeys.js\");\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = Object(_getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object),\n objLength = objProps.length,\n othProps = Object(_getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalObjects);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_equalObjects.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map characters to HTML entities. */\nvar htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n/**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nvar escapeHtmlChar = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(htmlEscapes);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeHtmlChar);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to escape characters for inclusion in compiled string literals. */\nvar stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\n/**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nfunction escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeStringChar);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_flatRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_flatRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony import */ var _overRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_overRest.js */ \"../simple-mind-map/node_modules/lodash-es/_overRest.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n\n\n\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_overRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, undefined, _flatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), func + '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatRest);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_flatRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_freeGlobal.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_freeGlobal.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (freeGlobal);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_freeGlobal.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getAllKeys.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getAllKeys.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, _keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getAllKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getAllKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js\");\n/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getAllKeysIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getData.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getData.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _metaMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_metaMap.js */ \"../simple-mind-map/node_modules/lodash-es/_metaMap.js\");\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n\n\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !_metaMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _noop_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(func) {\n return _metaMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get(func);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getFuncName.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getFuncName.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _realNames_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_realNames.js */ \"../simple-mind-map/node_modules/lodash-es/_realNames.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = _realNames_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"][result],\n length = hasOwnProperty.call(_realNames_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getFuncName);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getFuncName.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getHolder.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getHolder.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getHolder);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getHolder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getMapData.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getMapData.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isKeyable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isKeyable.js */ \"../simple-mind-map/node_modules/lodash-es/_isKeyable.js\");\n\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return Object(_isKeyable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getMapData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getMapData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getMatchData.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getMatchData.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isStrictComparable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, Object(_isStrictComparable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getMatchData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getMatchData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getNative.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getNative.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNative.js\");\n/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getValue.js */ \"../simple-mind-map/node_modules/lodash-es/_getValue.js\");\n\n\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key);\n return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getNative);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getPrototype.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getPrototype.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ \"../simple-mind-map/node_modules/lodash-es/_overArg.js\");\n\n\n/** Built-in value references. */\nvar getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object.getPrototypeOf, Object);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getPrototype);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getPrototype.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getRawTag.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getRawTag.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getRawTag);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getRawTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getSymbols.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getSymbols.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getSymbols);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getSymbols.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] : function(object) {\n var result = [];\n while (object) {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object));\n object = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n }\n return result;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getSymbolsIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getTag.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getTag.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _DataView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_DataView.js */ \"../simple-mind-map/node_modules/lodash-es/_DataView.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n/* harmony import */ var _Promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Promise.js */ \"../simple-mind-map/node_modules/lodash-es/_Promise.js\");\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_Set.js */ \"../simple-mind-map/node_modules/lodash-es/_Set.js\");\n/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_WeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/_WeakMap.js\");\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toSource.js */ \"../simple-mind-map/node_modules/lodash-es/_toSource.js\");\n\n\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n mapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n promiseCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n setCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n weakMapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((_DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && getTag(new _DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](new ArrayBuffer(1))) != dataViewTag) ||\n (_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && getTag(new _Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) != mapTag) ||\n (_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && getTag(_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].resolve()) != promiseTag) ||\n (_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] && getTag(new _Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) != setTag) ||\n (_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && getTag(new _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) != weakMapTag)) {\n getTag = function(value) {\n var result = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getTag);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getValue.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getValue.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getView.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getView.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\nfunction getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getView);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getWrapDetails);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasPath.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasPath.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(length) && Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(key, length) &&\n (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasPath);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hasPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasUnicode.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasUnicode.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasUnicode);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hasUnicode.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasUnicodeWord);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashClear.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashClear.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? Object(_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(null) : {};\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashClear);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hashClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashDelete.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashDelete.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashDelete);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hashDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hashGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashHas.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashHas.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hashHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashSet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashSet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_hashSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneArray.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneArray.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_initCloneArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n/* harmony import */ var _cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneDataView.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneDataView.js\");\n/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js\");\n/* harmony import */ var _cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cloneSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js\");\n/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_cloneTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js\");\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return Object(_cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return Object(_cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneByTag);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneObject.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneObject.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n\n\n\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object))\n ? Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object))\n : {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_initCloneObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (insertWrapDetails);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isFlattenable.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isFlattenable.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/** Built-in value references. */\nvar spreadableSymbol = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFlattenable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isFlattenable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isIndex.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isIndex.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object) && Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object[index], value);\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isIterateeCall);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isKey.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isKey.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isKeyable.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isKeyable.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isKeyable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isKeyable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isLaziable.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isLaziable.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _getFuncName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getFuncName.js */ \"../simple-mind-map/node_modules/lodash-es/_getFuncName.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n\n\n\n\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func),\n other = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"][funcName];\n\n if (typeof other != 'function' || !(funcName in _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = Object(_getData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other);\n return !!data && func === data[0];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isLaziable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isLaziable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isMaskable.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isMaskable.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ \"../simple-mind-map/node_modules/lodash-es/_coreJsData.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n\n\n\n\n/**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\nvar isMaskable = _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : _stubFalse_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMaskable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isMaskable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isMasked.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isMasked.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ \"../simple-mind-map/node_modules/lodash-es/_coreJsData.js\");\n\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(_coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].keys && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMasked);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isMasked.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isPrototype.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isPrototype.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isPrototype);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isPrototype.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isStrictComparable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (iteratorToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyClone.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyClone.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n/**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\nfunction lazyClone() {\n var result = new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.__wrapped__);\n result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__views__);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyClone);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_lazyClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyReverse.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyReverse.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n\n\n/**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\nfunction lazyReverse() {\n if (this.__filtered__) {\n var result = new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyReverse);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_lazyReverse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyValue.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyValue.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseWrapperValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseWrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js\");\n/* harmony import */ var _getView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getView.js */ \"../simple-mind-map/node_modules/lodash-es/_getView.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/** Used to indicate the type of lazy iteratees. */\nvar LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\nfunction lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = Object(_getView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return Object(_baseWrapperValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyValue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_lazyValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheClear.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheClear.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheClear);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_listCacheClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheDelete);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheGet.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheGet.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_listCacheGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheHas.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheHas.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.__data__, key) > -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_listCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheSet.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheSet.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_listCacheSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Hash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Hash.js */ \"../simple-mind-map/node_modules/lodash-es/_Hash.js\");\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n\n\n\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n 'map': new (_Map_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] || _ListCache_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n 'string': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheClear);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheDelete);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key).get(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key).has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapToArray.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapToArray.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mapToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matchesStrictComparable);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = Object(_memoize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeCapped);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mergeData.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mergeData.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _composeArgs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_composeArgs.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgs.js\");\n/* harmony import */ var _composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_composeArgsRight.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? Object(_composeArgs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(partials, value, source[4]) : value;\n data[4] = partials ? Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? Object(_composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(partials, value, source[6]) : value;\n data[6] = partials ? Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_mergeData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_metaMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_metaMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_WeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/_WeakMap.js\");\n\n\n/** Used to store function metadata. */\nvar metaMap = _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && new _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (metaMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_metaMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeCreate.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeCreate.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object, 'create');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeCreate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_nativeCreate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeKeys.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeKeys.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ \"../simple-mind-map/node_modules/lodash-es/_overArg.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object.keys, Object);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_nativeKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeKeysIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nodeUtil.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nodeUtil.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ \"../simple-mind-map/node_modules/lodash-es/_freeGlobal.js\");\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nodeUtil);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_nodeUtil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_objectToString.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_objectToString.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (objectToString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_objectToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_overArg.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_overArg.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overArg);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_overArg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_overRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_overRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, otherArgs);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overRest);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_overRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_parent.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_parent.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, 0, -1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parent);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_parent.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reEscape.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reEscape.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reEscape = /<%-([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reEscape);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_reEscape.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reEvaluate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reEvaluate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reEvaluate = /<%([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reEvaluate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_reEvaluate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reInterpolate.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reInterpolate.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reInterpolate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_reInterpolate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_realNames.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_realNames.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to lookup unminified function names. */\nvar realNames = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (realNames);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_realNames.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reorder.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reorder.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reorder);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_reorder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_replaceHolders.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_replaceHolders.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (replaceHolders);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_replaceHolders.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_root.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_root.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ \"../simple-mind-map/node_modules/lodash-es/_freeGlobal.js\");\n\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] || freeSelf || Function('return this')();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (root);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_root.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_safeGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_safeGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (safeGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_safeGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setCacheAdd);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setCacheHas.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setCacheHas.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setCacheHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setData.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setData.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetData.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetData.js\");\n/* harmony import */ var _shortOut_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shortOut.js */ \"../simple-mind-map/node_modules/lodash-es/_shortOut.js\");\n\n\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = Object(_shortOut_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseSetData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setData);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToArray.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToArray.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToPairs.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToPairs.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\nfunction setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToPairs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToString.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToString.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetToString.js\");\n/* harmony import */ var _shortOut_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shortOut.js */ \"../simple-mind-map/node_modules/lodash-es/_shortOut.js\");\n\n\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = Object(_shortOut_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseSetToString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setWrapToString.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setWrapToString.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getWrapDetails_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js\");\n/* harmony import */ var _insertWrapDetails_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_insertWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n/* harmony import */ var _updateWrapDetails_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_updateWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js\");\n\n\n\n\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wrapper, Object(_insertWrapDetails_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source, Object(_updateWrapDetails_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_getWrapDetails_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source), bitmask)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setWrapToString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_setWrapToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_shortOut.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_shortOut.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shortOut);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_shortOut.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n\n\n/**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\nfunction shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shuffleSelf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackClear.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackClear.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackClear);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stackClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackDelete.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackDelete.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackDelete);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stackDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackGet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackGet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackGet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stackGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackHas.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackHas.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackHas);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stackHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackSet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackSet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var pairs = data.__data__;\n if (!_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stackSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (strictIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (strictLastIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringSize.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringSize.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _asciiSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_asciiSize.js */ \"../simple-mind-map/node_modules/lodash-es/_asciiSize.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _unicodeSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_unicodeSize.js */ \"../simple-mind-map/node_modules/lodash-es/_unicodeSize.js\");\n\n\n\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_unicodeSize_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : Object(_asciiSize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stringSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringToArray.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringToArray.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _asciiToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_asciiToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_asciiToArray.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _unicodeToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_unicodeToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js\");\n\n\n\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_unicodeToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : Object(_asciiToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stringToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringToPath.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringToPath.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_memoizeCapped.js */ \"../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js\");\n\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = Object(_memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringToPath);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_stringToPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_toKey.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_toKey.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (toKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_toKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_toSource.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_toSource.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (toSource);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_toSource.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (trimmedEndIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map HTML entities to characters. */\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\nvar unescapeHtmlChar = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(htmlUnescapes);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unescapeHtmlChar);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeSize.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeSize.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_unicodeSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeToArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeWords.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeWords.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeWords);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_unicodeWords.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !Object(_arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (updateWrapDetails);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_wrapperClone.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_wrapperClone.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n return wrapper.clone();\n }\n var result = new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperClone);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/_wrapperClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/add.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/add.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\nvar add = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(augend, addend) {\n return augend + addend;\n}, 0);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (add);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/add.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/after.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/after.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\nfunction after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (after);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/after.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/array.default.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/array.default.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n chunk: _chunk_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], compact: _compact_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], concat: _concat_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], difference: _difference_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], differenceBy: _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n differenceWith: _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], drop: _drop_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], dropRight: _dropRight_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], dropRightWhile: _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], dropWhile: _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n fill: _fill_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], findIndex: _findIndex_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], findLastIndex: _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], first: _first_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], flatten: _flatten_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n flattenDeep: _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], flattenDepth: _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], fromPairs: _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], head: _head_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], indexOf: _indexOf_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n initial: _initial_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], intersection: _intersection_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], intersectionBy: _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], intersectionWith: _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], join: _join_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n last: _last_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], lastIndexOf: _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], nth: _nth_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], pull: _pull_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], pullAll: _pullAll_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n pullAllBy: _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], pullAllWith: _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], pullAt: _pullAt_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], remove: _remove_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], reverse: _reverse_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n slice: _slice_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], sortedIndex: _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], sortedIndexBy: _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], sortedIndexOf: _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], sortedLastIndex: _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n sortedLastIndexBy: _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], sortedLastIndexOf: _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], sortedUniq: _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], sortedUniqBy: _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], tail: _tail_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n take: _take_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], takeRight: _takeRight_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"], takeRightWhile: _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"], takeWhile: _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"], union: _union_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"],\n unionBy: _unionBy_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"], unionWith: _unionWith_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"], uniq: _uniq_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"], uniqBy: _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"], uniqWith: _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"],\n unzip: _unzip_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"], unzipWith: _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"], without: _without_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"], xor: _xor_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"], xorBy: _xorBy_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"],\n xorWith: _xorWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"], zip: _zip_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"], zipObject: _zipObject_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"], zipObjectDeep: _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"], zipWith: _zipWith_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/array.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/array.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/array.js ***! + \**********************************************************/ +/*! exports provided: chunk, compact, concat, difference, differenceBy, differenceWith, drop, dropRight, dropRightWhile, dropWhile, fill, findIndex, findLastIndex, first, flatten, flattenDeep, flattenDepth, fromPairs, head, indexOf, initial, intersection, intersectionBy, intersectionWith, join, last, lastIndexOf, nth, pull, pullAll, pullAllBy, pullAllWith, pullAt, remove, reverse, slice, sortedIndex, sortedIndexBy, sortedIndexOf, sortedLastIndex, sortedLastIndexBy, sortedLastIndexOf, sortedUniq, sortedUniqBy, tail, take, takeRight, takeRightWhile, takeWhile, union, unionBy, unionWith, uniq, uniqBy, uniqWith, unzip, unzipWith, without, xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, zipWith, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chunk\", function() { return _chunk_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compact\", function() { return _compact_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceBy\", function() { return _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRight\", function() { return _dropRight_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRightWhile\", function() { return _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _fill_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"first\", function() { return _first_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDeep\", function() { return _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDepth\", function() { return _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initial\", function() { return _initial_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionBy\", function() { return _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionWith\", function() { return _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pull\", function() { return _pull_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAll\", function() { return _pullAll_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllBy\", function() { return _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllWith\", function() { return _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAt\", function() { return _pullAt_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndex\", function() { return _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexBy\", function() { return _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexOf\", function() { return _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndex\", function() { return _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexBy\", function() { return _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexOf\", function() { return _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniqBy\", function() { return _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRight\", function() { return _takeRight_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRightWhile\", function() { return _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionBy\", function() { return _unionBy_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return _unzip_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzipWith\", function() { return _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xor\", function() { return _xor_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorBy\", function() { return _xorBy_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorWith\", function() { return _xorWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObject\", function() { return _zipObject_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObjectDeep\", function() { return _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _array_default_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./array.default.js */ \"../simple-mind-map/node_modules/lodash-es/array.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _array_default_js__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/array.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/ary.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/ary.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_ARY_FLAG = 128;\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\nfunction ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ary);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/ary.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assign.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assign.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(object, source) {\n if (Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(source) || Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source)) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, source[key]);\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assign);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/assign.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignIn.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignIn.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/assignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignInWith.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignInWith.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignInWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/assignInWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/assignWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/at.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/at.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAt.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\nvar at = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (at);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/at.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/attempt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/attempt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n\n\n\n\n/**\n * Attempts to invoke `func`, returning either the result or the caught error\n * object. Any additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Function} func The function to attempt.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {*} Returns the `func` result or error object.\n * @example\n *\n * // Avoid throwing errors for invalid selectors.\n * var elements = _.attempt(function(selector) {\n * return document.querySelectorAll(selector);\n * }, '>_>');\n *\n * if (_.isError(elements)) {\n * elements = [];\n * }\n */\nvar attempt = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, args) {\n try {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, undefined, args);\n } catch (e) {\n return Object(_isError_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e) ? e : new Error(e);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (attempt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/attempt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/before.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/before.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (before);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/before.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bind.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bind.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\nvar bind = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, bitmask, thisArg, partials, holders);\n});\n\n// Assign default placeholders.\nbind.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bind);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/bind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bindAll.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bindAll.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * Binds methods of an object to the object itself, overwriting the existing\n * method.\n *\n * **Note:** This method doesn't set the \"length\" property of bound functions.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Object} object The object to bind and assign the bound methods to.\n * @param {...(string|string[])} methodNames The object method names to bind.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var view = {\n * 'label': 'docs',\n * 'click': function() {\n * console.log('clicked ' + this.label);\n * }\n * };\n *\n * _.bindAll(view, ['click']);\n * jQuery(element).on('click', view.click);\n * // => Logs 'clicked docs' when clicked.\n */\nvar bindAll = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(object, methodNames) {\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(methodNames, function(key) {\n key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(key);\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, Object(_bind_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object[key], object));\n });\n return object;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bindAll);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/bindAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bindKey.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bindKey.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\nvar bindKey = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, bitmask, object, partials, holders);\n});\n\n// Assign default placeholders.\nbindKey.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bindKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/bindKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/camelCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/camelCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? Object(_capitalize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(word) : word);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (camelCase);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/camelCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/capitalize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/capitalize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n\n\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return Object(_upperFirst_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string).toLowerCase());\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (capitalize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/capitalize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/castArray.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/castArray.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : [value];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/castArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/ceil.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/ceil.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded up to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round up.\n * @param {number} [precision=0] The precision to round up to.\n * @returns {number} Returns the rounded up number.\n * @example\n *\n * _.ceil(4.006);\n * // => 5\n *\n * _.ceil(6.004, 2);\n * // => 6.01\n *\n * _.ceil(6040, -2);\n * // => 6100\n */\nvar ceil = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('ceil');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ceil);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/ceil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/chain.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/chain.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n\n\n/**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\nfunction chain(value) {\n var result = Object(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n result.__chain__ = true;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (chain);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/chain.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/chunk.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/chunk.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\nfunction chunk(array, size, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, index, (index += size));\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (chunk);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/chunk.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/clamp.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/clamp.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lower);\n lower = lower === lower ? lower : 0;\n }\n return Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(number), lower, upper);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (clamp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/clamp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/clone.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/clone.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_SYMBOLS_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (clone);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/clone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneDeep.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneDeep.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/cloneDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\nfunction cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDeepWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneWith.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneWith.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\nfunction cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_SYMBOLS_FLAG, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/cloneWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/collection.default.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/collection.default.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n countBy: _countBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], each: _each_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], eachRight: _eachRight_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], every: _every_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], filter: _filter_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n find: _find_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], findLast: _findLast_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], flatMap: _flatMap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], flatMapDeep: _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], flatMapDepth: _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n forEach: _forEach_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], forEachRight: _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], groupBy: _groupBy_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], includes: _includes_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], invokeMap: _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n keyBy: _keyBy_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], map: _map_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], orderBy: _orderBy_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], partition: _partition_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], reduce: _reduce_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n reduceRight: _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], reject: _reject_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], sample: _sample_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], sampleSize: _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], shuffle: _shuffle_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n size: _size_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], some: _some_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], sortBy: _sortBy_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/collection.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/collection.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/collection.js ***! + \***************************************************************/ +/*! exports provided: countBy, each, eachRight, every, filter, find, findLast, flatMap, flatMapDeep, flatMapDepth, forEach, forEachRight, groupBy, includes, invokeMap, keyBy, map, orderBy, partition, reduce, reduceRight, reject, sample, sampleSize, shuffle, size, some, sortBy, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return _each_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachRight\", function() { return _eachRight_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"every\", function() { return _every_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMap\", function() { return _flatMap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDeep\", function() { return _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDepth\", function() { return _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachRight\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"includes\", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invokeMap\", function() { return _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keyBy\", function() { return _keyBy_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderBy\", function() { return _orderBy_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return _sample_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sampleSize\", function() { return _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"size\", function() { return _size_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return _some_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _collection_default_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./collection.default.js */ \"../simple-mind-map/node_modules/lodash-es/collection.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _collection_default_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/collection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/commit.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/commit.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n\n\n/**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\nfunction wrapperCommit() {\n return new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.value(), this.__chain__);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperCommit);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/commit.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/compact.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/compact.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compact);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/compact.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/concat.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/concat.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\nfunction concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array) ? Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array) : [array], Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(args, 1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (concat);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/concat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cond.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cond.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that iterates over `pairs` and invokes the corresponding\n * function of the first predicate to return truthy. The predicate-function\n * pairs are invoked with the `this` binding and arguments of the created\n * function.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Array} pairs The predicate-function pairs.\n * @returns {Function} Returns the new composite function.\n * @example\n *\n * var func = _.cond([\n * [_.matches({ 'a': 1 }), _.constant('matches A')],\n * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n * [_.stubTrue, _.constant('no match')]\n * ]);\n *\n * func({ 'a': 1, 'b': 2 });\n * // => 'matches A'\n *\n * func({ 'a': 0, 'b': 1 });\n * // => 'matches B'\n *\n * func({ 'a': '1', 'b': '2' });\n * // => 'no match'\n */\nfunction cond(pairs) {\n var length = pairs == null ? 0 : pairs.length,\n toIteratee = _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n pairs = !length ? [] : Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pairs, function(pair) {\n if (typeof pair[1] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return [toIteratee(pair[0]), pair[1]];\n });\n\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(args) {\n var index = -1;\n while (++index < length) {\n var pair = pairs[index];\n if (Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pair[0], this, args)) {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pair[1], this, args);\n }\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cond);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/cond.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/conforms.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/conforms.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseConforms_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseConforms.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConforms.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes the predicate properties of `source` with\n * the corresponding property values of a given object, returning `true` if\n * all predicates return truthy, else `false`.\n *\n * **Note:** The created function is equivalent to `_.conformsTo` with\n * `source` partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 2, 'b': 1 },\n * { 'a': 1, 'b': 2 }\n * ];\n *\n * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n * // => [{ 'a': 1, 'b': 2 }]\n */\nfunction conforms(source) {\n return Object(_baseConforms_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (conforms);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/conforms.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/conformsTo.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/conformsTo.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseConformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\nfunction conformsTo(object, source) {\n return source == null || Object(_baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (conformsTo);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/conformsTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/constant.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/constant.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (constant);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/constant.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/countBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/countBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\nvar countBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, 1);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (countBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/countBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/create.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/create.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssign.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssign.js\");\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n\n\n\n/**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\nfunction create(prototype, properties) {\n var result = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prototype);\n return properties == null ? result : Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, properties);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (create);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/create.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/curry.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/curry.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (curry);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/curry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/curryRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/curryRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_RIGHT_FLAG = 16;\n\n/**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\nfunction curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurryRight.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (curryRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/curryRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/date.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/date.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n now: _now_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/date.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/date.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/date.js ***! + \*********************************************************/ +/*! exports provided: now, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return _now_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _date_default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./date.default.js */ \"../simple-mind-map/node_modules/lodash-es/date.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _date_default_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/date.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/debounce.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/debounce.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wait) || 0;\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])());\n }\n\n function debounced() {\n var time = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (debounce);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/debounce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/deburr.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/deburr.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _deburrLetter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_deburrLetter.js */ \"../simple-mind-map/node_modules/lodash-es/_deburrLetter.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string);\n return string && string.replace(reLatin, _deburrLetter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]).replace(reComboMark, '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (deburr);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/deburr.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaultTo.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaultTo.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks `value` to determine whether a default value should be returned in\n * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n * or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Util\n * @param {*} value The value to check.\n * @param {*} defaultValue The default value.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * _.defaultTo(1, 10);\n * // => 1\n *\n * _.defaultTo(undefined, 10);\n * // => 10\n */\nfunction defaultTo(value, defaultValue) {\n return (value == null || value !== value) ? defaultValue : value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultTo);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/defaultTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaults.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaults.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaults);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/defaults.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaultsDeep.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaultsDeep.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _customDefaultsMerge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_customDefaultsMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js\");\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n\n\n\n\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(args) {\n args.push(undefined, _customDefaultsMerge_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_mergeWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], undefined, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultsDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/defaultsDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defer.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defer.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDelay_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDelay.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDelay.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\nvar defer = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, args) {\n return Object(_baseDelay_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, 1, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defer);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/defer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/delay.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/delay.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDelay_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDelay.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDelay.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\nvar delay = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, wait, args) {\n return Object(_baseDelay_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wait) || 0, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (delay);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/delay.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/difference.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/difference.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n\n\n\n\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(array, values) {\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], true))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (difference);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/difference.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/differenceBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/differenceBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(array, values) {\n var iteratee = Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(values);\n if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee)) {\n iteratee = undefined;\n }\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], true), Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/differenceBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/differenceWith.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/differenceWith.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\nvar differenceWith = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(array, values) {\n var comparator = Object(_last_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(values);\n if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(comparator)) {\n comparator = undefined;\n }\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], true), undefined, comparator)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/differenceWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/divide.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/divide.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Divide two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} dividend The first number in a division.\n * @param {number} divisor The second number in a division.\n * @returns {number} Returns the quotient.\n * @example\n *\n * _.divide(6, 4);\n * // => 1.5\n */\nvar divide = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(dividend, divisor) {\n return dividend / divisor;\n}, 1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (divide);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/divide.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/drop.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/drop.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, n < 0 ? 0 : n, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (drop);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/drop.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n n = length - n;\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, n < 0 ? 0 : n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/dropRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropRightWhile.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropRightWhile.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\nfunction dropRightWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), true, true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRightWhile);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/dropRightWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropWhile.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropWhile.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\nfunction dropWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropWhile);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/dropWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/each.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/each.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/each.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/eachRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/eachRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/eachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/endsWith.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/endsWith.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n target = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (endsWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/endsWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/entries.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/entries.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/entries.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/entriesIn.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/entriesIn.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/entriesIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/eq.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/eq.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (eq);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/eq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/escape.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/escape.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _escapeHtmlChar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_escapeHtmlChar.js */ \"../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, _escapeHtmlChar_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escape);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/escape.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/escapeRegExp.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/escapeRegExp.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeRegExp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/escapeRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/every.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/every.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEvery.js\");\n/* harmony import */ var _baseEvery_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEvery.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEvery_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (every);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/every.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/extend.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/extend.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/extend.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/extendWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/extendWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/extendWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/fill.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/fill.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFill.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFill.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n/**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\nfunction fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, start)) {\n start = 0;\n end = length;\n }\n return Object(_baseFill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (fill);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/fill.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/filter.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/filter.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFilter.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (filter);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/filter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/find.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/find.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFind.js */ \"../simple-mind-map/node_modules/lodash-es/_createFind.js\");\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n\n\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = Object(_createFind_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_findIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (find);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/find.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findIndex.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findIndex.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3), index);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/findIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findKey.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findKey.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindKey.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindKey.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\nfunction findKey(object, predicate) {\n return Object(_baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3), _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/findKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLast.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLast.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFind.js */ \"../simple-mind-map/node_modules/lodash-es/_createFind.js\");\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n\n\n\n/**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\nvar findLast = Object(_createFind_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_findLastIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLast);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/findLast.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLastIndex.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLastIndex.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3), index, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/findLastIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLastKey.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLastKey.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindKey.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindKey.js\");\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\nfunction findLastKey(object, predicate) {\n return Object(_baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3), _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastKey);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/findLastKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/first.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/first.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/first.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMap.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMap.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n\n\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), 1);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flatMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMapDeep.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMapDeep.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMapDeep(collection, iteratee) {\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), INFINITY);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMapDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flatMapDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMapDepth.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMapDepth.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\nfunction flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(depth);\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), depth);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMapDepth);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flatMapDepth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatten.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatten.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 1) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatten);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flatten.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flattenDeep.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flattenDeep.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\nfunction flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, INFINITY) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flattenDeep);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flattenDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flattenDepth.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flattenDepth.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\nfunction flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(depth);\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, depth);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flattenDepth);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flattenDepth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flip.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flip.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\nfunction flip(func) {\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_FLIP_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flip);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flip.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/floor.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/floor.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded down to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round down.\n * @param {number} [precision=0] The precision to round down to.\n * @returns {number} Returns the rounded down number.\n * @example\n *\n * _.floor(4.006);\n * // => 4\n *\n * _.floor(0.046, 2);\n * // => 0.04\n *\n * _.floor(4060, -2);\n * // => 4000\n */\nvar floor = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('floor');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (floor);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/floor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flow.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flow.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFlow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFlow.js */ \"../simple-mind-map/node_modules/lodash-es/_createFlow.js\");\n\n\n/**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flow = Object(_createFlow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flow);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flowRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flowRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFlow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFlow.js */ \"../simple-mind-map/node_modules/lodash-es/_createFlow.js\");\n\n\n/**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flowRight = Object(_createFlow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flowRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/flowRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forEach.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forEach.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEach);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forEachRight.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forEachRight.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEachRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js\");\n/* harmony import */ var _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEachRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\nfunction forEachRight(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEachRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEachRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forIn.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forIn.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\nfunction forIn(object, iteratee) {\n return object == null\n ? object\n : Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee), _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forInRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forInRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\nfunction forInRight(object, iteratee) {\n return object == null\n ? object\n : Object(_baseForRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee), _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forInRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forInRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forOwn.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forOwn.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n\n\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forOwn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forOwn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forOwnRight.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forOwnRight.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n\n\n\n/**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\nfunction forOwnRight(object, iteratee) {\n return object && Object(_baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forOwnRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/forOwnRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/fromPairs.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/fromPairs.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (fromPairs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/fromPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/function.default.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/function.default.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n after: _after_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], ary: _ary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], before: _before_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], bind: _bind_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], bindKey: _bindKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n curry: _curry_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], curryRight: _curryRight_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], debounce: _debounce_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], defer: _defer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], delay: _delay_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n flip: _flip_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], memoize: _memoize_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], negate: _negate_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], once: _once_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], overArgs: _overArgs_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n partial: _partial_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], partialRight: _partialRight_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], rearg: _rearg_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], rest: _rest_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], spread: _spread_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n throttle: _throttle_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], unary: _unary_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], wrap: _wrap_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/function.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/function.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/function.js ***! + \*************************************************************/ +/*! exports provided: after, ary, before, bind, bindKey, curry, curryRight, debounce, defer, delay, flip, memoize, negate, once, overArgs, partial, partialRight, rearg, rest, spread, throttle, unary, wrap, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"after\", function() { return _after_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ary\", function() { return _ary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"before\", function() { return _before_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindKey\", function() { return _bindKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryRight\", function() { return _curryRight_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return _debounce_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defer\", function() { return _defer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overArgs\", function() { return _overArgs_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rearg\", function() { return _rearg_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rest\", function() { return _rest_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"spread\", function() { return _spread_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _throttle_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrap\", function() { return _wrap_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _function_default_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./function.default.js */ \"../simple-mind-map/node_modules/lodash-es/function.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _function_default_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/function.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/functions.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/functions.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\nfunction functions(object) {\n return object == null ? [] : Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (functions);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/functions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/functionsIn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/functionsIn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n/**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\nfunction functionsIn(object) {\n return object == null ? [] : Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (functionsIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/functionsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/get.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/get.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (get);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/get.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/groupBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/groupBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, [value]);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/groupBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/gt.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/gt.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n\n/**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\nvar gt = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseGt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (gt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/gt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/gte.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/gte.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n/**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\nvar gte = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(value, other) {\n return value >= other;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (gte);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/gte.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/has.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/has.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseHas_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseHas.js */ \"../simple-mind-map/node_modules/lodash-es/_baseHas.js\");\n/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasPath.js */ \"../simple-mind-map/node_modules/lodash-es/_hasPath.js\");\n\n\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, _baseHas_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (has);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/has.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/hasIn.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/hasIn.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseHasIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseHasIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseHasIn.js\");\n/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasPath.js */ \"../simple-mind-map/node_modules/lodash-es/_hasPath.js\");\n\n\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, _baseHasIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/hasIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/head.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/head.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (head);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/head.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/identity.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/identity.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (identity);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/identity.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/inRange.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/inRange.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInRange.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInRange.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\nfunction inRange(number, start, end) {\n start = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(end);\n }\n number = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(number);\n return Object(_baseInRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(number, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inRange);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/inRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/includes.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/includes.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection) ? collection : Object(_values_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection);\n fromIndex = (fromIndex && !guard) ? Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return Object(_isString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, value, fromIndex) > -1);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (includes);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/includes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/indexOf.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/indexOf.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\nfunction indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, index);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/indexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/initial.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/initial.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\nfunction initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, -1) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initial);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/initial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersection.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersection.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n\n\n\n\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(arrays) {\n var mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersection);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/intersection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersectionBy.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersectionBy.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n\n/**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\nvar intersectionBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(arrays) {\n var iteratee = Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(arrays),\n mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n if (iteratee === Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersectionBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/intersectionBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersectionWith.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersectionWith.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\nvar intersectionWith = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(arrays) {\n var comparator = Object(_last_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(arrays),\n mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped, undefined, comparator)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersectionWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/intersectionWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invert.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invert.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony import */ var _createInverter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_createInverter.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\nvar invert = Object(_createInverter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n}, Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invert);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/invert.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invertBy.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invertBy.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _createInverter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_createInverter.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\nvar invertBy = Object(_createInverter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n}, _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invertBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/invertBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invoke.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invoke.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invoke);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/invoke.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invokeMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invokeMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n\n\n/**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\nvar invokeMap = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? Array(collection.length) : [];\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, function(value) {\n result[++index] = isFunc ? Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, value, args) : Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value, path, args);\n });\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invokeMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/invokeMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArguments.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArguments.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArguments.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = Object(_baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function() { return arguments; }()) ? _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : function(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArguments);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isArguments.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArray.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArray.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsArrayBuffer = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isArrayBuffer;\n\n/**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\nvar isArrayBuffer = nodeIsArrayBuffer ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsArrayBuffer) : _baseIsArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayBuffer);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayLike.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayLike.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n\n\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value.length) && !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayLike);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isArrayLike.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayLikeObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isBoolean.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isBoolean.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == boolTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isBoolean);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isBoolean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isBuffer.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isBuffer.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isBuffer);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isDate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isDate.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsDate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsDate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsDate.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsDate = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsDate) : _baseIsDate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isDate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isDate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isElement.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isElement.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n\n/**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\nfunction isElement(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value.nodeType === 1 && !Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isElement);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isElement.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEmpty.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEmpty.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value) &&\n (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value) || Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(value) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value))) {\n return !value.length;\n }\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(value)) {\n return !Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEmpty);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isEmpty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEqual.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEqual.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEqual);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isEqual.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEqualWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEqualWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other, undefined, customizer) : !!result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEqualWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isEqualWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isError.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isError.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isError);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isError.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isFinite.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isFinite.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsFinite = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFinite;\n\n/**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\nfunction isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFinite);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isFinite.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isFunction.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isFunction.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFunction);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isFunction.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isInteger.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isInteger.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isInteger);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isInteger.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isLength.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isLength.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isLength);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isLength.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMap.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMap.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsMap = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsMap) : _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMatch.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMatch.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n\n\n\n/**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\nfunction isMatch(object, source) {\n return object === source || Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMatch);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isMatch.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMatchWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMatchWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n\n\n\n/**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\nfunction isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMatchWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isMatchWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNaN.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNaN.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return Object(_isNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value != +value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNaN);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isNaN.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNative.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNative.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNative.js\");\n/* harmony import */ var _isMaskable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMaskable.js */ \"../simple-mind-map/node_modules/lodash-es/_isMaskable.js\");\n\n\n\n/** Error message constants. */\nvar CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.';\n\n/**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (Object(_isMaskable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNative);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNil.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNil.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNil);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isNil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNull.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNull.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n return value === null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNull);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isNull.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNumber.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNumber.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == numberTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNumber);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isNumber.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isObject.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isObject.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isObjectLike.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isObjectLike.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isObjectLike);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isObjectLike.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isPlainObject.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isPlainObject.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) != objectTag) {\n return false;\n }\n var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isPlainObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isPlainObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isRegExp.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isRegExp.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsRegExp = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsRegExp) : _baseIsRegExp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isRegExp);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSafeInteger.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSafeInteger.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\nfunction isSafeInteger(value) {\n return Object(_isInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSafeInteger);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isSafeInteger.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSet.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSet.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsSet.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsSet = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsSet) : _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isString.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isString.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == stringTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSymbol.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSymbol.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == symbolTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSymbol);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isSymbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isTypedArray.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isTypedArray.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsTypedArray) : _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isTypedArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isUndefined.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isUndefined.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isUndefined);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isUndefined.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isWeakMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isWeakMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar weakMapTag = '[object WeakMap]';\n\n/**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\nfunction isWeakMap(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == weakMapTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isWeakMap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isWeakMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isWeakSet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isWeakSet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar weakSetTag = '[object WeakSet]';\n\n/**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\nfunction isWeakSet(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == weakSetTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isWeakSet);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/isWeakSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/iteratee.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/iteratee.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(typeof func == 'function' ? func : Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (iteratee);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/iteratee.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/join.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/join.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeJoin = arrayProto.join;\n\n/**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\nfunction join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (join);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/join.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/kebabCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/kebabCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (kebabCase);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/kebabCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keyBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keyBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\nvar keyBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, value);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keyBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/keyBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keys.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keys.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js\");\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object) : Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/keys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keysIn.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keysIn.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js\");\n/* harmony import */ var _baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, true) : Object(_baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keysIn);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/keysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lang.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lang.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n castArray: _castArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], clone: _clone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], cloneDeep: _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], cloneDeepWith: _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], cloneWith: _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n conformsTo: _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], eq: _eq_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], gt: _gt_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], gte: _gte_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], isArguments: _isArguments_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n isArray: _isArray_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], isArrayBuffer: _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], isArrayLike: _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], isArrayLikeObject: _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], isBoolean: _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n isBuffer: _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], isDate: _isDate_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], isElement: _isElement_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], isEmpty: _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], isEqual: _isEqual_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n isEqualWith: _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], isError: _isError_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], isFinite: _isFinite_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], isFunction: _isFunction_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], isInteger: _isInteger_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n isLength: _isLength_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], isMap: _isMap_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], isMatch: _isMatch_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], isMatchWith: _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], isNaN: _isNaN_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n isNative: _isNative_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], isNil: _isNil_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], isNull: _isNull_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], isNumber: _isNumber_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], isObject: _isObject_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n isObjectLike: _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], isPlainObject: _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], isRegExp: _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], isSafeInteger: _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], isSet: _isSet_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n isString: _isString_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], isSymbol: _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], isTypedArray: _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], isUndefined: _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], isWeakMap: _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n isWeakSet: _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], lt: _lt_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"], lte: _lte_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"], toArray: _toArray_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"], toFinite: _toFinite_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"],\n toInteger: _toInteger_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"], toLength: _toLength_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"], toNumber: _toNumber_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"], toPlainObject: _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"], toSafeInteger: _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"],\n toString: _toString_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lang.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lang.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lang.js ***! + \*********************************************************/ +/*! exports provided: castArray, clone, cloneDeep, cloneDeepWith, cloneWith, conformsTo, eq, gt, gte, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, lt, lte, toArray, toFinite, toInteger, toLength, toNumber, toPlainObject, toSafeInteger, toString, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"castArray\", function() { return _castArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeep\", function() { return _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeepWith\", function() { return _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneWith\", function() { return _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conformsTo\", function() { return _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eq\", function() { return _eq_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArguments\", function() { return _isArguments_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return _isArray_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayBuffer\", function() { return _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLikeObject\", function() { return _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBuffer\", function() { return _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return _isDate_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return _isElement_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return _isEqual_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqualWith\", function() { return _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isError\", function() { return _isError_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFinite\", function() { return _isFinite_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return _isFunction_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isInteger\", function() { return _isInteger_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLength\", function() { return _isLength_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMap\", function() { return _isMap_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return _isMatch_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatchWith\", function() { return _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNaN\", function() { return _isNaN_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNative\", function() { return _isNative_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return _isNull_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return _isNumber_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _isObject_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSafeInteger\", function() { return _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSet\", function() { return _isSet_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _isString_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakMap\", function() { return _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakSet\", function() { return _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return _toArray_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toFinite\", function() { return _toFinite_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toInteger\", function() { return _toInteger_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLength\", function() { return _toLength_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return _toNumber_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPlainObject\", function() { return _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toSafeInteger\", function() { return _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _lang_default_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./lang.default.js */ \"../simple-mind-map/node_modules/lodash-es/lang.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _lang_default_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lang.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/last.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/last.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (last);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/last.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lastIndexOf.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lastIndexOf.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsNaN.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js\");\n/* harmony import */ var _strictLastIndexOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_strictLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\nfunction lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? Object(_strictLastIndexOf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, value, index)\n : Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], index, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lastIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lodash.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lodash.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array.js */ \"../simple-mind-map/node_modules/lodash-es/array.js\");\n/* harmony import */ var _collection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./collection.js */ \"../simple-mind-map/node_modules/lodash-es/collection.js\");\n/* harmony import */ var _date_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./date.js */ \"../simple-mind-map/node_modules/lodash-es/date.js\");\n/* harmony import */ var _function_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./function.js */ \"../simple-mind-map/node_modules/lodash-es/function.js\");\n/* harmony import */ var _lang_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lang.js */ \"../simple-mind-map/node_modules/lodash-es/lang.js\");\n/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./math.js */ \"../simple-mind-map/node_modules/lodash-es/math.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./number.js */ \"../simple-mind-map/node_modules/lodash-es/number.js\");\n/* harmony import */ var _object_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./object.js */ \"../simple-mind-map/node_modules/lodash-es/object.js\");\n/* harmony import */ var _seq_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./seq.js */ \"../simple-mind-map/node_modules/lodash-es/seq.js\");\n/* harmony import */ var _string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./string.js */ \"../simple-mind-map/node_modules/lodash-es/string.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./util.js */ \"../simple-mind-map/node_modules/lodash-es/util.js\");\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _lazyClone_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./_lazyClone.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyClone.js\");\n/* harmony import */ var _lazyReverse_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./_lazyReverse.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyReverse.js\");\n/* harmony import */ var _lazyValue_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./_lazyValue.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyValue.js\");\n/* harmony import */ var _mixin_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./mixin.js */ \"../simple-mind-map/node_modules/lodash-es/mixin.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _realNames_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./_realNames.js */ \"../simple-mind-map/node_modules/lodash-es/_realNames.js\");\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** Used as the semantic version number. */\nvar VERSION = '4.17.21';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_KEY_FLAG = 2;\n\n/** Used to indicate the type of lazy iteratees. */\nvar LAZY_FILTER_FLAG = 1,\n LAZY_WHILE_FLAG = 3;\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar symIterator = _Symbol_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"].iterator : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n// wrap `_.mixin` so it works when provided only one argument\nvar mixin = (function(func) {\n return function(object, source, options) {\n if (options == null) {\n var isObj = Object(_isObject_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"])(source),\n props = isObj && Object(_keys_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"])(source),\n methodNames = props && props.length && Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(source, props);\n\n if (!(methodNames ? methodNames.length : isObj)) {\n options = source;\n source = object;\n object = this;\n }\n }\n return func(object, source, options);\n };\n}(_mixin_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]));\n\n// Add methods that return wrapped values in chain sequences.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].after = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].after;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].ary = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ary;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assign = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assign;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignInWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignInWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].at = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].at;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].before = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].before;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bind = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bindAll = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].bindAll;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bindKey = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bindKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].castArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].castArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].chain = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].chain;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].chunk = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].chunk;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].compact = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].compact;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].concat = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].concat;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cond = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].cond;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].conforms = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].conforms;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].constant = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].constant;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].countBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].countBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].create = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].create;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].curry = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].curry;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].curryRight = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].curryRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].debounce = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debounce;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaults = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].defaults;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaultsDeep = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].defaultsDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defer = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].defer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].delay = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].delay;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].difference = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].difference;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].differenceBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].differenceBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].differenceWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].differenceWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].drop = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].drop;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropRight = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropRightWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropRightWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].fill = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fill;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].filter = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].filter;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMap = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMapDeep = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMapDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMapDepth = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMapDepth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatten = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flatten;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flattenDeep = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flattenDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flattenDepth = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flattenDepth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flip = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].flip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flow = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].flow;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flowRight = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].flowRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].fromPairs = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fromPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].functions = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].functions;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].functionsIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].functionsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].groupBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].groupBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].initial = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].initial;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersection = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersection;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersectionBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersectionBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersectionWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersectionWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invert = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invert;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invertBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invertBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invokeMap = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].invokeMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].iteratee = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].iteratee;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keyBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].keyBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keys = _keys_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keysIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].keysIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].map = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].map;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mapKeys = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mapKeys;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mapValues = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mapValues;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].matches = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].matches;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].matchesProperty = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].matchesProperty;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].memoize = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].memoize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].merge = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].merge;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mergeWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mergeWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].method = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].method;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].methodOf = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].methodOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mixin = mixin;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].negate = _negate_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].nthArg = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].nthArg;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].omit = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].omit;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].omitBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].omitBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].once = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].once;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].orderBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].orderBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].over = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].over;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overArgs = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].overArgs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overEvery = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].overEvery;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overSome = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].overSome;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partial = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].partial;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partialRight = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].partialRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partition = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].partition;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pick = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].pick;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pickBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].pickBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].property = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].property;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].propertyOf = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].propertyOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pull = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pull;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAll = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAll;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAllBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAllBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAllWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAllWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAt = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].range = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].range;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rangeRight = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].rangeRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rearg = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].rearg;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reject = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].remove = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].remove;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rest = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].rest;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reverse = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].reverse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sampleSize = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sampleSize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].set = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].set;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].setWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].setWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].shuffle = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shuffle;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].slice = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].slice;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sortBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedUniq = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedUniq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedUniqBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedUniqBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].split = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].split;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].spread = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].spread;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].tail = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].tail;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].take = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].take;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeRight = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeRightWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeRightWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].tap = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].tap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].throttle = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].throttle;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].thru = _thru_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPairs = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPairsIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPath = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].toPath;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPlainObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toPlainObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].transform = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].transform;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unary = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].unary;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].union = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].union;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unionBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unionBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unionWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unionWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniq = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniqBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniqWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unset = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].unset;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unzip = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unzip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unzipWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unzipWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].update = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].update;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].updateWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].updateWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].values = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].values;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].valuesIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].valuesIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].without = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].without;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].words = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].words;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].wrap = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].wrap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xor = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xor;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xorBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xorBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xorWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xorWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zip = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipObject = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipObjectDeep = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipObjectDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipWith;\n\n// Add aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].entries = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].entriesIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].extend = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].extendWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignInWith;\n\n// Add methods to `lodash.prototype`.\nmixin(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]);\n\n// Add methods that return unwrapped values in chain sequences.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].add = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].add;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].attempt = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].attempt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].camelCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].camelCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].capitalize = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].capitalize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].ceil = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].ceil;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].clamp = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].clamp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].clone = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].clone;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneDeep = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneDeepWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneDeepWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].conformsTo = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].conformsTo;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].deburr = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].deburr;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaultTo = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].defaultTo;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].divide = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].divide;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].endsWith = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].endsWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].eq = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].escape = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].escape;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].escapeRegExp = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].escapeRegExp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].every = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].every;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].find = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].find;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findKey = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].findKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLast = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findLast;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLastIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findLastIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLastKey = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].findLastKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].floor = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].floor;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forEach = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEach;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forEachRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEachRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forInRight = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forInRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forOwn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forOwn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forOwnRight = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forOwnRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].get = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].get;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].gt = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].gt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].gte = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].gte;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].has = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].has;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].hasIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].hasIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].head = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].head;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].identity = _identity_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].includes = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].includes;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].indexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].indexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].inRange = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].inRange;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invoke = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invoke;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArguments = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArguments;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArray = _isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayBuffer = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayBuffer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayLike = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayLike;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayLikeObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayLikeObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isBoolean = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isBoolean;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isBuffer = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isBuffer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isDate = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isDate;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isElement = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isElement;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEmpty = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEmpty;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEqual = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEqual;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEqualWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEqualWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isError = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isError;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isFinite = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isFinite;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isFunction = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isFunction;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isLength = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isLength;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMap = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMatch = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMatch;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMatchWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMatchWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNaN = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNaN;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNative = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNative;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNil = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNil;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNull = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNull;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNumber = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNumber;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isObject = _isObject_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isObjectLike = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isObjectLike;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isPlainObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isPlainObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isRegExp = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isRegExp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSafeInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSafeInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSet = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSet;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isString = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSymbol = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSymbol;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isTypedArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isTypedArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isUndefined = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isUndefined;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isWeakMap = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isWeakMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isWeakSet = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isWeakSet;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].join = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].join;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].kebabCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].kebabCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].last = _last_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lastIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].lastIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lowerCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].lowerCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lowerFirst = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].lowerFirst;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lt = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].lt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lte = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].lte;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].max = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].max;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].maxBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].maxBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mean = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].mean;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].meanBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].meanBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].min = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].min;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].minBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].minBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubArray = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubFalse = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubFalse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubObject = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubString = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubTrue = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubTrue;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].multiply = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].multiply;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].nth = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].noop = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].noop;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].now = _date_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pad = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].pad;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].padEnd = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].padEnd;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].padStart = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].padStart;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].parseInt = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].parseInt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].random = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].random;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reduce = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reduce;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reduceRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reduceRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].repeat = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].repeat;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].replace = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].replace;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].result = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].result;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].round = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].round;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sample = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sample;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].size = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].size;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].snakeCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].snakeCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].some = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].some;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndexBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndexBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndexBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndexBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].startCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].startCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].startsWith = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].startsWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].subtract = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].subtract;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sum = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sum;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sumBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sumBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].template = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].template;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].times = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].times;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toFinite = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toFinite;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toInteger = _toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toLength = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toLength;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toLower = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].toLower;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toNumber = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toNumber;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toSafeInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toSafeInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toString = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toUpper = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].toUpper;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trim = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trim;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trimEnd = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trimEnd;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trimStart = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trimStart;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].truncate = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].truncate;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unescape = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].unescape;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqueId = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].uniqueId;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].upperCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].upperCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].upperFirst = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].upperFirst;\n\n// Add aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].each = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEach;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].eachRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEachRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].first = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].head;\n\nmixin(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], (function() {\n var source = {};\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], function(func, methodName) {\n if (!hasOwnProperty.call(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype, methodName)) {\n source[methodName] = func;\n }\n });\n return source;\n}()), { 'chain': false });\n\n/**\n * The semantic version number.\n *\n * @static\n * @memberOf _\n * @type {string}\n */\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].VERSION = VERSION;\n(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].templateSettings = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].templateSettings).imports._ = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"];\n\n// Assign default placeholders.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][methodName].placeholder = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"];\n});\n\n// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['drop', 'take'], function(methodName, index) {\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function(n) {\n n = n === undefined ? 1 : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(n), 0);\n\n var result = (this.__filtered__ && !index)\n ? new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this)\n : this.clone();\n\n if (result.__filtered__) {\n result.__takeCount__ = nativeMin(n, result.__takeCount__);\n } else {\n result.__views__.push({\n 'size': nativeMin(n, MAX_ARRAY_LENGTH),\n 'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n });\n }\n return result;\n };\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName + 'Right'] = function(n) {\n return this.reverse()[methodName](n).reverse();\n };\n});\n\n// Add `LazyWrapper` methods that accept an `iteratee` value.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['filter', 'map', 'takeWhile'], function(methodName, index) {\n var type = index + 1,\n isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function(iteratee) {\n var result = this.clone();\n result.__iteratees__.push({\n 'iteratee': Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(iteratee, 3),\n 'type': type\n });\n result.__filtered__ = result.__filtered__ || isFilter;\n return result;\n };\n});\n\n// Add `LazyWrapper` methods for `_.head` and `_.last`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['head', 'last'], function(methodName, index) {\n var takeName = 'take' + (index ? 'Right' : '');\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function() {\n return this[takeName](1).value()[0];\n };\n});\n\n// Add `LazyWrapper` methods for `_.initial` and `_.tail`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['initial', 'tail'], function(methodName, index) {\n var dropName = 'drop' + (index ? '' : 'Right');\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function() {\n return this.__filtered__ ? new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this) : this[dropName](1);\n };\n});\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.compact = function() {\n return this.filter(_identity_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]);\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.find = function(predicate) {\n return this.filter(predicate).head();\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.findLast = function(predicate) {\n return this.reverse().find(predicate);\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.invokeMap = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"])(function(path, args) {\n if (typeof path == 'function') {\n return new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this);\n }\n return this.map(function(value) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(value, path, args);\n });\n});\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.reject = function(predicate) {\n return this.filter(Object(_negate_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(predicate)));\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.slice = function(start, end) {\n start = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(start);\n\n var result = this;\n if (result.__filtered__ && (start > 0 || end < 0)) {\n return new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](result);\n }\n if (start < 0) {\n result = result.takeRight(-start);\n } else if (start) {\n result = result.drop(start);\n }\n if (end !== undefined) {\n end = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(end);\n result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n }\n return result;\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.takeRightWhile = function(predicate) {\n return this.reverse().takeWhile(predicate).reverse();\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.toArray = function() {\n return this.take(MAX_ARRAY_LENGTH);\n};\n\n// Add `LazyWrapper` methods to `lodash.prototype`.\nObject(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype, function(func, methodName) {\n var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n isTaker = /^(?:head|last)$/.test(methodName),\n lodashFunc = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n retUnwrapped = isTaker || /^find/.test(methodName);\n\n if (!lodashFunc) {\n return;\n }\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[methodName] = function() {\n var value = this.__wrapped__,\n args = isTaker ? [1] : arguments,\n isLazy = value instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n iteratee = args[0],\n useLazy = isLazy || Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value);\n\n var interceptor = function(value) {\n var result = lodashFunc.apply(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])([value], args));\n return (isTaker && chainAll) ? result[0] : result;\n };\n\n if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n isLazy = useLazy = false;\n }\n var chainAll = this.__chain__,\n isHybrid = !!this.__actions__.length,\n isUnwrapped = retUnwrapped && !chainAll,\n onlyLazy = isLazy && !isHybrid;\n\n if (!retUnwrapped && useLazy) {\n value = onlyLazy ? value : new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this);\n var result = func.apply(value, args);\n result.__actions__.push({ 'func': _thru_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], 'args': [interceptor], 'thisArg': undefined });\n return new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](result, chainAll);\n }\n if (isUnwrapped && onlyLazy) {\n return func.apply(this, args);\n }\n result = this.thru(interceptor);\n return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n };\n});\n\n// Add `Array` methods to `lodash.prototype`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n var func = arrayProto[methodName],\n chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[methodName] = function() {\n var args = arguments;\n if (retUnwrapped && !this.__chain__) {\n var value = this.value();\n return func.apply(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value) ? value : [], args);\n }\n return this[chainName](function(value) {\n return func.apply(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value) ? value : [], args);\n });\n };\n});\n\n// Map minified method names to their real names.\nObject(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype, function(func, methodName) {\n var lodashFunc = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][methodName];\n if (lodashFunc) {\n var key = lodashFunc.name + '';\n if (!hasOwnProperty.call(_realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], key)) {\n _realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][key] = [];\n }\n _realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][key].push({ 'name': methodName, 'func': lodashFunc });\n }\n});\n\n_realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][Object(_createHybrid_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"])(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n 'name': 'wrapper',\n 'func': undefined\n}];\n\n// Add methods to `LazyWrapper`.\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.clone = _lazyClone_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"];\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.reverse = _lazyReverse_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"];\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.value = _lazyValue_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"];\n\n// Add chain sequence methods to the `lodash` wrapper.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.at = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].at;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.chain = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].wrapperChain;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.commit = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].commit;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.next = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].next;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.plant = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].plant;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.reverse = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].reverse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.toJSON = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.valueOf = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.value = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].value;\n\n// Add lazy aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.first = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.head;\n\nif (symIterator) {\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[symIterator] = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].toIterator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lodash.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lodash.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lodash.js ***! + \***********************************************************/ +/*! exports provided: add, after, ary, assign, assignIn, assignInWith, assignWith, at, attempt, before, bind, bindAll, bindKey, camelCase, capitalize, castArray, ceil, chain, chunk, clamp, clone, cloneDeep, cloneDeepWith, cloneWith, commit, compact, concat, cond, conforms, conformsTo, constant, countBy, create, curry, curryRight, debounce, deburr, defaultTo, defaults, defaultsDeep, defer, delay, difference, differenceBy, differenceWith, divide, drop, dropRight, dropRightWhile, dropWhile, each, eachRight, endsWith, entries, entriesIn, eq, escape, escapeRegExp, every, extend, extendWith, fill, filter, find, findIndex, findKey, findLast, findLastIndex, findLastKey, first, flatMap, flatMapDeep, flatMapDepth, flatten, flattenDeep, flattenDepth, flip, floor, flow, flowRight, forEach, forEachRight, forIn, forInRight, forOwn, forOwnRight, fromPairs, functions, functionsIn, get, groupBy, gt, gte, has, hasIn, head, identity, inRange, includes, indexOf, initial, intersection, intersectionBy, intersectionWith, invert, invertBy, invoke, invokeMap, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, iteratee, join, kebabCase, keyBy, keys, keysIn, last, lastIndexOf, lodash, lowerCase, lowerFirst, lt, lte, map, mapKeys, mapValues, matches, matchesProperty, max, maxBy, mean, meanBy, memoize, merge, mergeWith, method, methodOf, min, minBy, mixin, multiply, negate, next, noop, now, nth, nthArg, omit, omitBy, once, orderBy, over, overArgs, overEvery, overSome, pad, padEnd, padStart, parseInt, partial, partialRight, partition, pick, pickBy, plant, property, propertyOf, pull, pullAll, pullAllBy, pullAllWith, pullAt, random, range, rangeRight, rearg, reduce, reduceRight, reject, remove, repeat, replace, rest, result, reverse, round, sample, sampleSize, set, setWith, shuffle, size, slice, snakeCase, some, sortBy, sortedIndex, sortedIndexBy, sortedIndexOf, sortedLastIndex, sortedLastIndexBy, sortedLastIndexOf, sortedUniq, sortedUniqBy, split, spread, startCase, startsWith, stubArray, stubFalse, stubObject, stubString, stubTrue, subtract, sum, sumBy, tail, take, takeRight, takeRightWhile, takeWhile, tap, template, templateSettings, throttle, thru, times, toArray, toFinite, toInteger, toIterator, toJSON, toLength, toLower, toNumber, toPairs, toPairsIn, toPath, toPlainObject, toSafeInteger, toString, toUpper, transform, trim, trimEnd, trimStart, truncate, unary, unescape, union, unionBy, unionWith, uniq, uniqBy, uniqWith, uniqueId, unset, unzip, unzipWith, update, updateWith, upperCase, upperFirst, value, valueOf, values, valuesIn, without, words, wrap, wrapperAt, wrapperChain, wrapperCommit, wrapperLodash, wrapperNext, wrapperPlant, wrapperReverse, wrapperToIterator, wrapperValue, xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, zipWith, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"after\", function() { return _after_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ary\", function() { return _ary_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assign\", function() { return _assign_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignIn\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignInWith\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignWith\", function() { return _assignWith_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _at_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _attempt_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./attempt.js */ \"../simple-mind-map/node_modules/lodash-es/attempt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"attempt\", function() { return _attempt_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"before\", function() { return _before_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _bindAll_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./bindAll.js */ \"../simple-mind-map/node_modules/lodash-es/bindAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindAll\", function() { return _bindAll_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindKey\", function() { return _bindKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"camelCase\", function() { return _camelCase_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"capitalize\", function() { return _capitalize_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"castArray\", function() { return _castArray_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ceil\", function() { return _ceil_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chunk\", function() { return _chunk_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeep\", function() { return _cloneDeep_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeepWith\", function() { return _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneWith\", function() { return _cloneWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compact\", function() { return _compact_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _cond_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./cond.js */ \"../simple-mind-map/node_modules/lodash-es/cond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cond\", function() { return _cond_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _conforms_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./conforms.js */ \"../simple-mind-map/node_modules/lodash-es/conforms.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conforms\", function() { return _conforms_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conformsTo\", function() { return _conformsTo_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"constant\", function() { return _constant_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return _create_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryRight\", function() { return _curryRight_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return _debounce_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deburr\", function() { return _deburr_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./defaultTo.js */ \"../simple-mind-map/node_modules/lodash-es/defaultTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTo\", function() { return _defaultTo_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _defaults_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultsDeep\", function() { return _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defer\", function() { return _defer_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceBy\", function() { return _differenceBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRight\", function() { return _dropRight_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRightWhile\", function() { return _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return _each_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachRight\", function() { return _eachRight_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _entries_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entriesIn\", function() { return _entriesIn_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eq\", function() { return _eq_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return _escape_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"every\", function() { return _every_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return _extend_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendWith\", function() { return _extendWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _fill_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return _findKey_js__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_66__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_67__[\"default\"]; });\n\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastKey\", function() { return _findLastKey_js__WEBPACK_IMPORTED_MODULE_68__[\"default\"]; });\n\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"first\", function() { return _first_js__WEBPACK_IMPORTED_MODULE_69__[\"default\"]; });\n\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMap\", function() { return _flatMap_js__WEBPACK_IMPORTED_MODULE_70__[\"default\"]; });\n\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDeep\", function() { return _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_71__[\"default\"]; });\n\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDepth\", function() { return _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_72__[\"default\"]; });\n\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_73__[\"default\"]; });\n\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDeep\", function() { return _flattenDeep_js__WEBPACK_IMPORTED_MODULE_74__[\"default\"]; });\n\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDepth\", function() { return _flattenDepth_js__WEBPACK_IMPORTED_MODULE_75__[\"default\"]; });\n\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_76__[\"default\"]; });\n\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return _floor_js__WEBPACK_IMPORTED_MODULE_77__[\"default\"]; });\n\n/* harmony import */ var _flow_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./flow.js */ \"../simple-mind-map/node_modules/lodash-es/flow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return _flow_js__WEBPACK_IMPORTED_MODULE_78__[\"default\"]; });\n\n/* harmony import */ var _flowRight_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./flowRight.js */ \"../simple-mind-map/node_modules/lodash-es/flowRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flowRight\", function() { return _flowRight_js__WEBPACK_IMPORTED_MODULE_79__[\"default\"]; });\n\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_80__[\"default\"]; });\n\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachRight\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_81__[\"default\"]; });\n\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forIn\", function() { return _forIn_js__WEBPACK_IMPORTED_MODULE_82__[\"default\"]; });\n\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forInRight\", function() { return _forInRight_js__WEBPACK_IMPORTED_MODULE_83__[\"default\"]; });\n\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwn\", function() { return _forOwn_js__WEBPACK_IMPORTED_MODULE_84__[\"default\"]; });\n\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwnRight\", function() { return _forOwnRight_js__WEBPACK_IMPORTED_MODULE_85__[\"default\"]; });\n\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_86__[\"default\"]; });\n\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functions\", function() { return _functions_js__WEBPACK_IMPORTED_MODULE_87__[\"default\"]; });\n\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functionsIn\", function() { return _functionsIn_js__WEBPACK_IMPORTED_MODULE_88__[\"default\"]; });\n\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return _get_js__WEBPACK_IMPORTED_MODULE_89__[\"default\"]; });\n\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_90__[\"default\"]; });\n\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_91__[\"default\"]; });\n\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_92__[\"default\"]; });\n\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has_js__WEBPACK_IMPORTED_MODULE_93__[\"default\"]; });\n\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_94__[\"default\"]; });\n\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_95__[\"default\"]; });\n\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return _identity_js__WEBPACK_IMPORTED_MODULE_96__[\"default\"]; });\n\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inRange\", function() { return _inRange_js__WEBPACK_IMPORTED_MODULE_97__[\"default\"]; });\n\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"includes\", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_98__[\"default\"]; });\n\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_99__[\"default\"]; });\n\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initial\", function() { return _initial_js__WEBPACK_IMPORTED_MODULE_100__[\"default\"]; });\n\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_101__[\"default\"]; });\n\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionBy\", function() { return _intersectionBy_js__WEBPACK_IMPORTED_MODULE_102__[\"default\"]; });\n\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionWith\", function() { return _intersectionWith_js__WEBPACK_IMPORTED_MODULE_103__[\"default\"]; });\n\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_104__[\"default\"]; });\n\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertBy\", function() { return _invertBy_js__WEBPACK_IMPORTED_MODULE_105__[\"default\"]; });\n\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return _invoke_js__WEBPACK_IMPORTED_MODULE_106__[\"default\"]; });\n\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invokeMap\", function() { return _invokeMap_js__WEBPACK_IMPORTED_MODULE_107__[\"default\"]; });\n\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArguments\", function() { return _isArguments_js__WEBPACK_IMPORTED_MODULE_108__[\"default\"]; });\n\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return _isArray_js__WEBPACK_IMPORTED_MODULE_109__[\"default\"]; });\n\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayBuffer\", function() { return _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_110__[\"default\"]; });\n\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return _isArrayLike_js__WEBPACK_IMPORTED_MODULE_111__[\"default\"]; });\n\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLikeObject\", function() { return _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_112__[\"default\"]; });\n\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return _isBoolean_js__WEBPACK_IMPORTED_MODULE_113__[\"default\"]; });\n\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBuffer\", function() { return _isBuffer_js__WEBPACK_IMPORTED_MODULE_114__[\"default\"]; });\n\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return _isDate_js__WEBPACK_IMPORTED_MODULE_115__[\"default\"]; });\n\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return _isElement_js__WEBPACK_IMPORTED_MODULE_116__[\"default\"]; });\n\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_117__[\"default\"]; });\n\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return _isEqual_js__WEBPACK_IMPORTED_MODULE_118__[\"default\"]; });\n\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqualWith\", function() { return _isEqualWith_js__WEBPACK_IMPORTED_MODULE_119__[\"default\"]; });\n\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isError\", function() { return _isError_js__WEBPACK_IMPORTED_MODULE_120__[\"default\"]; });\n\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFinite\", function() { return _isFinite_js__WEBPACK_IMPORTED_MODULE_121__[\"default\"]; });\n\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return _isFunction_js__WEBPACK_IMPORTED_MODULE_122__[\"default\"]; });\n\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isInteger\", function() { return _isInteger_js__WEBPACK_IMPORTED_MODULE_123__[\"default\"]; });\n\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLength\", function() { return _isLength_js__WEBPACK_IMPORTED_MODULE_124__[\"default\"]; });\n\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMap\", function() { return _isMap_js__WEBPACK_IMPORTED_MODULE_125__[\"default\"]; });\n\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return _isMatch_js__WEBPACK_IMPORTED_MODULE_126__[\"default\"]; });\n\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatchWith\", function() { return _isMatchWith_js__WEBPACK_IMPORTED_MODULE_127__[\"default\"]; });\n\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNaN\", function() { return _isNaN_js__WEBPACK_IMPORTED_MODULE_128__[\"default\"]; });\n\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNative\", function() { return _isNative_js__WEBPACK_IMPORTED_MODULE_129__[\"default\"]; });\n\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_130__[\"default\"]; });\n\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return _isNull_js__WEBPACK_IMPORTED_MODULE_131__[\"default\"]; });\n\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return _isNumber_js__WEBPACK_IMPORTED_MODULE_132__[\"default\"]; });\n\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _isObject_js__WEBPACK_IMPORTED_MODULE_133__[\"default\"]; });\n\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return _isObjectLike_js__WEBPACK_IMPORTED_MODULE_134__[\"default\"]; });\n\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return _isPlainObject_js__WEBPACK_IMPORTED_MODULE_135__[\"default\"]; });\n\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return _isRegExp_js__WEBPACK_IMPORTED_MODULE_136__[\"default\"]; });\n\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSafeInteger\", function() { return _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_137__[\"default\"]; });\n\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSet\", function() { return _isSet_js__WEBPACK_IMPORTED_MODULE_138__[\"default\"]; });\n\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _isString_js__WEBPACK_IMPORTED_MODULE_139__[\"default\"]; });\n\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return _isSymbol_js__WEBPACK_IMPORTED_MODULE_140__[\"default\"]; });\n\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _isTypedArray_js__WEBPACK_IMPORTED_MODULE_141__[\"default\"]; });\n\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return _isUndefined_js__WEBPACK_IMPORTED_MODULE_142__[\"default\"]; });\n\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakMap\", function() { return _isWeakMap_js__WEBPACK_IMPORTED_MODULE_143__[\"default\"]; });\n\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakSet\", function() { return _isWeakSet_js__WEBPACK_IMPORTED_MODULE_144__[\"default\"]; });\n\n/* harmony import */ var _iteratee_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./iteratee.js */ \"../simple-mind-map/node_modules/lodash-es/iteratee.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iteratee\", function() { return _iteratee_js__WEBPACK_IMPORTED_MODULE_145__[\"default\"]; });\n\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join_js__WEBPACK_IMPORTED_MODULE_146__[\"default\"]; });\n\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kebabCase\", function() { return _kebabCase_js__WEBPACK_IMPORTED_MODULE_147__[\"default\"]; });\n\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keyBy\", function() { return _keyBy_js__WEBPACK_IMPORTED_MODULE_148__[\"default\"]; });\n\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_149__[\"default\"]; });\n\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_150__[\"default\"]; });\n\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last_js__WEBPACK_IMPORTED_MODULE_151__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_152__[\"default\"]; });\n\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerCase\", function() { return _lowerCase_js__WEBPACK_IMPORTED_MODULE_154__[\"default\"]; });\n\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerFirst\", function() { return _lowerFirst_js__WEBPACK_IMPORTED_MODULE_155__[\"default\"]; });\n\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_156__[\"default\"]; });\n\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_157__[\"default\"]; });\n\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map_js__WEBPACK_IMPORTED_MODULE_158__[\"default\"]; });\n\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapKeys\", function() { return _mapKeys_js__WEBPACK_IMPORTED_MODULE_159__[\"default\"]; });\n\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return _mapValues_js__WEBPACK_IMPORTED_MODULE_160__[\"default\"]; });\n\n/* harmony import */ var _matches_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./matches.js */ \"../simple-mind-map/node_modules/lodash-es/matches.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matches\", function() { return _matches_js__WEBPACK_IMPORTED_MODULE_161__[\"default\"]; });\n\n/* harmony import */ var _matchesProperty_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./matchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/matchesProperty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matchesProperty\", function() { return _matchesProperty_js__WEBPACK_IMPORTED_MODULE_162__[\"default\"]; });\n\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max_js__WEBPACK_IMPORTED_MODULE_163__[\"default\"]; });\n\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_164__[\"default\"]; });\n\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_165__[\"default\"]; });\n\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"meanBy\", function() { return _meanBy_js__WEBPACK_IMPORTED_MODULE_166__[\"default\"]; });\n\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize_js__WEBPACK_IMPORTED_MODULE_167__[\"default\"]; });\n\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_168__[\"default\"]; });\n\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_169__[\"default\"]; });\n\n/* harmony import */ var _method_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./method.js */ \"../simple-mind-map/node_modules/lodash-es/method.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"method\", function() { return _method_js__WEBPACK_IMPORTED_MODULE_170__[\"default\"]; });\n\n/* harmony import */ var _methodOf_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./methodOf.js */ \"../simple-mind-map/node_modules/lodash-es/methodOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"methodOf\", function() { return _methodOf_js__WEBPACK_IMPORTED_MODULE_171__[\"default\"]; });\n\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min_js__WEBPACK_IMPORTED_MODULE_172__[\"default\"]; });\n\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_173__[\"default\"]; });\n\n/* harmony import */ var _mixin_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./mixin.js */ \"../simple-mind-map/node_modules/lodash-es/mixin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mixin\", function() { return _mixin_js__WEBPACK_IMPORTED_MODULE_174__[\"default\"]; });\n\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_175__[\"default\"]; });\n\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_176__[\"default\"]; });\n\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"next\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _noop_js__WEBPACK_IMPORTED_MODULE_178__[\"default\"]; });\n\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return _now_js__WEBPACK_IMPORTED_MODULE_179__[\"default\"]; });\n\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_180__[\"default\"]; });\n\n/* harmony import */ var _nthArg_js__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./nthArg.js */ \"../simple-mind-map/node_modules/lodash-es/nthArg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nthArg\", function() { return _nthArg_js__WEBPACK_IMPORTED_MODULE_181__[\"default\"]; });\n\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_182__[\"default\"]; });\n\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omitBy\", function() { return _omitBy_js__WEBPACK_IMPORTED_MODULE_183__[\"default\"]; });\n\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once_js__WEBPACK_IMPORTED_MODULE_184__[\"default\"]; });\n\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderBy\", function() { return _orderBy_js__WEBPACK_IMPORTED_MODULE_185__[\"default\"]; });\n\n/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./over.js */ \"../simple-mind-map/node_modules/lodash-es/over.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"over\", function() { return _over_js__WEBPACK_IMPORTED_MODULE_186__[\"default\"]; });\n\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overArgs\", function() { return _overArgs_js__WEBPACK_IMPORTED_MODULE_187__[\"default\"]; });\n\n/* harmony import */ var _overEvery_js__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./overEvery.js */ \"../simple-mind-map/node_modules/lodash-es/overEvery.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overEvery\", function() { return _overEvery_js__WEBPACK_IMPORTED_MODULE_188__[\"default\"]; });\n\n/* harmony import */ var _overSome_js__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./overSome.js */ \"../simple-mind-map/node_modules/lodash-es/overSome.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overSome\", function() { return _overSome_js__WEBPACK_IMPORTED_MODULE_189__[\"default\"]; });\n\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return _pad_js__WEBPACK_IMPORTED_MODULE_190__[\"default\"]; });\n\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padEnd\", function() { return _padEnd_js__WEBPACK_IMPORTED_MODULE_191__[\"default\"]; });\n\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _padStart_js__WEBPACK_IMPORTED_MODULE_192__[\"default\"]; });\n\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseInt\", function() { return _parseInt_js__WEBPACK_IMPORTED_MODULE_193__[\"default\"]; });\n\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_194__[\"default\"]; });\n\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_195__[\"default\"]; });\n\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_196__[\"default\"]; });\n\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_197__[\"default\"]; });\n\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_198__[\"default\"]; });\n\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"plant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _property_js__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./property.js */ \"../simple-mind-map/node_modules/lodash-es/property.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _property_js__WEBPACK_IMPORTED_MODULE_200__[\"default\"]; });\n\n/* harmony import */ var _propertyOf_js__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./propertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/propertyOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyOf\", function() { return _propertyOf_js__WEBPACK_IMPORTED_MODULE_201__[\"default\"]; });\n\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pull\", function() { return _pull_js__WEBPACK_IMPORTED_MODULE_202__[\"default\"]; });\n\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAll\", function() { return _pullAll_js__WEBPACK_IMPORTED_MODULE_203__[\"default\"]; });\n\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllBy\", function() { return _pullAllBy_js__WEBPACK_IMPORTED_MODULE_204__[\"default\"]; });\n\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllWith\", function() { return _pullAllWith_js__WEBPACK_IMPORTED_MODULE_205__[\"default\"]; });\n\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAt\", function() { return _pullAt_js__WEBPACK_IMPORTED_MODULE_206__[\"default\"]; });\n\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return _random_js__WEBPACK_IMPORTED_MODULE_207__[\"default\"]; });\n\n/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./range.js */ \"../simple-mind-map/node_modules/lodash-es/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range_js__WEBPACK_IMPORTED_MODULE_208__[\"default\"]; });\n\n/* harmony import */ var _rangeRight_js__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./rangeRight.js */ \"../simple-mind-map/node_modules/lodash-es/rangeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rangeRight\", function() { return _rangeRight_js__WEBPACK_IMPORTED_MODULE_209__[\"default\"]; });\n\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rearg\", function() { return _rearg_js__WEBPACK_IMPORTED_MODULE_210__[\"default\"]; });\n\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_211__[\"default\"]; });\n\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_212__[\"default\"]; });\n\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_213__[\"default\"]; });\n\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_214__[\"default\"]; });\n\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_215__[\"default\"]; });\n\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_216__[\"default\"]; });\n\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rest\", function() { return _rest_js__WEBPACK_IMPORTED_MODULE_217__[\"default\"]; });\n\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"result\", function() { return _result_js__WEBPACK_IMPORTED_MODULE_218__[\"default\"]; });\n\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_219__[\"default\"]; });\n\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return _round_js__WEBPACK_IMPORTED_MODULE_220__[\"default\"]; });\n\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return _sample_js__WEBPACK_IMPORTED_MODULE_221__[\"default\"]; });\n\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sampleSize\", function() { return _sampleSize_js__WEBPACK_IMPORTED_MODULE_222__[\"default\"]; });\n\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set_js__WEBPACK_IMPORTED_MODULE_223__[\"default\"]; });\n\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWith\", function() { return _setWith_js__WEBPACK_IMPORTED_MODULE_224__[\"default\"]; });\n\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle_js__WEBPACK_IMPORTED_MODULE_225__[\"default\"]; });\n\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"size\", function() { return _size_js__WEBPACK_IMPORTED_MODULE_226__[\"default\"]; });\n\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_227__[\"default\"]; });\n\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"snakeCase\", function() { return _snakeCase_js__WEBPACK_IMPORTED_MODULE_228__[\"default\"]; });\n\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return _some_js__WEBPACK_IMPORTED_MODULE_229__[\"default\"]; });\n\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_230__[\"default\"]; });\n\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndex\", function() { return _sortedIndex_js__WEBPACK_IMPORTED_MODULE_231__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexBy\", function() { return _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_232__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexOf\", function() { return _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_233__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndex\", function() { return _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_234__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexBy\", function() { return _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_235__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexOf\", function() { return _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_236__[\"default\"]; });\n\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _sortedUniq_js__WEBPACK_IMPORTED_MODULE_237__[\"default\"]; });\n\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniqBy\", function() { return _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_238__[\"default\"]; });\n\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split_js__WEBPACK_IMPORTED_MODULE_239__[\"default\"]; });\n\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"spread\", function() { return _spread_js__WEBPACK_IMPORTED_MODULE_240__[\"default\"]; });\n\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startCase\", function() { return _startCase_js__WEBPACK_IMPORTED_MODULE_241__[\"default\"]; });\n\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_242__[\"default\"]; });\n\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubArray\", function() { return _stubArray_js__WEBPACK_IMPORTED_MODULE_243__[\"default\"]; });\n\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubFalse\", function() { return _stubFalse_js__WEBPACK_IMPORTED_MODULE_244__[\"default\"]; });\n\n/* harmony import */ var _stubObject_js__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./stubObject.js */ \"../simple-mind-map/node_modules/lodash-es/stubObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubObject\", function() { return _stubObject_js__WEBPACK_IMPORTED_MODULE_245__[\"default\"]; });\n\n/* harmony import */ var _stubString_js__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./stubString.js */ \"../simple-mind-map/node_modules/lodash-es/stubString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubString\", function() { return _stubString_js__WEBPACK_IMPORTED_MODULE_246__[\"default\"]; });\n\n/* harmony import */ var _stubTrue_js__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./stubTrue.js */ \"../simple-mind-map/node_modules/lodash-es/stubTrue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubTrue\", function() { return _stubTrue_js__WEBPACK_IMPORTED_MODULE_247__[\"default\"]; });\n\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_248__[\"default\"]; });\n\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_249__[\"default\"]; });\n\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return _sumBy_js__WEBPACK_IMPORTED_MODULE_250__[\"default\"]; });\n\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_251__[\"default\"]; });\n\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take_js__WEBPACK_IMPORTED_MODULE_252__[\"default\"]; });\n\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRight\", function() { return _takeRight_js__WEBPACK_IMPORTED_MODULE_253__[\"default\"]; });\n\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRightWhile\", function() { return _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_254__[\"default\"]; });\n\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_255__[\"default\"]; });\n\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_256__[\"default\"]; });\n\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return _template_js__WEBPACK_IMPORTED_MODULE_257__[\"default\"]; });\n\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"templateSettings\", function() { return _templateSettings_js__WEBPACK_IMPORTED_MODULE_258__[\"default\"]; });\n\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _throttle_js__WEBPACK_IMPORTED_MODULE_259__[\"default\"]; });\n\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thru\", function() { return _thru_js__WEBPACK_IMPORTED_MODULE_260__[\"default\"]; });\n\n/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./times.js */ \"../simple-mind-map/node_modules/lodash-es/times.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"times\", function() { return _times_js__WEBPACK_IMPORTED_MODULE_261__[\"default\"]; });\n\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return _toArray_js__WEBPACK_IMPORTED_MODULE_262__[\"default\"]; });\n\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toFinite\", function() { return _toFinite_js__WEBPACK_IMPORTED_MODULE_263__[\"default\"]; });\n\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toInteger\", function() { return _toInteger_js__WEBPACK_IMPORTED_MODULE_264__[\"default\"]; });\n\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_265__[\"default\"]; });\n\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJSON\", function() { return _toJSON_js__WEBPACK_IMPORTED_MODULE_266__[\"default\"]; });\n\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLength\", function() { return _toLength_js__WEBPACK_IMPORTED_MODULE_267__[\"default\"]; });\n\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_268__[\"default\"]; });\n\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return _toNumber_js__WEBPACK_IMPORTED_MODULE_269__[\"default\"]; });\n\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_270__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_271__[\"default\"]; });\n\n/* harmony import */ var _toPath_js__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./toPath.js */ \"../simple-mind-map/node_modules/lodash-es/toPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPath\", function() { return _toPath_js__WEBPACK_IMPORTED_MODULE_272__[\"default\"]; });\n\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPlainObject\", function() { return _toPlainObject_js__WEBPACK_IMPORTED_MODULE_273__[\"default\"]; });\n\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toSafeInteger\", function() { return _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_274__[\"default\"]; });\n\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_275__[\"default\"]; });\n\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_276__[\"default\"]; });\n\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return _transform_js__WEBPACK_IMPORTED_MODULE_277__[\"default\"]; });\n\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_278__[\"default\"]; });\n\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimEnd\", function() { return _trimEnd_js__WEBPACK_IMPORTED_MODULE_279__[\"default\"]; });\n\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimStart\", function() { return _trimStart_js__WEBPACK_IMPORTED_MODULE_280__[\"default\"]; });\n\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return _truncate_js__WEBPACK_IMPORTED_MODULE_281__[\"default\"]; });\n\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_282__[\"default\"]; });\n\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return _unescape_js__WEBPACK_IMPORTED_MODULE_283__[\"default\"]; });\n\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union_js__WEBPACK_IMPORTED_MODULE_284__[\"default\"]; });\n\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionBy\", function() { return _unionBy_js__WEBPACK_IMPORTED_MODULE_285__[\"default\"]; });\n\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_286__[\"default\"]; });\n\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_287__[\"default\"]; });\n\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_288__[\"default\"]; });\n\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_289__[\"default\"]; });\n\n/* harmony import */ var _uniqueId_js__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./uniqueId.js */ \"../simple-mind-map/node_modules/lodash-es/uniqueId.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqueId\", function() { return _uniqueId_js__WEBPACK_IMPORTED_MODULE_290__[\"default\"]; });\n\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unset\", function() { return _unset_js__WEBPACK_IMPORTED_MODULE_291__[\"default\"]; });\n\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return _unzip_js__WEBPACK_IMPORTED_MODULE_292__[\"default\"]; });\n\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzipWith\", function() { return _unzipWith_js__WEBPACK_IMPORTED_MODULE_293__[\"default\"]; });\n\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update_js__WEBPACK_IMPORTED_MODULE_294__[\"default\"]; });\n\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateWith\", function() { return _updateWith_js__WEBPACK_IMPORTED_MODULE_295__[\"default\"]; });\n\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperCase\", function() { return _upperCase_js__WEBPACK_IMPORTED_MODULE_296__[\"default\"]; });\n\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperFirst\", function() { return _upperFirst_js__WEBPACK_IMPORTED_MODULE_297__[\"default\"]; });\n\n/* harmony import */ var _value_js__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./value.js */ \"../simple-mind-map/node_modules/lodash-es/value.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"value\", function() { return _value_js__WEBPACK_IMPORTED_MODULE_298__[\"default\"]; });\n\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valueOf\", function() { return _valueOf_js__WEBPACK_IMPORTED_MODULE_299__[\"default\"]; });\n\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values_js__WEBPACK_IMPORTED_MODULE_300__[\"default\"]; });\n\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_301__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_301__[\"default\"]; });\n\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_302__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without_js__WEBPACK_IMPORTED_MODULE_302__[\"default\"]; });\n\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_303__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"words\", function() { return _words_js__WEBPACK_IMPORTED_MODULE_303__[\"default\"]; });\n\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_304__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrap\", function() { return _wrap_js__WEBPACK_IMPORTED_MODULE_304__[\"default\"]; });\n\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_305__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperAt\", function() { return _wrapperAt_js__WEBPACK_IMPORTED_MODULE_305__[\"default\"]; });\n\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_306__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperChain\", function() { return _wrapperChain_js__WEBPACK_IMPORTED_MODULE_306__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperCommit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperLodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperNext\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperPlant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_307__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperReverse\", function() { return _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_307__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperToIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_265__[\"default\"]; });\n\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_308__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperValue\", function() { return _wrapperValue_js__WEBPACK_IMPORTED_MODULE_308__[\"default\"]; });\n\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_309__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xor\", function() { return _xor_js__WEBPACK_IMPORTED_MODULE_309__[\"default\"]; });\n\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_310__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorBy\", function() { return _xorBy_js__WEBPACK_IMPORTED_MODULE_310__[\"default\"]; });\n\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_311__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorWith\", function() { return _xorWith_js__WEBPACK_IMPORTED_MODULE_311__[\"default\"]; });\n\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_312__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_312__[\"default\"]; });\n\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_313__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObject\", function() { return _zipObject_js__WEBPACK_IMPORTED_MODULE_313__[\"default\"]; });\n\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_314__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObjectDeep\", function() { return _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_314__[\"default\"]; });\n\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_315__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_315__[\"default\"]; });\n\n/* harmony import */ var _lodash_default_js__WEBPACK_IMPORTED_MODULE_316__ = __webpack_require__(/*! ./lodash.default.js */ \"../simple-mind-map/node_modules/lodash-es/lodash.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _lodash_default_js__WEBPACK_IMPORTED_MODULE_316__[\"default\"]; });\n\n/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lodash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lowerCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lowerCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\nvar lowerCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lowerCase);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lowerCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lowerFirst.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lowerFirst.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCaseFirst_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCaseFirst.js */ \"../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js\");\n\n\n/**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\nvar lowerFirst = Object(_createCaseFirst_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('toLowerCase');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lowerFirst);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lowerFirst.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lt.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lt.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n\n/**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\nvar lt = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseLt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lte.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lte.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n/**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\nvar lte = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(value, other) {\n return value <= other;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lte);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/lte.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/map.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/map.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMap.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseMap_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (map);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/map.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mapKeys.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mapKeys.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 3);\n\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, function(value, key, object) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapKeys);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/mapKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mapValues.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mapValues.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 3);\n\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, function(value, key, object) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapValues);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/mapValues.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/matches.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/matches.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseMatches_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatches.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatches.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matches(source) {\n return Object(_baseMatches_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matches);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/matches.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/matchesProperty.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/matchesProperty.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matchesProperty(path, srcValue) {\n return Object(_baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(srcValue, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matchesProperty);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/matchesProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/math.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/math.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n add: _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], ceil: _ceil_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], divide: _divide_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], floor: _floor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], max: _max_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n maxBy: _maxBy_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], mean: _mean_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], meanBy: _meanBy_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], min: _min_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], minBy: _minBy_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n multiply: _multiply_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], round: _round_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], subtract: _subtract_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], sum: _sum_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], sumBy: _sumBy_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/math.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/math.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/math.js ***! + \*********************************************************/ +/*! exports provided: add, ceil, divide, floor, max, maxBy, mean, meanBy, min, minBy, multiply, round, subtract, sum, sumBy, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ceil\", function() { return _ceil_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return _floor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"meanBy\", function() { return _meanBy_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return _round_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return _sumBy_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _math_default_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./math.default.js */ \"../simple-mind-map/node_modules/lodash-es/math.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _math_default_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/math.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/max.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/max.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _baseGt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (max);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/max.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/maxBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/maxBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2), _baseGt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (maxBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/maxBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mean.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mean.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMean_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMean.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMean.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n/**\n * Computes the mean of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the mean.\n * @example\n *\n * _.mean([4, 2, 8, 6]);\n * // => 5\n */\nfunction mean(array) {\n return Object(_baseMean_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mean);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/mean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/meanBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/meanBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMean_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMean.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMean.js\");\n\n\n\n/**\n * This method is like `_.mean` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be averaged.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the mean.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.meanBy(objects, function(o) { return o.n; });\n * // => 5\n *\n * // The `_.property` iteratee shorthand.\n * _.meanBy(objects, 'n');\n * // => 5\n */\nfunction meanBy(array, iteratee) {\n return Object(_baseMean_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (meanBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/meanBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/memoize.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/memoize.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/memoize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/merge.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/merge.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n\n\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex) {\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, srcIndex);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/merge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mergeWith.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mergeWith.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n\n\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, srcIndex, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/mergeWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/method.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/method.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Creates a function that invokes the method at `path` of a given object.\n * Any additional arguments are provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': _.constant(2) } },\n * { 'a': { 'b': _.constant(1) } }\n * ];\n *\n * _.map(objects, _.method('a.b'));\n * // => [2, 1]\n *\n * _.map(objects, _.method(['a', 'b']));\n * // => [2, 1]\n */\nvar method = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(path, args) {\n return function(object) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, args);\n };\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (method);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/method.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/methodOf.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/methodOf.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * The opposite of `_.method`; this method creates a function that invokes\n * the method at a given path of `object`. Any additional arguments are\n * provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Object} object The object to query.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var array = _.times(3, _.constant),\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n * // => [2, 0]\n */\nvar methodOf = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, args) {\n return function(path) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, args);\n };\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (methodOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/methodOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/min.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/min.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _baseLt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (min);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/min.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/minBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/minBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n\n\n\n\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nfunction minBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee, 2), _baseLt_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (minBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/minBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mixin.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mixin.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Adds all own enumerable string keyed function properties of a source\n * object to the destination object. If `object` is a function, then methods\n * are added to its prototype as well.\n *\n * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n * avoid conflicts caused by modifying the original.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Function|Object} [object=lodash] The destination object.\n * @param {Object} source The object of functions to add.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n * @returns {Function|Object} Returns `object`.\n * @example\n *\n * function vowels(string) {\n * return _.filter(string, function(v) {\n * return /[aeiou]/i.test(v);\n * });\n * }\n *\n * _.mixin({ 'vowels': vowels });\n * _.vowels('fred');\n * // => ['e']\n *\n * _('fred').vowels().value();\n * // => ['e']\n *\n * _.mixin({ 'vowels': vowels }, { 'chain': false });\n * _('fred').vowels();\n * // => ['e']\n */\nfunction mixin(object, source, options) {\n var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(source),\n methodNames = Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, props);\n\n var chain = !(Object(_isObject_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(options) && 'chain' in options) || !!options.chain,\n isFunc = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object);\n\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(methodNames, function(methodName) {\n var func = source[methodName];\n object[methodName] = func;\n if (isFunc) {\n object.prototype[methodName] = function() {\n var chainAll = this.__chain__;\n if (chain || chainAll) {\n var result = object(this.__wrapped__),\n actions = result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.__actions__);\n\n actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n result.__chain__ = chainAll;\n return result;\n }\n return func.apply(object, Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([this.value()], arguments));\n };\n }\n });\n\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mixin);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/mixin.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/multiply.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/multiply.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Multiply two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} multiplier The first number in a multiplication.\n * @param {number} multiplicand The second number in a multiplication.\n * @returns {number} Returns the product.\n * @example\n *\n * _.multiply(6, 4);\n * // => 24\n */\nvar multiply = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(multiplier, multiplicand) {\n return multiplier * multiplicand;\n}, 1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (multiply);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/multiply.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/negate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/negate.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (negate);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/negate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/next.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/next.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n\n\n/**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\nfunction wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = Object(_toArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperNext);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/next.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/noop.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/noop.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (noop);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/noop.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/now.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/now.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Date.now();\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (now);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/now.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/nth.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/nth.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseNth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseNth.js */ \"../simple-mind-map/node_modules/lodash-es/_baseNth.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\nfunction nth(array, n) {\n return (array && array.length) ? Object(_baseNth_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n)) : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nth);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/nth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/nthArg.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/nthArg.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseNth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseNth.js */ \"../simple-mind-map/node_modules/lodash-es/_baseNth.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * Creates a function that gets the argument at index `n`. If `n` is negative,\n * the nth argument from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [n=0] The index of the argument to return.\n * @returns {Function} Returns the new pass-thru function.\n * @example\n *\n * var func = _.nthArg(1);\n * func('a', 'b', 'c', 'd');\n * // => 'b'\n *\n * var func = _.nthArg(-2);\n * func('a', 'b', 'c', 'd');\n * // => 'c'\n */\nfunction nthArg(n) {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(args) {\n return Object(_baseNth_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args, n);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nthArg);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/nthArg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/number.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/number.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n clamp: _clamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], inRange: _inRange_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], random: _random_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/number.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/number.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/number.js ***! + \***********************************************************/ +/*! exports provided: clamp, inRange, random, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inRange\", function() { return _inRange_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return _random_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _number_default_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./number.default.js */ \"../simple-mind-map/node_modules/lodash-es/number.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _number_default_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/number.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/object.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/object.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n assign: _assign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], assignIn: _assignIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], assignInWith: _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], assignWith: _assignWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], at: _at_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n create: _create_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], defaults: _defaults_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], defaultsDeep: _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], entries: _entries_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], entriesIn: _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n extend: _extend_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], extendWith: _extendWith_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], findKey: _findKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], findLastKey: _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], forIn: _forIn_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n forInRight: _forInRight_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], forOwn: _forOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], forOwnRight: _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], functions: _functions_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], functionsIn: _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n get: _get_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], has: _has_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], hasIn: _hasIn_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], invert: _invert_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], invertBy: _invertBy_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n invoke: _invoke_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], keys: _keys_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], keysIn: _keysIn_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], mapKeys: _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], mapValues: _mapValues_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n merge: _merge_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], mergeWith: _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], omit: _omit_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], omitBy: _omitBy_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], pick: _pick_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n pickBy: _pickBy_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], result: _result_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], set: _set_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], setWith: _setWith_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], toPairs: _toPairs_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n toPairsIn: _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], transform: _transform_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], unset: _unset_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], update: _update_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], updateWith: _updateWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n values: _values_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], valuesIn: _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/object.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/object.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/object.js ***! + \***********************************************************/ +/*! exports provided: assign, assignIn, assignInWith, assignWith, at, create, defaults, defaultsDeep, entries, entriesIn, extend, extendWith, findKey, findLastKey, forIn, forInRight, forOwn, forOwnRight, functions, functionsIn, get, has, hasIn, invert, invertBy, invoke, keys, keysIn, mapKeys, mapValues, merge, mergeWith, omit, omitBy, pick, pickBy, result, set, setWith, toPairs, toPairsIn, transform, unset, update, updateWith, values, valuesIn, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assign\", function() { return _assign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignIn\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignInWith\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignWith\", function() { return _assignWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _at_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return _create_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _defaults_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultsDeep\", function() { return _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _entries_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entriesIn\", function() { return _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return _extend_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendWith\", function() { return _extendWith_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return _findKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastKey\", function() { return _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forIn\", function() { return _forIn_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forInRight\", function() { return _forInRight_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwn\", function() { return _forOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwnRight\", function() { return _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functions\", function() { return _functions_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functionsIn\", function() { return _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return _get_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertBy\", function() { return _invertBy_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return _invoke_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapKeys\", function() { return _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return _mapValues_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omitBy\", function() { return _omitBy_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"result\", function() { return _result_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWith\", function() { return _setWith_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return _transform_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unset\", function() { return _unset_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateWith\", function() { return _updateWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _object_default_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./object.default.js */ \"../simple-mind-map/node_modules/lodash-es/object.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _object_default_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/object.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/omit.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/omit.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseUnset_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseUnset.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnset.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _customOmitClone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_customOmitClone.js */ \"../simple-mind-map/node_modules/lodash-es/_customOmitClone.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(paths, function(path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object, Object(_getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(object), result);\n if (isDeep) {\n result = Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, _customOmitClone_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n }\n var length = paths.length;\n while (length--) {\n Object(_baseUnset_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, paths[length]);\n }\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omit);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/omit.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/omitBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/omitBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n\n\n\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return Object(_pickBy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, Object(_negate_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omitBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/omitBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/once.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/once.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return Object(_before_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(2, func);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (once);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/once.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/orderBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/orderBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseOrderBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseOrderBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return Object(_baseOrderBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, iteratees, orders);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (orderBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/orderBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/over.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/over.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that invokes `iteratees` with the arguments it receives\n * and returns their results.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to invoke.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.over([Math.max, Math.min]);\n *\n * func(1, 2, 3, 4);\n * // => [4, 1]\n */\nvar over = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (over);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/over.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overArgs.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overArgs.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _castRest_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_castRest.js */ \"../simple-mind-map/node_modules/lodash-es/_castRest.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\nvar overArgs = Object(_castRest_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function(func, transforms) {\n transforms = (transforms.length == 1 && Object(_isArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(transforms[0]))\n ? Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(transforms[0], Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]))\n : Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(transforms, 1), Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n\n var funcsLength = transforms.length;\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, args);\n });\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overArgs);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/overArgs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overEvery.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overEvery.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEvery.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that checks if **all** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overEvery([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => false\n *\n * func(NaN);\n * // => false\n */\nvar overEvery = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overEvery);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/overEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overSome.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overSome.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that checks if **any** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overSome([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => true\n *\n * func(NaN);\n * // => false\n *\n * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])\n * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])\n */\nvar overSome = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arraySome_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overSome);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/overSome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pad.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pad.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeFloor = Math.floor;\n\n/**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\nfunction pad(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeFloor(mid), chars) +\n string +\n Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeCeil(mid), chars)\n );\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pad);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pad.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/padEnd.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/padEnd.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\nfunction padEnd(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n return (length && strLength < length)\n ? (string + Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length - strLength, chars))\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (padEnd);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/padEnd.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/padStart.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/padStart.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\nfunction padStart(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n return (length && strLength < length)\n ? (Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length - strLength, chars) + string)\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (padStart);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/padStart.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/parseInt.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/parseInt.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeParseInt = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].parseInt;\n\n/**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\nfunction parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string).replace(reTrimStart, ''), radix || 0);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parseInt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/parseInt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partial.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partial.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\nvar partial = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, partials) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(partial));\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n});\n\n// Assign default placeholders.\npartial.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partial);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/partial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partialRight.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partialRight.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\nvar partialRight = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, partials) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(partialRight));\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n});\n\n// Assign default placeholders.\npartialRight.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partialRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/partialRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partition.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partition.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function() { return [[], []]; });\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partition);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/partition.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pick.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pick.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePick_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePick.js */ \"../simple-mind-map/node_modules/lodash-es/_basePick.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, paths) {\n return object == null ? {} : Object(_basePick_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pick);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pick.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pickBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pickBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePickBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_basePickBy.js */ \"../simple-mind-map/node_modules/lodash-es/_basePickBy.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n\n\n\n\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object), function(prop) {\n return [prop];\n });\n predicate = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate);\n return Object(_basePickBy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pickBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/plant.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/plant.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n/* harmony import */ var _wrapperClone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_wrapperClone.js */ \"../simple-mind-map/node_modules/lodash-es/_wrapperClone.js\");\n\n\n\n/**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\nfunction wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof _baseLodash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var clone = Object(_wrapperClone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperPlant);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/plant.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/property.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/property.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseProperty.js\");\n/* harmony import */ var _basePropertyDeep_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePropertyDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return Object(_isKey_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path) ? Object(_baseProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path)) : Object(_basePropertyDeep_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (property);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/property.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/propertyOf.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/propertyOf.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\nfunction propertyOf(object) {\n return function(path) {\n return object == null ? undefined : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (propertyOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/propertyOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pull.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pull.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n\n\n\n/**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\nvar pull = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_pullAll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pull);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pull.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAll.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAll.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n/**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\nfunction pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, values)\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAll);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pullAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAllBy.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAllBy.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n\n/**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\nfunction pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, values, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAllBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pullAllBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAllWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAllWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n/**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\nfunction pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, values, undefined, comparator)\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAllWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pullAllWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAt.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAt.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseAt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAt.js\");\n/* harmony import */ var _basePullAt_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_basePullAt.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAt.js\");\n/* harmony import */ var _compareAscending_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_compareAscending.js */ \"../simple-mind-map/node_modules/lodash-es/_compareAscending.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n\n\n\n\n/**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\nvar pullAt = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = Object(_baseAt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, indexes);\n\n Object(_basePullAt_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(indexes, function(index) {\n return Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(index, length) ? +index : index;\n }).sort(_compareAscending_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAt);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/pullAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/random.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/random.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n\n\n\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseFloat = parseFloat;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min,\n nativeRandom = Math.random;\n\n/**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\nfunction random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lower, upper);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (random);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/random.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/range.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/range.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRange.js */ \"../simple-mind-map/node_modules/lodash-es/_createRange.js\");\n\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = Object(_createRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (range);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/range.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rangeRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rangeRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRange.js */ \"../simple-mind-map/node_modules/lodash-es/_createRange.js\");\n\n\n/**\n * This method is like `_.range` except that it populates values in\n * descending order.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.range\n * @example\n *\n * _.rangeRight(4);\n * // => [3, 2, 1, 0]\n *\n * _.rangeRight(-4);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 5);\n * // => [4, 3, 2, 1]\n *\n * _.rangeRight(0, 20, 5);\n * // => [15, 10, 5, 0]\n *\n * _.rangeRight(0, -4, -1);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.rangeRight(0);\n * // => []\n */\nvar rangeRight = Object(_createRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rangeRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/rangeRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rearg.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rearg.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\nvar rearg = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, indexes) {\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rearg);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/rearg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reduce.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reduce.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_baseReduce.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n initAccum = arguments.length < 3;\n\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 4), accumulator, initAccum, _baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduce);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/reduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reduceRight.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reduceRight.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduceRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js\");\n/* harmony import */ var _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEachRight.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_baseReduce.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\nfunction reduceRight(collection, iteratee, accumulator) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? _arrayReduceRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n initAccum = arguments.length < 3;\n\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 4), accumulator, initAccum, _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/reduceRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reject.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reject.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFilter.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n\n\n\n\n\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_negate_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/reject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/remove.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/remove.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePullAt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePullAt.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAt.js\");\n\n\n\n/**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\nfunction remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n Object(_basePullAt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, indexes);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (remove);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/remove.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/repeat.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/repeat.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRepeat.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRepeat.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\nfunction repeat(string, n, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n);\n }\n return Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string), n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (repeat);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/repeat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/replace.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/replace.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n/**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\nfunction replace() {\n var args = arguments,\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (replace);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/replace.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rest.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rest.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, start);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rest);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/rest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/result.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/result.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n/**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\nfunction result(object, path, defaultValue) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) ? value.call(object) : value;\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (result);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/result.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reverse.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reverse.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeReverse = arrayProto.reverse;\n\n/**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\nfunction reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reverse);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/reverse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/round.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/round.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round.\n * @param {number} [precision=0] The precision to round to.\n * @returns {number} Returns the rounded number.\n * @example\n *\n * _.round(4.006);\n * // => 4\n *\n * _.round(4.006, 2);\n * // => 4.01\n *\n * _.round(4060, -2);\n * // => 4100\n */\nvar round = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('round');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (round);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/round.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sample.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sample.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySample_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySample.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySample.js\");\n/* harmony import */ var _baseSample_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSample.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSample.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\nfunction sample(collection) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arraySample_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSample_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sample);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sampleSize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sampleSize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySampleSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js\");\n/* harmony import */ var _baseSampleSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n/**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\nfunction sampleSize(collection, n, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(n);\n }\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arraySampleSize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSampleSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sampleSize);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/seq.default.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/seq.default.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n at: _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], chain: _chain_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], commit: _commit_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], lodash: _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], next: _next_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n plant: _plant_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], reverse: _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], tap: _tap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], thru: _thru_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], toIterator: _toIterator_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n toJSON: _toJSON_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], value: _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], valueOf: _valueOf_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], wrapperChain: _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/seq.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/seq.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/seq.js ***! + \********************************************************/ +/*! exports provided: at, chain, commit, lodash, next, plant, reverse, tap, thru, toIterator, toJSON, value, valueOf, wrapperChain, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"next\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"plant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thru\", function() { return _thru_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJSON\", function() { return _toJSON_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"value\", function() { return _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valueOf\", function() { return _valueOf_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperChain\", function() { return _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _seq_default_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./seq.default.js */ \"../simple-mind-map/node_modules/lodash-es/seq.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _seq_default_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/seq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/set.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/set.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (set);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/set.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/setWith.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/setWith.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n/**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\nfunction setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, value, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/setWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/shuffle.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/shuffle.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayShuffle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayShuffle.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js\");\n/* harmony import */ var _baseShuffle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseShuffle.js */ \"../simple-mind-map/node_modules/lodash-es/_baseShuffle.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\nfunction shuffle(collection) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arrayShuffle_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseShuffle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shuffle);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/shuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/size.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/size.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n if (collection == null) {\n return 0;\n }\n if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection)) {\n return Object(_isString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) : collection.length;\n }\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection).length;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (size);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/size.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/slice.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/slice.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(start);\n end = end === undefined ? length : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(end);\n }\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (slice);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/slice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/snakeCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/snakeCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (snakeCase);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/snakeCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/some.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/some.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSome_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseSome.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSome.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arraySome_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSome_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (some);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/some.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseOrderBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseOrderBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return Object(_baseOrderBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, 1), []);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndex.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndex.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n\n\n/**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\nfunction sortedIndex(array, value) {\n return Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n\n\n\n/**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\nfunction sortedIndexBy(array, value, iteratee) {\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndexBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\nfunction sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value);\n if (index < length && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n\n\n/**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\nfunction sortedLastIndex(array, value) {\n return Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndex);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n\n\n\n/**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\nfunction sortedLastIndexBy(array, value, iteratee) {\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2), true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndexBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\nfunction sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, true) - 1;\n if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndexOf);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedUniq.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedUniq.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js\");\n\n\n/**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\nfunction sortedUniq(array) {\n return (array && array.length)\n ? Object(_baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedUniq);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js\");\n\n\n\n/**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\nfunction sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedUniqBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/split.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/split.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\nfunction split(string, separator, limit) {\n if (limit && typeof limit != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !Object(_isRegExp_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(separator))\n )) {\n separator = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(separator);\n if (!separator && Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)) {\n return Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (split);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/split.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/spread.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/spread.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\nfunction spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(start), 0);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(args) {\n var array = args[start],\n otherArgs = Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(args, 0, start);\n\n if (array) {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(otherArgs, array);\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, otherArgs);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (spread);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/spread.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/startCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/startCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n\n\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? ' ' : '') + Object(_upperFirst_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(word);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (startCase);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/startCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/startsWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/startsWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\nfunction startsWith(string, target, position) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n position = position == null\n ? 0\n : Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(position), 0, string.length);\n\n target = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target);\n return string.slice(position, position + target.length) == target;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (startsWith);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/startsWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/string.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/string.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n camelCase: _camelCase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], capitalize: _capitalize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], deburr: _deburr_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], endsWith: _endsWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], escape: _escape_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n escapeRegExp: _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], kebabCase: _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], lowerCase: _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], lowerFirst: _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], pad: _pad_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n padEnd: _padEnd_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], padStart: _padStart_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], parseInt: _parseInt_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], repeat: _repeat_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], replace: _replace_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n snakeCase: _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], split: _split_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], startCase: _startCase_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], startsWith: _startsWith_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], template: _template_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n templateSettings: _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], toLower: _toLower_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], toUpper: _toUpper_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], trim: _trim_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], trimEnd: _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n trimStart: _trimStart_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], truncate: _truncate_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], unescape: _unescape_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], upperCase: _upperCase_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], upperFirst: _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n words: _words_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n});\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/string.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/string.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/string.js ***! + \***********************************************************/ +/*! exports provided: camelCase, capitalize, deburr, endsWith, escape, escapeRegExp, kebabCase, lowerCase, lowerFirst, pad, padEnd, padStart, parseInt, repeat, replace, snakeCase, split, startCase, startsWith, template, templateSettings, toLower, toUpper, trim, trimEnd, trimStart, truncate, unescape, upperCase, upperFirst, words, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"camelCase\", function() { return _camelCase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"capitalize\", function() { return _capitalize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deburr\", function() { return _deburr_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return _escape_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kebabCase\", function() { return _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerCase\", function() { return _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerFirst\", function() { return _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return _pad_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padEnd\", function() { return _padEnd_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _padStart_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseInt\", function() { return _parseInt_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"snakeCase\", function() { return _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startCase\", function() { return _startCase_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return _template_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"templateSettings\", function() { return _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimEnd\", function() { return _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimStart\", function() { return _trimStart_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return _truncate_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return _unescape_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperCase\", function() { return _upperCase_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperFirst\", function() { return _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"words\", function() { return _words_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _string_default_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./string.default.js */ \"../simple-mind-map/node_modules/lodash-es/string.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _string_default_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/string.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubArray.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubArray.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubArray);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/stubArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubFalse.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubFalse.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubFalse);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/stubFalse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubObject.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubObject.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns a new empty object.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Object} Returns the new empty object.\n * @example\n *\n * var objects = _.times(2, _.stubObject);\n *\n * console.log(objects);\n * // => [{}, {}]\n *\n * console.log(objects[0] === objects[1]);\n * // => false\n */\nfunction stubObject() {\n return {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubObject);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/stubObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubString.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubString.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns an empty string.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {string} Returns the empty string.\n * @example\n *\n * _.times(2, _.stubString);\n * // => ['', '']\n */\nfunction stubString() {\n return '';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubString);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/stubString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubTrue.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubTrue.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\nfunction stubTrue() {\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubTrue);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/stubTrue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/subtract.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/subtract.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Subtract two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {number} minuend The first number in a subtraction.\n * @param {number} subtrahend The second number in a subtraction.\n * @returns {number} Returns the difference.\n * @example\n *\n * _.subtract(6, 4);\n * // => 2\n */\nvar subtract = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(minuend, subtrahend) {\n return minuend - subtrahend;\n}, 0);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (subtract);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/subtract.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sum.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sum.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sum);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sumBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sumBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n\n\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sumBy);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/sumBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/tail.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/tail.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\nfunction tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 1, length) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (tail);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/tail.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/take.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/take.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\nfunction take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, n < 0 ? 0 : n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (take);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/take.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\nfunction takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n n = length - n;\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, n < 0 ? 0 : n, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeRight);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/takeRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeRightWhile.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeRightWhile.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\nfunction takeRightWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), false, true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeRightWhile);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/takeRightWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeWhile.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeWhile.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\nfunction takeWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3))\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeWhile);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/takeWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/tap.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/tap.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\nfunction tap(value, interceptor) {\n interceptor(value);\n return value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (tap);\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/lodash-es/tap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/template.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/template.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony import */ var _attempt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./attempt.js */ \"../simple-mind-map/node_modules/lodash-es/attempt.js\");\n/* harmony import */ var _baseValues_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseValues.js */ \"../simple-mind-map/node_modules/lodash-es/_baseValues.js\");\n/* harmony import */ var _customDefaultsAssignIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_customDefaultsAssignIn.js */ \"../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js\");\n/* harmony import */ var _escapeStringChar_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_escapeStringChar.js */ \"../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _reInterpolate_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_reInterpolate.js */ \"../simple-mind-map/node_modules/lodash-es/_reInterpolate.js\");\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/** Error message constants. */\nvar INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n/** Used to match empty string literals in compiled template source. */\nvar reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n/**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\nvar reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n/**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\nvar reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n/** Used to ensure capturing order of template delimiters. */\nvar reNoMatch = /($^)/;\n\n/** Used to match unescaped characters in compiled string literals. */\nvar reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_1__[\"htmlRawNames\"].includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiAlpha\"])(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(_blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"], ok, nok)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js ***! + \**********************************************************************************/ +/*! exports provided: htmlText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlText\", function() { return htmlText; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js ***! + \**********************************************************************************/ +/*! exports provided: labelEnd */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelEnd\", function() { return labelEnd; });\n/* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-destination */ \"../simple-mind-map/node_modules/micromark-factory-destination/index.js\");\n/* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-label */ \"../simple-mind-map/node_modules/micromark-factory-label/index.js\");\n/* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-title */ \"../simple-mind-map/node_modules/micromark-factory-title/index.js\");\n/* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-whitespace */ \"../simple-mind-map/node_modules/micromark-factory-whitespace/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-normalize-identifier */ \"../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n\n\n\n/** @type {Construct} */\nconst labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(\n media,\n Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__[\"resolveAll\"])(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(close + 1))\n\n // Media close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['exit', group, context]])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"splice\"])(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return Object(micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__[\"factoryDestination\"])(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return Object(micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__[\"factoryTitle\"])(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__[\"factoryLabel\"].call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js": +/*!******************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js ***! + \******************************************************************************************/ +/*! exports provided: labelStartImage */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartImage\", function() { return labelStartImage; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js ***! + \*****************************************************************************************/ +/*! exports provided: labelStartLink */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartLink\", function() { return labelStartLink; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js ***! + \************************************************************************************/ +/*! exports provided: lineEnding */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineEnding\", function() { return lineEnding; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, ok, 'linePrefix')\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js ***! + \*****************************************************************************/ +/*! exports provided: list */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"list\", function() { return list; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var _blank_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blank-line.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/blank-line.js\");\n/* harmony import */ var _thematic_break_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./thematic-break.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n/** @type {Construct} */\nconst list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n\n/** @type {Construct} */\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(_thematic_break_js__WEBPACK_IMPORTED_MODULE_3__[\"thematicBreak\"], nok, atMarker)(code)\n : atMarker(code)\n }\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n return nok(code)\n }\n\n /** @type {State} */\n function inside(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n _blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"],\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n return nok(code)\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(_blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"], onBlank, notBlank)\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\n/**\n * @type {Exiter}\n * @this {TokenizeContext}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js ***! + \*****************************************************************************************/ +/*! exports provided: setextUnderline */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setextUnderline\", function() { return setextUnderline; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length\n /** @type {number | undefined} */\n let content\n /** @type {number | undefined} */\n let text\n /** @type {number | undefined} */\n let definition\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n }\n // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n\n // Change the paragraph to setext heading text.\n events[text][1].type = 'setextHeadingText'\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context])\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length\n /** @type {boolean | undefined} */\n let paragraph\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n marker = code\n return before(code)\n }\n return nok(code)\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter('setextHeadingLineSequence')\n return inside(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n effects.exit('setextHeadingLineSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, after, 'lineSuffix')(code)\n : after(code)\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js ***! + \***************************************************************************************/ +/*! exports provided: thematicBreak */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thematicBreak\", function() { return thematicBreak; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('thematicBreak')\n // To do: parse indent like `markdown-rs`.\n return before(code)\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code\n return atBreak(code)\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n if (size >= 3 && (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code))) {\n effects.exit('thematicBreak')\n return ok(code)\n }\n return nok(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n effects.exit('thematicBreakSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'whitespace')(code)\n : atBreak(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-destination/index.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-destination/index.js ***! + \******************************************************************************/ +/*! exports provided: factoryDestination */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryDestination\", function() { return factoryDestination; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * \n * b>\n * \n * \n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (``).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | \n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return enclosedBefore\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return raw(code)\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return enclosed(code)\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return enclosedBefore(code)\n }\n if (code === null || code === 60 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? enclosedEscape : enclosed\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return enclosed\n }\n return enclosed(code)\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (\n !balance &&\n (code === null || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code))\n ) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n if (balance < limit && code === 40) {\n effects.consume(code)\n balance++\n return raw\n }\n if (code === 41) {\n effects.consume(code)\n balance--\n return raw\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (code === null || code === 32 || code === 40 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? rawEscape : raw\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return raw\n }\n return raw(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-factory-destination/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-label/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-label/index.js ***! + \************************************************************************/ +/*! exports provided: factoryLabel */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryLabel\", function() { return factoryLabel; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n let seen\n return start\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (\n size > 999 ||\n code === null ||\n code === 91 ||\n (code === 93 && !seen) ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return labelInside(code)\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n if (!seen) seen = !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return labelInside\n }\n return labelInside(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-factory-label/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-space/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-space/index.js ***! + \************************************************************************/ +/*! exports provided: factorySpace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factorySpace\", function() { return factorySpace; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns\n * Start state.\n */\nfunction factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)) {\n effects.enter(type)\n return prefix(code)\n }\n return ok(code)\n }\n\n /** @type {State} */\n function prefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n effects.exit(type)\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-factory-space/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-title/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-title/index.js ***! + \************************************************************************/ +/*! exports provided: factoryTitle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryTitle\", function() { return factoryTitle; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return begin\n }\n return nok(code)\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n return atBreak(code)\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return begin(marker)\n }\n if (code === null) {\n return nok(code)\n }\n\n // Note: blank lines can’t exist in content.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'linePrefix')\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return inside(code)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n return code === 92 ? escape : inside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return inside\n }\n return inside(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-factory-title/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-whitespace/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-whitespace/index.js ***! + \*****************************************************************************/ +/*! exports provided: factoryWhitespace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryWhitespace\", function() { return factoryWhitespace; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\n\n\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns\n * Start state.\n */\nfunction factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-factory-whitespace/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-character/index.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-character/index.js ***! + \*************************************************************************/ +/*! exports provided: asciiAlpha, asciiAlphanumeric, asciiAtext, asciiControl, asciiDigit, asciiHexDigit, asciiPunctuation, markdownLineEnding, markdownLineEndingOrSpace, markdownSpace, unicodePunctuation, unicodeWhitespace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlpha\", function() { return asciiAlpha; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlphanumeric\", function() { return asciiAlphanumeric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAtext\", function() { return asciiAtext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiControl\", function() { return asciiControl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiDigit\", function() { return asciiDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiHexDigit\", function() { return asciiHexDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiPunctuation\", function() { return asciiPunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEnding\", function() { return markdownLineEnding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEndingOrSpace\", function() { return markdownLineEndingOrSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownSpace\", function() { return markdownSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuation\", function() { return unicodePunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodeWhitespace\", function() { return unicodeWhitespace; });\n/* harmony import */ var _lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/unicode-punctuation-regex.js */ \"../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlpha = regexCheck(/[A-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiDigit = regexCheck(/\\d/)\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEnding(code) {\n return code !== null && code < -2\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodePunctuation = regexCheck(_lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuationRegex\"])\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodeWhitespace = regexCheck(/\\s/)\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => boolean}\n */\nfunction regexCheck(regex) {\n return check\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-character/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js": +/*!*************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js ***! + \*************************************************************************************************/ +/*! exports provided: unicodePunctuationRegex */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuationRegex\", function() { return unicodePunctuationRegex; });\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\n\n/**\n * Regular expression that matches a unicode punctuation character.\n */\nconst unicodePunctuationRegex =\n /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061D-\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1B7D\\u1B7E\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52-\\u2E5D\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-chunked/index.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-chunked/index.js ***! + \***********************************************************************/ +/*! exports provided: splice, push */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splice\", function() { return splice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"push\", function() { return push; });\n/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array} items\n * Items to inject into `list`.\n * @returns {void}\n * Nothing.\n */\nfunction splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {Array} */\n let parameters\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n remove = remove > 0 ? remove : 0\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove)\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {Array} items\n * Items to add to `list`.\n * @returns {Array}\n * Either `list` or `items`.\n */\nfunction push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n return items\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-chunked/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-classify-character/index.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-classify-character/index.js ***! + \**********************************************************************************/ +/*! exports provided: classifyCharacter */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classifyCharacter\", function() { return classifyCharacter; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nfunction classifyCharacter(code) {\n if (\n code === null ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code) ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodeWhitespace\"])(code)\n ) {\n return 1\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuation\"])(code)) {\n return 2\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-classify-character/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js ***! + \**********************************************************************************/ +/*! exports provided: combineExtensions, combineHtmlExtensions */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineExtensions\", function() { return combineExtensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineHtmlExtensions\", function() { return combineHtmlExtensions; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Handles} Handles\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n */\n\n\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {Array} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nfunction combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record} */\n const left = maybe || (all[hook] = {})\n /** @type {Record | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array} existing\n * @param {Array} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {Array} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * A single combined HTML extension.\n */\nfunction combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js": +/*!**************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js ***! + \**************************************************************************************************/ +/*! exports provided: decodeNumericCharacterReference */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeNumericCharacterReference\", function() { return decodeNumericCharacterReference; });\n/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nfunction decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) ||\n // Control character (DEL) of C0, and C1 controls.\n (code > 126 && code < 160) ||\n // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) ||\n // Noncharacters.\n (code > 64975 && code < 65008) /* eslint-disable no-bitwise */ ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 /* eslint-enable no-bitwise */ ||\n // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n return String.fromCharCode(code)\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-decode-string/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-decode-string/index.js ***! + \*****************************************************************************/ +/*! exports provided: decodeString */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeString\", function() { return decodeString; });\n/* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! decode-named-character-reference */ \"../simple-mind-map/node_modules/decode-named-character-reference/index.js\");\n/* harmony import */ var micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-decode-numeric-character-reference */ \"../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js\");\n\n\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nfunction decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return Object(micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__[\"decodeNumericCharacterReference\"])($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return Object(decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__[\"decodeNamedCharacterReference\"])($2) || $0\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-decode-string/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js ***! + \*****************************************************************************/ +/*! exports provided: htmlBlockNames, htmlRawNames */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlBlockNames\", function() { return htmlBlockNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlRawNames\", function() { return htmlRawNames; });\n/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nconst htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * .\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nconst htmlRawNames = ['pre', 'script', 'style', 'textarea']\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js ***! + \************************************************************************************/ +/*! exports provided: normalizeIdentifier */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeIdentifier\", function() { return normalizeIdentifier; });\n/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nfunction normalizeIdentifier(value) {\n return (\n value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ')\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-resolve-all/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-resolve-all/index.js ***! + \***************************************************************************/ +/*! exports provided: resolveAll */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolveAll\", function() { return resolveAll; });\n/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {Array<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nfunction resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-resolve-all/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-subtokenize/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-subtokenize/index.js ***! + \***************************************************************************/ +/*! exports provided: subtokenize */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtokenize\", function() { return subtokenize; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array} events\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\nfunction subtokenize(events) {\n /** @type {Record} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n let event\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number} */\n let otherIndex\n /** @type {Event} */\n let otherEvent\n /** @type {Array} */\n let parameters\n /** @type {Array} */\n let subevents\n /** @type {boolean | undefined} */\n let more\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n event = events[index]\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start)\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n return !more\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {Array} events\n * @param {number} eventIndex\n * @returns {Record}\n */\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {Array} */\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {Array<[number, number]>} */\n const jumps = []\n /** @type {Record} */\n const gaps = {}\n /** @type {Array} */\n let stream\n /** @type {Token | undefined} */\n let previous\n let index = -1\n /** @type {Token | undefined} */\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start]\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition)\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n if (!current.next) {\n stream.push(null)\n }\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n tokenizer.write(stream)\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n }\n\n // Unravel the next token.\n previous = current\n current = current.next\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start)\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n }\n\n // Help GC.\n tokenizer.events = []\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, start, 2, slice)\n }\n index = -1\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n return gaps\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark-util-subtokenize/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/constructs.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/constructs.js ***! + \*******************************************************************/ +/*! exports provided: document, contentInitial, flowInitial, flow, string, text, insideSpan, attentionMarkers, disable */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contentInitial\", function() { return contentInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flowInitial\", function() { return flowInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insideSpan\", function() { return insideSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attentionMarkers\", function() { return attentionMarkers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disable\", function() { return disable; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\n\n\n\n/** @satisfies {Extension['document']} */\nconst document = {\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [43]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [45]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [48]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [49]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [50]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [51]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [52]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [53]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [54]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [55]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [56]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [57]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [62]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blockQuote\"]\n}\n\n/** @satisfies {Extension['contentInitial']} */\nconst contentInitial = {\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"definition\"]\n}\n\n/** @satisfies {Extension['flowInitial']} */\nconst flowInitial = {\n [-2]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [-1]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [32]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"]\n}\n\n/** @satisfies {Extension['flow']} */\nconst flow = {\n [35]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"headingAtx\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [45]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"]],\n [60]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlFlow\"],\n [61]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"],\n [126]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"]\n}\n\n/** @satisfies {Extension['string']} */\nconst string = {\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [92]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]\n}\n\n/** @satisfies {Extension['text']} */\nconst text = {\n [-5]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-4]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-3]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [33]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartImage\"],\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [60]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"autolink\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlText\"]],\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartLink\"],\n [92]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"hardBreakEscape\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]],\n [93]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeText\"]\n}\n\n/** @satisfies {Extension['insideSpan']} */\nconst insideSpan = {\n null: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"], _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__[\"resolver\"]]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nconst attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nconst disable = {\n null: []\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/constructs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js ***! + \*************************************************************************/ +/*! exports provided: createTokenizer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTokenizer\", function() { return createTokenizer; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenType} TokenType\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * @callback Restore\n * @returns {void}\n *\n * @typedef Info\n * @property {Restore} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\n\n\n\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit | undefined} [from]\n * @returns {TokenizeContext}\n */\nfunction createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record} */\n const columnStart = {}\n /** @type {Array} */\n const resolveAllConstructs = []\n /** @type {Array} */\n let chunks = []\n /** @type {Array} */\n let stack = []\n /** @type {boolean | undefined} */\n let consumed = true\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n\n /**\n * The state function.\n *\n * @type {State | void}\n */\n let state = initialize.tokenize.call(context, effects)\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n return context\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"push\"])(chunks, slice)\n main()\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n addResult(initialize, 0)\n\n // Otherwise, resolve, and exit.\n context.events = Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__[\"resolveAll\"])(resolveAllConstructs, context.events, context)\n return context.events\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {line, column, offset, _index, _bufferIndex} = point\n return {\n line,\n column,\n offset,\n _index,\n _bufferIndex\n }\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n function main() {\n /** @type {number} */\n let chunkIndex\n while (point._index < chunks.length) {\n const chunk = chunks[point._index]\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++\n\n // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n }\n\n // Expose the previous character.\n context.previous = code\n\n // Mark as consumed.\n consumed = true\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n */\n function constructFactory(onreturn, fields) {\n return hook\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | Construct | ConstructRecord} constructs\n * @param {State} returnState\n * @param {State | undefined} [bogusState]\n * @returns {State}\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {Array} */\n let listOfConstructs\n /** @type {number} */\n let constructIndex\n /** @type {Construct} */\n let currentConstruct\n /** @type {Info} */\n let info\n return Array.isArray(constructs) /* c8 ignore next 1 */\n ? handleListOfConstructs(constructs)\n : 'tokenize' in constructs\n ? // @ts-expect-error Looks like a construct.\n handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n function handleMapOfConstructs(map) {\n return start\n\n /** @type {State} */\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {Array} list\n * @returns {State}\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n if (list.length === 0) {\n return bogusState\n }\n return handleConstruct(list[constructIndex])\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n function handleConstruct(construct) {\n return start\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n // Always populated by defaults.\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true\n info.restore()\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n return bogusState\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n if (construct.resolve) {\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"splice\"])(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n */\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n\n /**\n * Restore state.\n *\n * @returns {void}\n */\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array} chunks\n * @param {Pick} token\n * @returns {Array}\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array} */\n let view\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n if (startBufferIndex > -1) {\n const head = view[0]\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex)\n } else {\n view.shift()\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n return view\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array} chunks\n * @param {boolean | undefined} [expandTabs=false]\n * @returns {string}\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array} */\n const result = []\n /** @type {boolean | undefined} */\n let atTab\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n let value\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n case -4: {\n value = '\\n'\n break\n }\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n atTab = chunk === -2\n result.push(value)\n }\n return result.join('')\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/content.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/content.js ***! + \***************************************************************************/ +/*! exports provided: content */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"content\", function() { return content; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n/** @type {InitialConstruct} */\nconst content = {\n tokenize: initializeContent\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n let previous\n return contentStart\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, contentStart, 'linePrefix')\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n if (previous) {\n previous.next = token\n }\n previous = token\n return data(code)\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/initialize/content.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/document.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/document.js ***! + \****************************************************************************/ +/*! exports provided: document */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst document = {\n tokenize: initializeDocument\n}\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array} */\n const stack = []\n let continued = 0\n /** @type {TokenizeContext | undefined} */\n let childFlow\n /** @type {Token | undefined} */\n let childToken\n /** @type {number} */\n let lineStartOffset\n return start\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n }\n\n // Done.\n return checkNewContainers(code)\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n if (childFlow) {\n closeFlow()\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point | undefined} */\n let point\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n let index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n return checkNewContainers(code)\n }\n return start(code)\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n }\n\n // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n }\n\n // Check if there is a new container.\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState])\n // Try another.\n return documentContinued(code)\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow'))\n // Get ready for the next line.\n continued = 0\n self.interrupt = undefined\n return start\n }\n effects.consume(code)\n return flowContinue\n }\n\n /**\n * @param {Token} token\n * @param {boolean | undefined} [eof]\n * @returns {void}\n */\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream)\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset &&\n // …and either is not ended yet…\n (!childFlow.events[index][1].end ||\n // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean | undefined} */\n let seen\n /** @type {Point | undefined} */\n let point\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n seen = true\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n }\n }\n\n /**\n * @param {number} size\n * @returns {void}\n */\n function exitContainers(size) {\n let index = stack.length\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n stack.length = size\n }\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/initialize/document.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/flow.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/flow.js ***! + \************************************************************************/ +/*! exports provided: flow */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst flow = {\n tokenize: initializeFlow\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blankLine\"],\n atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__[\"factorySpace\"])(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"content\"], afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/initialize/flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/text.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/text.js ***! + \************************************************************************/ +/*! exports provided: resolver, string, text */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolver\", function() { return resolver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\nconst resolver = {\n resolveAll: createResolver()\n}\nconst string = initializeFactory('string')\nconst text = initializeFactory('text')\n\n/**\n * @param {'string' | 'text'} field\n * @returns {InitialConstruct}\n */\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n function atBreak(code) {\n if (code === null) {\n return true\n }\n const list = constructs[code]\n let index = -1\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index]\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n return false\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * @returns {Resolver}\n */\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number | undefined} */\n let enter\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n enter = undefined\n }\n }\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean | undefined} */\n let tabs\n while (index--) {\n const chunk = chunks[index]\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n if (bufferIndex) break\n bufferIndex = -1\n }\n // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n eventIndex++\n }\n }\n return events\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/initialize/text.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/parse.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/parse.js ***! + \**************************************************************/ +/*! exports provided: parse */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-combine-extensions */ \"../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js\");\n/* harmony import */ var _initialize_content_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/content.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/content.js\");\n/* harmony import */ var _initialize_document_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initialize/document.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/document.js\");\n/* harmony import */ var _initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initialize/flow.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/flow.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/* harmony import */ var _create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create-tokenizer.js */ \"../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js\");\n/* harmony import */ var _constructs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constructs.js */ \"../simple-mind-map/node_modules/micromark/lib/constructs.js\");\n/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\n\n\n\n\n\n\n\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nfunction parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n Object(micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__[\"combineExtensions\"])([_constructs_js__WEBPACK_IMPORTED_MODULE_6__, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(_initialize_content_js__WEBPACK_IMPORTED_MODULE_1__[\"content\"]),\n document: create(_initialize_document_js__WEBPACK_IMPORTED_MODULE_2__[\"document\"]),\n flow: create(_initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__[\"flow\"]),\n string: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"string\"]),\n text: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"text\"])\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return Object(_create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__[\"createTokenizer\"])(parser, initial, from)\n }\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/parse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/postprocess.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/postprocess.js ***! + \********************************************************************/ +/*! exports provided: postprocess */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"postprocess\", function() { return postprocess; });\n/* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-subtokenize */ \"../simple-mind-map/node_modules/micromark-util-subtokenize/index.js\");\n/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nfunction postprocess(events) {\n while (!Object(micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__[\"subtokenize\"])(events)) {\n // Empty\n }\n return events\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/postprocess.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/preprocess.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/preprocess.js ***! + \*******************************************************************/ +/*! exports provided: preprocess */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preprocess\", function() { return preprocess; });\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nfunction preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n\n // @ts-expect-error `Buffer` does allow an encoding.\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n\n\n//# sourceURL=webpack:///../simple-mind-map/node_modules/micromark/lib/preprocess.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/dist/quill.snow.css": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/dist/quill.snow.css ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a ');\n // 写入内容\n iframeDoc.write('
' + printContent + '
');\n setTimeout(function () {\n var _iframe$contentWindow;\n (_iframe$contentWindow = iframe.contentWindow) === null || _iframe$contentWindow === void 0 || _iframe$contentWindow.print();\n document.body.removeChild(iframe);\n }, 500);\n};\n\n//# sourceURL=webpack:///./src/utils/index.js?"); + +/***/ }), + +/***/ "./src/utils/kmindInitLoading.tsx": +/*!****************************************!*\ + !*** ./src/utils/kmindInitLoading.tsx ***! + \****************************************/ +/*! exports provided: showKMindInitLoading, hideKMindInitLoading */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showKMindInitLoading\", function() { return showKMindInitLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideKMindInitLoading\", function() { return hideKMindInitLoading; });\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_0__);\n\nlet kmindLoadingInstance = null;\nconst showKMindInitLoading = (vm, target) => {\n var _vm$$t;\n // console.log(\"vm:\", vm);\n kmindLoadingInstance = element_ui__WEBPACK_IMPORTED_MODULE_0__[\"Loading\"].service({\n lock: true,\n text: (_vm$$t = vm === null || vm === void 0 ? void 0 : vm.$t('kmind.kmindInitLoadingText')) !== null && _vm$$t !== void 0 ? _vm$$t : '如果超过5秒还没有加载完成,说明KMindApp加载失败了,请重新开关一下该页面即可',\n target: target || document.body\n });\n};\nconst hideKMindInitLoading = () => {\n if (kmindLoadingInstance) {\n kmindLoadingInstance.close();\n kmindLoadingInstance = null;\n }\n};\n\n//# sourceURL=webpack:///./src/utils/kmindInitLoading.tsx?"); + +/***/ }), + +/***/ "./src/utils/kmindUtils.tsx": +/*!**********************************!*\ + !*** ./src/utils/kmindUtils.tsx ***! + \**********************************/ +/*! exports provided: isClickLinkIcon */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isClickLinkIcon\", function() { return isClickLinkIcon; });\n// 是否点击到了超链接icon\n// 实测只会点击到path和rect,所以只需要判断这俩情况就行了\n// 还会有很小的概率点到a\nconst isClickLinkIcon = e => {\n var _e$target, _e$target2, _e$target3;\n // console.log(e.target?.nextElementSibling?.attributes['p-id']?.nodeValue);\n let isLink = false;\n let linkUrl = '';\n // 以下使用switch为啥不行?用if else就行。\n // switch (e) {\n // // 点击到rect的情况:rect的nextElementSibling的p-id为7982\n // case e.target?.nextElementSibling?.attributes['p-id']?.nodeValue ===\n // '7982':\n // // return {\n // // isLink: true,\n // // linkUrl: e.target.parentNode.getAttribute('href'),\n // // };\n // console.log('xxx');\n // isLink = true;\n // linkUrl = e.target.parentNode.getAttribute('href');\n // break;\n // // 点击到path的情况:path的parentNode的p-id为7982\n // case e.target?.parentNode?.attributes['p-id']?.nodeValue === '7982':\n // // return {\n // // isLink: true,\n // // linkUrl: e.target.parentNode.parentNode.getAttribute('href'),\n // // };\n // isLink = true;\n // linkUrl = e.target.parentNode.parentNode.getAttribute('href');\n // break;\n // }\n\n if (((_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.nextElementSibling) === null || _e$target === void 0 || (_e$target = _e$target.attributes) === null || _e$target === void 0 || (_e$target = _e$target['p-id']) === null || _e$target === void 0 ? void 0 : _e$target.nodeValue) === '7982') {\n // 点击到rect的情况:rect的nextElementSibling的p-id为7982\n isLink = true;\n linkUrl = e.target.parentNode.getAttribute('href');\n } else if (((_e$target2 = e.target) === null || _e$target2 === void 0 || (_e$target2 = _e$target2.parentNode) === null || _e$target2 === void 0 || (_e$target2 = _e$target2.attributes) === null || _e$target2 === void 0 || (_e$target2 = _e$target2['p-id']) === null || _e$target2 === void 0 ? void 0 : _e$target2.nodeValue) === '7982') {\n // 点击到path的情况:path的parentNode的p-id为7982\n isLink = true;\n linkUrl = e.target.parentNode.parentNode.getAttribute('href');\n } else if (((_e$target3 = e.target) === null || _e$target3 === void 0 || (_e$target3 = _e$target3.childNodes[1]) === null || _e$target3 === void 0 || (_e$target3 = _e$target3.attributes) === null || _e$target3 === void 0 || (_e$target3 = _e$target3['p-id']) === null || _e$target3 === void 0 ? void 0 : _e$target3.nodeValue) === '7982') {\n // 点击到a标签的情况\n isLink = true;\n linkUrl = e.target.getAttribute('href');\n }\n return {\n isLink,\n linkUrl\n };\n};\n\n//# sourceURL=webpack:///./src/utils/kmindUtils.tsx?"); + +/***/ }), + +/***/ "./src/utils/loading.js": +/*!******************************!*\ + !*** ./src/utils/loading.js ***! + \******************************/ +/*! exports provided: showLoading, hideLoading */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showLoading\", function() { return showLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideLoading\", function() { return hideLoading; });\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_0__);\n\nlet loadingInstance = null;\nconst showLoading = target => {\n loadingInstance = element_ui__WEBPACK_IMPORTED_MODULE_0__[\"Loading\"].service({\n lock: true,\n target: target || document.body\n });\n};\nconst hideLoading = () => {\n if (loadingInstance) {\n loadingInstance.close();\n loadingInstance = null;\n }\n};\n\n//# sourceURL=webpack:///./src/utils/loading.js?"); + +/***/ }) + +}]); \ No newline at end of file diff --git a/kmind-plugin/app/js/2.js b/kmind-plugin/app/js/2.js new file mode 100644 index 00000000..2710765f --- /dev/null +++ b/kmind-plugin/app/js/2.js @@ -0,0 +1,145 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[2],{ + +/***/ "../simple-mind-map/src/plugins/FlowChartLine.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/src/plugins/FlowChartLine.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n\n\n\n/**\n * 流程图连接线插件\n * 处理从连接点拖拽创建关联线的功能\n */\nclass FlowChartLine {\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.draw = this.mindMap.draw;\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.tempLine = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n this.bindEvents();\n }\n\n /**\n * 绑定事件\n */\n bindEvents() {\n // 监听连接点拖拽开始事件\n this.mindMap.on('flowchart_connector_drag_start', this.handleDragStart.bind(this));\n // 监听鼠标移动事件\n this.mindMap.on('mousemove', this.handleMouseMove.bind(this));\n // 监听鼠标松开事件\n this.mindMap.on('mouseup', this.handleMouseUp.bind(this));\n // 监听节点mouseenter事件,用于检测目标节点\n this.mindMap.on('node_mouseenter', this.handleNodeMouseEnter.bind(this));\n }\n\n /**\n * 处理拖拽开始\n */\n handleDragStart(data) {\n const {\n node,\n position,\n event\n } = data;\n\n // 只有流程图节点才能开始拖拽\n if (!node.nodeData.data.isFlowChart) return;\n this.isDragging = true;\n this.startNode = node;\n this.startPosition = position;\n\n // 获取连接点的绝对位置(在节点坐标系中)\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 起始点就是连接点的位置(在SVG坐标系中)\n this.startPoint = {\n x: connectorPos.x,\n y: connectorPos.y\n };\n\n // 创建临时连接线\n this.createTempLine();\n\n // 阻止默认行为\n event.preventDefault();\n event.stopPropagation();\n }\n\n /**\n * 创建临时连接线\n */\n createTempLine() {\n this.tempLine = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]().fill('none').stroke({\n color: '#2196f3',\n width: 2,\n dasharray: '5,5'\n }).css({\n 'pointer-events': 'none'\n });\n\n // 添加到关联线画布层,确保在正确的层级\n this.mindMap.associativeLineDraw.add(this.tempLine);\n this.tempLine.front(); // 确保在最前面\n this.updateTempLine(this.startPoint.x, this.startPoint.y);\n }\n\n /**\n * 更新临时连接线\n */\n updateTempLine(endX, endY) {\n if (!this.tempLine) return;\n const path = this.calculatePath(this.startPoint, {\n x: endX,\n y: endY\n });\n this.tempLine.plot(path);\n }\n\n /**\n * 计算路径\n */\n calculatePath(start, end) {\n // 对于流程图,使用正交路径的简化版本\n const path = [`M ${start.x} ${start.y}`];\n\n // 计算方向\n const dx = end.x - start.x;\n const dy = end.y - start.y;\n\n // 简单的L形路径\n if (Math.abs(dx) > Math.abs(dy)) {\n // 水平方向优先\n const midX = start.x + dx / 2;\n path.push(`L ${midX} ${start.y}`);\n path.push(`L ${midX} ${end.y}`);\n path.push(`L ${end.x} ${end.y}`);\n } else {\n // 垂直方向优先\n const midY = start.y + dy / 2;\n path.push(`L ${start.x} ${midY}`);\n path.push(`L ${end.x} ${midY}`);\n path.push(`L ${end.x} ${end.y}`);\n }\n return path.join(' ');\n }\n\n /**\n * 处理鼠标移动\n */\n handleMouseMove(e) {\n if (!this.isDragging || !this.tempLine) return;\n\n // 先转换到容器坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n\n // 然后考虑画布的变换(缩放和平移)\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否靠近某个连接点(吸附功能)\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult) {\n this.endPoint = snapResult.point;\n // 高亮目标连接点\n if (snapResult.connector) {\n snapResult.connector.animate(100).attr({\n opacity: 1,\n r: this.mindMap.opt.flowChartConnectorSize || 8\n });\n }\n } else {\n this.endPoint = mousePoint;\n // 取消所有连接点高亮\n this.unhighlightAllConnectors();\n }\n this.updateTempLine(this.endPoint.x, this.endPoint.y);\n }\n\n /**\n * 处理节点鼠标进入\n */\n handleNodeMouseEnter(node) {\n if (!this.isDragging) return;\n\n // 检查是否是流程图节点\n if (!node.nodeData.data.isFlowChart) return;\n\n // 不能连接到自己\n if (node.uid === this.startNode.uid) return;\n\n // 高亮目标节点的连接点\n if (node._flowChartConnector) {\n node._flowChartConnector.showConnectors();\n }\n }\n\n /**\n * 处理鼠标松开\n */\n handleMouseUp(e) {\n if (!this.isDragging) return;\n\n // 先转换坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否可以吸附到连接点\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult && snapResult.node) {\n // 创建实际的关联线,使用吸附的位置\n this.createAssociationLine(this.startNode, this.startPosition, snapResult.node, snapResult.position);\n } else {\n // 检查是否拖到空白处(Phase 4.4 功能)\n const targetNode = this.findNodeAtPosition(e.clientX, e.clientY);\n if (!targetNode && this.mindMap.opt.enableDragCreateFlowChartNode !== false) {\n // 在空白处创建新的流程图节点\n this.createNewFlowChartNode(mousePoint);\n // 延迟清理,让createNewFlowChartNode有机会使用startNode\n setTimeout(() => {\n this.cleanup();\n this.unhighlightAllConnectors();\n }, 200);\n return;\n }\n }\n\n // 正常情况下立即清理\n this.cleanup();\n this.unhighlightAllConnectors();\n }\n\n /**\n * 查找指定位置的节点\n */\n findNodeAtPosition(clientX, clientY) {\n // 使用更简单的方法:利用当前鼠标下的hover节点\n let targetNode = null;\n\n // 遍历所有SVG元素,查找包含smm-node类的元素\n const elements = document.elementsFromPoint(clientX, clientY);\n for (let element of elements) {\n // 查找包含节点类的SVG组元素\n const nodeGroup = element.closest('.smm-node');\n if (nodeGroup) {\n // 尝试从DOM元素获取存储的节点引用\n // 很多库会将节点实例存储在DOM元素上\n if (nodeGroup._node) {\n targetNode = nodeGroup._node;\n break;\n }\n\n // 如果没有直接引用,遍历所有节点查找匹配的DOM元素\n const allNodes = [];\n\n // 收集所有节点\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n\n // 处理多根模式\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n // 多根模式\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) {\n collectNodes(root._node);\n }\n });\n } else if (this.mindMap.renderer.root) {\n // 单根模式 - 使用渲染后的根节点\n collectNodes(this.mindMap.renderer.root);\n }\n }\n\n // 查找匹配的节点\n for (let node of allNodes) {\n if (node.group && node.group.node === nodeGroup) {\n targetNode = node;\n break;\n }\n }\n if (targetNode) break;\n }\n }\n return targetNode;\n }\n\n /**\n * 检查是否可以吸附到连接点\n */\n checkSnapToConnector(mousePoint, clientX, clientY) {\n const snapThreshold = 20; // 吸附阈值(像素)\n\n // 查找鼠标下的节点\n const targetNode = this.findNodeAtPosition(clientX, clientY);\n if (targetNode && targetNode.nodeData.data.isFlowChart && targetNode.uid !== this.startNode.uid && targetNode._flowChartConnector) {\n // 获取所有连接点位置\n const positions = ['top', 'right', 'bottom', 'left'];\n let nearestConnector = null;\n let nearestDistance = Infinity;\n let nearestPoint = null;\n let nearestPosition = null;\n positions.forEach(position => {\n const connector = targetNode._flowChartConnector.getConnectorByPosition(position);\n if (!connector) return;\n const connectorPos = targetNode._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 计算距离\n const distance = Math.sqrt(Math.pow(connectorPos.x - mousePoint.x, 2) + Math.pow(connectorPos.y - mousePoint.y, 2));\n if (distance < snapThreshold && distance < nearestDistance) {\n nearestDistance = distance;\n nearestConnector = connector;\n nearestPoint = connectorPos;\n nearestPosition = position;\n }\n });\n if (nearestConnector) {\n return {\n point: nearestPoint,\n connector: nearestConnector,\n node: targetNode,\n position: nearestPosition\n };\n }\n }\n return null;\n }\n\n /**\n * 取消所有连接点高亮\n */\n unhighlightAllConnectors() {\n // 遍历所有节点,取消连接点高亮\n const allNodes = [];\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) collectNodes(root._node);\n });\n } else if (this.mindMap.renderer.root) {\n collectNodes(this.mindMap.renderer.root);\n }\n }\n allNodes.forEach(node => {\n if (node._flowChartConnector) {\n node._flowChartConnector.hideConnectors();\n }\n });\n }\n\n /**\n * 找到最近的连接点\n */\n findNearestConnector(node, point) {\n if (!node._flowChartConnector) return null;\n let minDistance = Infinity;\n let nearestPosition = null;\n const positions = ['top', 'right', 'bottom', 'left'];\n positions.forEach(position => {\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n const distance = Math.sqrt(Math.pow(connectorPos.x - point.x, 2) + Math.pow(connectorPos.y - point.y, 2));\n if (distance < minDistance) {\n minDistance = distance;\n nearestPosition = position;\n }\n });\n return nearestPosition;\n }\n\n /**\n * 创建关联线\n */\n createAssociationLine(startNode, startPosition, endNode, endPosition) {\n // 检查参数有效性\n if (!startNode || !endNode) {\n console.warn('createAssociationLine: 无效的节点参数', startNode, endNode);\n return;\n }\n\n // 使用现有的关联线功能\n if (this.mindMap.associativeLine) {\n // 先添加关联线\n this.mindMap.associativeLine.addLine(startNode, endNode);\n\n // 获取当前的关联线目标数组\n const targets = startNode.getData('associativeLineTargets') || [];\n const targetIndex = targets.findIndex(t => t === endNode.getData('uid'));\n if (targetIndex !== -1) {\n // 获取或创建关联线点位数组\n const associativeLinePoint = startNode.getData('associativeLinePoint') || [];\n\n // 确保数组长度足够\n while (associativeLinePoint.length <= targetIndex) {\n associativeLinePoint.push({});\n }\n\n // 设置该关联线的连接点位置\n associativeLinePoint[targetIndex] = {\n startPoint: {\n dir: startPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n },\n endPoint: {\n dir: endPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n }\n };\n\n // 更新节点数据\n this.mindMap.execCommand('SET_NODE_DATA', startNode, {\n associativeLinePoint\n });\n\n // 立即重新渲染关联线以应用新的位置\n setTimeout(() => {\n this.mindMap.associativeLine.renderAllLines();\n }, 0);\n }\n\n // 触发事件\n this.mindMap.emit('flowchart_line_created', {\n startNode,\n startPosition,\n endNode,\n endPosition\n });\n }\n }\n\n /**\n * 创建新的流程图节点\n */\n createNewFlowChartNode(position) {\n // 默认创建一个处理节点\n const nodeType = 'process';\n const newNodeData = {\n data: {\n text: '新节点',\n isFlowChart: true,\n flowchart: {\n nodeType: nodeType\n },\n customLeft: position.x - 50,\n // 居中\n customTop: position.y - 25\n },\n children: []\n };\n\n // 保存起始节点和位置,避免在异步回调中丢失\n const sourceNode = this.startNode;\n const sourcePosition = this.startPosition;\n\n // 使用正确的 addRootNode 方法,传入回调函数\n this.mindMap.addRootNode(newNodeData, -1, createdNode => {\n if (createdNode) {\n // 根据拖拽方向决定连接点\n const dx = position.x - this.startPoint.x;\n const dy = position.y - this.startPoint.y;\n let targetPosition = 'left';\n if (Math.abs(dx) > Math.abs(dy)) {\n targetPosition = dx > 0 ? 'left' : 'right';\n } else {\n targetPosition = dy > 0 ? 'top' : 'bottom';\n }\n\n // 稍微延迟以确保节点完全渲染并初始化\n setTimeout(() => {\n // 确保节点已经完全初始化\n if (createdNode && createdNode.getData) {\n // 创建关联线\n this.createAssociationLine(sourceNode, sourcePosition, createdNode, targetPosition);\n\n // 激活新节点以便编辑\n createdNode.active();\n\n // 触发节点创建事件\n this.mindMap.emit('flowchart_node_created', {\n node: createdNode,\n fromNode: sourceNode,\n position: position\n });\n } else {\n console.warn('新创建的节点尚未完全初始化');\n }\n }, 100); // 增加延迟时间\n }\n });\n }\n\n /**\n * 清理临时元素\n */\n cleanup() {\n if (this.tempLine) {\n this.tempLine.remove();\n this.tempLine = null;\n }\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n }\n\n /**\n * 销毁插件\n */\n destroy() {\n this.cleanup();\n this.mindMap.off('flowchart_connector_drag_start', this.handleDragStart);\n this.mindMap.off('mousemove', this.handleMouseMove);\n this.mindMap.off('mouseup', this.handleMouseUp);\n this.mindMap.off('node_mouseenter', this.handleNodeMouseEnter);\n }\n}\n\n// 注册插件\nFlowChartLine.pluginName = 'flowChartLine';\n/* harmony default export */ __webpack_exports__[\"default\"] = (FlowChartLine);\n\n//# sourceURL=webpack:///../simple-mind-map/src/plugins/FlowChartLine.js?"); + +/***/ }), + +/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/pages/test.vue?vue&type=script&lang=js": +/*!*******************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/test.vue?vue&type=script&lang=js ***! + \*******************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_exception_stack_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ \"./node_modules/core-js/modules/web.dom-exception.stack.js\");\n/* harmony import */ var core_js_modules_web_dom_exception_stack_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_exception_stack_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/logger */ \"./src/utils/logger/index.ts\");\n/* harmony import */ var simple_mind_map__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! simple-mind-map */ \"../simple-mind-map/index.js\");\n/* harmony import */ var simple_mind_map_src_plugins_MiniMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! simple-mind-map/src/plugins/MiniMap.js */ \"../simple-mind-map/src/plugins/MiniMap.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Watermark_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! simple-mind-map/src/plugins/Watermark.js */ \"../simple-mind-map/src/plugins/Watermark.js\");\n/* harmony import */ var simple_mind_map_src_plugins_KeyboardNavigation_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! simple-mind-map/src/plugins/KeyboardNavigation.js */ \"../simple-mind-map/src/plugins/KeyboardNavigation.js\");\n/* harmony import */ var simple_mind_map_src_plugins_ExportPDF_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! simple-mind-map/src/plugins/ExportPDF.js */ \"../simple-mind-map/src/plugins/ExportPDF.js\");\n/* harmony import */ var simple_mind_map_src_plugins_ExportXMind_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! simple-mind-map/src/plugins/ExportXMind.js */ \"../simple-mind-map/src/plugins/ExportXMind.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Export_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! simple-mind-map/src/plugins/Export.js */ \"../simple-mind-map/src/plugins/Export.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Drag_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! simple-mind-map/src/plugins/Drag.js */ \"../simple-mind-map/src/plugins/Drag.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Select_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! simple-mind-map/src/plugins/Select.js */ \"../simple-mind-map/src/plugins/Select.js\");\n/* harmony import */ var simple_mind_map_src_plugins_AssociativeLine_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! simple-mind-map/src/plugins/AssociativeLine.js */ \"../simple-mind-map/src/plugins/AssociativeLine.js\");\n/* harmony import */ var simple_mind_map_src_plugins_TouchEvent_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! simple-mind-map/src/plugins/TouchEvent.js */ \"../simple-mind-map/src/plugins/TouchEvent.js\");\n/* harmony import */ var simple_mind_map_src_plugins_NodeImgAdjust_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! simple-mind-map/src/plugins/NodeImgAdjust.js */ \"../simple-mind-map/src/plugins/NodeImgAdjust.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Search_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! simple-mind-map/src/plugins/Search.js */ \"../simple-mind-map/src/plugins/Search.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Painter_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! simple-mind-map/src/plugins/Painter.js */ \"../simple-mind-map/src/plugins/Painter.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Formula_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! simple-mind-map/src/plugins/Formula.js */ \"../simple-mind-map/src/plugins/Formula.js\");\n/* harmony import */ var simple_mind_map_src_plugins_RainbowLines_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! simple-mind-map/src/plugins/RainbowLines.js */ \"../simple-mind-map/src/plugins/RainbowLines.js\");\n/* harmony import */ var simple_mind_map_src_plugins_Demonstrate_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! simple-mind-map/src/plugins/Demonstrate.js */ \"../simple-mind-map/src/plugins/Demonstrate.js\");\n/* harmony import */ var simple_mind_map_src_plugins_OuterFrame_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! simple-mind-map/src/plugins/OuterFrame.js */ \"../simple-mind-map/src/plugins/OuterFrame.js\");\n/* harmony import */ var simple_mind_map_src_plugins_MindMapLayoutPro_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! simple-mind-map/src/plugins/MindMapLayoutPro.js */ \"../simple-mind-map/src/plugins/MindMapLayoutPro.js\");\n/* harmony import */ var simple_mind_map_plugin_themes__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! simple-mind-map-plugin-themes */ \"./node_modules/simple-mind-map-plugin-themes/index.js\");\n/* harmony import */ var _simple_mind_map_plugin_themes_themeList__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @/../../simple-mind-map-plugin-themes/themeList */ \"../simple-mind-map-plugin-themes/themeList.js\");\n/* harmony import */ var simple_mind_map_src_plugins_FlowChartLine_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! simple-mind-map/src/plugins/FlowChartLine.js */ \"../simple-mind-map/src/plugins/FlowChartLine.js\");\n\n\n\n\n\n\n// 导入日志系统\n\n\n// 导入 MindMap 核心库和插件\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// 注册插件\nsimple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"].usePlugin(simple_mind_map_src_plugins_MiniMap_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Watermark_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Drag_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]).usePlugin(simple_mind_map_src_plugins_KeyboardNavigation_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).usePlugin(simple_mind_map_src_plugins_ExportPDF_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]).usePlugin(simple_mind_map_src_plugins_ExportXMind_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Export_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Select_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]).usePlugin(simple_mind_map_src_plugins_AssociativeLine_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]).usePlugin(simple_mind_map_src_plugins_NodeImgAdjust_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]).usePlugin(simple_mind_map_src_plugins_TouchEvent_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Search_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Painter_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Formula_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]).usePlugin(simple_mind_map_src_plugins_RainbowLines_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]).usePlugin(simple_mind_map_src_plugins_Demonstrate_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]).usePlugin(simple_mind_map_src_plugins_OuterFrame_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]).usePlugin(simple_mind_map_src_plugins_MindMapLayoutPro_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]).usePlugin(simple_mind_map_src_plugins_FlowChartLine_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]);\n\n// 注册主题\nsimple_mind_map_plugin_themes__WEBPACK_IMPORTED_MODULE_26__[\"default\"].init(simple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Test',\n data() {\n return {\n mindMap: null,\n isMultiRoot: false,\n rootCount: 1,\n associationCount: 0,\n isAssociativeMode: false,\n activeTab: 'data',\n currentData: null,\n associationsData: [],\n operationLogs: [],\n // 主题相关\n selectedRootIndex: null,\n selectedTheme: '',\n rootsInfo: [],\n // 布局相关\n selectedLayoutRootIndex: null,\n selectedLayout: '',\n availableLayouts: [{\n label: '逻辑结构图',\n value: 'logicalStructure'\n }, {\n label: '逻辑结构图(向左)',\n value: 'logicalStructureLeft'\n }, {\n label: '思维导图',\n value: 'mindMap'\n }, {\n label: '组织结构图',\n value: 'organizationStructure'\n }, {\n label: '目录组织图',\n value: 'catalogOrganization'\n }, {\n label: '时间轴',\n value: 'timeline'\n }, {\n label: '时间轴2',\n value: 'timeline2'\n }, {\n label: '鱼骨图',\n value: 'fishbone'\n }, {\n label: '竖向时间轴',\n value: 'verticalTimeline'\n }, {\n label: '径向布局',\n value: 'radial'\n }],\n availableThemes: ['default', 'classic', 'classic2', 'classic3', 'classic4', 'classic5', 'classic6', 'classic7', 'classic8', 'classic9', 'classic10', 'dark', 'dark2', 'dark3', 'dark4', 'freshGreen', 'freshBlue', 'freshRed', 'freshPurple', 'freshPink', 'freshYellow'],\n // 主题预览图生成相关\n themeGeneratorDialogVisible: false,\n previewMindMap: null,\n previewMindMapEl: null,\n allThemes: [],\n generatedSVGs: [],\n generatedCount: 0,\n currentThemeName: '',\n isGenerating: false,\n // 压缩质量设置\n webpQuality: 0.8,\n // 默认80%质量\n jpgQuality: 0.85,\n // 默认85%质量\n // 布局预览图生成相关\n layoutGeneratorDialogVisible: false,\n allLayouts: [],\n generatedLayoutSVGs: [],\n generatedLayoutCount: 0,\n currentLayoutName: '',\n isGeneratingLayouts: false,\n layoutWebpQuality: 0.8,\n layoutJpgQuality: 0.85,\n layoutPreviewMindMap: null,\n layoutPreviewMindMapEl: null\n };\n },\n computed: {\n formattedData() {\n return this.currentData ? JSON.stringify(this.currentData, null, 2) : '暂无数据';\n }\n },\n mounted() {\n // 自动初始化\n this.$nextTick(() => {\n this.initMindMap();\n });\n },\n beforeDestroy() {\n if (this.mindMap) {\n this.mindMap.destroy();\n }\n },\n methods: {\n // 添加操作日志\n addLog(message) {\n this.operationLogs.unshift({\n time: new Date().toLocaleTimeString(),\n message\n });\n // 保持最多20条日志\n if (this.operationLogs.length > 20) {\n this.operationLogs = this.operationLogs.slice(0, 20);\n }\n },\n // 初始化思维导图\n initMindMap() {\n if (this.mindMap) {\n this.mindMap.destroy();\n }\n try {\n this.mindMap = new simple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n el: this.$refs.mindMapContainer,\n data: this.getMultiRootData(),\n // 默认加载多根数据\n layout: 'logicalStructure',\n theme: 'classic7',\n fit: true,\n nodeTextEditZIndex: 1000,\n nodeNoteTooltipZIndex: 1000,\n // 启用多根节点相关配置\n enableDblclickCreateRootNode: true,\n dragToEmptySpaceCreateRootTime: 2000,\n // 允许根节点收起展开\n allowRootNodeCollapse: true\n });\n this.addLog('思维导图初始化成功');\n this.bindEvents();\n this.updateAllInfo();\n } catch (error) {\n console.error('思维导图初始化失败:', error);\n this.addLog('初始化失败: ' + error.message);\n }\n },\n // 绑定事件\n bindEvents() {\n // 基础事件\n this.mindMap.on('node_active', (node, activeNodeList) => {\n if (node && node.getData) {\n this.addLog(`激活节点: ${node.getData('text')}`);\n } else if (activeNodeList && activeNodeList.length === 0) {\n this.addLog('清除所有激活节点');\n } else if (!node) {\n this.addLog('激活节点已清除');\n } else {\n this.addLog('激活节点: 数据异常');\n }\n });\n this.mindMap.on('data_change', () => {\n this.updateAllInfo();\n });\n this.mindMap.on('node_created', node => {\n if (node && node.getData) {\n this.addLog(`创建节点: ${node.getData('text')}`);\n } else {\n this.addLog('创建节点: 数据异常');\n }\n });\n this.mindMap.on('node_dragged', node => {\n if (node && node.getData) {\n this.addLog(`拖拽节点: ${node.getData('text')}`);\n } else {\n this.addLog('拖拽节点: 数据异常');\n }\n });\n\n // 关联线事件\n this.mindMap.on('associative_line_click', (path, clickPath, fromNode, toNode) => {\n try {\n const fromText = fromNode && fromNode.getData ? fromNode.getData('text') : '未知';\n const toText = toNode && toNode.getData ? toNode.getData('text') : '未知';\n this.addLog(`点击关联线: ${fromText} -> ${toText}`);\n } catch (error) {\n console.warn('关联线点击事件处理错误:', error);\n this.addLog('点击关联线: 数据异常');\n }\n });\n this.mindMap.on('associative_line_deactivate', () => {\n this.addLog(`关联线取消激活`);\n });\n\n // 监听数据变化来检测关联线的增删\n this.mindMap.on('data_change', () => {\n this.updateAssociationsData();\n });\n\n // 监听关联线创建状态变化\n this.mindMap.on('draw_click', () => {\n // 当点击空白处时,如果正在创建关联线,则取消\n if (this.isAssociativeMode && this.mindMap.associativeLine && !this.mindMap.associativeLine.isCreatingLine) {\n this.isAssociativeMode = false;\n this.addLog('退出关联线创建模式');\n }\n });\n },\n // 获取单根节点测试数据\n getSingleRootData() {\n return {\n data: {\n text: 'A'\n },\n children: [{\n data: {\n text: 'A1'\n },\n children: [{\n data: {\n text: 'A1-1'\n }\n }, {\n data: {\n text: 'A1-2'\n }\n }]\n }, {\n data: {\n text: 'A2'\n },\n children: [{\n data: {\n text: 'A2-1'\n }\n }, {\n data: {\n text: 'A2-2'\n }\n }]\n }]\n };\n },\n // 获取多根节点测试数据\n getMultiRootData() {\n return {\n multiRoot: true,\n roots: [{\n data: {\n text: 'A',\n layout: 'logicalStructure',\n theme: 'classic7'\n },\n children: [{\n data: {\n text: 'A1'\n },\n children: [{\n data: {\n text: 'A1-1'\n }\n }, {\n data: {\n text: 'A1-2'\n }\n }]\n }, {\n data: {\n text: 'A2'\n }\n }]\n }, {\n data: {\n text: 'B',\n layout: 'mindMap',\n theme: 'dark2'\n },\n children: [{\n data: {\n text: 'B1'\n },\n children: [{\n data: {\n text: 'B1-1'\n }\n }, {\n data: {\n text: 'B1-2'\n }\n }]\n }, {\n data: {\n text: 'B2'\n }\n }, {\n data: {\n text: 'B3'\n }\n }]\n }, {\n data: {\n text: 'C',\n theme: 'freshGreen'\n },\n children: [{\n data: {\n text: 'C1'\n }\n }, {\n data: {\n text: 'C2'\n }\n }, {\n data: {\n text: 'C3'\n }\n }]\n }]\n };\n },\n // 基础操作方法\n loadSingleRoot() {\n if (!this.mindMap) return;\n this.mindMap.setData(this.getSingleRootData());\n this.addLog('加载单根节点数据');\n },\n loadMultiRoot() {\n if (!this.mindMap) return;\n this.mindMap.setData(this.getMultiRootData());\n this.addLog('加载多根节点数据');\n },\n toggleMultiRootMode() {\n if (!this.mindMap) return;\n const currentMode = this.mindMap.isMultiRoot;\n this.mindMap.setMultiRootMode(!currentMode);\n this.addLog(`切换到${!currentMode ? '多根' : '单根'}节点模式`);\n },\n addNewRoot() {\n if (!this.mindMap) return;\n const rootCount = this.mindMap.getRootNodes().length;\n const letter = String.fromCharCode(65 + rootCount); // A=65, B=66, C=67...\n this.mindMap.addRootNode({\n data: {\n text: letter,\n layout: rootCount % 2 === 0 ? 'logicalStructure' : 'mindMap'\n },\n children: [{\n data: {\n text: `${letter}1`\n }\n }, {\n data: {\n text: `${letter}2`\n }\n }]\n });\n this.addLog(`添加新根节点 ${letter}`);\n },\n removeLastRoot() {\n if (!this.mindMap) return;\n const roots = this.mindMap.getRootNodes();\n if (roots.length > 1) {\n this.mindMap.removeRootNode(roots.length - 1);\n this.addLog('删除最后一个根节点');\n } else {\n this.$message.warning('至少需要保留一个根节点');\n }\n },\n addRootWithCustomPosition() {\n if (!this.mindMap) return;\n const rootCount = this.mindMap.getRootNodes().length;\n const letter = String.fromCharCode(65 + rootCount);\n this.mindMap.addRootNode({\n data: {\n text: letter,\n layout: 'mindMap',\n customLeft: 100 + rootCount * 50,\n customTop: 100 + rootCount * 50\n },\n children: [{\n data: {\n text: `${letter}1`\n }\n }]\n });\n this.addLog(`添加自定义位置根节点 ${letter}`);\n },\n // 关联线操作方法\n enterAssociativeMode() {\n if (!this.mindMap || !this.mindMap.associativeLine) {\n this.$message.error('关联线插件未启用');\n return;\n }\n\n // 先激活一个节点,然后创建关联线\n const activeNodes = this.mindMap.renderer.activeNodeList;\n if (activeNodes.length === 0) {\n this.$message.warning('请先选择一个起始节点');\n return;\n }\n this.mindMap.associativeLine.createLineFromActiveNode();\n this.isAssociativeMode = true;\n this.addLog('进入关联线创建模式');\n this.$message.info('现在请点击目标节点创建关联线,按ESC取消');\n\n // 定时检查关联线创建状态\n this.checkAssociativeLineStatus();\n },\n createCrossRootAssociation() {\n if (!this.mindMap.isMultiRoot) {\n this.$message.warning('请先切换到多根模式');\n return;\n }\n this.enterAssociativeMode();\n this.$message.info('现在可以在不同根节点之间创建关联线');\n },\n showAllAssociations() {\n if (!this.mindMap || !this.mindMap.associativeLine) return;\n const lineList = this.mindMap.associativeLine.lineList;\n this.addLog(`显示所有关联线,共 ${lineList.length} 条`);\n this.updateAssociationsData();\n },\n clearAllAssociations() {\n if (!this.mindMap || !this.mindMap.associativeLine) return;\n this.mindMap.associativeLine.removeAllLines();\n this.addLog('清除所有关联线');\n this.updateAssociationsData();\n },\n // 日志系统测试方法\n testLoggerDebug() {\n _utils_logger__WEBPACK_IMPORTED_MODULE_6__[\"logger\"].debug('test', 'Debug 日志测试消息', {\n timestamp: Date.now(),\n testData: '这是 DEBUG 级别的测试数据'\n });\n this.addLog('发送了 DEBUG 日志');\n },\n testLoggerInfo() {\n _utils_logger__WEBPACK_IMPORTED_MODULE_6__[\"logger\"].info('test', 'Info 日志测试消息', {\n user: 'TestUser',\n action: '点击测试按钮',\n details: '这是 INFO 级别的测试'\n });\n this.addLog('发送了 INFO 日志');\n },\n testLoggerWarn() {\n _utils_logger__WEBPACK_IMPORTED_MODULE_6__[\"logger\"].warn('test', 'Warning 日志测试消息', {\n warning: '这是一个警告',\n level: 'medium',\n suggestion: '建议检查配置'\n });\n this.addLog('发送了 WARN 日志');\n },\n testLoggerError() {\n _utils_logger__WEBPACK_IMPORTED_MODULE_6__[\"logger\"].error('test', 'Error 日志测试消息', {\n error: new Error('模拟错误'),\n code: 'TEST_ERROR',\n message: '这是 ERROR 级别的测试'\n });\n this.addLog('发送了 ERROR 日志');\n },\n // 测试可点击链接格式\n testClickableLinks() {\n console.log('========== 测试可点击链接格式 ==========');\n\n // 测试各种格式\n const formats = ['webpack-internal:///./src/pages/test.vue:1150:5', 'webpack-internal:///node_modules/vue/dist/vue.js:100:10', 'webpack:///src/pages/test.vue:1150:5', 'webpack://kmind-plugin/src/pages/test.vue:1150:5', 'webpack://kmind-plugin/./src/pages/test.vue:1150:5', 'file:///Users/test/project/src/test.js:10:5', 'http://localhost:8080/src/test.js:10:5'];\n console.log('直接输出路径:');\n formats.forEach(url => {\n console.log(` at testFunction (${url})`);\n });\n console.log('\\n使用 console.trace:');\n console.trace('这会生成一个可点击的堆栈跟踪');\n console.log('\\n使用 Error.stack:');\n try {\n throw new Error('测试错误');\n } catch (e) {\n console.log(e.stack);\n }\n this.addLog('测试了多种链接格式,查看控制台');\n },\n // 检测运行环境\n detectEnvironment() {\n const isElectron = !!(typeof window !== 'undefined' && window.process && window.process.type);\n const isDev = \"siyuan-widget\" === 'development';\n const isIframe = window.parent !== window;\n const hasPluginApi = !!globalThis.kmindApi;\n const info = {\n isElectron,\n isDevelopment: isDev,\n isIframe,\n hasPluginApi,\n userAgent: navigator.userAgent,\n platform: navigator.platform,\n webpack: typeof __webpack_require__ !== 'undefined',\n nodeEnv: \"siyuan-widget\",\n buildMode: Object({\"NODE_ENV\":\"siyuan-widget\",\"VUE_APP_SIYUAN_WIDGET\":\"true\",\"BASE_URL\":\"\"}).VUE_APP_BUILD_MODE\n };\n console.group('环境检测结果');\n console.table(info);\n console.log('详细信息:', info);\n console.groupEnd();\n this.addLog(`环境: ${isElectron ? 'Electron' : 'Browser'}, ${isDev ? 'Dev' : 'Prod'}`);\n },\n removeAssociation(index) {\n if (!this.mindMap || !this.mindMap.associativeLine) return;\n const lineList = this.mindMap.associativeLine.lineList;\n if (index >= 0 && index < lineList.length) {\n const line = lineList[index];\n // 移除SVG元素\n line[0].remove(); // path\n line[1].remove(); // clickPath\n line[2].remove(); // text\n // 从数组中移除\n lineList.splice(index, 1);\n this.addLog('删除关联线');\n this.updateAssociationsData();\n }\n },\n // 测试功能方法\n testDragToEmptySpace() {\n this.addLog('测试拖拽到空白处创建根节点功能');\n this.$message.info('请拖拽任意子节点到空白处,停留2秒后放开鼠标');\n },\n testDoubleClickCreate() {\n this.addLog('测试双击创建根节点功能');\n this.$message.info('请在空白处双击鼠标创建新根节点');\n },\n testCrossRootDrag() {\n this.addLog('测试跨根节点拖拽功能');\n this.$message.info('请拖拽节点到其他根节点下成为子节点');\n },\n testGeneralizationWithChildren() {\n if (!this.mindMap) return;\n\n // 创建测试数据\n const testData = {\n data: {\n text: 'A'\n },\n children: [{\n data: {\n text: 'A1'\n },\n children: [{\n data: {\n text: 'A1-1'\n }\n }, {\n data: {\n text: 'A1-2'\n }\n }]\n }, {\n data: {\n text: 'A2'\n },\n children: [{\n data: {\n text: 'A2-1'\n }\n }, {\n data: {\n text: 'A2-2'\n }\n }]\n }, {\n data: {\n text: 'A3'\n }\n }]\n };\n this.mindMap.setData(testData);\n\n // 添加带子节点的概要\n setTimeout(() => {\n const rootNode = this.mindMap.renderer.root;\n if (rootNode && rootNode.children && rootNode.children.length >= 2) {\n // 为前两个子节点添加概要\n const targetNodes = [rootNode.children[0], rootNode.children[1]];\n\n // 选中节点\n this.mindMap.renderer.clearActiveNodeList();\n targetNodes.forEach(node => {\n this.mindMap.renderer.addNodeToActiveList(node);\n });\n\n // 添加带子节点的概要\n this.mindMap.execCommand('ADD_GENERALIZATION', {\n text: 'G1',\n children: [{\n data: {\n text: 'G1-1'\n },\n children: [{\n data: {\n text: 'G1-1-1'\n }\n }, {\n data: {\n text: 'G1-1-2'\n }\n }]\n }, {\n data: {\n text: 'G1-2'\n }\n }]\n });\n this.addLog('添加了带子节点的概要');\n this.$message.success('已创建带子节点的概要!可以在概要节点上使用Tab键添加更多子节点');\n }\n }, 500);\n this.addLog('加载概要子节点测试数据');\n },\n // 更新信息方法\n updateAllInfo() {\n this.updateBasicInfo();\n this.updateCurrentData();\n this.updateAssociationsData();\n },\n updateBasicInfo() {\n if (this.mindMap) {\n this.isMultiRoot = this.mindMap.isMultiRoot;\n const roots = this.mindMap.getRootNodes();\n this.rootCount = roots.length;\n\n // 更新根节点信息\n this.rootsInfo = roots.map((root, index) => {\n const rootData = root.nodeData || root.getData();\n return {\n text: rootData.data ? rootData.data.text : '根节点',\n theme: rootData.data && rootData.data.theme || 'default',\n layout: rootData.data && rootData.data.layout || 'logicalStructure'\n };\n });\n\n // 如果是多根模式且没有选中的根节点,选择第一个\n if (this.isMultiRoot && this.selectedRootIndex === null && this.rootsInfo.length > 0) {\n this.selectedRootIndex = 0;\n this.selectedTheme = this.rootsInfo[0].theme;\n } else if (!this.isMultiRoot) {\n // 单根模式下获取当前主题\n this.selectedTheme = this.mindMap.getTheme() || 'default';\n }\n\n // 布局相关\n if (this.isMultiRoot && this.selectedLayoutRootIndex === null && this.rootsInfo.length > 0) {\n this.selectedLayoutRootIndex = 0;\n const rootData = roots[0].nodeData || roots[0].getData();\n this.selectedLayout = rootData.data && rootData.data.layout || 'logicalStructure';\n } else if (!this.isMultiRoot) {\n // 单根模式下获取当前布局\n this.selectedLayout = this.mindMap.getLayout() || 'logicalStructure';\n }\n }\n },\n updateCurrentData() {\n if (this.mindMap) {\n this.currentData = this.mindMap.getData();\n }\n },\n updateAssociationsData() {\n if (this.mindMap && this.mindMap.associativeLine) {\n const lineList = this.mindMap.associativeLine.lineList;\n this.associationCount = lineList.length;\n this.associationsData = lineList.map((line, index) => {\n // lineList中每一项是 [path, clickPath, text, fromNode, toNode]\n const [path, clickPath, textElement, fromNode, toNode] = line;\n return {\n id: index,\n // 使用索引作为ID\n fromNodeText: fromNode && fromNode.getData ? fromNode.getData('text') : '未知',\n toNodeText: toNode && toNode.getData ? toNode.getData('text') : '未知',\n text: textElement && textElement.text ? textElement.text() : '无'\n };\n }).filter(item => item.fromNodeText !== '未知' || item.toNodeText !== '未知'); // 过滤掉无效的关联线\n } else {\n this.associationCount = 0;\n this.associationsData = [];\n }\n },\n refreshData() {\n this.updateAllInfo();\n this.addLog('刷新数据');\n },\n fitView() {\n if (this.mindMap && this.mindMap.view) {\n this.mindMap.view.fit();\n this.addLog('适应视图');\n }\n },\n checkAssociativeLineStatus() {\n // 检查关联线创建状态,如果已完成则退出模式\n const checkStatus = () => {\n if (this.isAssociativeMode && this.mindMap && this.mindMap.associativeLine) {\n if (!this.mindMap.associativeLine.isCreatingLine) {\n this.isAssociativeMode = false;\n this.addLog('关联线创建完成,退出创建模式');\n return;\n }\n // 如果还在创建中,继续检查\n setTimeout(checkStatus, 300);\n }\n };\n setTimeout(checkStatus, 300);\n },\n // 主题相关方法\n applyTheme() {\n if (!this.mindMap || !this.selectedTheme) return;\n if (this.isMultiRoot && this.selectedRootIndex !== null) {\n // 多根模式:设置特定根节点的主题\n this.mindMap.setRootTheme(this.selectedRootIndex, this.selectedTheme);\n this.addLog(`设置根节点 ${this.selectedRootIndex + 1} 主题为: ${this.selectedTheme}`);\n } else if (!this.isMultiRoot) {\n // 单根模式:设置整体主题\n this.mindMap.setTheme(this.selectedTheme);\n this.addLog(`设置主题为: ${this.selectedTheme}`);\n }\n this.updateBasicInfo();\n },\n resetTheme() {\n if (!this.mindMap) return;\n if (this.isMultiRoot && this.selectedRootIndex !== null) {\n // 多根模式:重置特定根节点的主题\n this.mindMap.setRootTheme(this.selectedRootIndex, 'default');\n this.addLog(`重置根节点 ${this.selectedRootIndex + 1} 主题为默认`);\n } else if (!this.isMultiRoot) {\n // 单根模式:重置整体主题\n this.mindMap.setTheme('default');\n this.addLog(`重置主题为默认`);\n }\n this.selectedTheme = 'default';\n this.updateBasicInfo();\n },\n // 布局相关方法\n applyLayout() {\n if (!this.mindMap || !this.selectedLayout) return;\n if (this.isMultiRoot && this.selectedLayoutRootIndex !== null) {\n // 多根模式:设置特定根节点的布局\n this.mindMap.setRootLayout(this.selectedLayoutRootIndex, this.selectedLayout);\n this.addLog(`设置根节点 ${this.selectedLayoutRootIndex + 1} 布局为: ${this.selectedLayout}`);\n } else if (!this.isMultiRoot) {\n // 单根模式:设置整体布局\n this.mindMap.setLayout(this.selectedLayout);\n this.addLog(`设置布局为: ${this.selectedLayout}`);\n }\n this.updateBasicInfo();\n },\n resetLayout() {\n if (!this.mindMap) return;\n const defaultLayout = 'logicalStructure';\n if (this.isMultiRoot && this.selectedLayoutRootIndex !== null) {\n // 多根模式:重置特定根节点的布局\n this.mindMap.setRootLayout(this.selectedLayoutRootIndex, defaultLayout);\n this.addLog(`重置根节点 ${this.selectedLayoutRootIndex + 1} 布局为默认`);\n } else if (!this.isMultiRoot) {\n // 单根模式:重置整体布局\n this.mindMap.setLayout(defaultLayout);\n this.addLog(`重置布局为默认`);\n }\n this.selectedLayout = defaultLayout;\n this.updateBasicInfo();\n },\n testPerRootThemes() {\n if (!this.mindMap) return;\n\n // 创建带不同主题的多根数据\n const testData = {\n multiRoot: true,\n roots: [{\n data: {\n text: 'A',\n layout: 'logicalStructure',\n theme: 'classic'\n },\n children: [{\n data: {\n text: 'A1'\n }\n }, {\n data: {\n text: 'A2'\n }\n }]\n }, {\n data: {\n text: 'B',\n layout: 'mindMap',\n theme: 'dark'\n },\n children: [{\n data: {\n text: 'B1'\n }\n }, {\n data: {\n text: 'B2'\n }\n }]\n }, {\n data: {\n text: 'C',\n theme: 'freshGreen'\n },\n children: [{\n data: {\n text: 'C1'\n }\n }, {\n data: {\n text: 'C2'\n }\n }]\n }, {\n data: {\n text: 'D',\n theme: 'freshBlue'\n },\n children: [{\n data: {\n text: 'D1'\n }\n }, {\n data: {\n text: 'D2'\n }\n }]\n }]\n };\n this.mindMap.setData(testData);\n this.addLog('加载多主题测试数据');\n this.$message.success('已加载不同主题的多根节点!');\n },\n // 创建流程图节点\n createFlowChartNode(nodeType) {\n if (!this.mindMap) return;\n\n // 导入 FlowChartBehavior\n const FlowChartBehavior = __webpack_require__(/*! @/../../simple-mind-map/src/core/render/node/flowchart/FlowChartBehavior.js */ \"../simple-mind-map/src/core/render/node/flowchart/FlowChartBehavior.js\").default;\n const {\n FLOWCHART_NODE_TYPES,\n FLOWCHART_NODE_STYLES\n } = __webpack_require__(/*! @/../../simple-mind-map/src/constants/flowchart.js */ \"../simple-mind-map/src/constants/flowchart.js\");\n\n // 获取节点样式\n const nodeStyle = FLOWCHART_NODE_STYLES[nodeType] || FLOWCHART_NODE_STYLES[FLOWCHART_NODE_TYPES.PROCESS];\n\n // 计算新节点位置\n const roots = this.mindMap.getRootNodes();\n const baseX = 200;\n const baseY = 100;\n const offsetX = roots.length * 200;\n\n // 创建流程图节点数据\n const nodeData = {\n data: {\n text: this.getNodeTypeText(nodeType),\n isFlowChart: true,\n customLeft: baseX + offsetX,\n customTop: baseY + Math.random() * 200,\n flowchart: {\n nodeType: nodeType,\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left'],\n preventOverlap: true,\n hideExpandBtn: true,\n hideAddBtn: true\n },\n ...nodeStyle\n },\n children: []\n };\n\n // 添加为新的根节点\n this.mindMap.addRootNode(nodeData);\n this.addLog(`创建${this.getNodeTypeText(nodeType)}节点`);\n this.$message.success(`已创建${this.getNodeTypeText(nodeType)}!`);\n },\n // 获取节点类型文本\n getNodeTypeText(nodeType) {\n const typeTexts = {\n process: '流程',\n decision: '决策',\n start: '开始',\n end: '结束',\n subprocess: '子流程',\n data: '数据',\n document: '文档',\n database: '数据库',\n preparation: '准备'\n };\n return typeTexts[nodeType] || '流程';\n },\n // 转换为流程图节点\n convertToFlowChart() {\n if (!this.mindMap) return;\n const activeNode = this.mindMap.renderer.activeNodeList[0];\n if (!activeNode) {\n this.$message.warning('请先选择一个节点');\n return;\n }\n\n // 使用新的API进行转换\n this.mindMap.convertNodeToFlowChart(activeNode, 'process');\n this.addLog('节点转换为流程图节点');\n this.$message.success('已转换为流程图节点');\n },\n // 转换为普通节点\n convertToNormal() {\n if (!this.mindMap) return;\n const activeNode = this.mindMap.renderer.activeNodeList[0];\n if (!activeNode) {\n this.$message.warning('请先选择一个节点');\n return;\n }\n\n // 只有流程图节点才能转换为普通节点\n if (!activeNode.nodeData.data.isFlowChart) {\n this.$message.warning('只有流程图节点才能转换为普通节点');\n return;\n }\n\n // 使用新的API进行转换\n this.mindMap.convertNodeToNormal(activeNode);\n this.addLog('转换为普通节点');\n this.$message.success('已转换为普通节点');\n },\n // 测试混合模式\n testFlowChartMode() {\n if (!this.mindMap) return;\n\n // 创建混合模式测试数据\n const testData = {\n multiRoot: true,\n roots: [{\n data: {\n text: '项目规划',\n layout: 'mindMap'\n },\n children: [{\n data: {\n text: '需求分析'\n }\n }, {\n data: {\n text: '技术选型'\n }\n }, {\n data: {\n text: '时间规划'\n }\n }]\n }, {\n data: {\n text: '开始',\n isFlowChart: true,\n customLeft: 400,\n customTop: 50,\n flowchart: {\n nodeType: 'start',\n showConnectors: true,\n connectorPositions: ['bottom']\n },\n shape: 'circle',\n backgroundColor: '#e8f5e9',\n borderColor: '#1b5e20'\n },\n children: []\n }, {\n data: {\n text: '需求评审',\n isFlowChart: true,\n customLeft: 400,\n customTop: 150,\n flowchart: {\n nodeType: 'process',\n showConnectors: true,\n connectorPositions: ['top', 'bottom']\n },\n shape: 'rectangle',\n backgroundColor: '#e1f5fe',\n borderColor: '#01579b'\n },\n children: []\n }, {\n data: {\n text: '是否通过',\n isFlowChart: true,\n customLeft: 400,\n customTop: 250,\n flowchart: {\n nodeType: 'decision',\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left']\n },\n shape: 'diamond',\n backgroundColor: '#fff3e0',\n borderColor: '#e65100'\n },\n children: []\n }]\n };\n this.mindMap.setData(testData);\n this.addLog('加载混合模式测试数据');\n this.$message.success('已加载流程图混合模式测试数据!');\n },\n // 测试正交连线\n testOrthogonalLines() {\n if (!this.mindMap) return;\n\n // 创建多个流程图节点用于测试正交连线\n const testData = {\n multiRoot: true,\n roots: [{\n data: {\n text: '开始',\n isFlowChart: true,\n flowchart: {\n nodeType: 'start'\n },\n customLeft: 100,\n customTop: 200\n },\n children: []\n }, {\n data: {\n text: '处理数据',\n isFlowChart: true,\n flowchart: {\n nodeType: 'process'\n },\n customLeft: 300,\n customTop: 200\n },\n children: []\n }, {\n data: {\n text: '判断条件',\n isFlowChart: true,\n flowchart: {\n nodeType: 'decision'\n },\n customLeft: 500,\n customTop: 200\n },\n children: []\n }, {\n data: {\n text: '分支处理1',\n isFlowChart: true,\n flowchart: {\n nodeType: 'process'\n },\n customLeft: 700,\n customTop: 100\n },\n children: []\n }, {\n data: {\n text: '分支处理2',\n isFlowChart: true,\n flowchart: {\n nodeType: 'process'\n },\n customLeft: 700,\n customTop: 300\n },\n children: []\n }, {\n data: {\n text: '结束',\n isFlowChart: true,\n flowchart: {\n nodeType: 'end'\n },\n customLeft: 900,\n customTop: 200\n },\n children: []\n }]\n };\n this.mindMap.setData(testData);\n\n // 自动创建一些关联线来展示正交路径\n setTimeout(() => {\n // 获取所有根节点\n let roots = [];\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n // 多根模式\n roots = this.mindMap.renderer.renderTree.map(root => root._node).filter(node => node);\n } else if (this.mindMap.renderer.root) {\n // 单根模式\n roots = [this.mindMap.renderer.root];\n }\n }\n if (roots.length >= 6) {\n // 开始 -> 处理数据\n this.mindMap.associativeLine.addLine(roots[0], roots[1]);\n // 处理数据 -> 判断条件\n this.mindMap.associativeLine.addLine(roots[1], roots[2]);\n // 判断条件 -> 分支处理1\n this.mindMap.associativeLine.addLine(roots[2], roots[3]);\n // 判断条件 -> 分支处理2\n this.mindMap.associativeLine.addLine(roots[2], roots[4]);\n // 分支处理1 -> 结束\n this.mindMap.associativeLine.addLine(roots[3], roots[5]);\n // 分支处理2 -> 结束\n this.mindMap.associativeLine.addLine(roots[4], roots[5]);\n this.addLog('创建正交连线测试数据');\n this.$message.success('已创建正交连线测试!注意观察连线是90度转角的正交路径');\n }\n }, 500);\n },\n // 测试径向布局\n testRadialLayout() {\n if (!this.mindMap) return;\n\n // 创建适合径向布局的测试数据,包含很多节点\n const testData = {\n data: {\n text: '知识图谱',\n layout: 'radial'\n },\n children: [{\n data: {\n text: '前端技术'\n },\n children: [{\n data: {\n text: 'JavaScript'\n },\n children: [{\n data: {\n text: 'ES6+'\n }\n }, {\n data: {\n text: 'TypeScript'\n }\n }, {\n data: {\n text: 'Node.js'\n }\n }, {\n data: {\n text: 'Deno'\n }\n }]\n }, {\n data: {\n text: 'CSS'\n },\n children: [{\n data: {\n text: 'Flexbox'\n }\n }, {\n data: {\n text: 'Grid'\n }\n }, {\n data: {\n text: 'Animation'\n }\n }]\n }, {\n data: {\n text: 'HTML5'\n }\n }, {\n data: {\n text: 'WebAssembly'\n }\n }]\n }, {\n data: {\n text: '框架'\n },\n children: [{\n data: {\n text: 'Vue'\n }\n }, {\n data: {\n text: 'React'\n }\n }, {\n data: {\n text: 'Angular'\n }\n }, {\n data: {\n text: 'Svelte'\n }\n }, {\n data: {\n text: 'Solid'\n }\n }]\n }, {\n data: {\n text: '工具链'\n },\n children: [{\n data: {\n text: 'Webpack'\n }\n }, {\n data: {\n text: 'Vite'\n }\n }, {\n data: {\n text: 'Rollup'\n }\n }, {\n data: {\n text: 'Parcel'\n }\n }, {\n data: {\n text: 'ESBuild'\n }\n }, {\n data: {\n text: 'SWC'\n }\n }]\n }, {\n data: {\n text: '后端技术'\n },\n children: [{\n data: {\n text: 'Python'\n }\n }, {\n data: {\n text: 'Java'\n }\n }, {\n data: {\n text: 'Go'\n }\n }, {\n data: {\n text: 'Rust'\n }\n }, {\n data: {\n text: 'C++'\n }\n }]\n }, {\n data: {\n text: '数据库'\n },\n children: [{\n data: {\n text: 'MySQL'\n }\n }, {\n data: {\n text: 'PostgreSQL'\n }\n }, {\n data: {\n text: 'MongoDB'\n }\n }, {\n data: {\n text: 'Redis'\n }\n }, {\n data: {\n text: 'Elasticsearch'\n }\n }]\n }, {\n data: {\n text: '云服务'\n },\n children: [{\n data: {\n text: 'AWS'\n }\n }, {\n data: {\n text: 'Azure'\n }\n }, {\n data: {\n text: 'Google Cloud'\n }\n }, {\n data: {\n text: '阿里云'\n }\n }, {\n data: {\n text: '腾讯云'\n }\n }]\n }, {\n data: {\n text: 'DevOps'\n },\n children: [{\n data: {\n text: 'Docker'\n }\n }, {\n data: {\n text: 'Kubernetes'\n }\n }, {\n data: {\n text: 'CI/CD'\n }\n }, {\n data: {\n text: 'Jenkins'\n }\n }]\n }, {\n data: {\n text: 'AI/ML'\n },\n children: [{\n data: {\n text: 'TensorFlow'\n }\n }, {\n data: {\n text: 'PyTorch'\n }\n }, {\n data: {\n text: 'Scikit-learn'\n }\n }, {\n data: {\n text: 'Keras'\n }\n }]\n }]\n };\n\n // 设置为径向布局\n this.mindMap.setLayout('radial');\n this.mindMap.setData(testData);\n this.addLog('加载径向布局测试数据(多节点)');\n this.$message.success('已切换到径向布局模式!注意观察自动调整的半径');\n },\n // 测试径向布局的不同策略\n testRadialLayoutStrategies() {\n if (!this.mindMap) return;\n\n // 弹出选择对话框\n this.$confirm('选择要测试的径向布局策略', '径向布局策略测试', {\n distinguishCancelAndClose: true,\n confirmButtonText: '固定增量',\n cancelButtonText: '指数增长',\n closeButtonText: '加权分配',\n type: 'info'\n }).then(() => {\n // 固定增量策略\n this.mindMap.opt.radialLayoutConfig = {\n startRadius: 150,\n radiusIncrement: 100,\n radiusGrowthStrategy: 'fixed',\n angleDistribution: 'uniform'\n };\n this.testRadialLayout();\n this.addLog('使用固定增量策略');\n this.$message.success('已切换到固定增量策略');\n }).catch(action => {\n if (action === 'cancel') {\n // 指数增长策略\n this.mindMap.opt.radialLayoutConfig = {\n startRadius: 100,\n radiusGrowthStrategy: 'exponential',\n exponentialGrowthFactor: 1.6,\n angleDistribution: 'uniform'\n };\n this.testRadialLayout();\n this.addLog('使用指数增长策略');\n this.$message.success('已切换到指数增长策略');\n } else if (action === 'close') {\n // 加权分配策略\n this.mindMap.opt.radialLayoutConfig = {\n startRadius: 120,\n radiusIncrement: 150,\n radiusGrowthStrategy: 'auto',\n angleDistribution: 'weighted',\n autoAdjustRadius: true\n };\n this.testRadialLayout();\n this.addLog('使用加权分配策略');\n this.$message.success('已切换到加权分配策略(根据子树大小分配角度)');\n }\n });\n },\n resetAll() {\n this.operationLogs = [];\n this.selectedRootIndex = null;\n this.selectedTheme = '';\n this.selectedLayoutRootIndex = null;\n this.selectedLayout = '';\n this.addLog('重置所有状态');\n this.initMindMap();\n },\n // 主题预览图生成相关方法\n showThemeGeneratorDialog() {\n this.themeGeneratorDialogVisible = true;\n const themes = [..._simple_mind_map_plugin_themes_themeList__WEBPACK_IMPORTED_MODULE_27__[\"default\"]];\n\n // 在列表开头添加default主题项\n const defaultThemeItem = {\n name: 'Default Theme',\n value: 'default',\n dark: false,\n isBuiltin: true // 标记为内置主题\n };\n\n // 检查列表中是否已经有default主题,避免重复\n const hasDefault = themes.some(t => t.value === 'default');\n if (!hasDefault) {\n themes.unshift(defaultThemeItem);\n }\n this.allThemes = themes;\n this.generatedSVGs = [];\n this.generatedCount = 0;\n this.currentThemeName = '';\n this.isGenerating = false;\n // 重置质量设置为默认值\n this.webpQuality = 0.8;\n this.jpgQuality = 0.85;\n },\n // 设置质量预设\n setQualityPreset(preset) {\n switch (preset) {\n case 'high':\n this.webpQuality = 0.95;\n this.jpgQuality = 0.95;\n this.$message.success('已设置为高质量模式(文件较大,质量最佳)');\n break;\n case 'medium':\n this.webpQuality = 0.8;\n this.jpgQuality = 0.85;\n this.$message.success('已设置为平衡模式(质量和大小平衡)');\n break;\n case 'low':\n this.webpQuality = 0.6;\n this.jpgQuality = 0.7;\n this.$message.success('已设置为小文件模式(文件更小,质量尚可)');\n break;\n case 'tiny':\n this.webpQuality = 0.3;\n this.jpgQuality = 0.5;\n this.$message.warning('已设置为极限压缩模式(文件最小,质量较低)');\n break;\n }\n },\n async startGenerating() {\n if (this.isGenerating) return;\n this.isGenerating = true;\n this.generatedSVGs = [];\n this.generatedCount = 0;\n\n // 创建隐藏的容器用于生成预览\n const container = document.createElement('div');\n container.style.position = 'fixed';\n container.style.left = '-9999px';\n container.style.width = '800px';\n container.style.height = '600px';\n document.body.appendChild(container);\n\n // 预览数据 - 使用英文避免乱码\n const previewData = {\n data: {\n text: 'KMIND'\n },\n children: [{\n data: {\n text: 'Subtopic',\n generalization: {\n text: 'Summary'\n }\n },\n children: [{\n data: {\n text: 'Add Content'\n },\n children: []\n }, {\n data: {\n text: 'Add Content'\n },\n children: []\n }]\n }, {\n data: {\n text: 'Subtopic'\n },\n children: [{\n data: {\n text: 'Add Content'\n },\n children: []\n }, {\n data: {\n text: 'Add Content'\n },\n children: []\n }]\n }]\n };\n try {\n // 创建临时的MindMap实例\n const tempMindMap = new simple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n el: container,\n data: previewData,\n theme: 'default',\n layout: 'logicalStructure',\n readonly: true,\n isShowCreateChildBtnIcon: false,\n mousewheelAction: 'zoom'\n });\n\n // 批量生成每个主题的SVG\n for (let i = 0; i < this.allThemes.length; i++) {\n const theme = this.allThemes[i];\n this.currentThemeName = theme.name;\n\n // 判断是否为default主题,需要特殊处理\n const isDefaultTheme = theme.value === 'default';\n\n // 设置主题\n tempMindMap.setTheme(theme.value);\n\n // 等待渲染完成\n await new Promise(resolve => setTimeout(resolve, 100));\n\n // 导出所有格式\n try {\n // 先导出SVG\n const svgDataUrl = await tempMindMap.export('svg', false, 'preview');\n\n // 从data URL提取SVG内容\n let svgContent = '';\n if (svgDataUrl.startsWith('data:image/svg+xml;base64,')) {\n const base64 = svgDataUrl.replace('data:image/svg+xml;base64,', '');\n svgContent = atob(base64);\n } else if (svgDataUrl.startsWith('data:image/svg+xml;charset=utf-8,')) {\n // 处理带charset的情况\n svgContent = decodeURIComponent(svgDataUrl.replace('data:image/svg+xml;charset=utf-8,', ''));\n } else if (svgDataUrl.startsWith('data:image/svg+xml,')) {\n svgContent = decodeURIComponent(svgDataUrl.replace('data:image/svg+xml,', ''));\n }\n\n // 优化SVG,确保正确编码\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(svgContent, 'image/svg+xml');\n const svgElement = svgDoc.documentElement;\n\n // 添加必要的属性确保正确渲染\n svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgElement.setAttribute('width', '400');\n svgElement.setAttribute('height', '300');\n svgElement.setAttribute('viewBox', '0 0 800 600');\n const serializer = new XMLSerializer();\n const optimizedSvg = serializer.serializeToString(svgElement);\n\n // 计算SVG大小\n const svgSize = new Blob([optimizedSvg]).size;\n\n // 导出PNG\n let pngDataUrl = null;\n let pngSize = 0;\n try {\n pngDataUrl = await tempMindMap.export('png', false, 'preview');\n // 计算PNG大小\n if (pngDataUrl) {\n const pngData = atob(pngDataUrl.split(',')[1]);\n pngSize = pngData.length;\n }\n } catch (pngError) {\n console.warn(`生成PNG失败: ${theme.name}`, pngError);\n }\n\n // 导出WebP和JPG(通过Canvas)\n let webpDataUrl = null;\n let webpSize = 0;\n let jpgDataUrl = null;\n let jpgSize = 0;\n try {\n // 创建临时canvas来转换格式\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n\n // 从PNG创建图像\n if (pngDataUrl) {\n const img = new Image();\n await new Promise((resolve, reject) => {\n img.onload = resolve;\n img.onerror = reject;\n img.src = pngDataUrl;\n });\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0);\n\n // 生成WebP(使用可调节的质量)\n webpDataUrl = canvas.toDataURL('image/webp', this.webpQuality);\n if (webpDataUrl && webpDataUrl.startsWith('data:image/webp')) {\n const webpData = atob(webpDataUrl.split(',')[1]);\n webpSize = webpData.length;\n } else {\n // 浏览器不支持WebP\n webpDataUrl = null;\n }\n\n // 生成JPG(使用可调节的质量,白色背景)\n // 先填充白色背景(JPG不支持透明)\n ctx.fillStyle = '#FFFFFF';\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.drawImage(img, 0, 0);\n jpgDataUrl = canvas.toDataURL('image/jpeg', this.jpgQuality);\n const jpgData = atob(jpgDataUrl.split(',')[1]);\n jpgSize = jpgData.length;\n }\n } catch (error) {\n console.warn(`生成WebP/JPG失败: ${theme.name}`, error);\n }\n this.generatedSVGs.push({\n name: theme.name,\n value: theme.value,\n dark: theme.dark || false,\n isDefault: isDefaultTheme,\n // 标记是否为default主题\n svgContent: optimizedSvg,\n svgSize: svgSize,\n pngDataUrl: pngDataUrl,\n pngSize: pngSize,\n webpDataUrl: webpDataUrl,\n webpSize: webpSize,\n jpgDataUrl: jpgDataUrl,\n jpgSize: jpgSize\n });\n this.generatedCount++;\n } catch (error) {\n console.error(`生成主题 ${theme.name} 失败:`, error);\n this.$message.error(`生成主题 ${theme.name} 失败`);\n }\n\n // 避免阻塞UI\n if (i % 5 === 0) {\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n }\n\n // 清理\n tempMindMap.destroy();\n document.body.removeChild(container);\n this.$message.success(`成功生成 ${this.generatedCount} 个主题预览图`);\n } catch (error) {\n console.error('批量生成失败:', error);\n this.$message.error('批量生成失败: ' + error.message);\n } finally {\n this.isGenerating = false;\n this.currentThemeName = '';\n }\n },\n downloadSingleSVG(theme) {\n const blob = new Blob([theme.svgContent], {\n type: 'image/svg+xml;charset=utf-8'\n });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${theme.value}.svg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n },\n downloadSinglePNG(theme) {\n if (!theme.pngDataUrl) return;\n const a = document.createElement('a');\n a.href = theme.pngDataUrl;\n a.download = `${theme.value}.png`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n },\n downloadAllSVGs() {\n if (this.generatedSVGs.length === 0) return;\n\n // 逐个下载所有SVG\n this.generatedSVGs.forEach((theme, index) => {\n setTimeout(() => {\n this.downloadSingleSVG(theme);\n }, index * 200); // 间隔200ms避免浏览器阻止\n });\n this.$message.success(`开始下载 ${this.generatedSVGs.length} 个SVG文件`);\n },\n downloadAllPNGs() {\n const pngThemes = this.generatedSVGs.filter(t => t.pngDataUrl);\n if (pngThemes.length === 0) return;\n\n // 逐个下载所有PNG\n pngThemes.forEach((theme, index) => {\n setTimeout(() => {\n this.downloadSinglePNG(theme);\n }, index * 200); // 间隔200ms避免浏览器阻止\n });\n this.$message.success(`开始下载 ${pngThemes.length} 个PNG文件`);\n },\n clearGenerated() {\n this.generatedSVGs = [];\n this.generatedCount = 0;\n this.$message.success('已清空生成的预览图');\n },\n removeGenerated(index) {\n this.generatedSVGs.splice(index, 1);\n this.generatedCount = this.generatedSVGs.length;\n },\n // 格式化文件大小\n formatFileSize(bytes) {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n },\n // 下载WebP格式\n downloadSingleWebP(theme) {\n if (!theme.webpDataUrl) return;\n const a = document.createElement('a');\n a.href = theme.webpDataUrl;\n a.download = `${theme.value}.webp`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n },\n // 下载JPG格式\n downloadSingleJPG(theme) {\n if (!theme.jpgDataUrl) return;\n const a = document.createElement('a');\n a.href = theme.jpgDataUrl;\n a.download = `${theme.value}.jpg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n },\n // 批量下载WebP\n downloadAllWebPs() {\n const webpThemes = this.generatedSVGs.filter(t => t.webpDataUrl);\n if (webpThemes.length === 0) return;\n webpThemes.forEach((theme, index) => {\n setTimeout(() => {\n this.downloadSingleWebP(theme);\n }, index * 200);\n });\n this.$message.success(`开始下载 ${webpThemes.length} 个WebP文件`);\n },\n // 批量下载JPG\n downloadAllJPGs() {\n const jpgThemes = this.generatedSVGs.filter(t => t.jpgDataUrl);\n if (jpgThemes.length === 0) return;\n jpgThemes.forEach((theme, index) => {\n setTimeout(() => {\n this.downloadSingleJPG(theme);\n }, index * 200);\n });\n this.$message.success(`开始下载 ${jpgThemes.length} 个JPG文件`);\n },\n // 布局预览图生成相关方法\n showLayoutGeneratorDialog() {\n this.layoutGeneratorDialogVisible = true;\n // 初始化布局列表\n this.allLayouts = this.availableLayouts.map(layout => ({\n ...layout,\n svgData: null,\n svgSize: null,\n pngData: null,\n pngSize: null,\n webpData: null,\n webpSize: null,\n jpgData: null,\n jpgSize: null\n }));\n this.generatedLayoutSVGs = [];\n this.generatedLayoutCount = 0;\n },\n async generateAllLayoutPreviews() {\n if (this.isGeneratingLayouts) return;\n this.isGeneratingLayouts = true;\n this.generatedLayoutCount = 0;\n this.generatedLayoutSVGs = [];\n try {\n // 创建临时容器\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.left = '-9999px';\n container.style.width = '800px';\n container.style.height = '600px';\n document.body.appendChild(container);\n\n // 预览数据 - 使用英文避免编码问题\n const previewData = {\n data: {\n text: 'KMind'\n },\n children: [{\n data: {\n text: 'Subtopic 1'\n },\n children: [{\n data: {\n text: 'Detail 1-1'\n }\n }, {\n data: {\n text: 'Detail 1-2'\n }\n }]\n }, {\n data: {\n text: 'Subtopic 2'\n },\n children: [{\n data: {\n text: 'Detail 2-1'\n }\n }, {\n data: {\n text: 'Detail 2-2'\n }\n }]\n }, {\n data: {\n text: 'Subtopic 3'\n },\n children: [{\n data: {\n text: 'Detail 3-1'\n }\n }, {\n data: {\n text: 'Detail 3-2'\n }\n }]\n }]\n };\n for (let i = 0; i < this.allLayouts.length; i++) {\n const layout = this.allLayouts[i];\n this.currentLayoutName = layout.name;\n try {\n // 创建新的MindMap实例\n const tempMindMap = new simple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n el: container,\n data: previewData,\n layout: layout.value,\n theme: 'default'\n });\n\n // 等待渲染完成\n await new Promise(resolve => setTimeout(resolve, 200));\n\n // 导出SVG\n const svgData = await tempMindMap.export('svg', false, 'default');\n\n // 计算SVG大小\n const svgBlob = new Blob([svgData], {\n type: 'image/svg+xml'\n });\n const svgSize = svgBlob.size;\n const svgDataUrl = `data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(svgData)))}`;\n\n // 导出PNG - 第二个参数设为false避免自动下载\n const pngDataUrl = await tempMindMap.export('png', false, 'default');\n const pngData = atob(pngDataUrl.split(',')[1]);\n const pngSize = pngData.length;\n\n // 生成WebP和JPG\n let webpDataUrl = null;\n let webpSize = 0;\n let jpgDataUrl = null;\n let jpgSize = 0;\n try {\n // 创建图片对象\n const img = new Image();\n await new Promise((resolve, reject) => {\n img.onload = resolve;\n img.onerror = reject;\n img.src = pngDataUrl;\n });\n\n // 创建canvas\n const canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0);\n\n // 导出WebP\n if (canvas.toDataURL('image/webp').indexOf('image/webp') > -1) {\n webpDataUrl = canvas.toDataURL('image/webp', this.layoutWebpQuality);\n const webpData = atob(webpDataUrl.split(',')[1]);\n webpSize = webpData.length;\n }\n\n // 导出JPG\n jpgDataUrl = canvas.toDataURL('image/jpeg', this.layoutJpgQuality);\n const jpgData = atob(jpgDataUrl.split(',')[1]);\n jpgSize = jpgData.length;\n } catch (error) {\n console.warn(`生成WebP/JPG失败: ${layout.name}`, error);\n }\n\n // 更新布局数据\n this.$set(layout, 'svgData', svgDataUrl);\n this.$set(layout, 'svgSize', this.formatFileSize(svgSize));\n this.$set(layout, 'pngData', pngDataUrl);\n this.$set(layout, 'pngSize', this.formatFileSize(pngSize));\n this.$set(layout, 'webpData', webpDataUrl);\n this.$set(layout, 'webpSize', this.formatFileSize(webpSize));\n this.$set(layout, 'jpgData', jpgDataUrl);\n this.$set(layout, 'jpgSize', this.formatFileSize(jpgSize));\n\n // 添加到已生成列表\n this.generatedLayoutSVGs.push({\n ...layout,\n svgContent: svgData,\n svgDataUrl,\n pngDataUrl,\n webpDataUrl,\n jpgDataUrl\n });\n this.generatedLayoutCount++;\n\n // 清理\n tempMindMap.destroy();\n } catch (error) {\n console.error(`生成布局 ${layout.name} 失败:`, error);\n this.$message.error(`生成布局 ${layout.name} 失败`);\n }\n\n // 避免阻塞UI\n if (i % 3 === 0) {\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n }\n\n // 清理容器\n document.body.removeChild(container);\n this.$message.success(`成功生成 ${this.generatedLayoutCount} 个布局预览图`);\n } catch (error) {\n console.error('批量生成布局失败:', error);\n this.$message.error('批量生成失败: ' + error.message);\n } finally {\n this.isGeneratingLayouts = false;\n this.currentLayoutName = '';\n }\n },\n async generateLayoutPreview(layout) {\n if (this.isGeneratingLayouts) return;\n this.isGeneratingLayouts = true;\n this.currentLayoutName = layout.name;\n try {\n // 创建临时容器\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.left = '-9999px';\n container.style.width = '800px';\n container.style.height = '600px';\n document.body.appendChild(container);\n\n // 预览数据\n const previewData = {\n data: {\n text: 'Main Topic'\n },\n children: [{\n data: {\n text: 'Subtopic 1'\n },\n children: [{\n data: {\n text: 'Detail 1-1'\n }\n }, {\n data: {\n text: 'Detail 1-2'\n }\n }]\n }, {\n data: {\n text: 'Subtopic 2'\n },\n children: [{\n data: {\n text: 'Detail 2-1'\n }\n }, {\n data: {\n text: 'Detail 2-2'\n }\n }]\n }]\n };\n\n // 创建MindMap实例\n const tempMindMap = new simple_mind_map__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n el: container,\n data: previewData,\n layout: layout.value,\n theme: 'default'\n });\n\n // 等待渲染\n await new Promise(resolve => setTimeout(resolve, 200));\n\n // 导出各种格式\n const svgData = await tempMindMap.export('svg', false, 'default');\n const svgBlob = new Blob([svgData], {\n type: 'image/svg+xml'\n });\n const svgSize = svgBlob.size;\n const svgDataUrl = `data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(svgData)))}`;\n\n // 导出PNG - 第二个参数设为false避免自动下载\n const pngDataUrl = await tempMindMap.export('png', false, 'default');\n const pngData = atob(pngDataUrl.split(',')[1]);\n const pngSize = pngData.length;\n\n // 生成WebP和JPG\n let webpDataUrl = null;\n let webpSize = 0;\n let jpgDataUrl = null;\n let jpgSize = 0;\n try {\n const img = new Image();\n await new Promise((resolve, reject) => {\n img.onload = resolve;\n img.onerror = reject;\n img.src = pngDataUrl;\n });\n const canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0);\n if (canvas.toDataURL('image/webp').indexOf('image/webp') > -1) {\n webpDataUrl = canvas.toDataURL('image/webp', this.layoutWebpQuality);\n const webpData = atob(webpDataUrl.split(',')[1]);\n webpSize = webpData.length;\n }\n jpgDataUrl = canvas.toDataURL('image/jpeg', this.layoutJpgQuality);\n const jpgData = atob(jpgDataUrl.split(',')[1]);\n jpgSize = jpgData.length;\n } catch (error) {\n console.warn('生成WebP/JPG失败:', error);\n }\n\n // 更新数据\n this.$set(layout, 'svgData', svgDataUrl);\n this.$set(layout, 'svgSize', this.formatFileSize(svgSize));\n this.$set(layout, 'pngData', pngDataUrl);\n this.$set(layout, 'pngSize', this.formatFileSize(pngSize));\n this.$set(layout, 'webpData', webpDataUrl);\n this.$set(layout, 'webpSize', this.formatFileSize(webpSize));\n this.$set(layout, 'jpgData', jpgDataUrl);\n this.$set(layout, 'jpgSize', this.formatFileSize(jpgSize));\n\n // 清理\n tempMindMap.destroy();\n document.body.removeChild(container);\n this.$message.success(`成功生成布局 ${layout.name} 的预览图`);\n } catch (error) {\n console.error('生成布局预览失败:', error);\n this.$message.error('生成失败: ' + error.message);\n } finally {\n this.isGeneratingLayouts = false;\n this.currentLayoutName = '';\n }\n },\n downloadLayoutPreview(layout) {\n if (!layout.svgData) return;\n const formats = [];\n if (layout.svgData) {\n const a = document.createElement('a');\n a.href = layout.svgData;\n a.download = `${layout.value}.svg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n formats.push('SVG');\n }\n if (layout.pngData) {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.pngData;\n a.download = `${layout.value}.png`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, 200);\n formats.push('PNG');\n }\n if (layout.webpData) {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.webpData;\n a.download = `${layout.value}.webp`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, 400);\n formats.push('WebP');\n }\n if (layout.jpgData) {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.jpgData;\n a.download = `${layout.value}.jpg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, 600);\n formats.push('JPG');\n }\n this.$message.success(`开始下载 ${layout.name} 的${formats.join('、')}格式`);\n },\n downloadAllLayoutSVGs() {\n if (this.generatedLayoutSVGs.length === 0) return;\n this.generatedLayoutSVGs.forEach((layout, index) => {\n if (layout.svgDataUrl) {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.svgDataUrl;\n a.download = `${layout.value}.svg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, index * 200);\n }\n });\n this.$message.success(`开始下载 ${this.generatedLayoutSVGs.length} 个SVG文件`);\n },\n downloadAllLayoutPNGs() {\n const pngLayouts = this.generatedLayoutSVGs.filter(l => l.pngDataUrl);\n if (pngLayouts.length === 0) return;\n pngLayouts.forEach((layout, index) => {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.pngDataUrl;\n a.download = `${layout.value}.png`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, index * 200);\n });\n this.$message.success(`开始下载 ${pngLayouts.length} 个PNG文件`);\n },\n downloadAllLayoutWebPs() {\n const webpLayouts = this.generatedLayoutSVGs.filter(l => l.webpDataUrl);\n if (webpLayouts.length === 0) return;\n webpLayouts.forEach((layout, index) => {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.webpDataUrl;\n a.download = `${layout.value}.webp`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, index * 200);\n });\n this.$message.success(`开始下载 ${webpLayouts.length} 个WebP文件`);\n },\n downloadAllLayoutJPGs() {\n const jpgLayouts = this.generatedLayoutSVGs.filter(l => l.jpgDataUrl);\n if (jpgLayouts.length === 0) return;\n jpgLayouts.forEach((layout, index) => {\n setTimeout(() => {\n const a = document.createElement('a');\n a.href = layout.jpgDataUrl;\n a.download = `${layout.value}.jpg`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }, index * 200);\n });\n this.$message.success(`开始下载 ${jpgLayouts.length} 个JPG文件`);\n },\n clearGeneratedLayouts() {\n this.allLayouts.forEach(layout => {\n this.$set(layout, 'svgData', null);\n this.$set(layout, 'svgSize', null);\n this.$set(layout, 'pngData', null);\n this.$set(layout, 'pngSize', null);\n this.$set(layout, 'webpData', null);\n this.$set(layout, 'webpSize', null);\n this.$set(layout, 'jpgData', null);\n this.$set(layout, 'jpgSize', null);\n });\n this.generatedLayoutSVGs = [];\n this.generatedLayoutCount = 0;\n this.$message.success('已清空生成的布局预览图');\n },\n // 测试吸附和拖拽创建\n testSnapAndDrag() {\n if (!this.mindMap) return;\n\n // 创建几个流程图节点用于测试\n const testData = {\n multiRoot: true,\n roots: [{\n data: {\n text: '拖拽起点',\n isFlowChart: true,\n flowchart: {\n nodeType: 'start'\n },\n customLeft: 200,\n customTop: 200\n },\n children: []\n }, {\n data: {\n text: '目标节点1',\n isFlowChart: true,\n flowchart: {\n nodeType: 'process'\n },\n customLeft: 400,\n customTop: 100\n },\n children: []\n }, {\n data: {\n text: '目标节点2',\n isFlowChart: true,\n flowchart: {\n nodeType: 'process'\n },\n customLeft: 400,\n customTop: 300\n },\n children: []\n }]\n };\n this.mindMap.setData(testData);\n this.$message.info({\n message: '测试说明:1. 从节点的连接点拖拽到其他节点,会吸附到最近的连接点;2. 拖拽到空白处会创建新节点',\n duration: 5000\n });\n this.addLog('加载吸附和拖拽创建测试数据');\n },\n // 测试连接点事件\n testConnectorEvents() {\n if (!this.mindMap) return;\n\n // 监听连接点点击事件\n this.mindMap.on('flowchart_connector_click', data => {\n this.addLog(`连接点点击: 节点 ${data.node.getData('text')}, 位置 ${data.position}`);\n this.$message.info(`点击了 ${data.position} 连接点`);\n });\n\n // 监听连接点拖拽开始事件\n this.mindMap.on('flowchart_connector_drag_start', data => {\n this.addLog(`连接点拖拽开始: 节点 ${data.node.getData('text')}, 位置 ${data.position}`);\n this.$message.success('连接点拖拽开始,可以拖拽创建关联线');\n });\n this.addLog('已启用连接点事件监听');\n this.$message.success('连接点事件监听已启用,请将鼠标悬停在流程图节点上查看连接点');\n\n // 监听流程图连线创建事件\n this.mindMap.on('flowchart_line_created', data => {\n this.addLog(`流程图连线创建: 从 ${data.startNode.getData('text')} 到 ${data.endNode.getData('text')}`);\n this.$message.success('流程图连线创建成功!');\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./src/pages/test.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"551ac3d2-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/pages/test.vue?vue&type=template&id=2f56c616&scoped=true": +/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"551ac3d2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/test.vue?vue&type=template&id=2f56c616&scoped=true ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"test-container\"\n }, [_c(\"div\", {\n staticClass: \"test-main\"\n }, [_c(\"div\", {\n staticClass: \"control-panel\"\n }, [_c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"基础操作\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.initMindMap\n }\n }, [_vm._v(\"重新初始化\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: _vm.loadSingleRoot\n }\n }, [_vm._v(\"加载单根\")]), _c(\"el-button\", {\n attrs: {\n type: \"warning\"\n },\n on: {\n click: _vm.loadMultiRoot\n }\n }, [_vm._v(\"加载多根\")]), _c(\"el-button\", {\n attrs: {\n type: \"info\"\n },\n on: {\n click: _vm.toggleMultiRootMode\n }\n }, [_vm._v(\"切换模式\")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"根节点操作\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n on: {\n click: _vm.addNewRoot\n }\n }, [_vm._v(\"添加根节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.removeLastRoot\n }\n }, [_vm._v(\"删除最后根节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.addRootWithCustomPosition\n }\n }, [_vm._v(\"添加自定义位置根节点\")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"关联线测试\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.enterAssociativeMode\n }\n }, [_vm._v(\"进入关联线模式\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: _vm.createCrossRootAssociation\n }\n }, [_vm._v(\"创建跨根关联线\")]), _c(\"el-button\", {\n attrs: {\n type: \"warning\"\n },\n on: {\n click: _vm.showAllAssociations\n }\n }, [_vm._v(\"显示所有关联线\")]), _c(\"el-button\", {\n attrs: {\n type: \"danger\"\n },\n on: {\n click: _vm.clearAllAssociations\n }\n }, [_vm._v(\"清除所有关联线\")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"日志系统测试\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.testLoggerDebug\n }\n }, [_vm._v(\"测试 DEBUG\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: _vm.testLoggerInfo\n }\n }, [_vm._v(\"测试 INFO\")]), _c(\"el-button\", {\n attrs: {\n type: \"warning\"\n },\n on: {\n click: _vm.testLoggerWarn\n }\n }, [_vm._v(\"测试 WARN\")]), _c(\"el-button\", {\n attrs: {\n type: \"danger\"\n },\n on: {\n click: _vm.testLoggerError\n }\n }, [_vm._v(\"测试 ERROR\")])], 1), _c(\"div\", {\n staticClass: \"button-group\",\n staticStyle: {\n \"margin-top\": \"10px\"\n }\n }, [_c(\"el-button\", {\n attrs: {\n type: \"info\"\n },\n on: {\n click: _vm.testClickableLinks\n }\n }, [_vm._v(\"测试链接格式\")]), _c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.detectEnvironment\n }\n }, [_vm._v(\"检测环境\")])], 1), _c(\"div\", {\n staticClass: \"association-tips\"\n }, [_c(\"el-alert\", {\n attrs: {\n title: \"关联线使用提示\",\n type: \"info\",\n closable: false,\n \"show-icon\": \"\"\n }\n }, [_c(\"p\", [_vm._v(\"1. 先点击选择起始节点\")]), _c(\"p\", [_vm._v('2. 点击\"进入关联线模式\"')]), _c(\"p\", [_vm._v(\"3. 再点击目标节点创建关联线\")]), _c(\"p\", [_vm._v(\"4. 支持跨根节点创建关联线\")]), _c(\"p\", [_vm._v(\"5. 按ESC退出关联线模式\")])])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"状态信息\")]), _c(\"div\", {\n staticClass: \"status-info\"\n }, [_c(\"el-tag\", {\n attrs: {\n type: _vm.isMultiRoot ? \"success\" : \"info\"\n }\n }, [_vm._v(\" 模式: \" + _vm._s(_vm.isMultiRoot ? \"多根节点\" : \"单根节点\") + \" \")]), _c(\"el-tag\", {\n attrs: {\n type: \"primary\"\n }\n }, [_vm._v(\"根节点数: \" + _vm._s(_vm.rootCount))]), _c(\"el-tag\", {\n attrs: {\n type: \"warning\"\n }\n }, [_vm._v(\"关联线数: \" + _vm._s(_vm.associationCount))]), _c(\"el-tag\", {\n attrs: {\n type: _vm.isAssociativeMode ? \"danger\" : \"info\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.isAssociativeMode ? \"关联线模式\" : \"普通模式\") + \" \")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"主题设置\")]), _c(\"div\", {\n staticClass: \"theme-controls\"\n }, [_vm.isMultiRoot ? _c(\"div\", [_c(\"el-select\", {\n staticStyle: {\n width: \"100%\",\n \"margin-bottom\": \"8px\"\n },\n attrs: {\n placeholder: \"选择根节点\",\n size: \"small\"\n },\n model: {\n value: _vm.selectedRootIndex,\n callback: function ($$v) {\n _vm.selectedRootIndex = $$v;\n },\n expression: \"selectedRootIndex\"\n }\n }, _vm._l(_vm.rootsInfo, function (root, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: {\n label: `根节点 ${index + 1}: ${root.text}`,\n value: index\n }\n });\n }), 1)], 1) : _vm._e(), _c(\"el-select\", {\n staticStyle: {\n width: \"100%\",\n \"margin-bottom\": \"8px\"\n },\n attrs: {\n placeholder: \"选择主题\",\n size: \"small\"\n },\n on: {\n change: _vm.applyTheme\n },\n model: {\n value: _vm.selectedTheme,\n callback: function ($$v) {\n _vm.selectedTheme = $$v;\n },\n expression: \"selectedTheme\"\n }\n }, _vm._l(_vm.availableThemes, function (theme) {\n return _c(\"el-option\", {\n key: theme,\n attrs: {\n label: theme,\n value: theme\n }\n });\n }), 1), _c(\"el-button\", {\n staticStyle: {\n width: \"100%\"\n },\n attrs: {\n size: \"small\",\n type: \"primary\"\n },\n on: {\n click: _vm.resetTheme\n }\n }, [_vm._v(\" 重置为默认主题 \")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"布局设置\")]), _c(\"div\", {\n staticClass: \"layout-controls\"\n }, [_vm.isMultiRoot ? _c(\"div\", [_c(\"el-select\", {\n staticStyle: {\n width: \"100%\",\n \"margin-bottom\": \"8px\"\n },\n attrs: {\n placeholder: \"选择根节点\",\n size: \"small\"\n },\n model: {\n value: _vm.selectedLayoutRootIndex,\n callback: function ($$v) {\n _vm.selectedLayoutRootIndex = $$v;\n },\n expression: \"selectedLayoutRootIndex\"\n }\n }, _vm._l(_vm.rootsInfo, function (root, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: {\n label: `根节点 ${index + 1}: ${root.text}`,\n value: index\n }\n });\n }), 1)], 1) : _vm._e(), _c(\"el-select\", {\n staticStyle: {\n width: \"100%\",\n \"margin-bottom\": \"8px\"\n },\n attrs: {\n placeholder: \"选择布局\",\n size: \"small\"\n },\n on: {\n change: _vm.applyLayout\n },\n model: {\n value: _vm.selectedLayout,\n callback: function ($$v) {\n _vm.selectedLayout = $$v;\n },\n expression: \"selectedLayout\"\n }\n }, _vm._l(_vm.availableLayouts, function (layout) {\n return _c(\"el-option\", {\n key: layout.value,\n attrs: {\n label: layout.label,\n value: layout.value\n }\n });\n }), 1), _c(\"el-button\", {\n staticStyle: {\n width: \"100%\"\n },\n attrs: {\n size: \"small\",\n type: \"primary\"\n },\n on: {\n click: _vm.resetLayout\n }\n }, [_vm._v(\" 重置为默认布局 \")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"测试功能\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n on: {\n click: _vm.testDragToEmptySpace\n }\n }, [_vm._v(\"测试拖拽到空白\")]), _c(\"el-button\", {\n on: {\n click: _vm.testDoubleClickCreate\n }\n }, [_vm._v(\"测试双击创建\")]), _c(\"el-button\", {\n on: {\n click: _vm.testCrossRootDrag\n }\n }, [_vm._v(\"测试跨根拖拽\")]), _c(\"el-button\", {\n on: {\n click: _vm.testGeneralizationWithChildren\n }\n }, [_vm._v(\"测试概要子节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.testPerRootThemes\n }\n }, [_vm._v(\"测试多主题\")]), _c(\"el-button\", {\n attrs: {\n type: \"warning\"\n },\n on: {\n click: _vm.testRadialLayout\n }\n }, [_vm._v(\"测试径向布局\")]), _c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.testRadialLayoutStrategies\n }\n }, [_vm._v(\"测试径向策略\")]), _c(\"el-button\", {\n on: {\n click: _vm.resetAll\n }\n }, [_vm._v(\"重置所有\")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"主题预览图生成\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.showThemeGeneratorDialog\n }\n }, [_vm._v(\"批量生成主题预览图\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: _vm.showLayoutGeneratorDialog\n }\n }, [_vm._v(\"批量生成布局预览图\")])], 1)]), _c(\"div\", {\n staticClass: \"panel-section\"\n }, [_c(\"h3\", [_vm._v(\"流程图功能\")]), _c(\"div\", {\n staticClass: \"button-group\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: function ($event) {\n return _vm.createFlowChartNode(\"process\");\n }\n }\n }, [_vm._v(\"创建流程节点\")]), _c(\"el-button\", {\n attrs: {\n type: \"warning\"\n },\n on: {\n click: function ($event) {\n return _vm.createFlowChartNode(\"decision\");\n }\n }\n }, [_vm._v(\"创建决策节点\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: function ($event) {\n return _vm.createFlowChartNode(\"start\");\n }\n }\n }, [_vm._v(\"创建开始节点\")]), _c(\"el-button\", {\n attrs: {\n type: \"danger\"\n },\n on: {\n click: function ($event) {\n return _vm.createFlowChartNode(\"end\");\n }\n }\n }, [_vm._v(\"创建结束节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.convertToFlowChart\n }\n }, [_vm._v(\"转为流程图节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.convertToNormal\n }\n }, [_vm._v(\"转为普通节点\")]), _c(\"el-button\", {\n on: {\n click: _vm.testFlowChartMode\n }\n }, [_vm._v(\"测试混合模式\")]), _c(\"el-button\", {\n on: {\n click: _vm.testConnectorEvents\n }\n }, [_vm._v(\"测试连接点事件\")]), _c(\"el-button\", {\n attrs: {\n type: \"info\"\n },\n on: {\n click: _vm.testOrthogonalLines\n }\n }, [_vm._v(\"测试正交连线\")]), _c(\"el-button\", {\n attrs: {\n type: \"success\"\n },\n on: {\n click: _vm.testSnapAndDrag\n }\n }, [_vm._v(\"测试吸附和拖拽创建\")])], 1)])]), _c(\"div\", {\n staticClass: \"mindmap-area\"\n }, [_c(\"div\", {\n staticClass: \"mindmap-header\"\n }, [_c(\"span\", [_vm._v(\"思维导图\")]), _c(\"el-button\", {\n attrs: {\n size: \"small\"\n },\n on: {\n click: _vm.fitView\n }\n }, [_vm._v(\"适应视图\")])], 1), _c(\"div\", {\n staticClass: \"mindmap-container\"\n }, [_c(\"div\", {\n ref: \"mindMapContainer\",\n staticClass: \"mindMapContainer\",\n attrs: {\n id: \"testMindMapContainer\"\n }\n })])]), _c(\"el-dialog\", {\n attrs: {\n title: \"批量生成主题预览图\",\n visible: _vm.themeGeneratorDialogVisible,\n width: \"80%\",\n \"close-on-click-modal\": false\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.themeGeneratorDialogVisible = $event;\n }\n }\n }, [_c(\"div\", {\n staticClass: \"theme-generator-content\"\n }, [_c(\"div\", {\n staticClass: \"generator-header\"\n }, [_c(\"el-alert\", {\n attrs: {\n title: `共有 ${_vm.allThemes.length} 个主题,已生成 ${_vm.generatedCount} 个`,\n type: \"info\",\n closable: false\n }\n }), _c(\"div\", {\n staticClass: \"quality-settings\"\n }, [_c(\"div\", {\n staticClass: \"quality-item\"\n }, [_c(\"label\", [_vm._v(\"WebP 质量:\")]), _c(\"el-slider\", {\n staticStyle: {\n width: \"200px\",\n margin: \"0 10px\"\n },\n attrs: {\n min: 0.1,\n max: 1,\n step: 0.05,\n \"show-tooltip\": true,\n \"format-tooltip\": val => Math.round(val * 100) + \"%\"\n },\n model: {\n value: _vm.webpQuality,\n callback: function ($$v) {\n _vm.webpQuality = $$v;\n },\n expression: \"webpQuality\"\n }\n }), _c(\"span\", {\n staticClass: \"quality-value\"\n }, [_vm._v(_vm._s(Math.round(_vm.webpQuality * 100)) + \"%\")]), _c(\"el-tooltip\", {\n attrs: {\n content: \"较低的质量会减小文件大小,但可能降低图像质量\"\n }\n }, [_c(\"i\", {\n staticClass: \"el-icon-question\",\n staticStyle: {\n \"margin-left\": \"5px\",\n color: \"#909399\"\n }\n })])], 1), _c(\"div\", {\n staticClass: \"quality-item\"\n }, [_c(\"label\", [_vm._v(\"JPG 质量:\")]), _c(\"el-slider\", {\n staticStyle: {\n width: \"200px\",\n margin: \"0 10px\"\n },\n attrs: {\n min: 0.1,\n max: 1,\n step: 0.05,\n \"show-tooltip\": true,\n \"format-tooltip\": val => Math.round(val * 100) + \"%\"\n },\n model: {\n value: _vm.jpgQuality,\n callback: function ($$v) {\n _vm.jpgQuality = $$v;\n },\n expression: \"jpgQuality\"\n }\n }), _c(\"span\", {\n staticClass: \"quality-value\"\n }, [_vm._v(_vm._s(Math.round(_vm.jpgQuality * 100)) + \"%\")]), _c(\"el-tooltip\", {\n attrs: {\n content: \"JPG不支持透明度,会添加白色背景\"\n }\n }, [_c(\"i\", {\n staticClass: \"el-icon-question\",\n staticStyle: {\n \"margin-left\": \"5px\",\n color: \"#909399\"\n }\n })])], 1), _c(\"div\", {\n staticClass: \"quality-presets\"\n }, [_c(\"label\", [_vm._v(\"快速预设:\")]), _c(\"el-button-group\", {\n attrs: {\n size: \"small\"\n }\n }, [_c(\"el-button\", {\n on: {\n click: function ($event) {\n return _vm.setQualityPreset(\"high\");\n }\n }\n }, [_vm._v(\"高质量\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n return _vm.setQualityPreset(\"medium\");\n }\n }\n }, [_vm._v(\"平衡\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n return _vm.setQualityPreset(\"low\");\n }\n }\n }, [_vm._v(\"小文件\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n return _vm.setQualityPreset(\"tiny\");\n }\n }\n }, [_vm._v(\"极限压缩\")])], 1)], 1)]), _c(\"div\", {\n staticClass: \"generator-actions\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\",\n loading: _vm.isGenerating,\n disabled: _vm.isGenerating\n },\n on: {\n click: _vm.startGenerating\n }\n }, [_vm._v(\" \" + _vm._s(_vm.isGenerating ? \"生成中...\" : \"开始生成\") + \" \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedSVGs.length === 0\n },\n on: {\n click: _vm.downloadAllSVGs\n }\n }, [_vm._v(\" 下载所有SVG (\" + _vm._s(_vm.generatedSVGs.length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedSVGs.length === 0,\n type: \"success\"\n },\n on: {\n click: _vm.downloadAllPNGs\n }\n }, [_vm._v(\" 下载所有PNG (\" + _vm._s(_vm.generatedSVGs.filter(t => t.pngDataUrl).length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedSVGs.length === 0,\n type: \"warning\"\n },\n on: {\n click: _vm.downloadAllWebPs\n }\n }, [_vm._v(\" 下载所有WebP (\" + _vm._s(_vm.generatedSVGs.filter(t => t.webpDataUrl).length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedSVGs.length === 0,\n type: \"danger\"\n },\n on: {\n click: _vm.downloadAllJPGs\n }\n }, [_vm._v(\" 下载所有JPG (\" + _vm._s(_vm.generatedSVGs.filter(t => t.jpgDataUrl).length) + \") \")]), _c(\"el-button\", {\n on: {\n click: _vm.clearGenerated\n }\n }, [_vm._v(\"清空\")])], 1)], 1), _vm.isGenerating ? _c(\"div\", {\n staticClass: \"generator-progress\"\n }, [_c(\"el-progress\", {\n attrs: {\n percentage: Math.round(_vm.generatedCount / _vm.allThemes.length * 100),\n status: _vm.generatedCount === _vm.allThemes.length ? \"success\" : \"\"\n }\n }), _c(\"p\", [_vm._v(\"正在生成: \" + _vm._s(_vm.currentThemeName))])], 1) : _vm._e(), _vm.previewMindMapEl ? _c(\"div\", {\n staticClass: \"preview-container\"\n }, [_c(\"div\", {\n ref: \"previewMindMapEl\",\n attrs: {\n id: \"themePreviewMindMap\"\n }\n })]) : _vm._e(), _c(\"div\", {\n staticClass: \"generated-list\"\n }, [_c(\"el-table\", {\n staticStyle: {\n width: \"100%\"\n },\n attrs: {\n data: _vm.generatedSVGs,\n height: \"400\"\n }\n }, [_c(\"el-table-column\", {\n attrs: {\n prop: \"name\",\n label: \"主题名称\",\n width: \"150\",\n fixed: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"div\", {\n staticStyle: {\n display: \"flex\",\n \"align-items\": \"center\"\n }\n }, [_c(\"span\", [_vm._v(_vm._s(scope.row.name))]), scope.row.isDefault ? _c(\"el-tag\", {\n staticStyle: {\n \"margin-left\": \"8px\"\n },\n attrs: {\n type: \"primary\",\n size: \"mini\"\n }\n }, [_vm._v(\" 默认 \")]) : _vm._e()], 1)];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n prop: \"value\",\n label: \"主题值\",\n width: \"120\"\n }\n }), _c(\"el-table-column\", {\n attrs: {\n prop: \"type\",\n label: \"类型\",\n width: \"70\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"el-tag\", {\n attrs: {\n type: scope.row.dark ? \"info\" : \"warning\",\n size: \"small\"\n }\n }, [_vm._v(\" \" + _vm._s(scope.row.dark ? \"深色\" : \"浅色\") + \" \")])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"预览\",\n width: \"200\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"el-tabs\", {\n staticStyle: {\n height: \"100px\"\n },\n attrs: {\n type: \"card\"\n }\n }, [_c(\"el-tab-pane\", {\n attrs: {\n label: \"SVG\"\n }\n }, [scope.row.svgContent ? _c(\"div\", {\n staticStyle: {\n width: \"180px\",\n height: \"80px\",\n overflow: \"hidden\"\n },\n domProps: {\n innerHTML: _vm._s(scope.row.svgContent)\n }\n }) : _vm._e()]), scope.row.pngDataUrl ? _c(\"el-tab-pane\", {\n attrs: {\n label: \"PNG\"\n }\n }, [_c(\"img\", {\n staticStyle: {\n width: \"180px\",\n height: \"auto\",\n \"max-height\": \"80px\",\n \"object-fit\": \"contain\"\n },\n attrs: {\n src: scope.row.pngDataUrl\n }\n })]) : _vm._e(), scope.row.webpDataUrl ? _c(\"el-tab-pane\", {\n attrs: {\n label: \"WebP\"\n }\n }, [_c(\"img\", {\n staticStyle: {\n width: \"180px\",\n height: \"auto\",\n \"max-height\": \"80px\",\n \"object-fit\": \"contain\"\n },\n attrs: {\n src: scope.row.webpDataUrl\n }\n })]) : _vm._e(), scope.row.jpgDataUrl ? _c(\"el-tab-pane\", {\n attrs: {\n label: \"JPG\"\n }\n }, [_c(\"img\", {\n staticStyle: {\n width: \"180px\",\n height: \"auto\",\n \"max-height\": \"80px\",\n \"object-fit\": \"contain\"\n },\n attrs: {\n src: scope.row.jpgDataUrl\n }\n })]) : _vm._e()], 1)];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"文件大小\",\n width: \"200\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"div\", {\n staticClass: \"size-info\"\n }, [scope.row.svgSize ? _c(\"div\", [_c(\"el-tag\", {\n attrs: {\n size: \"small\"\n }\n }, [_vm._v(\"SVG: \" + _vm._s(_vm.formatFileSize(scope.row.svgSize)))])], 1) : _vm._e(), scope.row.pngSize ? _c(\"div\", [_c(\"el-tag\", {\n attrs: {\n size: \"small\",\n type: \"success\"\n }\n }, [_vm._v(\"PNG: \" + _vm._s(_vm.formatFileSize(scope.row.pngSize)))])], 1) : _vm._e(), scope.row.webpSize ? _c(\"div\", [_c(\"el-tag\", {\n attrs: {\n size: \"small\",\n type: \"warning\"\n }\n }, [_vm._v(\"WebP: \" + _vm._s(_vm.formatFileSize(scope.row.webpSize)))])], 1) : _vm._e(), scope.row.jpgSize ? _c(\"div\", [_c(\"el-tag\", {\n attrs: {\n size: \"small\",\n type: \"danger\"\n }\n }, [_vm._v(\"JPG: \" + _vm._s(_vm.formatFileSize(scope.row.jpgSize)))])], 1) : _vm._e()])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"操作\",\n fixed: \"right\",\n width: \"240\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"div\", {\n staticClass: \"action-buttons\"\n }, [_c(\"el-button-group\", [_c(\"el-button\", {\n attrs: {\n size: \"mini\",\n title: \"下载SVG\"\n },\n on: {\n click: function ($event) {\n return _vm.downloadSingleSVG(scope.row);\n }\n }\n }, [_vm._v(\" SVG \")]), _c(\"el-button\", {\n attrs: {\n size: \"mini\",\n disabled: !scope.row.pngDataUrl,\n type: \"success\",\n title: \"下载PNG\"\n },\n on: {\n click: function ($event) {\n return _vm.downloadSinglePNG(scope.row);\n }\n }\n }, [_vm._v(\" PNG \")]), _c(\"el-button\", {\n attrs: {\n size: \"mini\",\n disabled: !scope.row.webpDataUrl,\n type: \"warning\",\n title: \"下载WebP\"\n },\n on: {\n click: function ($event) {\n return _vm.downloadSingleWebP(scope.row);\n }\n }\n }, [_vm._v(\" WebP \")]), _c(\"el-button\", {\n attrs: {\n size: \"mini\",\n disabled: !scope.row.jpgDataUrl,\n type: \"danger\",\n title: \"下载JPG\"\n },\n on: {\n click: function ($event) {\n return _vm.downloadSingleJPG(scope.row);\n }\n }\n }, [_vm._v(\" JPG \")])], 1), _c(\"el-button\", {\n staticStyle: {\n \"margin-left\": \"10px\"\n },\n attrs: {\n size: \"mini\",\n type: \"text\"\n },\n on: {\n click: function ($event) {\n return _vm.removeGenerated(scope.$index);\n }\n }\n }, [_vm._v(\" 删除 \")])], 1)];\n }\n }])\n })], 1)], 1)])]), _c(\"el-dialog\", {\n attrs: {\n title: \"批量生成布局预览图\",\n visible: _vm.layoutGeneratorDialogVisible,\n width: \"80%\",\n \"close-on-click-modal\": false\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.layoutGeneratorDialogVisible = $event;\n }\n }\n }, [_c(\"div\", {\n staticClass: \"layout-generator-content\"\n }, [_c(\"div\", {\n staticClass: \"generator-header\"\n }, [_c(\"el-alert\", {\n attrs: {\n title: `共有 ${_vm.allLayouts.length} 个布局,已生成 ${_vm.generatedLayoutCount} 个`,\n type: \"info\",\n closable: false\n }\n }), _c(\"div\", {\n staticClass: \"generator-controls\"\n }, [_c(\"div\", {\n staticClass: \"quality-controls\"\n }, [_c(\"div\", {\n staticClass: \"quality-item\"\n }, [_c(\"span\", [_vm._v(\"WebP质量:\")]), _c(\"el-slider\", {\n staticStyle: {\n width: \"150px\",\n margin: \"0 10px\"\n },\n attrs: {\n min: 0.1,\n max: 1,\n step: 0.05,\n \"format-tooltip\": val => `${Math.round(val * 100)}%`\n },\n model: {\n value: _vm.layoutWebpQuality,\n callback: function ($$v) {\n _vm.layoutWebpQuality = $$v;\n },\n expression: \"layoutWebpQuality\"\n }\n }), _c(\"el-button-group\", {\n attrs: {\n size: \"mini\"\n }\n }, [_c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutWebpQuality = 0.3;\n }\n }\n }, [_vm._v(\"低\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutWebpQuality = 0.6;\n }\n }\n }, [_vm._v(\"中\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutWebpQuality = 0.8;\n }\n }\n }, [_vm._v(\"高\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutWebpQuality = 1;\n }\n }\n }, [_vm._v(\"最高\")])], 1)], 1), _c(\"div\", {\n staticClass: \"quality-item\"\n }, [_c(\"span\", [_vm._v(\"JPG质量:\")]), _c(\"el-slider\", {\n staticStyle: {\n width: \"150px\",\n margin: \"0 10px\"\n },\n attrs: {\n min: 0.1,\n max: 1,\n step: 0.05,\n \"format-tooltip\": val => `${Math.round(val * 100)}%`\n },\n model: {\n value: _vm.layoutJpgQuality,\n callback: function ($$v) {\n _vm.layoutJpgQuality = $$v;\n },\n expression: \"layoutJpgQuality\"\n }\n }), _c(\"el-button-group\", {\n attrs: {\n size: \"mini\"\n }\n }, [_c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutJpgQuality = 0.3;\n }\n }\n }, [_vm._v(\"低\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutJpgQuality = 0.6;\n }\n }\n }, [_vm._v(\"中\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutJpgQuality = 0.85;\n }\n }\n }, [_vm._v(\"高\")]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.layoutJpgQuality = 1;\n }\n }\n }, [_vm._v(\"最高\")])], 1)], 1)]), _c(\"div\", {\n staticClass: \"action-buttons\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\",\n loading: _vm.isGeneratingLayouts,\n disabled: _vm.isGeneratingLayouts\n },\n on: {\n click: _vm.generateAllLayoutPreviews\n }\n }, [_vm._v(\" \" + _vm._s(_vm.isGeneratingLayouts ? `正在生成 ${_vm.currentLayoutName}...` : \"生成所有布局预览图\") + \" \")]), _c(\"el-button\", {\n on: {\n click: _vm.clearGeneratedLayouts\n }\n }, [_vm._v(\"清空已生成\")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedLayoutSVGs.length === 0\n },\n on: {\n click: _vm.downloadAllLayoutSVGs\n }\n }, [_vm._v(\" 下载所有SVG (\" + _vm._s(_vm.generatedLayoutSVGs.length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedLayoutSVGs.length === 0,\n type: \"success\"\n },\n on: {\n click: _vm.downloadAllLayoutPNGs\n }\n }, [_vm._v(\" 下载所有PNG (\" + _vm._s(_vm.generatedLayoutSVGs.filter(l => l.pngDataUrl).length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedLayoutSVGs.length === 0,\n type: \"warning\"\n },\n on: {\n click: _vm.downloadAllLayoutWebPs\n }\n }, [_vm._v(\" 下载所有WebP (\" + _vm._s(_vm.generatedLayoutSVGs.filter(l => l.webpDataUrl).length) + \") \")]), _c(\"el-button\", {\n attrs: {\n disabled: _vm.generatedLayoutSVGs.length === 0,\n type: \"danger\"\n },\n on: {\n click: _vm.downloadAllLayoutJPGs\n }\n }, [_vm._v(\" 下载所有JPG (\" + _vm._s(_vm.generatedLayoutSVGs.filter(l => l.jpgDataUrl).length) + \") \")])], 1)])], 1), _c(\"div\", {\n staticClass: \"layout-generator-list\"\n }, [_c(\"el-table\", {\n staticStyle: {\n width: \"100%\"\n },\n attrs: {\n data: _vm.allLayouts,\n height: \"400\",\n border: \"\"\n }\n }, [_c(\"el-table-column\", {\n attrs: {\n prop: \"name\",\n label: \"布局名称\",\n width: \"150\"\n }\n }), _c(\"el-table-column\", {\n attrs: {\n prop: \"value\",\n label: \"布局值\",\n width: \"180\"\n }\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"SVG预览\",\n width: \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [scope.row.svgData ? _c(\"div\", {\n staticClass: \"preview-image\"\n }, [_c(\"img\", {\n staticStyle: {\n \"max-width\": \"120px\",\n \"max-height\": \"80px\"\n },\n attrs: {\n src: scope.row.svgData,\n alt: \"SVG预览\"\n }\n }), _c(\"div\", {\n staticClass: \"file-size\"\n }, [_vm._v(_vm._s(scope.row.svgSize))])]) : _c(\"span\", [_vm._v(\"未生成\")])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"PNG预览\",\n width: \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [scope.row.pngData ? _c(\"div\", {\n staticClass: \"preview-image\"\n }, [_c(\"img\", {\n staticStyle: {\n \"max-width\": \"120px\",\n \"max-height\": \"80px\"\n },\n attrs: {\n src: scope.row.pngData,\n alt: \"PNG预览\"\n }\n }), _c(\"div\", {\n staticClass: \"file-size\"\n }, [_vm._v(_vm._s(scope.row.pngSize))])]) : _c(\"span\", [_vm._v(\"未生成\")])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"WebP预览\",\n width: \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [scope.row.webpData ? _c(\"div\", {\n staticClass: \"preview-image\"\n }, [_c(\"img\", {\n staticStyle: {\n \"max-width\": \"120px\",\n \"max-height\": \"80px\"\n },\n attrs: {\n src: scope.row.webpData,\n alt: \"WebP预览\"\n }\n }), _c(\"div\", {\n staticClass: \"file-size\"\n }, [_vm._v(_vm._s(scope.row.webpSize))])]) : _c(\"span\", [_vm._v(\"未生成\")])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"JPG预览\",\n width: \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [scope.row.jpgData ? _c(\"div\", {\n staticClass: \"preview-image\"\n }, [_c(\"img\", {\n staticStyle: {\n \"max-width\": \"120px\",\n \"max-height\": \"80px\"\n },\n attrs: {\n src: scope.row.jpgData,\n alt: \"JPG预览\"\n }\n }), _c(\"div\", {\n staticClass: \"file-size\"\n }, [_vm._v(_vm._s(scope.row.jpgSize))])]) : _c(\"span\", [_vm._v(\"未生成\")])];\n }\n }])\n }), _c(\"el-table-column\", {\n attrs: {\n label: \"操作\",\n width: \"200\",\n fixed: \"right\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (scope) {\n return [_c(\"div\", {\n staticClass: \"action-buttons\"\n }, [_c(\"el-button\", {\n attrs: {\n size: \"mini\",\n type: \"primary\",\n disabled: _vm.isGeneratingLayouts\n },\n on: {\n click: function ($event) {\n return _vm.generateLayoutPreview(scope.row);\n }\n }\n }, [_vm._v(\" 生成 \")]), _c(\"el-button\", {\n attrs: {\n size: \"mini\",\n type: \"success\",\n disabled: !scope.row.svgData\n },\n on: {\n click: function ($event) {\n return _vm.downloadLayoutPreview(scope.row);\n }\n }\n }, [_vm._v(\" 下载 \")])], 1)];\n }\n }])\n })], 1)], 1)])]), _c(\"div\", {\n staticClass: \"panel-header\"\n }, [_c(\"span\", [_vm._v(\"实时数据\")]), _c(\"el-button\", {\n attrs: {\n size: \"small\"\n },\n on: {\n click: _vm.refreshData\n }\n }, [_vm._v(\"刷新\")])], 1), _c(\"el-tabs\", {\n attrs: {\n type: \"border-card\"\n },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v;\n },\n expression: \"activeTab\"\n }\n }, [_c(\"el-tab-pane\", {\n attrs: {\n label: \"数据结构\",\n name: \"data\"\n }\n }, [_c(\"div\", {\n staticClass: \"data-content\"\n }, [_c(\"pre\", [_vm._v(_vm._s(_vm.formattedData))])])]), _c(\"el-tab-pane\", {\n attrs: {\n label: \"关联线数据\",\n name: \"associations\"\n }\n }, [_c(\"div\", {\n staticClass: \"data-content\"\n }, [_vm.associationsData.length === 0 ? _c(\"div\", {\n staticClass: \"no-data\"\n }, [_vm._v(\" 暂无关联线数据 \")]) : _c(\"div\", _vm._l(_vm.associationsData, function (assoc, index) {\n return _c(\"div\", {\n key: index,\n staticClass: \"association-item\"\n }, [_c(\"div\", {\n staticClass: \"association-info\"\n }, [_c(\"strong\", [_vm._v(\"关联线 \" + _vm._s(index + 1))]), _c(\"p\", [_vm._v(\"起始: \" + _vm._s(assoc.fromNodeText))]), _c(\"p\", [_vm._v(\"目标: \" + _vm._s(assoc.toNodeText))]), _c(\"p\", [_vm._v(\"文本: \" + _vm._s(assoc.text || \"无\"))])]), _c(\"el-button\", {\n attrs: {\n size: \"small\",\n type: \"danger\"\n },\n on: {\n click: function ($event) {\n return _vm.removeAssociation(index);\n }\n }\n }, [_vm._v(\"删除\")])], 1);\n }), 0)])]), _c(\"el-tab-pane\", {\n attrs: {\n label: \"操作日志\",\n name: \"logs\"\n }\n }, [_c(\"div\", {\n staticClass: \"data-content\"\n }, _vm._l(_vm.operationLogs, function (log, index) {\n return _c(\"div\", {\n key: index,\n staticClass: \"log-item\"\n }, [_c(\"span\", {\n staticClass: \"log-time\"\n }, [_vm._v(_vm._s(log.time))]), _c(\"span\", {\n staticClass: \"log-message\"\n }, [_vm._v(_vm._s(log.message))])]);\n }), 0)])], 1)], 1)]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/pages/test.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22551ac3d2-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/an-instance.js": +/*!*******************************************************!*\ + !*** ./node_modules/core-js/internals/an-instance.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ \"./node_modules/core-js/internals/object-is-prototype-of.js\");\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/an-instance.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/dom-exception-constants.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/dom-exception-constants.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/dom-exception-constants.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.dom-exception.stack.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js/modules/web.dom-exception.stack.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar hasOwn = __webpack_require__(/*! ../internals/has-own-property */ \"./node_modules/core-js/internals/has-own-property.js\");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ \"./node_modules/core-js/internals/an-instance.js\");\nvar inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ \"./node_modules/core-js/internals/inherit-if-required.js\");\nvar normalizeStringArgument = __webpack_require__(/*! ../internals/normalize-string-argument */ \"./node_modules/core-js/internals/normalize-string-argument.js\");\nvar DOMExceptionConstants = __webpack_require__(/*! ../internals/dom-exception-constants */ \"./node_modules/core-js/internals/dom-exception-constants.js\");\nvar clearErrorStack = __webpack_require__(/*! ../internals/error-stack-clear */ \"./node_modules/core-js/internals/error-stack-clear.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js?"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/pages/test.vue?vue&type=style&index=0&id=2f56c616&scoped=true&lang=css": +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/test.vue?vue&type=style&index=0&id=2f56c616&scoped=true&lang=css ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.test-container[data-v-2f56c616] {\\n height: 100vh;\\n display: flex;\\n flex-direction: column;\\n background: #f5f7fa;\\n}\\n.test-header[data-v-2f56c616] {\\n text-align: center;\\n padding: 15px 20px;\\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\\n color: white;\\n flex-shrink: 0;\\n}\\n.test-header h1[data-v-2f56c616] {\\n margin: 0 0 5px 0;\\n font-size: 24px;\\n font-weight: 500;\\n}\\n.test-header p[data-v-2f56c616] {\\n margin: 0;\\n opacity: 0.9;\\n font-size: 14px;\\n}\\n.test-main[data-v-2f56c616] {\\n flex: 1;\\n display: flex;\\n gap: 10px;\\n padding: 10px;\\n overflow: hidden;\\n}\\n\\n/* 左侧控制面板 */\\n.control-panel[data-v-2f56c616] {\\n width: 280px;\\n background: white;\\n border-radius: 8px;\\n padding: 15px;\\n overflow-y: auto;\\n flex-shrink: 0;\\n}\\n.panel-section[data-v-2f56c616] {\\n margin-bottom: 20px;\\n padding-bottom: 15px;\\n border-bottom: 1px solid #f0f0f0;\\n}\\n.panel-section[data-v-2f56c616]:last-child {\\n border-bottom: none;\\n}\\n.panel-section h3[data-v-2f56c616] {\\n margin: 0 0 12px 0;\\n font-size: 14px;\\n color: #333;\\n font-weight: 600;\\n}\\n.button-group[data-v-2f56c616] {\\n display: flex;\\n flex-direction: column;\\n gap: 8px;\\n}\\n.button-group .el-button[data-v-2f56c616] {\\n width: 100%;\\n margin: 0;\\n}\\n.status-info[data-v-2f56c616] {\\n display: flex;\\n flex-direction: column;\\n gap: 8px;\\n}\\n.association-tips[data-v-2f56c616] {\\n margin-top: 10px;\\n}\\n.association-tips[data-v-2f56c616] .el-alert__content {\\n font-size: 12px;\\n}\\n.association-tips p[data-v-2f56c616] {\\n margin: 2px 0;\\n}\\n\\n/* 中间思维导图区域 */\\n.mindmap-area[data-v-2f56c616] {\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n background: white;\\n border-radius: 8px;\\n overflow: hidden;\\n}\\n.mindmap-header[data-v-2f56c616] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 10px 15px;\\n background: #f8f9fa;\\n border-bottom: 1px solid #e9ecef;\\n font-weight: 600;\\n color: #333;\\n}\\n.mindmap-container[data-v-2f56c616] {\\n flex: 1;\\n position: relative;\\n overflow: hidden;\\n}\\n.mindMapContainer[data-v-2f56c616] {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n/* 右侧数据面板 */\\n.data-panel[data-v-2f56c616] {\\n width: 320px;\\n background: white;\\n border-radius: 8px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n flex-shrink: 0;\\n}\\n.panel-header[data-v-2f56c616] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 10px 15px;\\n background: #f8f9fa;\\n border-bottom: 1px solid #e9ecef;\\n font-weight: 600;\\n color: #333;\\n}\\n.data-content[data-v-2f56c616] {\\n height: 400px;\\n overflow-y: auto;\\n padding: 10px;\\n}\\n.data-content pre[data-v-2f56c616] {\\n background: #f8f9fa;\\n padding: 10px;\\n border-radius: 4px;\\n border: 1px solid #e9ecef;\\n font-size: 12px;\\n line-height: 1.4;\\n white-space: pre-wrap;\\n word-wrap: break-word;\\n}\\n.no-data[data-v-2f56c616] {\\n text-align: center;\\n color: #999;\\n padding: 20px;\\n}\\n.association-item[data-v-2f56c616] {\\n display: flex;\\n justify-content: space-between;\\n align-items: flex-start;\\n padding: 10px;\\n border: 1px solid #e9ecef;\\n border-radius: 4px;\\n margin-bottom: 8px;\\n}\\n.association-info[data-v-2f56c616] {\\n flex: 1;\\n}\\n.association-info strong[data-v-2f56c616] {\\n color: #333;\\n display: block;\\n margin-bottom: 5px;\\n}\\n.association-info p[data-v-2f56c616] {\\n margin: 2px 0;\\n font-size: 12px;\\n color: #666;\\n}\\n.log-item[data-v-2f56c616] {\\n display: flex;\\n align-items: flex-start;\\n gap: 10px;\\n padding: 5px 0;\\n border-bottom: 1px solid #f0f0f0;\\n font-size: 12px;\\n}\\n.log-time[data-v-2f56c616] {\\n color: #999;\\n font-family: monospace;\\n flex-shrink: 0;\\n}\\n.log-message[data-v-2f56c616] {\\n color: #333;\\n flex: 1;\\n}\\n\\n/* 思维导图相关样式 */\\n[data-v-2f56c616] .smm-mind-map-container {\\n width: 100%;\\n height: 100%;\\n}\\n[data-v-2f56c616] .smm-mind-map-container svg {\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* 主题生成器样式 */\\n.theme-generator-content[data-v-2f56c616] {\\n padding: 10px;\\n}\\n.generator-header[data-v-2f56c616] {\\n margin-bottom: 20px;\\n}\\n.quality-settings[data-v-2f56c616] {\\n margin: 15px 0;\\n padding: 15px;\\n background: #f5f7fa;\\n border-radius: 4px;\\n}\\n.quality-item[data-v-2f56c616] {\\n display: flex;\\n align-items: center;\\n margin-bottom: 15px;\\n}\\n.quality-item label[data-v-2f56c616] {\\n width: 100px;\\n font-weight: 500;\\n color: #606266;\\n}\\n.quality-value[data-v-2f56c616] {\\n width: 50px;\\n text-align: center;\\n font-weight: bold;\\n color: #409eff;\\n}\\n.quality-presets[data-v-2f56c616] {\\n display: flex;\\n align-items: center;\\n padding-top: 10px;\\n border-top: 1px solid #dcdfe6;\\n}\\n.quality-presets label[data-v-2f56c616] {\\n width: 100px;\\n font-weight: 500;\\n color: #606266;\\n}\\n.generator-actions[data-v-2f56c616] {\\n margin-top: 15px;\\n display: flex;\\n gap: 10px;\\n}\\n.generator-progress[data-v-2f56c616] {\\n margin: 20px 0;\\n text-align: center;\\n}\\n.generator-progress p[data-v-2f56c616] {\\n margin-top: 10px;\\n color: #666;\\n}\\n.preview-container[data-v-2f56c616] {\\n display: none; /* 隐藏预览容器 */\\n}\\n.generated-list[data-v-2f56c616] {\\n margin-top: 20px;\\n}\\n.size-info[data-v-2f56c616] {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n}\\n.size-info div[data-v-2f56c616] {\\n display: flex;\\n align-items: center;\\n}\\n.action-buttons[data-v-2f56c616] {\\n display: flex;\\n flex-direction: column;\\n gap: 5px;\\n align-items: flex-start;\\n}\\n\\n/* 响应式调整 */\\n@media (max-width: 1200px) {\\n.control-panel[data-v-2f56c616],\\n .data-panel[data-v-2f56c616] {\\n width: 250px;\\n}\\n}\\n@media (max-width: 1000px) {\\n.test-main[data-v-2f56c616] {\\n flex-direction: column;\\n}\\n.control-panel[data-v-2f56c616],\\n .data-panel[data-v-2f56c616] {\\n width: 100%;\\n height: 200px;\\n}\\n.mindmap-area[data-v-2f56c616] {\\n min-height: 400px;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/pages/test.vue?./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/pages/test.vue?vue&type=style&index=0&id=2f56c616&scoped=true&lang=css": +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/test.vue?vue&type=style&index=0&id=2f56c616&scoped=true&lang=css ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a `));\n });\n // 附加内容\n if (header && headerHeight > 0) {\n clone.findOne('.smm-container').translate(0, headerHeight);\n header.width(rect.width);\n header.y(paddingY);\n clone.add(header, 0);\n }\n if (footer && footerHeight > 0) {\n footer.width(rect.width);\n footer.y(rect.height - paddingY - footerHeight);\n clone.add(footer);\n }\n // 修正defs里定义的元素的id,因为clone时defs里的元素的id会继续递增,导致和内容中引用的id对不上\n const defs = svg.find('defs');\n const defs2 = clone.find('defs');\n defs.forEach((def, defIndex) => {\n const def2 = defs2[defIndex];\n if (!def2) return;\n const children = def.children();\n const children2 = def2.children();\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const child2 = children2[i];\n if (child && child2) {\n child2.attr('id', child.attr('id'));\n }\n }\n });\n // 恢复原先的大小和变换信息\n svg.size(origWidth, origHeight);\n draw.transform(origTransform);\n return {\n svg: clone,\n // 思维导图图形的整体svg元素,包括:svg(画布容器)、g(实际的思维导图组)\n svgHTML: clone.svg(),\n // svg字符串\n clipData,\n rect: {\n ...rect,\n // 思维导图图形未缩放时的位置尺寸等信息\n ratio: rect.width / rect.height // 思维导图图形的宽高比\n },\n origWidth,\n // 画布宽度\n origHeight,\n // 画布高度\n scaleX: origTransform.scaleX,\n // 思维导图图形的水平缩放值\n scaleY: origTransform.scaleY // 思维导图图形的垂直缩放值\n };\n }\n\n // 添加插件\n addPlugin(plugin, opt) {\n let index = MindMap.hasPlugin(plugin);\n if (index === -1) {\n MindMap.usePlugin(plugin, opt);\n }\n this.initPlugin(plugin);\n }\n\n // 移除插件\n removePlugin(plugin) {\n let index = MindMap.hasPlugin(plugin);\n if (index !== -1) {\n MindMap.pluginList.splice(index, 1);\n if (this[plugin.instanceName]) {\n if (this[plugin.instanceName].beforePluginRemove) {\n this[plugin.instanceName].beforePluginRemove();\n }\n delete this[plugin.instanceName];\n }\n }\n }\n\n // 实例化插件\n initPlugin(plugin) {\n if (this[plugin.instanceName]) return;\n this[plugin.instanceName] = new plugin({\n mindMap: this,\n pluginOpt: plugin.pluginOpt\n });\n }\n\n // ========== 多根节点相关API ==========\n\n // 设置为多根节点模式\n setMultiRootMode(enable = true) {\n if (this.isMultiRoot === enable) return;\n this.isMultiRoot = enable;\n const currentData = this.renderer.renderTree;\n if (enable && currentData && !Array.isArray(currentData)) {\n // 从单根转换为多根\n this.renderer.renderTree = [currentData];\n } else if (!enable && Array.isArray(currentData) && currentData.length > 0) {\n // 从多根转换为单根,默认使用第一个根节点\n this.renderer.renderTree = currentData[0];\n }\n this.render();\n }\n\n // 添加新的根节点\n addRootNode(nodeData = {}, index = -1, callback = null) {\n if (!this.isMultiRoot) {\n this.setMultiRootMode(true);\n }\n const roots = this.renderer.renderTree || [];\n const currentRootCount = Array.isArray(roots) ? roots.length : 0;\n const newRoot = {\n data: {\n text: '新根节点',\n expand: true,\n uid: Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUid\"])(),\n ...nodeData.data\n },\n children: nodeData.children || []\n };\n Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUidForAppointNodes\"])([newRoot], false, null, true);\n if (index >= 0 && index < roots.length) {\n roots.splice(index, 0, newRoot);\n } else {\n roots.push(newRoot);\n }\n this.render(() => {\n // 渲染完成后,找到新创建的根节点实例\n if (this.renderer.roots && this.renderer.roots.length > currentRootCount) {\n const newRootInstance = this.renderer.roots[this.renderer.roots.length - 1];\n if (callback && typeof callback === 'function') {\n callback(newRootInstance);\n }\n }\n });\n this.command.addHistory();\n return newRoot;\n }\n\n // 删除根节点\n removeRootNode(index) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (index >= 0 && index < roots.length) {\n roots.splice(index, 1);\n\n // 如果只剩一个根节点,可以选择是否自动切换回单根模式\n // if (roots.length === 1) {\n // this.setMultiRootMode(false)\n // }\n\n this.render();\n this.command.addHistory();\n }\n }\n\n // 获取所有根节点\n getRootNodes() {\n if (this.isMultiRoot) {\n return this.renderer.roots || [];\n } else {\n return this.renderer.root ? [this.renderer.root] : [];\n }\n }\n\n // 转换为多根节点数据格式\n convertToMultiRoot(data) {\n if (data && !data.multiRoot) {\n return {\n multiRoot: true,\n roots: [data]\n };\n }\n return data;\n }\n\n // 转换为单根节点数据格式\n convertToSingleRoot(data) {\n if (data && data.multiRoot && Array.isArray(data.roots) && data.roots.length > 0) {\n return data.roots[0];\n }\n return data;\n }\n\n // 设置根节点布局\n setRootLayout(rootIndex, layoutType) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length) {\n if (!roots[rootIndex].data) {\n roots[rootIndex].data = {};\n }\n roots[rootIndex].data.layout = layoutType;\n this.render();\n }\n }\n\n // 设置根节点主题\n setRootTheme(rootIndex, themeName, themeConfig = {}) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) return;\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length) {\n if (!roots[rootIndex].data) {\n roots[rootIndex].data = {};\n }\n roots[rootIndex].data.theme = themeName;\n roots[rootIndex].data.themeConfig = themeConfig;\n this.render(null, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].CHANGE_THEME);\n }\n }\n\n // 复制节点数据(不包含循环引用)\n copyNodeData(node) {\n if (!node || !node.nodeData) return null;\n const data = {\n data: {},\n children: []\n };\n\n // 复制所有非undefined的数据属性\n const props = ['text', 'image', 'imageTitle', 'imageSize', 'icon', 'tag', 'hyperlink', 'hyperlinkTitle', 'note', 'expand', 'fontSize', 'color', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'shape', 'uid'];\n props.forEach(prop => {\n const value = node.getData(prop);\n if (value !== undefined && value !== null) {\n data.data[prop] = value;\n }\n });\n\n // 确保至少有文本\n if (!data.data.text) {\n data.data.text = '节点';\n }\n\n // 确保有uid\n if (!data.data.uid) {\n data.data.uid = node.uid || Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"createUid\"])();\n }\n\n // 递归复制子节点\n if (node.children && node.children.length > 0) {\n data.children = node.children.map(child => this.copyNodeData(child));\n }\n return data;\n }\n\n // 获取根节点主题\n getRootTheme(rootIndex) {\n if (!this.isMultiRoot || !Array.isArray(this.renderer.renderTree)) {\n return {\n theme: this.opt.theme,\n themeConfig: this.opt.themeConfig\n };\n }\n const roots = this.renderer.renderTree;\n if (rootIndex >= 0 && rootIndex < roots.length && roots[rootIndex].data) {\n return {\n theme: roots[rootIndex].data.theme || this.opt.theme,\n themeConfig: roots[rootIndex].data.themeConfig || this.opt.themeConfig\n };\n }\n return {\n theme: this.opt.theme,\n themeConfig: this.opt.themeConfig\n };\n }\n\n // 将节点转换为流程图节点\n convertNodeToFlowChart(node, nodeType = 'process') {\n if (!node) return;\n\n // 确保节点有有效的数据\n if (!node.nodeData) {\n console.error('节点数据为空', node);\n return;\n }\n\n // 如果是非根节点且有父节点,需要从父节点移除并创建为新的根节点\n if (!node.isRoot && node.parent) {\n // 使用copyNodeData复制节点数据\n const nodeData = this.copyNodeData(node);\n\n // 标记为流程图节点\n nodeData.data.isFlowChart = true;\n nodeData.data.flowchart = {\n nodeType: nodeType,\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left'],\n preventOverlap: true,\n hideExpandBtn: true,\n hideAddBtn: true\n };\n\n // 设置自定义位置(使用节点当前的屏幕位置)\n const rect = node.getRect();\n const elRect = this.elRect;\n const transform = this.view.transform;\n const scaleX = transform.scaleX || 1;\n const scaleY = transform.scaleY || 1;\n const translateX = transform.translateX || 0;\n const translateY = transform.translateY || 0;\n nodeData.data.customLeft = (rect.x - elRect.left - translateX) / scaleX;\n nodeData.data.customTop = (rect.y - elRect.top - translateY) / scaleY;\n\n // 如果有子节点,先收缩\n if (nodeData.children && nodeData.children.length > 0) {\n nodeData.data.expand = false;\n }\n\n // 从父节点中移除(使用命令来确保数据和渲染都正确更新)\n this.execCommand('REMOVE_NODE', [node]);\n\n // 添加为新的根节点\n this.addRootNode(nodeData);\n } else {\n // 根节点直接转换\n // 确保data对象存在\n if (!node.nodeData.data) {\n node.nodeData.data = {};\n }\n\n // 更新节点数据\n node.nodeData.data.isFlowChart = true;\n node.nodeData.data.flowchart = {\n nodeType: nodeType,\n showConnectors: true,\n connectorPositions: ['top', 'right', 'bottom', 'left'],\n preventOverlap: true,\n hideExpandBtn: true,\n hideAddBtn: true\n };\n\n // 设置节点为自由定位模式\n node._isFlowChartNode = true;\n node.freePosition = true;\n\n // 初始化流程图连接点\n if (!node._flowChartConnector) {\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./src/core/render/node/flowchart/FlowChartConnector.js */ \"../simple-mind-map/src/core/render/node/flowchart/FlowChartConnector.js\")).then(module => {\n const FlowChartConnector = module.default;\n node._flowChartConnector = new FlowChartConnector(node);\n // 立即渲染连接点\n if (node.group) {\n node._flowChartConnector.renderConnectors();\n }\n });\n }\n\n // 如果有子节点,立即隐藏\n if (node.children && node.children.length > 0) {\n node.nodeData.data.expand = false;\n // 立即隐藏子节点和连线\n node.hideChildren();\n }\n\n // 使用setData来触发更新\n node.setData({\n isFlowChart: true,\n flowchart: node.nodeData.data.flowchart,\n expand: false\n });\n\n // 重新渲染节点自身\n node.reRender();\n }\n }\n\n // 将流程图节点转换为普通节点\n convertNodeToNormal(node) {\n if (!node || !node.nodeData || !node.nodeData.data.isFlowChart) return;\n\n // 移除流程图相关标记\n delete node.nodeData.data.isFlowChart;\n delete node.nodeData.data.flowchart;\n\n // 移除流程图行为标记\n node._isFlowChartNode = false;\n node.freePosition = false;\n\n // 恢复展开状态(如果有子节点)\n if (node.children && node.children.length > 0) {\n node.nodeData.data.expand = true;\n // 立即显示子节点和连线\n node.showChildren();\n }\n\n // 使用setData来触发更新\n node.setData({\n expand: true\n });\n\n // 重新渲染节点\n node.reRender();\n }\n\n // 销毁\n destroy() {\n // 设置销毁标记,防止异步操作继续执行\n this._destroyed = true;\n this.emit('beforeDestroy');\n // 清除节点编辑框\n this.renderer.textEdit.hideEditTextBox();\n this.renderer.textEdit.removeTextEditEl()\n // 移除插件\n ;\n [...MindMap.pluginList].forEach(plugin => {\n if (this[plugin.instanceName] && this[plugin.instanceName].beforePluginDestroy) {\n this[plugin.instanceName].beforePluginDestroy();\n }\n this[plugin.instanceName] = null;\n });\n // 解绑事件\n this.event.unbind();\n // 移除画布节点\n this.svg.remove();\n // 去除给容器元素设置的背景样式\n _src_core_render_node_Style__WEBPACK_IMPORTED_MODULE_7__[\"default\"].removeBackgroundStyle(this.el);\n // 移除给容器元素添加的类名\n this.el.classList.remove('smm-mind-map-container');\n this.el.innerHTML = '';\n this.el = null;\n this.removeCss();\n MindMap.instanceCount--;\n }\n}\n\n// 插件列表\nMindMap.pluginList = [];\nMindMap.usePlugin = (plugin, opt = {}) => {\n if (MindMap.hasPlugin(plugin) !== -1) return MindMap;\n plugin.pluginOpt = opt;\n MindMap.pluginList.push(plugin);\n return MindMap;\n};\nMindMap.hasPlugin = plugin => {\n return MindMap.pluginList.findIndex(item => {\n return item === plugin;\n });\n};\nMindMap.instanceCount = 0;\n\n// 定义新主题\nMindMap.defineTheme = (name, config = {}) => {\n if (_src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name]) {\n return new Error('该主题名称已存在');\n }\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"mergeTheme\"])(_src_theme_default__WEBPACK_IMPORTED_MODULE_14__[\"default\"], config);\n};\n\n// 更新已存在的主题(支持动态更新)\nMindMap.updateTheme = (name, config = {}) => {\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"mergeTheme\"])(_src_theme_default__WEBPACK_IMPORTED_MODULE_14__[\"default\"], config);\n};\n\n// 移除主题\nMindMap.removeTheme = name => {\n if (_src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name]) {\n _src_theme__WEBPACK_IMPORTED_MODULE_6__[\"default\"][name] = null;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (MindMap);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtyGjkQ/RVqnnar8Bb4lpg3jEnCxgEvGDtxKg9iphm01oyILrZxKv++mrGd3az6KC8UnNa0+nrUGr5lI11VVLtskF198FaU1Dns9w9OOkf7/ePDrJu90bWbiorCgpH2RpLZO9WqaCReqZ8lnReJqKTa/SwL8DXJctPs9Lxs4oSS+bAuVVjXC7/tG/lAxYV0+SYbOOOpm402wojckVlQ8+T4wVFdUDHXlaifrTs91Q/Z4PNeMLu7t3/U6746POm+7vW/dLNlWGuUrOlCW+mkrrPBXr/X+4/gciPz25qszQbhyeyKjG2XZb3ewR+9Xi/sMdVO5k+ebHemcaHzW/57p3/y+qQbPk967We//TxoP191hoVeUWexs44q25nUuTZbbYSj4o9OZ6hUZ97osZ05WTJ3AQ37jMOqQtblIt9QG7lWycKJuhCmeJGGhSOxffccyqPj/W728eXX4cFJNxvavAmRyQbH++HnGf34vdc/etXNFq54d50NXh+2X6/C137v+CnQH8gZmYdQfP6WXX8MCppQTYMlditCBL53/wfTQ65EFeNfvQ6erlQsqX21akJc1rGs0EoJE+NbMnlToZFAVEFkQ3iABW2uGH3CUK1ojUTgMWEbjfaWeUp5G6N5aCwRw5vddkOM98EVqRlPrBJ2E8OPZHSM6prJkrtnVrqNIWbtOjQrg8o7Zq2VDwxId5x3xMe0lpzBuVaa0WGpkkCkmgaON/3qBVODpaHQiIybXz3ZliTi3DO2D2PoNIZGMXQWQ+MYehNDb2PoXQxNYujPGHofQ+cx9CGGpjE0i6GLGPorhuYxtIihyxhaxtBVDF3H0McY+hRDNzG0CqfQLTmeNlZBBvr0+TnIKbmUuTS5Z1jUN6xtw8nBtEjLb7wxDOesmB5j+JfpIIYLmIZiWC6GZAz9HUMMvTItzESL6VqG9rZMKGOI4QaGXpjY+xi6i6H7GGKYdMeQPl9foBBW3GHark9Vo5OqgEd9oe+ZOPOnc3NcqmZgiUuomehYnt1xZ8daaSPZ8wBoyb0Jx3jOBLBtGyvbiRNOLXw0Sy+DpNKAAhpxq/gXYhD6NdMda6bwwyTH0kwhypI70p5wdhR7Gjia3JEhpvfDLCRKI7YcqYXJnxgv/g3vSthEhNNSEKIfCQByUkpurWQaNXjqNtqjSfHp0OdLOwSAG31E7h03uLRMvlbEtDPoq0rkhqvhlSFu40I7kfP9VoRLFrH+G7YLcypCQLkJ1delML5SwjPb6DIMmQxL54L1gyq+YIfMyKNNsQ4zHj8UnoMDdoZwfoMqkJxX7A6Cj3czWzLdqcC+GuGM9tCa4RobSp5J2gTnk0D5CVA0Pp1RAqn7hC0o5J3kqvkTsGyY6gwBHlqmHtqBh2x77UI9QimVS75PljgMAjXDEljn0QNjvMlZIAju/pF0NH95VcFshSgnB3Ug+LhMkwYoVKOAUS+T2kZIG2DVcYInLXDTQkKUYHelH6kuGcEcbPE26aRPNklKOEQpNcCQHPp6k4jc5UYbRtkM7T4HcVsAvADWLtEGnq/M9t2G9e2Aw8xEM1CCQ4QDWq28cnKrmDHTAwcvgYNh1HJSqEKumdvVDlPDFOwjU8UyTpZZ4tTBohzYUSMaRAmdggBNgKLmzVsYGLjXbyujb6lm70CGSmnB1PsWJHuSYhQfupq/ioxBTRngkEaRuQEP3ICIPb/kAq/Axo6ZUEaQFFSStxwa/eDpiARDND4kqhIE+BG1Btp7hjKCjh6UKYt2xk7MkmMJ8PCMlGNy5XiSdvc6wYjYtIp5pSGBRTo9Z45R6Asw4bQ8HgrYhEJmTFsk6pWvyPfJOj4HiXNGFFQJw1hOCVaYgChNUOGcA6tD0DZCMSdDczMBDa5TFVWDqWn5i/yB+BByqARcGhx6ziqXVD4Ii2TqZmnLi8AS3L8dGqRoBIzwkM0LmXNpOAOKTNKbKciPBvg8XdZJ6RDoHEKO5meuGdDzmOiQMTrt0d63SVfAIDBJtgIwwaUvN7ps8l1r7v0I5lKPRUEV+rcqfaHlDvJH4FSdVBVCjk8IiXp87Jv/Ib90s/dk6gshTfPv8Zfv/wDUfBK2\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json": +/*!******************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json ***! + \******************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtyGjkQ/RVqnnarcAo7vuE3jEnCxgEvGDtxKg9iRgxaa0ZEF9s4lX/fnrGdTVZ9lBcKTmvU96PW8C0bmqqStc9OsqsPwYlSdnaPDvb6naP+3v5+1s3emNpPRCVpwdAEq6TdOTW6mC61+hpksyBo/euCTrOg89MKUSm9/XUNwddSletGcbOcfo+90Cof1KWmdTu7e4S4N+pBFhfK5+vsxNsgu9lwLazIvbRz2Tw7evCyLmQxM5Won809PTUP2cnnnYOj7s7eQa97fNjvHvd2v3SzBS21WtXywjjllakbRb3eT4LLtcpva+lcdkJPZlfSunZZ1uu9ftXr9UjFxHiVP7my2drGh84f+Z+d3f5xv0uf/V77udt+vm4/jzqDwixlZ751XlauM65zYzfGCi+LV53OQOvOrNnHdWbSSXtHKOkZ0apC1eU8X8s2dO0mcy/qQtjiRUoLh2Lz7jmWB4cUto8vv/Zf97vZwOVNhGx2crhHP8/kj987uxShbO6Ld9fZyfF++/WKvu72Dp/i/EF6q3IKxedv2fVH2qAJ1YQscRtBEfje/R8sH3Itqhj/Ggx5utSxpA7VsglxWceywmgtbIxvpM2bio0EoiKRo/AAC9pcMfsJK2stV0gEHhOu2dHdMk/p4GI0p0YTMbzebtaS8Z5cUYbxxGnh1jH8KK2JUVMzWfL3zEq/tpJZu6JuZVB1x6x16oEB5R3nneRjWivO4Nxow+zhZKWASDcNHCv9GgRTg6WV1IiMm8ReriWJOPeM7YMYOo2hYQydxdAoht7E0NsYehdD4xj6K4bex9B5DH2IoUkMTWPoIob+jqFZDM1j6DKGFjF0FUPXMfQxhj7F0E0MLekQupWep40lyUCfPj8HOSVXKlc2DwyLhoa1HZ0cTIu0/MYbw3DOkukxhn+ZDmK4gGkohuViSMXQPzHE0CvTwky0mK5laG/DhDKGGG5g6IWJfYihuxi6jyGGSbcM6fP1BQphyR2m7fpUNXqlC3jUF+aeiTN/OjfHpW4GlriEmoGO5dktd3astLGKPQ/ALnmwdIznTADbtnGqHTnh1MJHswyKJJUBFNCI241/IwahXzHdsWIKnyY5lmYKUZbckfaEs6PY08DR5E5ayfQ+zUKitGLDkRpdASTjxX/hXQqXiHBaCkL0IwFALrVWG6eYRiVP/doENCk+Hfp8aVMAuNFH5MFzg0vL5CstmXYGfVWJ3HI1vLSSU1wYL3K+3wq6ZUnWf8t2YS4LCig3oYa6FDZUWgRGjSlpyGRYOhesH7LiC3bAjDzGFiua8fih8BwcsFOE8woqIrmgWQ2Cj3czWzLdqYFeg3Bmd2pNusVSyTNJG+N8SlB+AhRNSGdUgtR9whYU6k5x1fwJWDZIdYYADy1SD23BQ669dqEekaktF3yfLHAYBGqGBbAuoAdGWMkZEQR3/0g6mr+8qmBUIcrJQR0IPi6TpAEa1Shg1MvkbkO0G2DVUYInHXDTQUJUQLs2j7IuGcEMqHibdDIkmyQlHKCUWmBIDn29SUTucm0ss9kUaZ+BuM0BXgBrF0hB4CuzfbfhQjvgMDPRFJTgAOGAVqugvdpoZswMwMFL4CCNWl4JXagVc7vaYmqYAD0qVSyjZJklTh0syoEdNaJBlNAJCNAYbNS8eaOBgXv9trTmVtbsHcjKUjkw9b4FyR6nGCVQV/NXkRGoKQscMigyN+CBGxCx55dc4BXYyDMTyhCSgk7ylkejHzwdkWCAxodEVYIAP6LWQLqnKCPo6EGZckgzdmKaHEuAh2dSeyZXnidpf28SjIhNq5hXGgpYZNJz5giFvgATTsvjVMCWCpkxbZ6oV74i3yfr+BwkzltRyEpYxnKZYIUxiNIYFc45sJqCthaaORmamwlocJOqqBpMTYvf5A/ERyKHSsCl5NBzVrmk8kGYJ1M3TVteEEtw/3YYkKIhMCJANi9UzqXhDGxkk95MQH4MwGfpsk5KB2DPAeRofuaagn0eEx0yQqc90n2bdAUMAuNkKwATfPpyY8om37Xh3o9gLg1YRFuhf6vSF1ruIH8ETtXJrSjk+IRQqMdHofkf8ks3ey9tfSGUbf49/vL9XxrnGMA=\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json": +/*!**************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json ***! + \**************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWVtT2zgU/isZP+3OhE5Iy/UtDaHNFhI2IdDS4UGxFUeLbKW6AKHT/77Hhnbb1fnUFw98x9K5fzpyvmZDU1Wy9tlxdnUenChlZ3e//+awc7B32D/Kutmpqf1EVJJeGJpglbQ706VWX4JshEHrX4Wdn4SiUnr7q5jga6nKdaPvXBYqVISMvdAqH9Slpjd3dvuEuFP1KIsL5fN1duxtkN1suBZW5F7auWxWjx69rAtZzEwl6hc73741j9nx553+QXenv9frHr456h729m672YJetVrV8sI45ZWpG0W93k+Cy7XK72rpXHZMK7MraV37WtbrvX7V6/VIxcR4lT87s9naxovOH/mfnd2jw6MuPY967XO3ffbb5+v2edAZFGYpO/Ot87JynXGdG7sxVnhZvOp0Blp3Zs1urjOTTtp7QknbiN4qVF3O87VsQ9huMveiLoQtvkvpxaHYvH+J6d4+Be/j9//e9Pe72cDlTZxsdrzfP+pmJ/LH/zu7ewfdbO6L99e0crf98+rlzybY59JblVM8Pn/Nrj/S+iZeEzLEbQSF4Vv3f7B8zLWoYvxLMOToUseSOlTLJs5lHcsKo7WwMb6RNm/qNRKIikSOogMsaBPG7CesrLVcIRFYJlyzo7tjVungYjSnNhMxvN5u1pLxnlxRhvHEaeHWMfwkrYlRUzNZ8g/Mm35tJfPuipqWQdU9865Tjwwo7znvJB/TWnEG50YbZg8nKwVEuuniWOmXIJgaLK2kPmTcJBJzLVPEuWdsH8TQ2xgaxtBJDI1i6DSG3sXQ+xgax9BfMfQhhs5i6DyGJjE0jaGLGPo7hmYxNI+hyxhaxNBVDF3H0McY+hRDNzG0pJPoTnqeNpYkA336sg5ySq5UrmweGBYNDWk7OjiYFmn5jTeG4Zwl02MM/zIdxHAB01AMy8WQiqF/YoihV6aFmWgxXcvQ3oYJZQwx3MDQCxP7EEP3MfQQQwyTbhnS5+sLFMKSO0zb91PV6JUu4FFfmAcmzvzp3ByXuplX4hJqpjqWZ7fc2bHSxir2PAC75MHSMZ4zAWzbxql27oRTCx/NMiiSVAZQQCNuN/6NGIR+xXTHiil8GuRYmilEWXJH2jPOjmLPA0eTO2kl0/s0C4nSig1HanQJkIwX/4V3KVwiwmkpCNGPBAC51FptnGIalTz1axPQpPh86POlTQHgRh+RB88NLi2Tr7Rk2hn0VSVyy9Xw0kpOcWG8yPl+K+iyJVn/LduFOV3GaOBmuDvUpbCh0iIwakxJQybD0rlg/ZAVX7ADZuQxtljRjMcPhWfggJ0inFdQEckFzWoQfLyb2ZLpTg30GoQzu1Nr0lWWSp5J2hjnU4LyE6BoQjqjEqTuE7agUPeKq+ZPwLJBqjMEWLRILdqCRa69dqEekaktF3yfLHAYBGqGBbAuoAUjrOSECIK7fyQdzb9/r2BUIcrJQR0IPi6TpAEa1Shg1MvkbkO0G2DVUYInHXDTQUJUQLs2T7IuGcEMqHiXdDIkmyQlHKCUWmBIDn29SUTucm0ss9kUaZ+BuM0BXgBrF0hB4Cuz/bbhQjvgMDPRFJTgAOGAVqugvdpoZswMwMFL4CCNWl4JXagVc7vaYmqYAD0qVSyjZJklTh0syoEdNaJBlNAJCNAYbNR8eaOBgfv8trTmTtbsHcjKUjkw9b4DyR6nGCVQV/NXkRGoKQscMigyN2DBDYjYy0cu8Als5JkJZQhJQSd5y6PRD56OSDBA40OiKkGAn1BrIN1TlBF09KBMOaQZOzFNjiXAwxOpPZMrz5O0fzAJRsSmVcwnDQUsMuk5c4RCX4AJp+VxKmBLhcyYNk/UK1+RH5J1fAYS560oZCUsY7lMsMIYRGmMCucMWE1BWwvNnAzNzQQ0uElVVA2mpsVv8gfiI5FDJeBScuglq1xS+SDMk6mbpi0viCW4XzsMSNEQGBEgmxcq59JwAjaySW8mID8G4LN0WSelA7DnAHI0P3NNwT5PiQ4ZodMe6b5LugIGgXGyFYAJPn25MWWT79pw30cwlwYsoq3Qr1XpCy13kD8Bp+rkVhRyfEIo1OOj0PwOedvNPkhbXwhlm1+Pb7/9C/NFF2U=\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json": +/*!******************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json ***! + \******************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFWdtSGzkQ/RXXPO1WmZSBEAJvjnESb8AmGENCKg+ypj3Wohk5ugAmlX9fzUCyW6s+ysuUfVqXvh61Zr4XI1PX1PjiuLg6C05U1Ns/Ojx42TsYHB4eFf3irWn8VNQUB4xMsIpsCwatU1DUSm8T+JpUtW7XP6NShToiEy+0ksOm0nHkIP53b9UDlefKy3Vx7G2gfjFaCyukJzundu74wVNTUnlhatE8a/XmjXkojr/s7O33d/YOBv3D3YP+68HB136xiEOtVg2dG6e8Mk1xvLM7GPxHcLlW8rYh54rjOLO4Iuu6YcVgsP9iMBjELabGK/lkymZrWxt6f8g/e7tHr4/68Xk06J673XOve+53z8PesDRL6s23zlPtepNGGrsxVngqX/R6Q617F+1qrndBjuxdRONu4ziqVE01l2vqHNgtMveiKYUtf0rjwJHYvH/26MGrvX7x6ee/l3uv+sXQydZPtjh+tXfUL07o1/+d3YPDfjH35fvrOHO3+3n1/LN19hl5q2T0x5fvxfWnOL/11zQq4jYiuuFH/38wPUgt6hT/Fkw0dKlTSRPqZevnqkllpdFa2BTfkJVtdiYCUUeRi94BGnQBY9YTlhpNKyQC04RrV3S3zCwdXIrKWFQihdfbzZoY66MpyjCWOC3cOoUfyZoUNQ0TJX/PjPRrS8zYVSxZBlV3zFinHhiQ7jjriPdpoziFpdGGWcNRrYBIt1WcbvotCCYHK0uxDhkzvwVyHVOksWd0H6bQmxQapdBJCo1T6G0KvUuh9yk0SaG/UuhDCp2m0FkKTVNolkLnKfQxhS5SaJ5Clym0SKGrFLpOoU8p9DmFblJoGU+iW/I8bSyjDNTp8zzIKVIpqawMDIuGlrRdPDiYEun4jVeG4ZwlU2MM/zIVxHABU1AMy6WQSqG/U4ihV6aEGW8xVcvQ3oZxZQox3MDQC+P7kEJ3KXSfQgyTbhnS5/MLJMKSO0y78bls9EqX8KgvzT3jZ/50bo9L3fYraQq1XR3Ls1vu7FhpYxV7HoBVZLDxGJeMA7uycarrOmHXwnuzCipKagMooBV3C/9GDFy/YqpjxSR+bORYmilFVXFH2hPOtmJPDUcbO7LE1H7shURlxYYjtdj6E2PFv+5dCpfxcF4KXPQrAEBOWquNU0yhRkv92gTUKT4d+nxqRwdwrY+QwXONS8fkK01MOYO6qoW0XA4vLXEbl8YLyddbGa9axNpv2SqU8SoWG26Gu0NTCRtqLQKzjalik8mwtBSsHVTzCTtkWh5jy1Xs8fim8BQcsDOE8xvUkeSCZncQvL/b3pKpTg32NQhnVo+lGa+yMeWZoE1wPAmknwBJE/IRJRC6z1iDUt0pLps/A82GucoQYNIiN2kLJrnu2oVqhHJLLvg6WWA3CFQMC6BdQBPGeJOTSBDc/SNrqPz5voLZClGOBHkgeL9MswpolKOAUS+zq43QaoBVxxmedMBMBwlRgd21eaSmYgQXYIt3WSNDtkhywiEKqQWKSGjrTcZzl2tjmcVmaPcL4Lc5wEug7QJtEPjM7N5tuNA1OExPNAMpOEQ4oNU6aK82mmkzAzDwEhgYWy2vhC7VirldbTE1TME+Kpcs42yaZU4dLJJAjwbRIAroFDhoAhZq37zFhoF7/ba05pYa9g5kqVIOdL3vQLAnOUYJsar5q8gY5JQFBhnkmRsw4QZ47PklF3gFNvZMhzKCpKCzvOVR6wdPRyQYovYhk5XAwY+oNNDeMxQRdPSgSDm0MzZilm1LgIUnpD0TK8+TtL83GUbEqtXMKw0FNDL5PnOMXF+CDqfj8ZjANiYyo9o8k698Rn7I5vEpCJy3oqRaWEZzyrDCBHhpghLnFGgdnbYWmjkZ2psJKHCTy6gGdE2L38QP+IeQQRXg0mjQc1S5oPJOmGdDN8trXkaW4L52GBCiEVAiQDYvleTCcAIWsllrpiA+BuAX+bTOSodgzSHkaL7nmoF1HjMVMkanPdr7NmsKaAQm2VIAKvj85cZUbbwbw70fwVwasCguhb5W5S+03EH+CIxqsktFl+MTQqEaH4f2O+TXfvGBbHMulG2/Hn/98Q/b2xEO\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js ***! + \******************************************************************************/ +/*! exports provided: Encodings */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Encodings\", function() { return Encodings; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js\");\n/* harmony import */ var _all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./all-encodings.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json\");\nvar _all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./all-encodings.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json\", 1);\n/* tslint:disable max-classes-per-file */\n\n\nvar decompressedEncodings = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"decompressJson\"])(_all_encodings_compressed_json__WEBPACK_IMPORTED_MODULE_1__);\nvar allUnicodeMappings = JSON.parse(decompressedEncodings);\nvar Encoding = /** @class */ (function () {\n function Encoding(name, unicodeMappings) {\n var _this = this;\n this.canEncodeUnicodeCodePoint = function (codePoint) {\n return codePoint in _this.unicodeMappings;\n };\n this.encodeUnicodeCodePoint = function (codePoint) {\n var mapped = _this.unicodeMappings[codePoint];\n if (!mapped) {\n var str = String.fromCharCode(codePoint);\n var hexCode = \"0x\" + Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"padStart\"])(codePoint.toString(16), 4, '0');\n var msg = _this.name + \" cannot encode \\\"\" + str + \"\\\" (\" + hexCode + \")\";\n throw new Error(msg);\n }\n return { code: mapped[0], name: mapped[1] };\n };\n this.name = name;\n this.supportedCodePoints = Object.keys(unicodeMappings)\n .map(Number)\n .sort(function (a, b) { return a - b; });\n this.unicodeMappings = unicodeMappings;\n }\n return Encoding;\n}());\nvar Encodings = {\n Symbol: new Encoding('Symbol', allUnicodeMappings.symbol),\n ZapfDingbats: new Encoding('ZapfDingbats', allUnicodeMappings.zapfdingbats),\n WinAnsi: new Encoding('WinAnsi', allUnicodeMappings.win1252),\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js ***! + \**************************************************************************/ +/*! exports provided: FontNames, Font */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FontNames\", function() { return FontNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Font\", function() { return Font; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js\");\n/* harmony import */ var _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Courier-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json\");\nvar _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json\", 1);\n/* harmony import */ var _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Courier-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json\");\nvar _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json\", 1);\n/* harmony import */ var _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Courier-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json\");\nvar _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json\", 1);\n/* harmony import */ var _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Courier.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json\");\nvar _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Courier.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json\", 1);\n/* harmony import */ var _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Helvetica-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json\");\nvar _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json\", 1);\n/* harmony import */ var _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Helvetica-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json\");\nvar _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-BoldOblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json\", 1);\n/* harmony import */ var _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Helvetica-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json\");\nvar _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica-Oblique.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json\", 1);\n/* harmony import */ var _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Helvetica.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json\");\nvar _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Helvetica.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json\", 1);\n/* harmony import */ var _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Times-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json\");\nvar _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Bold.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json\", 1);\n/* harmony import */ var _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Times-BoldItalic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json\");\nvar _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-BoldItalic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json\", 1);\n/* harmony import */ var _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Times-Italic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json\");\nvar _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Italic.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json\", 1);\n/* harmony import */ var _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Times-Roman.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json\");\nvar _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Times-Roman.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json\", 1);\n/* harmony import */ var _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Symbol.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json\");\nvar _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./Symbol.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json\", 1);\n/* harmony import */ var _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ZapfDingbats.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json\");\nvar _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./ZapfDingbats.compressed.json */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json\", 1);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// prettier-ignore\nvar compressedJsonForFontName = {\n 'Courier': _Courier_compressed_json__WEBPACK_IMPORTED_MODULE_4__,\n 'Courier-Bold': _Courier_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_1__,\n 'Courier-Oblique': _Courier_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_3__,\n 'Courier-BoldOblique': _Courier_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_2__,\n 'Helvetica': _Helvetica_compressed_json__WEBPACK_IMPORTED_MODULE_8__,\n 'Helvetica-Bold': _Helvetica_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_5__,\n 'Helvetica-Oblique': _Helvetica_Oblique_compressed_json__WEBPACK_IMPORTED_MODULE_7__,\n 'Helvetica-BoldOblique': _Helvetica_BoldOblique_compressed_json__WEBPACK_IMPORTED_MODULE_6__,\n 'Times-Roman': _Times_Roman_compressed_json__WEBPACK_IMPORTED_MODULE_12__,\n 'Times-Bold': _Times_Bold_compressed_json__WEBPACK_IMPORTED_MODULE_9__,\n 'Times-Italic': _Times_Italic_compressed_json__WEBPACK_IMPORTED_MODULE_11__,\n 'Times-BoldItalic': _Times_BoldItalic_compressed_json__WEBPACK_IMPORTED_MODULE_10__,\n 'Symbol': _Symbol_compressed_json__WEBPACK_IMPORTED_MODULE_13__,\n 'ZapfDingbats': _ZapfDingbats_compressed_json__WEBPACK_IMPORTED_MODULE_14__,\n};\nvar FontNames;\n(function (FontNames) {\n FontNames[\"Courier\"] = \"Courier\";\n FontNames[\"CourierBold\"] = \"Courier-Bold\";\n FontNames[\"CourierOblique\"] = \"Courier-Oblique\";\n FontNames[\"CourierBoldOblique\"] = \"Courier-BoldOblique\";\n FontNames[\"Helvetica\"] = \"Helvetica\";\n FontNames[\"HelveticaBold\"] = \"Helvetica-Bold\";\n FontNames[\"HelveticaOblique\"] = \"Helvetica-Oblique\";\n FontNames[\"HelveticaBoldOblique\"] = \"Helvetica-BoldOblique\";\n FontNames[\"TimesRoman\"] = \"Times-Roman\";\n FontNames[\"TimesRomanBold\"] = \"Times-Bold\";\n FontNames[\"TimesRomanItalic\"] = \"Times-Italic\";\n FontNames[\"TimesRomanBoldItalic\"] = \"Times-BoldItalic\";\n FontNames[\"Symbol\"] = \"Symbol\";\n FontNames[\"ZapfDingbats\"] = \"ZapfDingbats\";\n})(FontNames || (FontNames = {}));\nvar fontCache = {};\nvar Font = /** @class */ (function () {\n function Font() {\n var _this = this;\n this.getWidthOfGlyph = function (glyphName) {\n return _this.CharWidths[glyphName];\n };\n this.getXAxisKerningForPair = function (leftGlyphName, rightGlyphName) {\n return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName];\n };\n }\n Font.load = function (fontName) {\n var cachedFont = fontCache[fontName];\n if (cachedFont)\n return cachedFont;\n var json = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"decompressJson\"])(compressedJsonForFontName[fontName]);\n var font = Object.assign(new Font(), JSON.parse(json));\n font.CharWidths = font.CharMetrics.reduce(function (acc, metric) {\n acc[metric.N] = metric.WX;\n return acc;\n }, {});\n font.KernPairXAmounts = font.KernPairs.reduce(function (acc, _a) {\n var name1 = _a[0], name2 = _a[1], width = _a[2];\n if (!acc[name1])\n acc[name1] = {};\n acc[name1][name2] = width;\n return acc;\n }, {});\n fontCache[fontName] = font;\n return font;\n };\n return Font;\n}());\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json": +/*!*************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json ***! + \*************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG0eyrf8KA0/7RMhzJJK6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o5PmTZy+PTl88eXk6eTT56/Lu/tfZbTc0+Hu3eOju51ezb75bLq532maxYO2oarPb+aJndRCm3fzm425/Y8N/3M8W86tXdzeLoeXjYXv91/mX7vq3+f3Vx8m396tN92jy/cfZanZ1361+73af/PHLfXd33V2/Wd7O7sY+fvfd8svk239/8+T540ffHB+/ePTk8eOTRy+fHf/n0eR8aLxazO+635br+f18eTf59ptBBuHtx/nVp7tuvZ58+3TgF91qXZpNHj8+/svjx4+Hnfy6HAawG8z3y8/9ajeGo/+6+j9HT16+ePpo9+/z8u/L3b8vH5d/nx+9ul6+745+79f33e366B93V8vV5+Vqdt9d/+Xo6NVicfRm9z3rozfduls9DNTDOF8fzY7uV7Pr7na2+nS0/HD0y/xued9/7r4ZGi2OXv3taHZ3/X+Xq6P58AXrzfv1/Ho+W8279V+Gzv447Op6fnfz+9XHrsxA6cnv98NHZqvrqg4Nv599/vs4Ic+fvHg0eVe3np4cP5q8Wl/tAr0axR862/7m+PHzR5Pf76//Pp18+2QnDv+/2P3/9PF+vv7Z3a/mV0NA//0/k+m7ybfHz4dGvw5dWX+eDXH830d7fHJyssfdl6vF7Nb46fPTPf9jsxzi9X5hytOnz/bK3eb2/W6ibu6ydr1cLGYr4y+GiSn8c7e62qV7FZ4fH++F2e0grYf4mGQdLj0oM557/Xm26u4W3YeWRB+r3Zitd9+4/uQdfzEO9/Nis85duBqqdJZ38bH//LG7y82HocyXYiTrxWz9MQfrz261zHR512V4vxUt7z+uOtH2w3KzEnT+INqu518E7B46MbddiKmnw/xOpNXVcrG8y3jd3c6jZDOw2NlAot0fm9ki45tVN5SzD/PZkyc1abp1sZqqvHz+dJx7kX2vMvouo+8z+sH3/Oz5Hv2YO/NX/2BNhb/l7/p7Tph/5DD/lD/4c97jL156NeT/zB/8NffrLA/ot9zqdf6uN/mDv+d+vc0fPM8fvPBZOx0neppbvcvoMu/xXzn53g+L2afuPtiGhfz9oMU65c9FT7FUnK2v5vOr+epqc5tnbbOz7fWw/nR5j8XfQmfsY7M8nve51VVudZ1bieL8kD94k9HH3OV5Rv+d9/gpt/IStiXhNu/xLqNlRp9F1WerFxa4zpG4z9+1yR98yJWwza2Ek/aOdsc9xfRzV3f5FRPh+MXjmpWrRvtD2Xg/X1w3l/rr5VaYe1idPWL35TjNk+NJrbgPuwND9Fkfs1o7PiyWq7ng667xLVeb1bCMX3kAj0+wbNbzcuCaoluPWnRZ3Wzmg3K7vNdHDju5fPFX5Bh6S5wPc8HE8dNwKCcPB65nNzedSNs9x0MxOuDYzV236kTtD8dCs5vV7DOY2tOaWcNJRCd80MP7frY+EOHD6kofK9gERH04KRg/Pxxizz+v52shDWO9/7jchGPFtOyH5PaZW80eRD3Mrjb36tClePmHRfcla43Kup1drdThzvtVp3Z8vbyfXYWKc2k+zCQGwJQV1qF3trseQqqOUTd3N7PV5nYx24jdLG+Gw8xP4utmOA6Yl9uQsy688sOek+cjW66uPwzHeeHA0I9Q4iLrByCR+x7OYA/Pntoebgen2yxwF7ayzMRie70r+vVaLGCLuGNfeSK3I5KlGNRQn8Mp8ZD34hziH2lK3QliBvryH/PGlyY5qf51cfb86Cj3oC4X1/OHOSS0fyT2zA+YRXF4txsfOj/0ob4Rg3U596IygaHmr/T9hVJx3J6IGdWDfyb2zmeCPuBnAWknfs4weASchBxXJ1YDfX7yvIrjVQ+xK3IdXztjHvgodVx+VR3w8mjlaDRVP9KXw7FTqda3RWOFcCarhAzRw1yzJ/rha9z76ct66rn8s7u7EZn7Ju7Cz+LUID05DhbJocx9xQuJHc02xnrFY/Xznxw5i+rbj8uVGNUZ7d3DQFVgJ3pU8Kd1EaOwWTXRDjxienErFzjWm3KUsxL9jSnoUWzxaKtmgrebxf3886IX/WqU/9s4QEuk4Xjrfj5bXM8/fMhz1bet4de4H09YkSxeGwfT7MCq05auGuO9a9lgK2N+jQHyxZDqHy+/DUcMeA3OToFWy0/dHZ4ImTmuupv5Oh76eonGyYblONdFPdRYb4aqDucjHmw6hrTCbERm2Ur1fzU+8C+q8NOX9di1XOmK18Eszj/ef8zw+6YBLpRv2VjuGybTNVfHlvCqdfhwICtjgP18uVUavG9zhdaMtJae1jK6bu0517Ht++BhCa+Y9bigW9wLA78PJu2euF0ecMTUNfu6240YSWMNX8rjTK8FPvixq0/xCOfFySn4+JDAqyGR1/n7fud8Pa2Tv2gsJD8fXH9/iRPnpxJ2X0eZYrIFt4wYJuetGv8ldtviMETt42wBS0Mt8t2pSaxwnwu1BJgvx8MmT7WvTGCjFLrWgG6imeKAxmlVs6rPRn6XB4iWwbLnlhDXg010KmMbS/731AlbuMhtTs3Or+dXymh/iF8EB2aHDnd/pcNa625j3t4czuuD+3rV+M5XTZOOpwM2A/F73IgPHFD+2Fruad9+iVie3dkBWTwSsG87WAo0QeaXB/e0WN7s5vtuKcK9bJvpJq9jNYOGr2pU8s3Bye1gJfeYN9L3Tq7jdnHnLh80u+e3lrsfN7u7kf95NPm5W939NpuvdveQ/z15tbtbPXn0zenj/zwat/buEdC+nxGNpo7wb8PWU9/au0pAODAUzsL3nOUu4NIbuE1VoPv6Dyg4T1DGkAW2vzoU0L5wEL0OW2+HrZe+VWOGKIzehfMQi/M6ekBh9MBh9EDr6AHR6EGx0QMb6zqwYidILoatF7Y1Hbae2dblsPXkiW/WISGDvgPeDJsnvlU/CCjEAjh8H9AaC0AUC1AsFsAsFsDGWDh5CJmwDVoft/KI+tzzsRGWpiEqDuNUpM65UqsC5WqIata4LNyqnuXv5hI2rurYxFzMJlFFG9dlbTLXtglU4Mapyit/nRHUuyEqeueq8qt6niPKHmBcGYGJ2Q1MIkswrn3BZDYHE9ghTIg2UTF4RUVgGBWhaxhj6zBB+EfVwEQMUd0ZV3ZiYrsy2ViMa3cxmS3GBPYZE6LZVPyQE3KbW/UCNQIhXGg0A3QhQ1TfxsmFnLMLVQVcyBC5kHHpQlU9y9/NLmRcuZCJ2YVMIhcyrl3IZHYhE8iFjJMLVf46I3AhQ+RCzpULVfU8R5RdyLhyIROzC5lELmRcu5DJ7EImsAuZEF2oYnChisCFKkIXMsYuZIJwoaqBCxmi4jOuXMjEdmWyCxnXLmQyu5AJ7EImRBeq+CEn5Da36gVqBEK4EIYGrShyqvQokimRyM4UZLCnyMmjoiiNKjQ5a+yPLSuKyrdii2xeUScHi6K2sdiGvSyqZGhRJFcL4usGB3+LnEyOROV0ocl5Y17Y86KojC+2yO4XdbLAKGofjG3YDKPKjhjVaItBA28MHAwycHTJKLBVRlX4ZWgAphk5GUYUlX3GFl/xFTbSKGo3jW3YUqPKvhrVaK5Be2jUxbbRvm/xQ/ETrusEPRcpGRVK5LdBYrcFEbwWKTktStJnocGZ3A97LErKYVHP/ooquStK2luxBTsrauSrKJGrgvRaUnBUpOSnQVJuCg3OZezZSVFSPop6dlFUyUNR0g6KLdg/UWP3RC16JyjgnEDBN4GiayJmz0RNOCbI4JdIqdpRUl6J+kEvYJ9ESbsktmCPRI0dErXoj6A8yAzfyra9pu1ICVccR4+WaIhMxTiZoXN2wqqADRoiDzQuDbCqZ/m72fqMK98zMZueSeR4xrXdmcxeZwIZnXFyucpfZwT+ZojMzblytqqe54iypxlXhmZidjOTyMqMax8zmU3MBHYwE6J9VQzeVREYV0XoWsbYskwQflU1MCtDVH/GlU2Z2K5MNijj2p1MZmsygX3JhGhKFT/khNzmVr1AjUAIF6p9RRtyRhXuAhkRCOxEJoEVOSMvckGakcln4vvZjlxQfuRqNiTXyJFc0JbkOnuSK2RKLpArmfBaMPAlZ2RMIChnMvlcxJe9yQVlTq5md3KN7MkF7U+us0G5wg7lSrQo4+BRxsCkjKFLOWSbckX4lIlgVM6oQF1QVuXqgfpls3JBu5XrbFeusF+5Eg3L+IPI1a1o1yvWiolwrdoxdC1nZAQukGuBwK5lEriWM3ItF6RrmXwmvp9dywXlWq5m13KNXMsF7Vqus2u5Qq7lArmWCa8FA9dyRq4FgnItk89FfNm1XFCu5Wp2LdfItVzQruU6u5Yr7FquRNcyDq5lDFzLGLqWQ3YtV4RrmQiu5Ywq1AXlWq4eqF92LRe0a7nOruUKu5Yr0bWMP4hc3Yp2vWKtmAjXWo2/6OG7q4RMoGLyK8PsVqMAXlUJOVXF0qdG8Sx9L3tUxcqhqpb9qSrkThVrb6oqO1Pl5EsVkyuN+HUi4EiVkB8ZVm40iucphuxEFSsfqlp2oaqQB1WsHaiq7D+Vs/tUHr1npOA8IwHfGQm6TkXsOZULxxkl8JtKqLIqVl5TtWbNsc9UrF2mquwxlbPDVB79ZaQPKeu2qU2fiR69cJUx19FWDFHhGidjcc7OUhWwFkPkLcaluVT1LH8324tx5S8mZoMxiRzGuLYYk9ljTCCTMU4uU/nrjMBnDJHROFdOU9XzHFH2GuPKbEzMbmMS2Y1x7Tcms+GYwI5jQrScisFzKgLTqQhdxxjbjgnCd6oGxmOIas+4sh4T25XJ5mNcu4/JbD8msP+YEA2o4oeckNvcqheoEYjsQt8N9FXcip8tqDoGIBHSwvUeYiALoiAVRvEpLISmkFq+jnbV9cS3LJ0che4CxwRzWrsLiKYcFBsIMBsIsHEge/LDGPdT34pu+gPGHZDw1h8o7kCjo/4Q4g7Mugts7C6QaJs/jCXvW9OwtSv0575VRwcIuux0/3tsdXJ3ZPzJNUOj/2L4DFEMjVMgjatomphDahLF1TgH1wSOsAkxzIYp1pVfZDTNCEJviOJvPE9ClWgmKk7TUV4IjNNREU9H5TwdlcvpqKKYjirxdFSepqMKaTqqQNNRMU/HyC8ymmaE01ERT0flYjpGiadjxDQdfx1n4oVv1V0BqvEHFEIPHDoEtAYckMUamIUZ2BhhIDW4jnbjPPatOgJAdQSAwgiAwwiA1hEAshEAsxEAG0cApI7AUZ2tJ48N2UyN7Kdxqo59Kw70J5wqQGKgP9FUAY0D/SlMFTAa6E8wVUDiQH+CgTqxcTraxK08zE1jTBs5pk0eEx+SgSJGuxGj3YTR/jzZn/Kc+FY8LipIHAQVng6CCo0HQQXJA8mi0OFRYfV8BlA8Ftqhctzy1LbsWMhRPYFBFA6PnOPhEVB7TTRgO2py5MdGzvzYyNhyNwLfskg7ipF2jpF2apF2xJF2xSPtzCLtyCJtaBPivsn5oc47fp6oU46fJ+ls42eR1aCI/ODTi58nfGaxI70tUGUrLtEFpYU2vIsf6oIECgGpKhrUJAeGGlCMSNXhokYcOZKpyEileosqJD8JVIWkUkGyKmqTmuQy5Qa5YqkFFS+pXMckc0lHGaqbBCp0UlXNU5Nc/tSAnIBUbQrUiP2BZLIKUsk1orppJRJ7CalfLyThMNTgYCE1fIcaHS6k5EYkR2OKIngUCWRXpCbn+mWC1/DKVrx8t0fiyt1O2B3ej5eddptTO0bdbZULWce+aSUODOvScfwFzUE6jZLgfo3nl0m6vPPLRF3Z+SW/o+qIgnDwHVVTMRz4BueLiDAw+Q1OFkSIqtaKU9BbYp8DwWFrv/X4S8wriCAJFEdWVTRjG4xpVCCyUcD4ksJRJlnEOrZoRVy0Otykb4WS56BdwGOD0V5xDgxR9J2ruFcVI14ZxLoijLIxjq8JIrJVa8U06C2xz4HgCBpPsRuO08oJ5lPfirccCop3gwoSNyAKT/ceCo23HQqiWwqF0d2EwsKNhELqeunorZn5Gc45ojDdLlyE75mGrXdhy6/QnE3SxZmzibous6P13Nd3aee+I6oWA9NgiObCOE2IcTUrJuapMYnmxzhPkgk8UybE6TJMc4brDoWBZ6+x7pB6kb97mtG7jGBa00LEPE9wlWiWK+apDi9TwXxHTpMeRZr5KKrpjy1yDkSdEiGKnA1R5ZSIasyLqFFypPc6VfQ4TQ6916maXDT2N23wdw0O+aNfb5RizqSgUzoFjXMKXkSBjEJK+YQSZRNKKpdQz5mEKuURSpxFqHEOoRYzCBXKH3qHLceJc6f9DltucCH3M5X0naSQMerVLiHlbAGVcgUUzpT6pgCkiSHKEeOUIMZVdpiYU8MkygvjnBQmcEaYENPBMOUCvuxDYeAsaLzsQ+pF/u5pRu8ygmlP78YwzxNeJZrtinmq47k5zjgrNPEs0/yzrNKA2+Rs4BaUFCxzbrDOKcJ6zBRWKWFIftuMKadPklUWUaOL5n6nTeVdU4EMY4USjeWcb9SC0o5Uzj57uh/yzhllnAuUay6oLHM155drlFkucE65wtnkSswj55RB4UUejghnTetFHpYvxPdPBXsnGORFft8lCTkXTKMsMM7zX083YfoN0ewbp8k3rubexDz1JtHMG+eJN4Hn3YQ47YZp1vEaBIWB57xxDYLUi/zd04zeZQTTnS5KMM+TXSWa64p5qutTYzDVhmiqjdNUG1dTbWKeapNoqo3zVJvAU21CnGrDNNX44CeFgae68eAnqRf5u6cZvcsIpjo9J8k8T3WVaKorpqn+bZzl8cmE33CGkdXZRUZP1rkQHq1z7M/WOYNH6BzCM3QO7SE6R3UGgflzMmUrXjErKD7RWJC4q1J4uq5WaLx/UhDdDymMboIUFu58FBLvKv4G8zZeTdyh2KDLg7L7iIj0oDo5qHCbEHAeayfG2omxLkOK2f0+QOKRr8LTrZxC44NeBcmHw4tCT38VFh8JLyg+2/UbVscY/dcTfMS0bMVHTAsSj5gWnh4xLTQ+YlqQfMS0KPSIaWH0iGlh4RHT155GPow6tD15M9nfzYet+GxOQeLZnMLTszmFxmdzCpLP5hSFns0prE4RoPjY0ZvRn2GrZj6i4MounMetPN7zxnjP5XjP83h5IkER4z2nZ5HewEQ68WXkzQQfMnwzrhSuXcal+Q2tDyOtVzFh9g1RSIyruJiYg2MSRci4DpPJHCsTKEGMU5bgdWhGlC+N69CkngvUiJXMIRPbseJsMn44VimvTODkMiFmWL7UbghyDa+rUyvOOnVdfZTqg8SQeoYonMZVOE3M4TSJwmlch9NkDqcJlHrGKfUqfysQpZ5zlXpVPReoESuZeia2Y8WpZ/xwrFLqmcCpZ0JMPXy0nTIEUg8fbadWnHrq0fYqpefYjqXAoT3wHJtuIsKsn2PTaiPkjefYtMypqp9jk+rbpsDJe+h5B9nmvCkcjLlO6tjkazFPCR7V/5+Y52SPckr5KFPipwdBZJZiEaTnQOQnUkE0nwLZNximu5z9vfSt+g2A6hkToDApwGEPQGv4AVk4gVkMgY2BA1Lz15G/oPoWSxiQONV4S8UKNJ5qvBVlCQqdarzFAgQUTzV2aHeO98K34rsaBcV3NQoS72oUnt7VKDS+q1EQvatRGL2rUVh4V6OQ+K7GDl0tFzTyeu7qbXafeOZbdZSAqrEgwlECh1EihVNXwHXwgGzwwGzwzj72nz925Zzr2NgyjGqZZ2vZmJqlnJplnho+nQVFTJqdzgLKM2Sns45WcSsPZBW93IV1dzvPU74JpbjJ9rFpeMVGesUmewU/kgqKcJGNcJFNcpFtmPA+buUk7XPm4buILwlRENK7iMxVhNS7iCxRrPK7iCxwbPhdRMbktXj8fkqIXFcfv7OY/TcdvzPXTpyP31kgT07H78TBxQxRrRgnnzauHMHEbAsmkTcYZxswgQ3chOjihsko/LXPhQodmXrFXa4Ftnfj5PHOhdGb2K45Zfmmke8bZ/M3gVeAKqRloArLHAxeEIwfygGxNJjUyIHGImFyK0V4uTDeSAVeOCpfCdQYul5HqioWkyrBimKo4ahybTGx7Zy8yhjXS43JLWNNi44J2li3Odt6gRrlpFajcKCPa1IUOI5R5fUpqjLWsYmIeGzAcY9qCm+UU5CjTKGOIq9k6XLAqRR4VTtwOUA3ESucvhyg1cZq17gcoGVe+fTlAKmi7UeBiz6qvCJGVXpibCKcMTZgf4xqssEop/UyyrRqRpENM6jsaCTGdTS+SNeq5bSmRpVXVlLV+hqbfM1L5FobW/CKG9W07kY5rb5BzmtwfMmuFc60Hkf16xmo1ubY4GAGttbp2OhwmqY1O6oHEzGt30FdNYWDYWus6KGNWtdDA1zdo3BwbdIrfWzytdUnrfpRbaz9sdHhJSofB0T50BK1bdVA3xQOWkM+Sjif4BM953g8ACg+x3OeVn7g6XriOa7xgOiZnfOwmgMLT+qc47rtqNroiRH6IZR6PRnH2nj1xjmN+tCrNy7m8TdevXHOkWi9euNCjEnj1RvjFJ30ysrIG6+sEKdgHXplhUQVtq+8skI6BfDgKyukcigPvLJCGgVVvr2hIsjhlW9vBEqhbb+9ESQV1oNvbwSVQnrg7Y2gcTibb28EhUIpXm3IseIw5lcbHFEAG682OFeha7/a4BIFrfVqgwscLv1qg2MKFL8SQKHgEDVfCUgKBezwKwFJVuH76isBqQUF8yuvBCSdQ3vwlYCkUqAbz8LruHLYxbPwwCjUrWfhQVDhPfAsPGgU0uaz8KBwGBvPwgOn0KVHxzkqHC77iW0IlzMKlwsULhdUuFzN4XKNwuUCh8sVDpcrMVzOKVwmULiMc7jGXw6GYFVCoaqYAlWxClPVcpCqQiGqmANUOYen8hicSik0I6bAjJTCcjGG5IVvxdOVCwwFIHG2d0EhABrP6y7C0IHRNYQLGDKQeJK2Q/6zzGUrzlxB8SzLhbO4FVOhIDHfhae5LjTOc0Hy94KLQrNfWD0/BRSnd4d20/rMt+IpS0E1BIDEdYvC0ylNofH6Q0F00aEwutJQ2DhjQOoIHMXT2YtJekR7h+Kguzw5dqUGkZ6vTs5XuBADOE9jJyarozLdMbu44tm5u6Dy0rfiKXlB4jy88HTyXWg84y5InmYXhc6tC6s5Biheyr2Y5Ke2dyxfiNjRTZjZTc7GTSP1NjL1Njn1+DICKCIpNyIpNyEpp6PrwVbs9RRdD5AYyJRcD2gcyDS4HjDq7hRcD0isoekEH7iboncBEo95Tcm7gMYHuqbCu0ChR7em6F2A4oNx09G7Tn0r3gyYoncBEjcFpuRdQOPl/2nwLmD0q7VT8C4g8Vr+FLzrCRC8Cj0drWv/I2VTtC5A9nYJoPwLbVOyLqT4donj+BNt02BdwPztEmNmXT7UZUi4ZS6SZaMilrIilrki2LpAEbVi1gUoFwZdqJ2Sc/m87Zzr1MZvzgUoJp5zTDynlniO+GaTK56SzjwlndWUNNKHeupz3fepvi9Hwxt/qekSHQ+ZvZEGLL6IAwK+iQPYXsUB5m/cAPRXbgDWd24A2RtpznbW99y34ot8l8n6gKd3+y7R+gDRxIFigwFW8xJQ7bajmS2wl2h9gOLN4stkfcDTscElWh8gOgK4DNYHLFxHv0Trc1RL6CmQW/xl5svR+174VjyfuETvQ5TPJy7J+5CC9wGOpxmXwfuA0WnG5Wh0MARzOmTq1cxL8jrE9GrmpXA7lPitzUv0O2T0hublJP8Y9iVZns/XJjbaiIFuWgPd6IFuxEDZ91BSA3XnQxhfT7206/RgBukmRBLY0/RtiKQKd0s3IpKQfC7fikgKOV66GcECeF96x4y5ckH1jhlL5Ietd8xYZmdM75gxJ4+sHIzSELmlcbJM48o3TczmaRI5qHG2URPYS02IhmqYXNVvMoVS5XtPXANgc4bIaY2T3ToXnmtiNl6XsvuaRhZsnH3YBDbjKizFoJMtmyAty1ThW6axeZnQcDDTk42ZwqZtAjt3upPIgvDwKm1E8+TmJhyMj/J101rxaTm86c34ZK83hQyfbvlVJ1T3/JTGzt+866caCP9X9/2UllYBeedPibQWqHt/QoMVASktCiipdQH1vDSgSqsDSnqBwBa8RqBGywRKtFKABIsFUlovUKIlAyW1aqCeFw5Uae1AiZcP1HgFQS0uIqjQOhJuBgfHELeJRYGBaSOlNQUlWlaCJFYW1PPiEtS8vqBMSwxKvMqgxgsNaEsdkrTcoCYdFRsIU0WZfRW1hrVik+SuKPIChBqvQepRAaGJlQjUjf5QWo9Q+1oA1aqE8oEAttYmbHIogHmFQjEuUkM5TfxXQsqW/66PoXj/yYXd3yTc/5WH3dY2bPl1nrIVr/MUlK7zVNfDHhmibhmXfasqdLCibUZ97gH313ju9Ngx7LQh6rRx2emqQqcr2mbU5x5wp43nTodnlaDnkVP3oyjHEJrAQALfNnjf6B+PK4p5cJDuMDSkNDCU5LCgAQwK6FbSXvaJh4NSHkx9zAdGYoiGYVyOoaowgIq2GfW5B9xv47nT9tgH9NoZddsF2W+ToePGtoL1oh/cdxdy5+0hDOi8M+q8C7Lz4c/Tjx0Nf56eWS/6wZ2Xf55+1MYHJaDrlVDHK5bdhr96PXYQ/up1JH3aN3dX/NXrUam/QAe9NUTdNS77i38kd+we/pFcQn3uAfdZ/ZHcvfR+oAvbc9ny4wRDqpdF8IObijbhq+nv4b1PxxrAZd/o7+G9FwcUoNCN0Pfh8AFY+LWK92OkfauPW3kMOY5XA/VA7LY+Be2T+gGRqzH4sBX3dZWDD0K8xXs1dtx70MeZvKKOj7QeC3zMCIZgSPamqguBaETGD38RjQ2PbaiTPEp1bDNK9uJrRjBUQ7KHVV0IREM1fviLaKj4viR1koeq3pes0nBat1jMaLAGcbgOdT9NX0jIg3bla1/HAzelV11Og3clD39/cjRZf55d7T5yOtJywp3/bM1xlhta/MLh9GxybTstW1f7v10LyE38Ovj3dR2ob9kIHeHQ9nTcA+7YEO298of86W1GvUDUI+OpW7uKG4O03zleSj028hA+sA1bX8JWH7diR1J97yldpx87whd2jyN+yJ/fZvQlo14g6qb0or1EPz4w9pVfTz+O+CF/fpvRl4x6gaiv0kxGSbwmUjus3hI5FtpD4+u2Df6lwfsW5+G0zqpGPV+IG0ckrsEcJ+VBftFW0i+S9prSKBonU1X1a3M8CFB4FCA96O/aavxF476BeSio5bHQayHjOPitkOOIH/Lntxl9yagXiPqrzgdHiV8PGDub3g44Jv4gvmIr2BfBesWoy/I0cNT4Gf2xz+kR/WPiD+IrtoJ9EaxXjPosz/722ocJXiSvpItb8aigoHotHFH+AePC05HDnuKflHUcf9e4IPr14sLo14t3bGlHOWUrHjIVJE6KCk8nGoXGk6KC5ElRUeikqLB46FVQfDr0wyRcgq6IDp1OohDozX6unvjGOGwg40whgTgA9jAg9GkCOsYGSA0AoDpHjvykXVxeaF5aqO1gpEbicA3HMTvOAzctjd6VFAKTYhwMUzCMU0TyZeCbxmXgm4OXgSOEMOkfgdBiDNmBn4DQLVL42j8AoRvEUDZ+/kGrFNao3rTCxCEmVQW6/knNY9+KNsN/SHNPP43utHfcT+hOgKJ9Ok+W/QndCRDfA3LFHdSZXVVyZHfK9ij/SoYWaCyHfiVDN8kjbPxKhlb1uFu/kqFlikbjVzL26iKszouwBi/y6ruQ6+4inwct8knPonHSs2if9MQrAvj1+QchtEC7av8gxNig/v2XbUa9QPT16u/P7qXbCV7pLFux2goSi3rhqQoLjYt6QXJRLwot6oXRlc7CwpXO2wn+2d1bHDEg6N2e3k3qTWXbikddd2mwwNMh1t0k3DA2JP9GxN0k3h42RkdZdxO8GVzJ7uD11LbcHsU9FH335C4+4RURBaH1fFcUczjE012R68CoZ7uiwCHKT3YFDMHKt5LvUrUzz7HD37t7Qohip3/vjsUcu/R7d8x17PLv3bHAsePfuyMMscNLLhQIjp265FKl9JtCT6TAcTzwm0K6iYip/k0hrTbi2/hNIS2nWMvfFJIixj0tITKUaQ6aS8jYoN47gzkwRNE3ruJuYo64SRRr4zrKJnN8TeDImhBjivcbTyPqcyA4gu2bi8sJ3llbhnV4t+V/uGkZdrXMe1nqHaB3EYJd4UXck9iqzx/kPbcdbpmucCoOHUlXOE9E+77xPdyvrzw3Aoeu2DV5uRIpdEs++xEodengsx9LvGpHCLqCV+1OYqs+f5B70H6Kg47FsRekQGdIgT6R0je/jXvIcu5ouF7IDDoXrheeULtefJa7cuCxkXrWgX3IB9OGoAd4fE0f5P2r4+tRQksiBLuvCHafjWvZMK5l27g+T/D84DN+FlA6K6gXzFp3GKPeEuM9RvoqU1+4uug+3Ncv3f//m9NnptYPXscPGa73DIXmN3wjjnGMmrrpG1vEa49BC3ERY1jFsBiuHVJavRostdBZ0WI3t88ErjtUWvzFUtLqTWuthu6oFnnyq+SFMgRp96wHbsUJK6j2EpF1DuB4/f2ZkeugW/o4urF6KFt2KcsRXb8ywV569y9bxq08EHXlvPBU1IXGk+yC5El2Uegku7CYvQXFK+c7ZFfOPWx/hAbrMO51NJcVZhEimx+EjVje11s5ZSO0cv5QL0yu9oYHG+GC7Cra3QjtdrsPzRBNlHFKO+ece3Qvv0ay4uvcklPRnqn2uBiipDQuo2lPSFF6Vr4UqDF+ma0m5pQ1ifLWuE5ekzmDTaA0Nk65zM9O8DT8kZuuc+A4v41TkjvnTHfl0AR5bhtRiQ8nDZTJfSaxDsS5wKjY8xweEUOUDMapGJxzMfBfqngW8XVuycVQORSDISoG4zLW6Y9H0A6WAjXGL4tB/e0IlqgYWn87gmUuhvS3I5hTMaS/HUHT8Eduus6B42IwTsXgnIvBlUMT5PluRBUDXMGiTO4zicUgLl9VJVxUwZKIAidGVLk8SE1FEnUqlSBetz6Vyibfr3uqBC6hg/frVJtUTukGlxYORlAXWPMGl27AxXbwBpdulApP3+DSKhdhUFMpBvWP1sfWrWlIxRlVLlFSU6GS/vU0gLqMXJYuXwqV1de3OBVz6zroXo/Xi2qYEOUHEj0gATbuAcJLjXQKPG6Vv905vuhnyJ/1IU63yIN6YadQlUwT2f0JyvHM3JAlB3G8EBClevY+npa/yOKo7PN3mMOJO1rZigVeUDUbQKLQC0/VXWgs6YKoRAuj+4mFhfuJhcT6fADrfWFk518nvhVvOj4kpwKebkY+oCcBIiMCxX9xzVm1HEB1HI7op8u2MLRTI27N2+zH24YJb6XzbrPdbpseuxXGus1uus0WusWh7Qeyu4Ls9x3KVry1UVB8rm6P8o2OwtM9jj1Nz9UVHO96FER3NAqjmxn9WCsnvhXzqsdaASRSradaARpTrQ+1Asx/ws/ZWCtAYo71qVb6MA99noc+z0PfmIdezkOv56HP89CLeegb81CK4KltWRE4ikXgHIvAqRWBIy4CV7wInFkROLIiMET1XRdEzCpDlFrGKb+MqyQzMWeaSZRuxjnnTODEMyFmn2FKQb7MQqGAdDBEGWmc0tK5yE0Tc4K6lLPUNEpV45yvJnDShms3TyOi9G1cuyExJ3K+dkNcp7S4dkMCJXe+dhM5pzncpINMR0rJjhLlO0oq5VHPWY8qJT5KnPuocfqjFisAFSqC/C6IiBWkG1KqBpSoIIIkagL1XBZBzZWBMhUHSlwfqHGJgAZVgpQKBSVVK6jnckGVKgYlXTTYgusGNSodlKh6xGtAY1L8OYHnmP+EHAASnlj+k2ccMJ9n/UnzCzQ8hfwnziag+Lzxn+DjTGKn2cUTzt0XHp6UNBB2cMY0pOTfI68nm10mcVyG47gc53GZlsblShqXSXFchmlcxmlc+JJUp2kcX5DiGKOUxxn0NNaopvEGOY45SDTuoMHY//O//w/7Vd1G\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json": +/*!********************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json ***! + \********************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG0eyrf8KA0/7RMhzRIq6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o+PT0xcnRsxdPXzybPJr8dXl3/+vsthsa/L1bPHT386vZN98tF9dn7xfzPzbdrslmseAmR7smR9Bmdjtf9NxqEKbd/Objbve7Dwzb/7ifLeZXr+5uFkPLb45PBrL+6/xLd/3b/P7q4+Tb+9WmezT5/uNsNbu671a/d7vP/vjlvru77q7fLG9nd2Onv/tu+WXy7b+/OX5++uibk5MXj46Pj08fvXx28p9Hk/Oh8Woxv+t+W67n9/Pl3W5Xjx+D8Pbj/OrTXbdeT759OvCLbrUuzSaPH5/85fHjx8NOfl0OQ9gN5/vl5361G8XRf139n6Pjly+ePtr9+7z8+3L378vH5d/nR6+ul++7o9/79X13uz76x93VcvV5uZrdd9d/OTp6tVgcvdl9z/roTbfuVg8D9YDO10ezo/vV7Lq7na0+HS0/HP0yv1ve95+7b4ZGi6NXfzua3V3/3+XqaD58wXrzfj2/ns9W8279l6GzPw67up7f3fx+9bErc1B68vv98JHZ6rqqQ8PvZ5//Pk7J8+MXjybv6tbTJ8NcvFpf7QK9GsUfOtv+5uTx80eT3++v/z6dfHu8E4f/X+z+f/p4P1//7O5X86shoP/+n8n03eTbk+dDo1+Hrqw/z4Y4/u+jPX7y5Mked1+uFrNb46fDPBb+x2Y5xOv9wpSnT5/tlbvN7fvdRN3cZe16uVjMVsZfDBNT+OdudbXL/yo8PznZC7PbQVoP8THJOlx6UGY89/rzbNXdLboPLYk+VrsxW+++cf3JO/5iHO7nxWadu3A1lO0s7+Jj//ljd5ebD0OZL8VI1ovZ+mMO1p/dapnp8q7L8H4rWt5/XHWi7YflZiXo/EG0Xc+/CNg9dGJuuxBTT4f5nUirq+VieZfxurudR8lmYLGzgUS7PzazRcY3q24oZx/ms+PjmjTdulhNVV4+fzrOvci+Vxl9l9H3Gf3ge372fI9+zJ35q3+wpsLf8nf9PSfMP3KYf8of/Dnv8RcvvRryf+YP/pr7dZYH9Ftu9Tp/15v8wd9zv97mD57nD174rJ2OEz3Nrd5ldJn3+K+cfO+HxexTdx9sw0L+ftBinfLnoqdYKs7WV/P51Xx1tbnNs7bZ2fZ6WH+6vMfib6Ez9rFZHs/73Ooqt7rOrURxfsgfvMnoY+7yPKP/znv8lFt5CduScJv3eJfRMqPPouqz1QsLXOdI3Ofv2uQPPuRK2OZWwkl7R7vjnmL6uau7/IqJcPLicc3KVaP9oWy8ny+um0v99XIrzD2szh6x+3Kc5slxXCvuw+7AEH3Wx6zWjg+L5Wou+LprfMvVZjUs41cewJMnWDbreTl0TdGtRy26rG4280G5Xd7rI4edXL74K3IMvSXOh7lg4vhpOJSThwPXs5ubTqTtnuOhGB1w7OauW3Wi9odjodnNavYZTO1pzazhdKITPujhfT9bH4jwYXWljxVsAqI+nBSMnx8Oseef1/O1kIax3n9cbsKxYlr2Q3L7zK1mD6IeZlebe3XoUrz8w6L7krVGZd3OrlbqcOf9qlM7vl7ez65Cxbk0H2YSA2DKCuvQO9tdDyFVx6ibu5vZanO7mG3EbpY3w2HmJ/F1MxwHzMttyFkXXvlhz5PnI1uurj8Mx3nhwNCPUOIi6wcgkfsezmAPz57aHm4Hp9sscBe2sszEYnu9K/r1Wixgi7hjX3kityOSpRjUUJ/DKfGQ9+Ic4h9pSt0JYgb68h/zxpcmOan+dXH2/Ogo96AuF9fzhzkktH8k9swPmEVxeLcbHzo/9KG+EYN1OfeiMoGh5q/0/YVScdyeiBnVg38m9s5ngj7gZwFpJ37OMHgEnIScVCdWA33+5HkVx6seYlfkOr52xjzwUeq4/Ko64OXRytFoqn6kL4djp1Ktb4vGCuFMVgkZooe5Zk/0w9e499OX9dRz+Wd3dyMy903chZ/FqUF6chwskkOZ+4oXEjuabYz1isfq5z85chbVtx+XKzGqM9q7h4GqwE70qOBP6yJGYbNqoh14xPTiVi5wrDflKGcl+htT0KPY4tFWzQRvN4v7+edFL/rVKP+3cYCWSMPx1v18trief/iQ56pvW8OvcT+esCJZvDYOptmBVactXTXGe9eywVbG/BoD5Ish1T9efhuOGPAanJ0CrZafujs8ETJzXHU383U89PUSjZMNy3Gui3qosd4MVR3ORzzYdAxphdmIzLKV6v9qfOBfVOGnL+uxa7nSFa+DWZx/vP+Y4fdNA1wo37Kx3DdMpmuuji3hVevw4UBWxgD7+XKrNHjf5gqtGWktPa1ldN3ac65j2/fBwxJeMetxQbe4FwZ+H0zaPXG7POCIqWv2dbcbMZLGGr6Ux5leC3zwY1ef4hHOiyen4ONDAq+GRF7n7/ud8/W0Tv6isZD8fHD9/SVOnJ9K2H0dZYrJFtwyYpict2r8l9hti8MQtY+zBSwNtch3pyaxwn0u1BJgvhwPmzzVvjKBjVLoWgO6iWaKAxqnVc2qPhv5XR4gWgbLnltCXA820amMbSz531MnbOEitzk1O7+eXymj/SF+ERyYHTrc/ZUOa627jXl7czivD+7rVeM7XzVNOp4O2AzE73EjPnBA+WNruad9+yVieXZnB2TxSMC+7WAp0ASZXx7c02J5s5vvu6UI97Jtppu8jtUMGr6qUck3Bye3g5XcY95I3zu5jtvFnbt80Oye31ruftzs7kb+59Hk525199tsvtrdQ/735NXubvXk0Tenj//zaNzau0dA+35GNJo6wr8NW099a+8qAeHAUDgL33OWu4BLb+A2VYHu6z+g4DxBGUMW2P7qUED7wkH0Omy9HbZe+laNGaIwehfOQyzO6+gBhdEDh9EDraMHRKMHxUYPbKzrwIqdILkYtl7Y1nTYemZbl8PW8bFv1iEhg74D3gybT3yrfhBQiAVw+D6gNRaAKBagWCyAWSyAjbFw8hAyYRu0Pm7lEfW552MjLE1DVBzGqUidc6VWBcrVENWscVm4VT3L380lbFzVsYm5mE2iijauy9pkrm0TqMCNU5VX/jojqHdDVPTOVeVX9TxHlD3AuDICE7MbmESWYFz7gslsDiawQ5gQbaJi8IqKwDAqQtcwxtZhgvCPqoGJGKK6M67sxMR2ZbKxGNfuYjJbjAnsMyZEs6n4ISfkNrfqBWoEQrjQaAboQoaovo2TCzlnF6oKuJAhciHj0oWqepa/m13IuHIhE7MLmUQuZFy7kMnsQiaQCxknF6r8dUbgQobIhZwrF6rqeY4ou5Bx5UImZhcyiVzIuHYhk9mFTGAXMiG6UMXgQhWBC1WELmSMXcgE4UJVAxcyRMVnXLmQie3KZBcyrl3IZHYhE9iFTIguVPFDTshtbtUL1AiEcCEMDVpR5FTpUSRTIpGdKchgT5GTR0VRGlVoctbYH1tWFJVvxRbZvKJODhZFbWOxDXtZVMnQokiuFsTXDQ7+FjmZHInK6UKT88a8sOdFURlfbJHdL+pkgVHUPhjbsBlGlR0xqtEWgwbeGDgYZODoklFgq4yq8MvQAEwzcjKMKCr7jC2+4itspFHUbhrbsKVGlX01qtFcg/bQqItto33f4ofiJ1zXCXouUjIqlMhvg8RuCyJ4LVJyWpSkz0KDM7kf9liUlMOinv0VVXJXlLS3Ygt2VtTIV1EiVwXptaTgqEjJT4Ok3BQanMvYs5OipHwU9eyiqJKHoqQdFFuwf6LG7ola9E5QwDmBgm8CRddEzJ6JmnBMkMEvkVK1o6S8EvWDXsA+iZJ2SWzBHokaOyRq0R9BeZAZvpVte03bkRKuOI4eLdEQmYpxMkPn7IRVARs0RB5oXBpgVc/yd7P1GVe+Z2I2PZPI8YxruzOZvc4EMjrj5HKVv84I/M0QmZtz5WxVPc8RZU8zrgzNxOxmJpGVGdc+ZjKbmAnsYCZE+6oYvKsiMK6K0LWMsWWZIPyqamBWhqj+jCubMrFdmWxQxrU7mczWZAL7kgnRlCp+yAm5za16gRqBEC5U+4o25Iwq3AUyIhDYiUwCK3JGXuSCNCOTz8T3sx25oPzI1WxIrpEjuaAtyXX2JFfIlFwgVzLhtWDgS87ImEBQzmTyuYgve5MLypxcze7kGtmTC9qfXGeDcoUdypVoUcbBo4yBSRlDl3LINuWK8CkTwaicUYG6oKzK1QP1y2blgnYr19muXGG/ciUalvEHkatb0a5XrBUT4Vq1Y+hazsgIXCDXAoFdyyRwLWfkWi5I1zL5THw/u5YLyrVcza7lGrmWC9q1XGfXcoVcywVyLRNeCwau5YxcCwTlWiafi/iya7mgXMvV7FqukWu5oF3LdXYtV9i1XImuZRxcyxi4ljF0LYfsWq4I1zIRXMsZVagLyrVcPVC/7FouaNdynV3LFXYtV6JrGX8QuboV7XrFWjERrrUaf9HDd1cJmUDF5FeG2a1GAbyqEnKqiqVPjeJZ+l72qIqVQ1Ut+1NVyJ0q1t5UVXamysmXKiZXGvHrRMCRKiE/MqzcaBTPUwzZiSpWPlS17EJVIQ+qWDtQVdl/Kmf3qTx6z0jBeUYCvjMSdJ2K2HMqF44zSuA3lVBlVay8pmrNmmOfqVi7TFXZYypnh6k8+stIH1LWbVObPhM9euEqY66jrRiiwjVOxuKcnaUqYC2GyFuMS3Op6ln+brYX48pfTMwGYxI5jHFtMSazx5hAJmOcXKby1xmBzxgio3GunKaq5zmi7DXGldmYmN3GJLIb49pvTGbDMYEdx4RoORWD51QEplMRuo4xth0ThO9UDYzHENWecWU9JrYrk83HuHYfk9l+TGD/MSEaUMUPOSG3uVUvUCMQ2YW+G+iruBU/W1B1DEAipIXrPcRAFkRBKoziU1gITSG1fB3tquvYtyydHIXuAscEc1q7C4imHBQbCDAbCLBxIHvywxj3U9+KbvoDxh2Q8NYfKO5Ao6P+EOIOzLoLbOwukGibP4wl71vTsLUr9Oe+VUcHCLrsdP97bHVyd2T8yTVDo/9i+AxRDI1TII2raJqYQ2oSxdU4B9cEjrAJMcyGKdaVX2Q0zQhCb4jibzxPQpVoJipO01FeCIzTURFPR+U8HZXL6aiimI4q8XRUnqajCmk6qkDTUTFPx8gvMppmhNNREU9H5WI6RomnY8Q0HX8dZ+KFb9VdAarxBxRCDxw6BLQGHJDFGpiFGdgYYSA1uI524zzxrToCQHUEgMIIgMMIgNYRALIRALMRABtHAKSOwFGdrePHhmymRvbTOFUnvhUH+hNOFSAx0J9oqoDGgf4UpgoYDfQnmCogcaA/wUCd2DgdbeJWHuamMaaNHNMmj4kPyUARo92I0W7CaH+e7E95nvhWPC4qSBwEFZ4OggqNB0EFyQPJotDhUWH1fAZQPBbaoXLc8tS27FjIUT2BQRQOj5zj4RFQe000YDtqcuTHRs782MjYcjcC37JIO4qRdo6RdmqRdsSRdsUj7cwi7cgibWgT4r7J+aHOO36eqFOOnyfpbONnkdWgiPzg04ufJ3xmsSO9LVBlKy7RBaWFNryLH+qCBAoBqSoa1CQHhhpQjEjV4aJGHDmSqchIpXqLKiQ/CVSFpFJBsipqk5rkMuUGuWKpBRUvqVzHJHNJRxmqmwQqdFJVzVOTXP7UgJyAVG0K1Ij9gWSyClLJNaK6aSUSewmpXy8k4TDU4GAhNXyHGh0upORGJEdjiiJ4FAlkV6Qm5/plgtfwyla8fLdH4srdTtgd3o+XnXabUztG3W2VC1knvmklDgzr0nH8Bc1BOo2S4H6N55dJurzzy0Rd2fklv6PqiIJw8B1VUzEc+Abni4gwMPkNThZEiKrWilPQW2KfA8Fha7/1+EvMK4ggCRRHVlU0YxuMaVQgslHA+JLCUSZZxDq2aEVctDrcpG+FkuegXcBjg9FecQ4MUfSdq7hXFSNeGcS6IoyyMY6vCSKyVWvFNOgtsc+B4AgaT7EbjtPKCeZT34q3HAqKd4MKEjcgCk/3HgqNtx0KolsKhdHdhMLCjYRC6nrp6K2Z+RnOOaIw3S5chO+Zhq13Ycuv0JxN0sWZs4m6LrOj9dzXd2nnviOqFgPTYIjmwjhNiHE1KybmqTGJ5sc4T5IJPFMmxOkyTHOG6w6FgWevse6QepG/e5rRu4xgWtNCxDxPcJVolivmqQ4vU8F8R06THkWa+Siq6Y8tcg5EnRIhipwNUeWUiGrMi6hRcqT3OlX0OE0Ovdepmlw09jdt8HcNDvmjX2+UYs6koFM6BY1zCl5EgYxCSvmEEmUTSiqXUM+ZhCrlEUqcRahxDqEWMwgVyh96hy3HiXOn/Q5bbnAh9zOV9J2kkDHq1S4h5WwBlXIFFM6U+qYApIkhyhHjlCDGVXaYmFPDJMoL45wUJnBGmBDTwTDlAr7sQ2HgLGi87EPqRf7uaUbvMoJpT+/GMM8TXiWa7Yp5quO5Oc44KzTxLNP8s6zSgNvkbOAWlBQsc26wzinCeswUVilhSH7bjCmnT5JVFlGji+Z+p03lXVOBDGOFEo3lnG/UgtKOVM4+e7of8s4ZZZwLlGsuqCxzNeeXa5RZLnBOucLZ5ErMI+eUQeFFHo4IZ03rRR6WL8T3TwV7JxjkRX7fJQk5F0yjLDDO819PN2H6DdHsG6fJN67m3sQ89SbRzBvniTeB592EOO2GadbxGgSFgee8cQ2C1Iv83dOM3mUE050uSjDPk10lmuuKearrU2Mw1YZoqo3TVBtXU21inmqTaKqN81SbwFNtQpxqwzTV+OAnhYGnuvHgJ6kX+bunGb3LCKY6PSfJPE91lWiqK6ap/m2c5fHJhN9whpHV2UVGT9a5EB6tc+zP1jmDR+gcwjN0Du0hOkd1BoH5czJlK14xKyg+0ViQuKtSeLquVmi8f1IQ3Q8pjG6CFBbufBQS7yr+BvM2Xk3codigy4Oy+4iI9KA6OahwmxBwHmsnxtqJsS5Ditn9PkDika/C062cQuODXgXJh8OLQk9/FRYfCS8oPtv1G1bHGP3XE3zEtGzFR0wLEo+YFp4eMS00PmJakHzEtCj0iGlh9IhpYeER09eeRj6MOrQ9eTPZ382HrfhsTkHi2ZzC07M5hcZncwqSz+YUhZ7NKaxOEaD42NGb0Z9hq2Y+ouDKLpzHrTze88Z4z+V4z/N4eSJBEeM9p2eR3sBEOvFl5M0EHzJ8M64Url3GpfkNrQ8jrVcxYfYNUUiMq7iYmINjEkXIuA6TyRwrEyhBjFOW4HVoRpQvjevQpJ4L1IiVzCET27HibDJ+OFYpr0zg5DIhZli+1G4Icg2vq1Mrzjp1XX2U6oPEkHqGKJzGVThNzOE0icJpXIfTZA6nCZR6xin1Kn8rEKWec5V6VT0XqBErmXomtmPFqWf8cKxS6pnAqWdCTD18tJ0yBFIPH22nVpx66tH2KqXn2E6kwKE98BybbiLCrJ9j02oj5I3n2LTMqaqfY5Pq26bAyXvoeQfZ5rwpHIy5TurY5GsxTwke1f+fmOdkj3JK+ShT4qcHQWSWYhGk50DkJ1JBNJ8C2TcYpruc/b30rfoNgOoZE6AwKcBhD0Br+AFZOIFZDIGNgQNS89eRv6D6FksYkDjVeEvFCjSearwVZQkKnWq8xQIEFE81dmh3jvfCt+K7GgXFdzUKEu9qFJ7e1Sg0vqtREL2rURi9q1FYeFejkPiuxg5dLRc08nru6m12n3jmW3WUgKqxIMJRAodRIoVTV8B18IBs8MBs8M4+9p8/duWc68TYMoxqmWdr2ZiapZyaZZ4aPp0FRUyanc4CyjNkp7OOVnErD2QVvdyFdXc7z1O+CaW4yfaxaXjFRnrFJnsFP5IKinCRjXCRTXKRbZjwPm7lJO1z5uG7iC8JURDSu4jMVYTUu4gsUazyu4gscGz4XUTG5LV4/H5KiFxXH7+zmP03Hb8z106cj99ZIE9Ox+/EwcUMUa0YJ582rhzBxGwLJpE3GGcbMIEN3ITo4obJKPy1z4UKHZl6xV2uBbZ34+TxzoXRm9iuOWX5ppHvG2fzN4FXgCqkZaAKyxwMXhCMH8oBsTSY1MiBxiJhcitFeLkw3kgFXjgqXwnUGLpeR6oqFpMqwYpiqOGocm0xse2cvMoY10uNyS1jTYuOCdpYtznbeoEa5aRWo3Cgj2tSFDiOUeX1Kaoy1rGJiHhswHGPagpvlFOQo0yhjiKvZOlywKkUeFU7cDlANxErnL4coNXGate4HKBlXvn05QCpou1HgYs+qrwiRlV6YmwinDE2YH+MarLBKKf1Msq0akaRDTOo7GgkxnU0vkjXquW0pkaVV1ZS1foam3zNS+RaG1vwihvVtO5GOa2+Qc5rcHzJrhXOtB5H9esZqNbm2OBgBrbW6djocJqmNTuqBxMxrd9BXTWFg2FrrOihjVrXQwNc3aNwcG3SK31s8rXVJ636UW2s/bHR4SUqHwdE+dAStW3VQN8UDlpDPko4n+ATPed4PAAoPsdznlZ+4Ol64jmu8YDomZ3zsJoDC0/qnOO67aja6BMj9EMo9XoyjrXx6o1zGvWhV29czONvvHrjnCPRevXGhRiTxqs3xik66ZWVkTdeWSFOwTr0ygqJKmxfeWWFdArgwVdWSOVQHnhlhTQKqnx7Q0WQwyvf3giUQtt+eyNIKqwH394IKoX0wNsbQeNwNt/eCAqFUrzakGPFYcyvNjiiADZebXCuQtd+tcElClrr1QYXOFz61QbHFCh+JYBCwSFqvhKQFArY4VcCkqzC99VXAlILCuZXXglIOof24CsBSaVAN56F13HlsItn4YFRqFvPwoOgwnvgWXjQKKTNZ+FB4TA2noUHTqFLj45zVDhc9hPbEC5nFC4XKFwuqHC5msPlGoXLBQ6XKxwuV2K4nFO4TKBwGedwjb8cDMGqhEJVMQWqYhWmquUgVYVCVDEHqHIOT+UxOJVSaEZMgRkpheViDMkL34qnKxcYCkDibO+CQgA0ntddhKEDo2sIFzBkIPEkbYf8Z5nLVpy5guJZlgtncSumQkFivgtPc11onOeC5O8FF4Vmv7B6fgooTu8O7ab1mW/FU5aCaggAiesWhadTmkLj9YeC6KJDYXSlobBxxoDUETiKp7MXk/SI9g7FQXd5cuxKDSI9X52cr3AhBnCexk5MVkdlumN2ccWzc3dB5aVvxVPygsR5eOHp5LvQeMZdkDzNLgqdWxdWcwxQvJR7MclPbe9YvhCxo5sws5ucjZtG6m1k6m1y6vFlBFBEUm5EUm5CUk5H14Ot2Ospuh4gMZApuR7QOJBpcD1g1N0puB6QWEPTCT5wN0XvAiQe85qSdwGND3RNhXeBQo9uTdG7AMUH46ajd536VrwZMEXvAiRuCkzJu4DGy//T4F3A6Fdrp+BdQOK1/Cl41zEQvAo9Ha1r/yNlU7QuQPZ2CaD8C21Tsi6k+HaJ4/gTbdNgXcD87RJjZl0+1GVIuGUukmWjIpayIpa5Iti6QBG1YtYFKBcGXaidknP5vO2c69TGb84FKCaec0w8p5Z4jvhmkyueks48JZ3VlDTSh3rqc933qb4vR8Mbf6npEh0Pmb2RBiy+iAMCvokD2F7FAeZv3AD0V24A1nduANkbac521vfct+KLfJfJ+oCnd/su0foA0cSBYoMBVvMSUO22o5ktsJdofYDizeLLZH3A07HBJVofIDoCuAzWByxcR79E63NUS+gpkFv8ZebL0fte+FY8n7hE70OUzycuyfuQgvcBjqcZl8H7gNFpxuVodDAEczpk6tXMS/I6xPRq5qVwO5T4rc1L9Dtk9Ibm5ST/GPYlWZ7P1yY22oiBbloD3eiBbsRA2fdQUgN150MYX0+9tOv0YAbpJkQS2NP0bYikCndLNyKSkHwu34pICjleuhnBAnhfeseMuXJB9Y4ZS+SHrXfMWGZnTO+YMSePrByM0hC5pXGyTOPKN03M5mkSOahxtlET2EtNiIZqmFzVbzKFUuV7T1wDYHOGyGmNk906F55rYjZel7L7mkYWbJx92AQ24yosxaCTLZsgLctU4VumsXmZ0HAw05ONmcKmbQI7d7qTyILw8CptRPPk5iYcjI/yddNa8Wk5vOnN+GSvN4UMn275VSdU9/yUxs7fvOunGgj/V/f9lJZWAXnnT4m0Fqh7f0KDFQEpLQooqXUB9bw0oEqrA0p6gcAWvEagRssESrRSgASLBVJaL1CiJQMltWqgnhcOVGntQImXD9R4BUEtLiKo0DoSbgYHxxC3iUWBgWkjpTUFJVpWgiRWFtTz4hLUvL6gTEsMSrzKoMYLDWhLHZK03KAmHRUbCFNFmX0VtYa1YpPkrijyAoQar0HqUQGhiZUI1I3+UFqPUPtaANWqhPKBALbWJmxyKIB5hUIxLlJDOU38V0LKlv+uj6F4/8mF3d8k3P+Vh93WNmz5dZ6yFa/zFJSu81TXwx4Zom4Zl32rKnSwom1Gfe4B99d47vTYMey0Ieq0cdnpqkKnK9pm1OcecKeN506HZ5Wg55FT96MoxxCawEAC3zZ43+gfjyuKeXCQ7jA0pDQwlOSwoAEMCuhW0l72iYeDUh5MfcwHRmKIhmFcjqGqMICKthn1uQfcb+O50/bYB/TaGXXbBdlvk6HjxraC9aIf3HcXcuftIQzovDPqvAuy8+HP048dDX+enlkv+sGdl3+eftTGByWg65VQxyuW3Ya/ej12EP7qdSR92jd3V/zV61Gpv0AHvTVE3TUu+4t/JHfsHv6RXEJ97gH3Wf2R3L30fqAL23PZ8uMEQ6qXRfCDm4o24avp7+G9T8cawGXf6O/hvRcHFKDQjdD34fABWPi1ivdjpH2rj1t5DDmOVwP1QOy2PgXtk/oBkasx+LAV93WVgw9CvMV7NXbce9DHmbyijo+0Hgt8zAiGYEj2pqoLgWhExg9/EY0Nj22okzxKdWwzSvbia0YwVEOyh1VdCERDNX74i2io+L4kdZKHqt6XrNJwWrdYzGiwBnG4DnU/TV9IyIN25WtfxwM3pVddToN3JQ9/f3I0WX+eXe0+cjrScsKd/2zNSZYbWvzC4fRscm07LVtX+79dC8hN/Dr493UdqG/ZCB3h0PZ03APu2BDtvfKH/OltRr1A1CPjqVu7ihuDtN85Xko9MfIQPrANW1/CVh+3YkdSfe8pXacfO8IXdk8ifsif32b0JaNeIOqm9KK9RD8+MPaVX08/ifghf36b0ZeMeoGor9JMRkm8JlI7rN4SORHaQ+Prtg3+pcH7FufhtM6qRj1fiBtHJK7BnCTlQX7RVtIvkvaa0igaJ1NV9WtzPAhQeBQgPejv2mr8ReO+gXkoqOWx0Gsh4zj4rZCTiB/y57cZfcmoF4j6q84HR4lfDxg7m94OOCH+IL5iK9gXwXrFqMvyNHDU+Bn9sc/pEf0T4g/iK7aCfRGsV4z6LM/+9tqHCV4kr6SLW/GooKB6LRxR/gHjwtORw57in5R1HH/XuCD69eLC6NeLd2xpRzllKx4yFSROigpPJxqFxpOiguRJUVHopKiweOhVUHw69MMkXIKuiA6dnkQh0Jv9XB37xjhsIONMIYE4APYwIPRpAjrGBkgNAKA6R478pF1cXmheWqjtYKRG4nANxzE7zgM3LY3elRQCk2IcDFMwjFNE8mXgm8Zl4JuDl4EjhDDpH4HQYgzZgZ+A0C1S+No/AKEbxFA2fv5BqxTWqN60wsQhJlUFuv5JzRPfijbDf0hzTz+N7rR33E/oToCifTpPlv0J3QkQ3wNyxR3UmV1VcmR3yvYo/0qGFmgsh34lQzfJI2z8SoZW9bhbv5KhZYpG41cy9uoirM6LsAYv8uq7kOvuIp8HLfJJz6Jx0rNon/TEKwL49fkHIbRAu2r/IMTYoP79l21GvUD09ervz+6l2wle6SxbsdoKEot64akKC42LekFyUS8KLeqF0ZXOwsKVztsJ/tndWxwxIOjdnt5N6k1l24pHXXdpsMDTIdbdJNwwNiT/RsTdJN4eNkZHWXcTvBlcye7g9dS23B7FPRR99+QuPuEVEQWh9XxXFHM4xNNdkevAqGe7osAhyk92BQzByreS71K1M8+xw9+7OyZEsdO/d8dijl36vTvmOnb59+5Y4Njx790RhtjhJRcKBMdOXXKpUvpNoWMpcBwP/KaQbiJiqn9TSKuN+DZ+U0jLKdbyN4WkiHFPS4gMZZqD5hIyNqj3zmAODFH0jau4m5gjbhLF2riOsskcXxM4sibEmOL9xtOI+hwIjmD75uJygnfWlmEd3m35H25ahl0t816WegfoXYRgV3gR90ls1ecP8p7bDrdMVzgVh46kK5xPRPu+8T3cr688NwKHrtg1ebkSKXRLPvsRKHXp4LMfS7xqRwi6glftnsRWff4g96D9FAcdi2MvSIHOkAJ9IqVvfhv3kOXc0XC9kBl0LlwvfELtevFZ7sqBx0bqWQf2IR9MG4Ie4PE1fZD3r46vRwktiRDsviLYfTauZcO4lm3j+jzB84PP+FlA6aygXjBr3WGMekuM9xjpq0x94eqi+3Bfv3T//29On5laP3gdP2S43jMUmt/wjTjGMWrqpm9sEa89Bi3ERYxhFcNiuHZIafVqsNRCZ0WL3dw+E7juUGnxF0tJqzettRq6o1rkya+SF8oQpN2zHrgVJ6yg2ktE1jmA4/X3Z0aug27p4+jG6qFs2aUsR3T9ygR76d2/bBm38kDUlfPCU1EXGk+yC5In2UWhk+zCYvYWFK+c75BdOfew/REarMO419FcVphFiGx+EDZieV9v5ZSN0Mr5Q70wudobHmyEC7KraHcjtNvtPjRDNFHGKe2cc+7RvfwayYqvc0tORXum2uNiiJLSuIymPSFF6Vn5UqDG+GW2mphT1iTKW+M6eU3mDDaB0tg45TI/O8HT8Eduus6B4/w2TknunDPdlUMT5LltRCU+nDRQJveZxDoQ5wKjYs9zeEQMUTIYp2JwzsXAf6niWcTXuSUXQ+VQDIaoGIzLWKc/HkE7WArUGL8sBvW3I1iiYmj97QiWuRjS345gTsWQ/nYETcMfuek6B46LwTgVg3MuBlcOTZDnuxFVDHAFizK5zyQWg7h8VZVwUQVLIgqcGFHl8iA1FUnUqVSCeN36VCqbfL/uqRK4hA7er1NtUjmlG1xaOBhBXWDNG1y6ARfbwRtculEqPH2DS6tchEFNpRjUP1ofW7emIRVnVLlESU2FSvrX0wDqMnJZunwpVFZf3+JUzK3roHs9Xi+qYUKUH0j0gATYuAcILzXSKfC4Vf525/iinyF/1oc43SIP6oWdQlUyTWT3JyjHM3NDlhzE8UJAlOrZ+3ha/iKLo7LP32EOJ+5oZSsWeEHVbACJQi88VXehsaQLohItjO4nFhbuJxYS6/MBrPeFkZ1/PfGteNPxITkV8HQz8gE9CRAZESj+i2vOquUAquNwRD9dtoWhnRpxa95mP942THgrnXeb7Xbb9NitMNZtdtNtttAtDm0/kN0VZL/vULbirY2C4nN1e5RvdBSe7nHsaXquruB416MguqNRGN3M6MdaeeJbMa96rBVAItV6qhWgMdX6UCvA/Cf8nI21AiTmWJ9qpQ/z0Od56PM89I156OU89Hoe+jwPvZiHvjEPpQie2pYVgaNYBM6xCJxaETjiInDFi8CZFYEjKwJDVN91QcSsMkSpZZzyy7hKMhNzpplE6Wacc84ETjwTYvYZphTkyywUCkgHQ5SRxiktnYvcNDEnqEs5S02jVDXO+WoCJ224dvM0IkrfxrUbEnMi52s3xHVKi2s3JFBy52s3kXOaw006yHSklOwoUb6jpFIe9Zz1qFLio8S5jxqnP2qxAlChIsjvgohYQbohpWpAiQoiSKImUM9lEdRcGShTcaDE9YEalwhoUCVIqVBQUrWCei4XVKliUNJFgy24blCj0kGJqke8BjQmxZ8TeI75T8gBIOGJ5T95xgHzedafNL9Aw1PIf+JsAorPG/8JPs4kdppdPOHcfeHhSUkDYQdnTENK/j3yerLZZRLHZTiOy3Eel2lpXK6kcZkUx2WYxmWcxoUvSXWaxvEFKY4xSnmcQU9jjWoab5DjmINE4w4ajP0///v/AGoZ428=\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json": +/*!****************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json ***! + \****************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG8mxrf+KAk/nRGh8eBWleZPnItsaD0dXWNvhB5BsUdgC0TLAFgjt2P/9AI2uzJUrV7X8olB/q4CuyspaVX0p8H8mP7V3d83yfvLj5P3fu/Xstnl0fPbsydGjJ89Oz55MHk9+bZf3v8/uml2BvzSLr839/Hr2w+XVYv7vrtnL3WLB8iOQZ3fzxZYL7IRpM7/9tD/r35ubeXe3I3+9ny3m18+Xt4td2R+OT3Zk/ev8obn5Y35//Wny4/2qax5Pfvo0W82u75vVm2b/6V8e7pvlTXPzur2bLYfa/vnP7cPkx3/+cHxx9PiHk5Pzx8fHx08ePzs9/tfjybtd4dVivmz+aNfz+3m73J/q6AiEt5/m15+XzXo9+fF8x983q3VfbHJ0dPKno6Oj3Ul+b3eN2Dfop/bLdrVvx6P/c/1/Hx0/e3r+eP/vRf/vs/2/z476fy8ePb9pr5pHb7br++Zu/eivy+t29aVdze6bmz89evR8sXj0ev8960evm3Wz+rqjHs35+tHs0f1qdtPczVafH7UfH/02X7b32y/ND7tCi0fPXzyaLW/+X7t6NN99wbq7Ws9v5rPVvFn/aVfZX3anupkvb99cf2r6Xuhr8uZ+95HZ6qaou4I/zb78ZeiUi+Onjyf/KEfnJ6ePJ8/X1/tArwbx58aOfzg5ung8eXN/85fpTnzS//f97r9Pnx566+/N/Wp+vQvnP/9nMv3H5MeTi53w+64i6y+zXRT/9zHh5uF6Mbszfnp+fuD/7tpdtK4WppyfPzkoy+7uat9Nt8us3bSLxWxl/OmuW3r+pVld79O+CE+eXByE2d1OWu+i4zU7OYEa9P3ttTs9Hb5vtmqWi+ZjTaKPlWrM1vtvXH/2ij89Gz616NY5ONe70TrLp/i0/fKpWebiu6bM25vM14vZ+lMO1rdm1WbaLpsM7zei5P2nVSPKfmy7laDzr6Lsev4gYPO1EX3bhJh6OsyXIq2u20UrIrRu7uZRsh5Y7E0g0ebf3WyR8e2q2Q1m0cydD657oynK8dHxkNEzkX7PM/qzoYuSiT9l9HP+4C+Ojo8P6Ff/YInAi/xdf8lx+qu3bG+Xe/S3fMaXuf2/+dgr2fr3fMbfc70u89f/kUu9yt/1On/wTY7E2/zBd/mD7w09Oxt6eppL/SOjD/mM/5WjerWbyz4398E3XNxpcaDy56KpnD0xU7mez6/nq+vuLvdHt3ft9W76gTESDC5Uxj42y+gqp8S1MGAxbnODPuZStxl9ylWeZ/TfuV6fc6lFzksRLeE6wve+iGGfTXqV6yUcXsS+yx/8mrN3k0s9ZLTN6BtU9czzKybCyZOjkpWrSvmYjeaMfTbezxc3TQ7JYa6/aTcizmF69qngvl+meXIclxH3cb8uRKO1z2zV5PFx0a7mgq+byrdcd6vdPH7tATx+dgzDZj3vV66piWXZoofVbTffKXftvV467OX+i78jU+hLz36cCyYWULuVnFwP3Mxub9WcduC4FqMVx77vmlUDY//0whZDs9vV7Iuf7fS8ZNbuUqKBjAuu1DfzarYeifC4utKLBeuAqO+uCYZa7VbY8y/r+VpIu7bef2q7sFg0ty/zfkhu77nV7Kuo7Oy6uxf44OUfF81D1ioj6252vWrFia9WjTrxTXs/uw4jzqX5ricxAG5oOA69srsLut2aWyxSu+XtbNXdLWadOE17u1tnfhZfN1uFxZP1y13IWRee+7Ln9GJg7erm426hF1aGvkKJk6wvQCL3M1zCGZ6c2xnudk7XLfAUdrUxE1PezX7Qr9diAlvEE1tKtZHbiqRtctnd+NxdEe/yXkwxf01d6k4QM9Cn/5g3PjXJTvWvi73nq6NcgzJd3My/ziGh/SOxZr5gFoPDqx0/5Cs99SGbIikGNln3F180TKCp+Sv9fGGoOK53xIzGg3+m0kMdfcCvAtJJ/Jph5xFwEXJSnFg19KI4+HW56SFORa7j68KYB95KHZffVQV8eNRyNJqqr/Rlc+xSqvZt0VghnMkqIUNmsvlr9kQbivN49rOLoc6L9luzvBWZ+zqewq/iRpOzGx0kQvThVZtIVpW2XnNb/fonR85O8/ZTuxKtuqSzexgqbvCG+FmZxChsNpo4Yy1ienLr73Csu36VsxL1pRS0KNY42WoxwbtucT//stiKelEDPclDA88uyqXJbHU/ny1u5h8/5r7a1q3h93geT9ixZPllNM1GZp0sWTpVhueyZoO1jPk9BsgnQ/oivP+2WzHgTTi7BFq1n5slXgiZOa6a2/k6Ln19iMbOhuk4jwtzjm43qsP1iAe7soZcVSLTUmR8XFZS6r9ohJ89K2vX/lZXvBFmcf7l/lOGPyUDNDNXvnV6PLTxvjJvNNXZsTYLPq8tH0ayMgbYr5dpaNitCK6UuUKtR2pTT20aXdcGZR7Hdu7RZQnPmGVd0CzuxQ2f+2DS7ombdsQR6/G960RLKOYWKrnO9LFAofcr1bjCeVpuWPQ+vkvg1S6R1/n73qR8ffas5Kte0b4cnX9/ix3nlxL2WEeZYrIFt4wYJue16ey3WG2Lwy5qn2YLmBrKIN9fmtCtbuuLMZdfxmWTp9p3OrAyFJpag26jmWKDhm5Vvar77o1cIFoGy5qflR682dmEeujRxi4CK9SW1sXyZ+dm5zfza2W0P8cvgoXZ2HL399g/Xt1Kv70ez2ulurdWltDPqyYdLwesB6jOZsQjC8pfatM9O4XdIpYNtQVZXAnYt40OhUoV7kfPtGhv9/29bEW427qZdlkqQ3n3VZWRfDt+RQszuce8kr5LOY/bzZ1lXjS759fG+C/d/nHkvx5PXjar5R+z+Wr/EPmfk+f7h9WTxz+cHv3r8XB0cI+ADvWMaDB1hC/i0cFVAsKGoXAZj3IVcOoN3Loq0MP4Dyg4T1CGkAV2uDsU0GHgIHoVjt7ujo5P/LAELbDQflDe7Q7P/agEAFAIAHAIANASAEAUAFAsAMCGoR1Y7yhI3u+OLuxoGrQP+wYe+WFpEjKoO+AuhLXLydBVkqGTydDlZOiqydCJZOgsFsCGWDj5ujs6s6NNONrGo9IiQFDzgQ6FcHQaopAYp3HqnAdrUV4IRMPWuBy7Rb0UqFJLOZRNzF1oEvWjcd2ZJnOPmkBj3DgN9MJfZYRD3hiPexfk4C8yOIAhsgHjygtMzIZgErmCcW0NJrM/mMAmYUJ0ioLBLgqa5lJoHMbYPUwQFlK0LncYm4nxsZwUtmJSJScrBmNyLSeT1ZgQ/aZgMJ2CNhltBSIPMp6NaPADNCJDFE7jZETO2YiK8kIgMiLj0oiKeilQpZbSiEzMnW4Sdbpx3ekmc6ebQEZknIyo8FcZoREZYyNyQRpRkcGIDJERGVdGZGI2IpPIiIxrIzKZjcgENiITohEVDEZU0DSXQiMyxkZkgjCionW5w9iIjI/lpDAikyo5WTEik2s5mYzIhGhEBYMRFbTJaCsQGZHxbEQYGnSjyCmwUSRfIpHNKcgvapxsKorSq0KRyxofa4i0rlgi50rUKWGiqLMmluHUiSp5WhTJ2IL4qsLR4qLAPkeqNLtQBhwvcrK9KCrviyWyAUadXDCK2gpjGfbDqLIpRjU6Y9DAHgOfVsqjUUaB3TKqwjJDga6SCmyeUfzu0BA2GvWxoVEx1FhmdGgka41q9NeggckGvqnwbY2T50YxG68TtF2k1CEokeUGiQ0XxBeaktmiJK0WClxqWq+6NFnUcx6hSlmEks4hLMEZhBpZK0pkrCC9khRNFTFbatCkoUIJsFOkZKYoKStFPRspqmSjKGkTxRJsoaixgaIW7RMUME+gU1kWjRMx2yZqwjRB7mQ3s2Gi9J0kF2aJaj3JK0aJJUaSPJkkatEiQQGDBLqRdKspWSNK2RiH1qMrGqKQGyc/dM5mWJQXApENGpceWNRLgSq1lNZnYk4JkygfjOtkMJkzwQTyOuNkdIW/yggtzhj7mwvS3IoMzmaIbM248jQTs6GZRG5mXFuZyexjJrCJmRAdrGCwr4KmuRQalzF2LROEZRWtyx3GZmV8LCeFTZlUycmKQZlcy8lkTSZEXyoYTKmgTUZbgciLjGcjKnVFJ3JGAXWBvAgENiOTXihGduSC9COTLxWrVVZakqu5/12jBHBBZ4DrnAKukC+5QMZkwivB0JocsjeBIs3JdHAnZ2RPLih/cjUblGvkUC5oi3KdPcoVNilXoksZB5syNhXl0KgcslO5IqzKxE50IZuVC6PpKuzKtVq6VgzL9Wq6JstyJXqWcTAtYxvBtoqRb7mQjatUDI3LGQXXBTIuENi4THqhGBmXC9K4TL5UrFZZaVyu5kxwjTLBBZ0JrnMmuELG5QIZlwmvBEPjcsjGBYo0LtPBuJyRcbmgjMvVbFyukXG5oI3LdTYuV9i4XInGZRyMy9hUlEPjcsjG5YowLhM70YVsXC6MpqswLtdq6VoxLter6ZqMy5VoXMbBuIxtBNsqRsblQjau1fBDH16FQiiwBZNlGWbDGoQXmZBZFSytahAvM9HVkyZVtNznRaEeL1j3d1G5twsnayqYjGnArxJBUyqILcm4NKRBBTsqhMyoYGVFRctGVBSyoYK1CRWVLahwNqDCo/0MFMxnINNUBo2nILadwoXpDFKXuocNp+CRxBNmUxSdeBWjKWol8ZLJFB4tZqBgMAPZJLLNhKyl4GwsQ7qjsxiiEBonb3HO5lKUFwKRvRiX/lLUS4EqtZQWY2LuapOor43rzjaZe9sE8hnjZDSFv8oIrcYYe40L0myKDG5jiOzGuPIbE7PhmESOY1xbjsnsOSaw6ZgQXadgsJ2CprkUGo8xdh4ThPUUrcsdxuZjfCwnhf2YVMnJigGZXMvJZEEmRA8qGEyooE1GW4HIh4wnI/rzkJvHfuSdYSjED3joHqMlaoAoYKBYrIBZmIANEXJy+F2vxz+cGBl+uqugn6DQqRErNKDyShyVLJiLD8OfixecihdrTh8wgT7y8w49t+7pj2Jn9qi4OKDQR8BTl/e09BEg6wlg1hPAhp4AUizVkXvBz4MNuLZ3gGd+VFoHCKrstATQv9YiN6DSCRA+QxRD4xRI4yqaJuaQmkRxNc7BNYEjbEIMs2GKdeHvcximuRSE3hDF33juBM59Ol/qjn4fYeyOgrg7CufuKFx2RxFFdxSJu6Pw1B1FSN1RBOqOgrk7Bv4+h2GaS2F3FMTdUbjojkHi7hgwdcevQ0889aNyKkAl/oBC6IFDhYCWgAOyWAOzMAMbIgykBNfRzBYU/VFcQfWotACQWE/1PC2lehpXUT2iFVLPaHHUs7Au6klpgaPSW8eOfIXRH8VFTI/iyv+A8pKm52k1c6C27S/guL7pEa1dekbLlj1r41Guc1upYCsr2OaatHKR1Suijm1c7vcorvR/xTEB0V/tx+W5HZkzOSrRRxQW+wfhb8MIO6w+/oYjDFDJT0AhUsAhUkBLpABZPIBZnwEb8hNICZGjWTzKLZjlFswqLZjJFsxyC2aiBTPRgllqwSy3IK60/paXWHvUhY90uZldpU2dbFOX28QXCaCI1naitV1o7cvJ4Tr83I+i/fVIeF3Pk9f1NHpdj+TFYq+QC/asjDpA0fJeDv525kdx7n+J/oYoz/gvyd+Qgr8BjtP/y+BvwGjSfzn4GxzlOreVCraygm2uCfsbKKKO5m+A4trj5QSviV9O0uXwy5TVwJMrv5yk69+XIqtBIVd+OckXvC8nfK27J9uQLduc1ducvcGAcVyQQF9GqhotVOS7p6YxRKoeTlSIRxbJNMhIpfEWVUgPEiijSaUByapIfSqSRwEXyCOWStCQIZXHCMk8pKPcVoXRsMgxT0W+13B2AlK1KVCh8bazVZBKrhFVMBASyEtIVbZCRbLDUAEyG1K171AhtiCS2Y1IjsYUxW1thLFdkZrs47fJcGP52A/tnjKyeDvZlffxcH9ZeWFH/d3VMz+0e3nA8Kad4/ijr1ky/sT41oL1GwYCUOrz38Ke6mNiHIfanmqS3wsGYQk7js+IcYDkjmPSaqEKOscLd+lSLDhyapfuIJV7LRg+Yxw+F2T48NYRMwgf3jsqLU03j5Igwle0WviCzuEr4jbHgsNnXIQvDM4QxKikUJKsAxoKva8qGNwghBBHJQU6yircoUQ16LlUCn0yQhnN1A1VIxwKDNNU6AZj3AEuyNAX+b1gEO6CMNDGOMQmiOAWrRbWoHNAi7jNseAgGk/h2y154W5DfxQvYnsUr9V7JK5re56ua3sar2t7RFevPaOr156Fq9eexGv1y6Hvz/woLjsvc3+78N5m1Muhjz0u/9gdPbGjD9b/l9jNgKDpTsttBD+l3UYYUPFp6AZD1BfGqUOMq14xMXeNSdQ/xrmTTOCeMiF2l2HqM5y/KQzce5XZm1ToR5y7TyOCHsXp/IIQ9a2azEmiXk6P/QYe9k5Cf0dOnR5F6vkoqu6PJXIORJ0SIYqcDVHllIhqzIuoUXKkndwqepwmY/u4VRFImLRt+VRwSJ20nflCcUqi6mZmpVM6BY1zCjadQUYhpXxCibIJJZVLqOdMQpXyCCXOItQ4h1CLGYQK5Q9tWc1x4typb1jNBSBvaMfmaaKQM7SP8yJTypfKLs6sUq6AwplStgRBmhiiHDFOCWJcZYeJOTVMorwwzklhAmeECTEdDFMu4MY+CgNnQWVbH6nQ/7jl7TQi6HncBXdBiPpc7YEjiXq7YO7qeJsDe5wV6niWqf9ZVmnAZXI2cAlKCpY5N1jnFGE9ZgqrlDAkv63GlNMnySqLqBAkEymQU6RAapECGcYKJRrLOd+oBKUdqZx9tocH8s4ZZZwLlGsuqCxzNeeXa5RZLnBOucLZ5ErMI+eUQWHHHkeEs6a2X49lyJSwhe2UGGRH2NZ2wYwyQm5qY42ywDj3f7nchO43RL1vnDrfuOp7E3PXm0Q9b5w73gTudxNitxumXsfbEBQG7vPKTQhSocfxFsRpRNDfeFfighD1tronQRL1dcHc1eWVUOhqQ9TVxqmrjauuNjF3tUnU1ca5q03grjYhdrVh6mp8sZvCwF1dea2bVOhqfOX5NCLoanwL+oIQdbV6B5ok6uqCqav/GHp5eCX9D+xhZKV3kcUXf0HAe2KA7dVfYP6GL0B/xRdgeccXUOlBYLPQMntDBVB8i7BH4sldz9Pjup7GZ3Q9omduPaOHjD0L7wn2JD5w+wP67fipocYyqT+KD5V6VBIUUX583fP00OlA4Ykr4Pj8ukf0PLpn9L7bnrXxKNe5rVSwlRVsc034cSgooo724BNQfDr+B46OIfqvJvgGfH8U34DvkXgDvufpDfiexjfgeyTfgO8VegO+Z/QGfM/CG/CvJ4e3Hk78KLp2j4Qx9zx5ck+jHfdIvsPUK+TRPSvxBxQd+PVgvqd+FF9tfJ0t14V3NoheYy8BEqP8NfUS0DjKX4teAoXG/+vQS8DC+H8d5ojXYXp4PUwDrn2II+g1mf9Ayy1K6H1DlALGVR6YmJPBJMoI4zotTObcMIESxDhlCd5kPiVE+VK5yUwqZI4hSh/jKodMzIlkEmWTcZ1SJnNemcDJZULMsHwf3dA0B+JDLsVZp26aD1J5sgqpZ4hSz7hKPRNz6plEqWdcp57JnHomUOoZp9TDB+ynhCj1Ko/XSYXUM0SpZ1ylnok59Uyi1DOuU89kTj0TOPVMiKmHLxBQhkxzID7kUpx66u2BIqX3/U6kwGk48r6fLiJSUr/vp9VKelbe99Myp6p+30+qmLb6jYaKKlM4lMFEjgKnc1RlUsciIrVjAU7wqFbSPBZKyR7llPJRpsRPL3rILJ3WQvmh9ok0IKpveRwKvJnwPsg3k7QP8g0/6yTMxXmbF+FUPG1xTEL6SGgWfyyI9NFdfuO1bH9I17I9o2vZnqlr2V7I17I9pmvZnvG1bA/5WraH8Vq2R3Qt+3YwsjM/iiPpbbIs4GnMvEVzAiRHx9tgQ8Diu6Nv0XAczWIjZqIH7Br8iaNaB8x0B8xEB/hlOHyviv8sx98uxP2j1+0CfPgtJCN8jqrQiNbaxXlgleY2urnh+hx5CYNXuxFRaFQUPm2/fGr6ennntbFIK5rT1qre6qq3oqf40h0lUX27dsdyucP84t2LrehQNGgl+of2cIGybu7mOTO6WKgTp+lqcet03DoRN37RGSURt051e5eTfxMPt3QoGoOvnA3nww3WpWTaYZ0E9mK9xzqpImRpl3USkj/nfdZJoWClndYsgGenqx/myr3V1Q9L5OO1qx+W2dHT1Q9z8vbCZ6LZyeVNIKs3Ptq/yvRNq/Vvsn8Tqt3LE4FxMhdf9YSBz4sh/hpVyzRDmMA25MJYqNSE4ZqYNUykqcN4LYx5EilKmkmK0IrCaU4xYbSdanYxrZYStXnG9Fpb04xjQiUz0txThJVitRCkqcgFOR8VWUxKRepE8TQ9mTDaBWqiMq3WBbUpy/RaF+TJy5TKqN0ItlWs1nw1q4ULjjC3RSV9Z5TTPBdlHfdYRkU/lkh9EOU8/0U9BzzqHPaophkx3ZQ5kwLPjiM3ZXQRMVPqmzJarcyalZsyWuYZVN+UkeqsGrI8p0aZZ9ao/gcZJWfZWGI8o/KMG+XvJFSafaPKTkv3BaLbyZsG+ovr7clzc5STO5P8/ZDL2ZpKqDk7FuGZO6rjnSJm8aDnuTzIbfWDeV6P8n8QHTnHxxLjCVmd72Op8QjluT/Ko3mZ1wFBXtWV8fDllQHJen0QCqlVQijQVT+aVwxR/g86V64eYonxzq2uJGKp8c4Vq4qoj3rSpqps68p46PKa492w0DjzozhHvsMFBSAxV76jhQPQOCu+CwsEYHTv+x0sBIDEKe7dhF8/ejdJbx6VJwPY1rRDijm1Wu+QYjG3P+2QYs6RyDukWIgxSTukiFN0KjuLwuMRjJPeWSRFitjIziJZIsdO7yySIkexsrNIqjGeemeREimyY5ts4NESBldtshESBba6yUboOahqk42QOKByk43QYjDVJpssUSDrO1DKAziMYdqBwpyip3egsJjjlnagMOeI5R0oLMRYpR0oxClKlZ0b73h7Ql2hgNV2blRkFb6RnRuVEhTM6s6Nis6hrezcqKgU6NEtC6xy2MOWhcQo1HnLQhJUeOWWhaRRSMWWhaRwGNOWhcQpdJU3/J1zuOyPHTxXjMLlAoXLBRUuV3O4XKNwucDhcoXD5UoMl3MKlwkULuMcruEH3J9nQqEqmAJVsApT0XKQikIhKpgDVDiHp/AYnEIpNAOmwAyUwvJ+CMlTPyrhABR/S/R9CgPw9Fui77H5gOi3RN+HZgMLvyX6Hpvr6EVoz4vYcz2KV1wuXMajmAo9Ev3d89TXPY393CN5y6pXqPd7Fm9O9Sh27x75b8T2R3G7QY9KCACFhgBPmxJ6WhoCyKoLzHoM2NBjQEoLHJUr2zMg5TbQeUGxk5ucmHaPB5FOzEYmZrh/AzjnayPytRH5andkHLXxKDejrdS5lXVuc+X4Tgoootp2ywRQHlNwb8Q6BO9JeM91oWe7nI1dJfU6mXpdTj2+mQCKSMpOJGUXknI6uN65H8XXtaboeoDELogpuR7QuAtiGlwPGO3HmILrAYnbH6YTfHVyit4FSLwkOSXvAhpfh5wK7wKFXnyconcBiq84Tie452eK3gUo2vc0eRfwZMJT9C5AZLXT4F3AwgQ7Re9yVJzqqZG9fupHpU2A4jub02RUwNPvA03ZqADHX9qbBqMCRj+XN0Wj8oa1oUCbm6F+CXpKRgU0V07/EvQ0GBWw+EvQUzQqR2ZU3h9dKNDlhqhfOZySIwHNDdE/YjgNjgRMxD/+RuGebMM42ebxvE3j9sNgZMMPZX1AJ0NmDzSBxbvAIOCtX8B2vxeYP6QE6DdtAZY7tYDsGaSzvaU9PbcjmyodxanSOU6VTm2qdMRTpSs+VTqzqdKRTZWG+mXLmTXCHwUCiwuyD8nUsGz+lbIPaGvIaPr7EHwNC5b4A7L4OyuT+xMgw7LMC9FnGtFcf/iGrNLeRrc3PlsDLuLQiDg0Kg78wGzP5mE4zeO46xFtVv4weCV8RyuC0NYa3OoGt6Jh6RkZSD74ANrjMGCio3115wxXd54AXRyhnbCXrmYlnbaSTlhJel4EknKZTrlMRy6DDy0S44akxxZJkM1UDy6Sxg3Ojy6SktrHDy8SZz/F7YWDWaXthcyVvarthSyR0da2F7LMlpu2FzIn8y0cHcoYD0kTyIuNy/Fqqhi0pvHINYF9yYRkTqaQUxuPF9HGacTyMyv+GlXL5OAmsI27MBYqZeiuCVc3sRbH5O8mVOOYnL4IYPeGyPONs/EXoRXfm6YAE0aDpSYD02rxqE0LptfileYHE3iSSE85WRDTRZFwzjBW81s9e5g6YqtpHjGhMpmYXrXdPK2YQrZLjyMV5harB5JKkwGpPJJUModFPpRUYmq8eCypJJ55QIPJBynNPyipKQj1PAuhShMRSnouwhI8HaFGMxJKNCmBhA6MmK0CNZqdUJJGggWEl6DMdoIaOwZqyWRRpPkKJZqywvPqYBziSbb4vkrV0/SFGs9gQftOONU8FmQxlaE+Eu40oaE2Fu40rYEGMxtSmtxQ4vkNtFafI81yqH0voGquQ3kkYLUZD4ukCyIUeeJDjec+9fqE0MQMCCpOgohHZgU9FWKBcedPEyJqlTkRi4xNDnlmRDFODvudwl8tq/ZHm3DkP5feH8X7cz1K9+GKZeL3FrTJaJs/yKcxns81WDCeq6BNRtv8QT6X8Xyu8M4TnDDwTYVvK9/D549irgR0JVQB6EbSrfwGPjlK+dTlJRw4b0GbjLb5g3w64/lc9i4FnMzYRrCt+Cyfz4V8QnsbAU5obCPYVnyWT+hCPiH8zfuTQDaJbNOn+ETib94PCv5Z65OINhlt8wf5VOrPWh+kqx292luLHcUXG/ZkYefsj+KE16P4/B+E+MzqapLekLia4J8YvEIHBySetF2RXwONT9quhDuDQk/aroIXAws/nHgVOudqgk8XrjD+gFJdr3E5dl7I56B/VpG9TnchzgP+nEvq70l7Ns8D/pxLVr4n/bJF+SYTPqvS+tsOU/5k/WV2vQ/h+UD7L85/R+Qoy6TlSMULb0NfbVTEkbY/egjaNmjU2zzQBqo7zTDXByfk0/gNm/ylD7nUNpfiiqo5epB0ahjm2hYOtcWdiPSlD7nUNpfi2qqdiUVSbz2Xqsm3npWIldfLg8gfKuW3lfKpQbVlw6Cry7ZzVrhFtNY4TV+1kSd4kGW3siy3o7ICKapfxqVmgJTaARo2BPBGn+RBl97q0qkxqOXW8LvOQ23Tu87EoQV5+WXoIZfa5lJcY7UiG6T01utQrfzWKwtQYbGEc/Ygym1FOa60XNYNWnr5dKhcfvmUBai1WAc6exDltqIc11quDQ/ax8nhftSpH8VFWI/K3SdA4l2JnqelWk/juxI9ojciekZvRPQsvBHRk/i2x0eIuJPdeFg063V/8+NpgfFDTW4ovZFzQLqh+Y2cA01v5PQ4t5/fyOmZaH8bj3Kd1es3PZcVbHNN9Os3vSLqSK/f9Ch3CP1F7o95CfQkCgM9rJr21xf9Nks/svsjjuwmHqC4hfIglMvslUD0tcbpu52rE4j9oVKgk9V2h2pVnDj+jTnx5+X0X5b7PIyEEz+KfvEZRwKifDnzmUYCUhgJgONVzucwEoDRtcznYSTAUa5zW6lgKyvY5prwSABF1LGNV4mfcSQMKO9a1wK1pbJnvaKKRtd3rFcK5L6q7FfXKkentl9dym1VGA2L7O36ZnRdYLRZlXSo7UTXMiVJZSP6Qb2bDDeI/Sh6Ro/ET5X3HO8CO40/Vd4j+VPlvUI/Vd4z+qnynoWfKr8bbOiwqrlDGwKEtevpMjR2mRu7rDR2KRu7zI1dVhu7FI1disYuU2PjfcJlaPoyN52XigMNj8SPIqIgVB6Ik5jDkR+HE9eBEQ/DSeAQpUfhEUOw8BKfAsFhU5f4gxR+FekoIopd5TeRSMyxy7+IRFzHLv8eEgscu/RzSBFD7MKPIcVAcOzUDYci5d+KOFICx3HslyJkERHTyu9ESLUS38qvRGg5xVr/SIQSMe75JyJUKFMfVH8gYihQbm1DHxii6BtXcTcxR9wkirVxHWWTOb4mcGRNiDHNjwOWeO+fAsERVPf+D9JuvUB3+/eEbtC3w4n9I5tw5NdKbVhFt3kV3cpVdFmccFXSjVHiUCm8MUroIZ9nKxBVtP7wspW3Gs+ExvVOtxqHmqZbjYo/VCqwrXFq0HeeUML6jtukbjVmCdpDtxozfZCn3WpK7Rh92NnyzbmziLn+eHNuqCbenCP0kM+zFYgqXH9c2o7u5meV604yNIGUTVV5qFZlW1eoeSznVlY23rf5FiQL0KZwC5LZgzjZVjGq+8iT5XKx0d/ROz+PqHwNc9vQSDzuaiQRTs2S7W8k7pscSfCdjiSU7Y6Ebc9j5FcZXQtUCUN5VJh5eeyXlCExnkV8k0ve7Bo+u89cVKOpVK+pVK8Z66Wm3kvxj4WRVunBptaDTa0HP2YkOvS2koHxFhirnzKaC1SJ53wsbvN63OaV2MxrsZnXYvPfGYlSn0djsBCo0uDF+BfZX1aL/C4j0cZl5ZzLStIuR+uyrIzvVqDKidux3m3rvdtWejf9mTqSa53fVsLaVpr4RaAyzZDN/DsXXQlUCdCq0jOr0Z4REVtXTrCunGBdtdP16KkVGv1AJ1Clrt1YtnT1bOkq2cLXVSzXsqWrWUWnJ8L9QuMizvubjPx9eUPbXMoWGcyh+SR9yzX6Vonwt0o2fBOzkP7bp4Z52YUXmcfxGzYZwZorv4bWVl5Da+uvoX2Bip6eF+IPvwxtw0foBF/0dw/fUnt3KOo1sbyOdHjcRl9l6pmri+bjffnSw/9/OL8wtXywX+UcZWwrnayFaoqvXOmPuYUJzfJKadEecol1BY+ccD1yQrQ2pX63OkNfHIbZaljFH/tRvC20wrU7IHGTaEUrdqDx1tAqrNOB0R2fFazOgdgL84aGl+JOARwGy7mR3aLtMEhXsFwDgu0B7M0BOLQGSGkMoNIWR/EgdJTzRThI9VzUPjZ4nZPdmurEDpbhYPhWIEO+IcHzAB+C7+QLxt0syQMP+xS83O47z/wgnMt5h83pUig63WWd6rIudRnNniDkvuxyXw5zpYOv2LxtOBhqDsSrOMByRw2GoiEaj8ZpUBpXI9PEPDxNojFqnAeqCTxaTYhD1jCNW7+xicnBtzvPI/ZhbCQmhmGRHaalFDEl5olhygnjlBjwijETNW6LuMhEN0qOfhOjBRTsPlDIMpPoCIajLTgW3mBiNAi7TZ06mK2i8OwXRXFzMKKcAx56Uig6HVVlJOKJJys6VbSvpMedzCuJFG0G7u1TaLaZRNcRt+wHJfytJkJkPekvNTFX1iP/UBNJZD35zzSxwNaT/koTYbIe+iNNp0yD9RTs1mMk5pNhkU+mpXwyJeaTYcoY45QxsCuBiTKNIi4y0Y2S1mNitJ6C3XoKWWYSrcdwtB7HwnpMjNZjL+OnDmbrEX8biT7h7mJEWQ+8M0Ch6HRUlfWIFwZY0amirSe9LcC8kkjReuBVAQrNNpNoPeI9gaKEp9doQFFgG4oqm1FUpSXFIsKYYgG2p6gmk4pysqook2FFkW0rqJSppEULCyIYWeSUo1FUmRpL5HyNOmVtFDk7o8o5GtQql5YViixqfCwU2gpjETLEIIItBr6scbLIKJJRkqjsMhYh0wzil0p6JQMNqrDRoINfRi4tlV8lkiFle62/SKRLfCd12XDH3iLSZUbTO1mweoVIal8rId7WOFlz7fWhg563VoktVeVNhuEjfP02FEqrfuLwDXpv3TpN3sTxGyobLtfiT4knBb9Hemr5hB4RUoXv9LFBWziHo/3fzGUS7wY6Frf6ivg+kandfy1k/+fjn0VSZlrCMENGpdzoHe7gnmZxUA73hb8O0/zBbL7i3A6oTOiA4jvYzvHFa6f2trUjf3vamb8u7qzsY3Zir04bKonw1NoU9Sa3yd+tB6Tb1Mg2xVfnHeemNqKpjWhqG49yndtKBVtZwTbXJL3X7oqoo7/B7ijHnn5vd1PWjed2FN/v24QVoqO4LHSe3gLchAWgI1/1OfOlnrOyvnNiizpDJaGeWJt80bfBhAIUt/FsUkIBT+vbDScU4LjW3YSEAkar2s2QUHCU69xWKtjKCra5JulneFwRdfQf3XEUF9QbTKhD8B8muH3vAYMPKG7fe0jBB56etz1w8AHHTXMPIfjAaPvetriqH9lodmSu6kjsbNmyqzqNe1i20VWd0SacLbqqk7ghZYvT65GhWKDJjaItS9tsq85lo8SOpG2wVUeirbzhaFts1Y9yndV+oi3bqtNcE71daBtt1VncGLQNtmrIly9D9PGBxAkhalN6IMFcNVg9kGCJmp4fSLDA3cEPJBhTHNLSlWIhinJOGqfEdD4SC5GiLuU8Na0Sp5SxJtTi1ApUaaDMYhPrDeF8Nq6T2uRaWzi9jVf6NiU6vDINuY6UIoASZTxKKj6o5xChSlFCiSOBGncsanEMoEKhUr+rkYOlP8DjASUaEkEaD5YYGEHNYwPleizTCEFtJJatpvW2y9GC+mgDecygpIcNlhhpIw8elOpJwUPoW1mvnttRXIN/C+tVQHkN/o3Xq0Bxveo4Ls2/xfWqM1qafyvrVT/KdW4rFWxlBdtck7RedUXU0derjuK1wjeciRhR/dNMlLhonJqJkpT7Ic1EzLm1eSYioRWo0kDZS2omYqlS2Uqn5ZmIBeq+NBMNvNyvUoiaaJz60Llouom56S7lPjSNwmKc220C92ERWoEqDZR9aGK9IdyHxnUfmlxrC/ehcepD/BWkGqamBo36M2oiFKFADkeUc98GnUIWNI5LELmfUWwreCQIss9DgfGGct8HTfd/KDLWVs6DoEEu/Ot//z8nhUqv\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json": +/*!********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json ***! + \********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnVtzG8mxrf+KAk/nRGh8eBWleZPnItsaj0ZXWNvhB5BsUdgE0TLAFgjt2P/9AI2uzJUrV7X8olB/q4CuyspaVX0p8H8mP7V3d83yfvLj5MPfu/Xspnl0enH05Nmjs6dHz84mjye/tsv732d3za7AX5rF1+Z+fjXb426xUHh2N19shTBt5jef92f5e3M97+525K/3s8X86vnyZrEre7Q7Xv86f2iu/5jfX32e/Hi/6prHk58+z1azq/tm9bbZf/aXh/tmed1cv2nvZsuhbn/+c/sw+fGfPxw/efL4h5OT88fHR0dHj5+dHv/r8eT9rvBqMV82f7Tr+f28XU5+/GEng/Du8/zqdtms15Mfz3f8Q7Na98UmR0cnf9p90e4kv7e7Juyb81P7Zbvat+LR/7n6v4+Onz09f7z/96L/99n+32dH/b8Xj55ft5fNo7fb9X1zt3701+VVu/rSrmb3zfWfHj16vlg8erP/nvWjN826WX3dUQvVo/n60ezR/Wp23dzNVreP2k+Pfpsv2/vtl+aHXaHFo+cvHs2W1/+vXT2a775g3V2u59fz2WrerP+0q+wvu1Ndz5c3b68+N30f9DV5e7/7yGx1XdRdwZ9mX/4ydMnF8dPHk3+Uo/OT08eT5+urfaBXg/hzY8c/nBxdPJ68vb/+y3QnPun/+2H336dPD7319+Z+Nb/ahfOf/zOZ/mPy48nFTvh9V5H1l9kuiv/7mHDzcLWY3Rk/PT8/8H937S5alwtTzs+fHJRld3e576abZdau28VitjL+dNctPf/SrK72SV6EJ08uDsLsbietd9Hxmp2cQA36/vbanZ4O3zdbNctF86km0cdKNWbr/Teub73iT8+GTy26dQ7O1W5szvIpPm+/fG6WufiuKfP2OvP1Yrb+nIP1rVm1mbbLJsP7jSh5/3nViLKf2m4l6PyrKLuePwjYfG1E3zYhpp4O86VIq6t20YoIrZu7eZSsBxZ7E0i0+Xc3W2R8s2p2g1k0899ds+6NpijHR8dDRs9E+j3P6M+GLkom/pTRz/mDvzg6Pj6gX/2DJQIv8nf9Jcfpr96yvV3u0d/yGV/m9v/mY69k69/zGX/P9XqVv/6PXOp1/q43+YNvcyTe5Q++zx/8YOjZ2dDT01zqHxl9zGf8rxzVy91cdtvcB99wcafFgcqfi6Zy9sRM5Wo+v5qvrrq73B/d3rXXu+kHxkgwuFAZ+9gso8ucElfCgMW4zQ36lEvdZPQ5V3me0X/net3mUouclyJawnWE730Rwz6b9CrXSzi8iH2XP/g1Z+8ml3rIaJvRN6jqmedXTISTJ0clK1eV8jEbzRn7bLyfL66bHJLDXH/dbkScw/TsU8F9v0zz5DguI+7Tfl2IRmuf2arJ49OiXc0FXzeVb7nqVrt5/MoDePzsGIbNet6vW1MTy7JFD6ubbr5T7tp7vXTYy/0Xf0em0Jee/TQXTCygdis5uR64nt3cqDntwHEtRiuOfd81qwbG/umFLYZmN6vZFz/b6XnJrN0FRAMZF1ypb+blbD0S4XF1pRcL1gFR7y8ZDrFZLOZf1vO1kHZtvf/cdmGxaG5f5v2Q3N5zq9lXUdnZVXcv8MHLPy2ah6xVRtbd7GrVihNfrhp14uv2fnYVRpxL811PYgDc0HAcemV3l3O7NbdYpHbLm9mqu1vMOnGa9ma3zrwVXzdbhcWT9ctdyFkXnvuyZ3fdOnz56vrTbqEXVoa+QomTrC9AIvczvIIzPDm3M9ztnK5b4CnsamMmprzr/aBfr8UEtogntpRqI7cVSdvksrvxubsi3uW9mGL+mrrUnSBmoE//MW98apKd6l8Xe89XR7kGZbq4nn+dQ0L7R2LNfMEsBodXO37IV3rqQzZFUgxssu4vvmiYQFPzV/r5wlBxXO+IGY0H/0ylhzr6gF8FpJP4NcPOI+Ai5KQ4sWroRXHwq3LTQ5yKXMfXhTEPvJU6Lr+rCvjwqOVoNFVf6cvm2KVU7duisUI4k1VChsxk89fsiTYU5/HsZxdDnRftt2Z5IzL3TTyFX8WNJmc3OkiE6MOrNpGsKm294rb69U+OnJ3m3ed2JVr1is7uYai4wVviZ2USo7DZaOKMtYjpya2/w7Hu+lXOStSXUtCiWONkq8UE77rF/fzLYivqRQ30JA8NPLsolyaz1f18trief/qU+2pbt4bf43k8YceS5ZfRNBuZdbJk6VQZnsuaDdYy5vcYIJ8M6Yvw/ttuxYA34ewSaNXeNku8EDJzXDU383Vc+voQjZ0N03EeF+Yc3W5Uh+sRD3ZlDbmqRKalyPi4rKTUf9EIP3tW1q79ra54I8zi/Mv95wx/SgZoZq586/R4aON9Zd5oqrNjbRZ8Xls+jGRlDLBfL9PQsFsRXClzhVqP1Kae2jS6rg3KPI7t3KPLEp4xy7qgWdyLGz73waTdEzftiCPW43vXiZZQzC1Ucp3pY4FC71eqcYXztNyw6H18l8CrXSKv8/e9Tfn67FnJV72ifTk6//4WO84vJeyxjjLFZAtuGTFMzmvT2W+x2haHXdQ+zxYwNZRBvr80oVvd1hdjLr+MyyZPte90YGUoNLUG3UQzxQYN3ap6VffdW7lAtAyWNT8rPXi9swn10KONXQRWqC2ti+XPzs3Or+dXymh/jl8EC7Ox5e7vsX+8upV+ezOe10p1b60soZ9XTTpeDlgPUJ3NiEcWlL/Upnt2CrtFLBtqC7K4ErBvGx0KlSrcj55p0d7s+3vZinC3dTPtslSG8u6rKiP5ZvyKFmZyj3klfZdyHrebO8u8aHbPr43xX7r948h/PZ68bFbLP2bz1f4h8j8nz/cPqyePfzg9+tfj4ejgHgEd6hnRYOoIX8Sjg6sEhA1D4VU8ylXAqTdw66pAD+M/oOA8QRlCFtjh7lBAh4GD6HU4erc7Oj7xwxK0wEL7QXm/Ozz3oxIAQCEAwCEAQEsAAFEAQLEAABuGdmC9oyD5sDu6sKNp0D7uG3jkh6VJyKDugLsQ1i4nQ1dJhk4mQ5eToasmQyeSobNYABti4eTr7ujMjjbhaBuPSosAQc0HOhTC0WmIQmKcxqlzHqxFeSEQDVvjcuwW9ZVAlVrKoWxi7kKTqB+N6840mXvUBBrjxmmgF/46IxzyxnjcuyAHf5HBAQyRDRhXXmBiNgSTyBWMa2swmf3BBDYJE6JTFAx2UdA0l0LjMMbuYYKwkKJ1ucPYTIyP5aSwFZMqOVkxGJNrOZmsxoToNwWD6RS0yWgrEHmQ8WxEgx+gERmicBonI3LORlSUFwKRERmXRlTUVwJVaimNyMTc6SZRpxvXnW4yd7oJZETGyYgKf50RGpExNiIXpBEVGYzIEBmRcWVEJmYjMomMyLg2IpPZiExgIzIhGlHBYEQFTXMpNCJjbEQmCCMqWpc7jI3I+FhOCiMyqZKTFSMyuZaTyYhMiEZUMBhRQZuMtgKRERnPRoShQTeKnAIbRfIlEtmcgvyixsmmoii9KhR5VeNjDZHWFUvkXIk6JUwUddbEMpw6USVPiyIZWxBfVzhaXBTY50iVZhfKgONFTrYXReV9sUQ2wKiTC0ZRW2Esw34YVTbFqEZnDBrYY+DTSnk0yiiwW0ZVWGYo0FVSgc0zit8dGsJGoz42NCqGGsuMDo1krVGN/ho0MNnANxW+rXHy3Chm43WCtouUOgQlstwgseGC+EJTMluUpNVCgVea1qsuTRb1nEeoUhahpHMIS3AGoUbWihIZK0ivJUVTRcyWGjRpqFAC7BQpmSlKykpRz0aKKtkoStpEsQRbKGpsoKhF+wQFzBPoVJZF40TMtomaME2QO9nNbJgofSfJhVmiWk/yilFiiZEkTyaJWrRIUMAggW4k3WpK1ohSNsah9eiKhijkxskPnbMZFuWFQGSDxqUHFvWVQJVaSuszMaeESZQPxnUymMyZYAJ5nXEyusJfZ4QWZ4z9zQVpbkUGZzNEtmZceZqJ2dBMIjczrq3MZPYxE9jETIgOVjDYV0HTXAqNyxi7lgnCsorW5Q5jszI+lpPCpkyq5GTFoEyu5WSyJhOiLxUMplTQJqOtQORFxrMRlbqiEzmjgLpAXgQCm5FJLxQjO3JB+pHJrxSrVVZakqu5/12jBHBBZ4DrnAKukC+5QMZkwmvB0JocsjeBIs3JdHAnZ2RPLih/cjUblGvkUC5oi3KdPcoVNilXoksZB5syNhXl0KgcslO5IqzKxE50IZuVC6PpKuzKtVq6VgzL9Wq6JstyJXqWcTAtYxvBtoqRb7mQjatUDI3LGQXXBTIuENi4THqhGBmXC9K4TH6lWK2y0rhczZngGmWCCzoTXOdMcIWMywUyLhNeC4bG5ZCNCxRpXKaDcTkj43JBGZer2bhcI+NyQRuX62xcrrBxuRKNyzgYl7GpKIfG5ZCNyxVhXCZ2ogvZuFwYTVdhXK7V0rViXK5X0zUZlyvRuIyDcRnbCLZVjIzLhWxcq+GHPrwKhVBgCybLMsyGNQgvMiGzKlha1SC+ykRXT5pU0XKfF4V6vGDd30Xl3i6crKlgMqYBv04ETakgtiTj0pAGFeyoEDKjgpUVFS0bUVHIhgrWJlRUtqDC2YAKj/YzUDCfgUxTGTSegth2ChemM0hd6h42nIJHEk+YTVF04lWMpqiVxEsmU3i0mIGCwQxkk8g2E7KWgrOxDOmOzmKIQmicvMU5m0tRXghE9mJc+ktRXwlUqaW0GBNzV5tEfW1cd7bJ3NsmkM8YJ6Mp/HVGaDXG2GtckGZTZHAbQ2Q3xpXfmJgNxyRyHOPackxmzzGBTceE6DoFg+0UNM2l0HiMsfOYIKynaF3uMDYf42M5KezHpEpOVgzI5FpOJgsyIXpQwWBCBW0y2gpEPmQ8GdGfh9w89iPvDEMhfsBD9xgtUQNEAQPFYgXMwgRsiJCTw+96Pf7hxMjw010F/QSFTo1YoQGVV+KoZMFcfBj+XLzgVLxYc/qACfSRn3fouXVPfxQ7s0fFxQGFPgKeurynpY8AWU8As54ANvQEkGKpjtwLfh5swLW9Azzzo9I6QFBlpyWA/rUWuQGVToDwGaIYGqdAGlfRNDGH1CSKq3EOrgkcYRNimA1TrAv/kMMwzaUg9IYo/sZzJ3Du0/lSd/T7CGN3FMTdUTh3R+GyO4oouqNI3B2Fp+4oQuqOIlB3FMzdMfAPOQzTXAq7oyDujsJFdwwSd8eAqTt+HXriqR+VUwEq8QcUQg8cKgS0BByQxRqYhRnYEGEgJbiOZrag6I/iCqpHpQWAxHqq52kp1dO4iuoRrZB6RoujnoV1UU9KCxyV3jp25CuM/iguYnoUV/4HlJc0PU+rmQO1bX8Bx/VNj2jt0jNatuxZG49yndtKBVtZwTbXpJWLrF4RdWzjcr9HcaX/K44JiP5qPy7P7cicyVGJPqKw2D8IfxtG2GH18TccYYBKfgIKkQIOkQJaIgXI4gHM+gzYkJ9ASogczeJRbsEst2BWacFMtmCWWzATLZiJFsxSC2a5BXGl9be8xNqjLnyky83sKm3qZJu63Ca+SABFtLYTre1Ca19ODtfh534U7a9Hwut6nryup9HreiQvFnuFXLBnZdQBipb3cvC3Mz+Kc/9L9DdEecZ/Sf6GFPwNcJz+XwZ/A0aT/svB3+Ao17mtVLCVFWxzTdjfQBF1NH8DFNceLyd4Tfxyki6HX6asBp5c+eUkXf++FFkNCrnyy0m+4H054WvdPdmGbNnmrN7m7A0GjOOCBPoyUtVooSLfPTWNIVL1cKJCPLJIpkFGKo23qEJ6kEAZTSoNSFZF6lORPAq4QB6xVIKGDKk8RkjmIR3ltiqMhkWOeSryvYazE5CqTYEKjbedrYJUco2ogoGQQF5CqrIVKpIdhgqQ2ZCqfYcKsQWRzG5EcjSmKG5rI4ztitRkH79NhhvLx35o95SRxdvJrnyIh/vLygs76u+unvmh3csDhjftHMcffc2S8SfGtxas3zAQgFKf/xb2VB8T4zjU9lST/EEwCEvYcXxGjAMkdxyTVgtV0DleuEuXYsGRU7t0B6nca8HwGePwuSDDh7eOmEH48N5RaWm6eZQEEb6i1cIXdA5fEbc5Fhw+4yJ8YXCGIEYlhZJkHdBQ6ENVweAGIYQ4KinQUVbhDiWqQc+lUuiTEcpopm6oGuFQYJimQjcY4w5wQYa+yB8Eg3AXhIE2xiE2QQS3aLWwBp0DWsRtjgUH0XgK327JC3cb+qN4EdujeK3eI3Fd2/N0XdvTeF3bI7p67RldvfYsXL32JF6rvxr6/syP4rLzVe5vFz7YjPpq6GOPyz92R0/s6KP1/yvsZkDQdKflNoKf0m4jDKj4NHSDIeoL49QhxlWvmJi7xiTqH+PcSSZwT5kQu8sw9RnO3xQG7r3K7E0q9CPO3acRQY/idH5BiPpWTeYkUS+nx34DD3snob8jp06PIvV8FFX3xxI5B6JOiRBFzoaockpENeZF1Cg50k5uFT1Ok7F93KoIJEzatnwqOKRO2s58oTglUXUzs9IpnYLGOQWbziCjkFI+oUTZhJLKJdRzJqFKeYQSZxFqnEOoxQxChfKHtqzmOHHu1Des5gKQN7Rj8zRRyBnax3mRKeVLZRdnVilXQOFMKVuCIE0MUY4YpwQxrrLDxJwaJlFeGOekMIEzwoSYDoYpF3BjH4WBs6CyrY9U6H/c8nYaEfQ87oK7IER9rvbAkUS9XTB3dbzNgT3OCnU8y9T/LKs04DI5G7gEJQXLnBusc4qwHjOFVUoYkt9VY8rpk2SVRVQIkokUyClSILVIgQxjhRKN5ZxvVILSjlTOPtvDA3nnjDLOBco1F1SWuZrzyzXKLBc4p1zhbHIl5pFzyqCwY48jwllT26/HMmRK2MJ2SgyyI2xru2BGGSE3tbFGWWCc+79cbkL3G6LeN06db1z1vYm5602injfOHW8C97sJsdsNU6/jbQgKA/d55SYEqdDjeAviNCLob7wrcUGIelvdkyCJ+rpg7urySih0tSHqauPU1cZVV5uYu9ok6mrj3NUmcFebELvaMHU1vthNYeCurrzWTSp0Nb7yfBoRdDW+BX1BiLpavQNNEnV1wdTVfwy9PLyS/gf2MLLSu8jii78g4D0xwPbqLzB/wxegv+ILsLzjC6j0ILBZaJm9oQIovkXYI/HkrufpcV1P4zO6HtEzt57RQ8aehfcEexIfuP0B/Xb81FBjmdQfxYdKPSoJiig/vu55euh0oPDEFXB8ft0jeh7dM3rfbc/aeJTr3FYq2MoKtrkm/DgUFFFHe/AJKD4d/wNHxxD91xN8A74/im/A90i8Ad/z9AZ8T+Mb8D2Sb8D3Cr0B3zN6A75n4Q34N5PDWw8nfhRdu0fCmHuePLmn0Y57JN9h6hXy6J6V+AOKDvxmMN9TP4qvNr7JluvCextEb7CXAIlR/oZ6CWgc5W9EL4FC4/9N6CVgYfy/CXPEmzA9vBmmAdc+xhH0hsx/oOUWJfS+IUoB4yoPTMzJYBJlhHGdFiZzbphACWKcsgRvMp8Sonyp3GQmFTLHEKWPcZVDJuZEMomyybhOKZM5r0zg5DIhZli+j25omgPxMZfirFM3zQepPFmF1DNEqWdcpZ6JOfVMotQzrlPPZE49Eyj1jFPq4QP2U0KUepXH66RC6hmi1DOuUs/EnHomUeoZ16lnMqeeCZx6JsTUwxcIKEOmORAfcylOPfX2QJHS+34nUuA0HHnfTxcRKanf99NqJT0r7/tpmVNVv+8nVUxb/UZDRZUpHMpgIkeB0zmqMqljEZHasQAneFQraR4LpWSPckr5KFPipxc9ZJZOa6H8WPtEGhDVtzwOBd5OeB/k20naB/mWn3US5uK8zYtwKp62OCYhfSQ0iz8WRProLr/xWrY/pGvZntG1bM/UtWwv5GvZHtO1bM/4WraHfC3bw3gt2yO6ln03GNmZH8WR9C5ZFvA0Zt6hOQGSo+NdsCFg8d3Rd2g4jmaxETPRA3YN/sRRrQNmugNmogP8Mhy+V8V/luNvF+L+0at2AT78DpIRPkdVaERr7eI8sEpzG93ccH2OvITBq92IKDQqCp+3Xz43fb2889pYpBXNaWtVb3XVW9FTfOmOkqi+XbtjudxhfvHuxVZ0KBq0Ev1De7hAWTd385wZXSzUidN0tbh1Om6diBu/6IySiFunur3Lyb+Jh1s6FI3BV86G8+EG61Iy7bBOAnux3mOdVBGytMs6Ccmf8z7rpFCw0k5rFsCz09UPc+Xe6uqHJfLx2tUPy+zo6eqHOXl74TPR7OTyJpDVGx/tX2X6ptX6N9m/CdXu5YnAOJmLr3rCwOfFEH+NqmWaIUxgG3JhLFRqwnBNzBom0tRhvBbGPIkUJc0kRWhF4TSnmDDaTjW7mFZLido8Y3qtrWnGMaGSGWnuKcJKsVoI0lTkgpyPiiwmpSJ1oniankwY7QI1UZlW64LalGV6rQvy5GVKZdRuBNsqVmu+mtXCBUeY26KSvjPKaZ6Lso57LKOiH0ukPohynv+ingMedQ57VNOMmG7KnEmBZ8eRmzK6iJgp9U0ZrVZmzcpNGS3zDKpvykh1Vg1ZnlOjzDNrVP+DjJKzbCwxnlF5xo3ydxIqzb5RZael+wLR7eRNA/3F9fbkuTnKyZ1J/n7I5WxNJdScHYvwzB3V8U4Rs3jQ81we5Lb6wTyvR/k/iI6c42OJ8YSszvex1HiE8twf5dG8zOuAIK/qynj48sqAZL0+CIXUKiEU6KofzSuGKP8HnStXD7HEeOdWVxKx1HjnilVF1Ec9aVNVtnVlPHR5zfF+WGic+VGcI9/jggKQmCvf08IBaJwV34cFAjC69/0eFgJA4hT3fsKvH72fpDePypMBbGvaIcWcWq13SLGY2592SDHnSOQdUizEmKQdUsQpOpWdReHxCMZJ7yySIkVsZGeRLJFjp3cWSZGjWNlZJNUYT72zSIkU2bFNNvBoCYOrNtkIiQJb3WQj9BxUtclGSBxQuclGaDGYapNNliiQ9R0o5QEcxjDtQGFO0dM7UFjMcUs7UJhzxPIOFBZirNIOFOIUpcrOjfe8PaGuUMBqOzcqsgrfyM6NSgkKZnXnRkXn0FZ2blRUCvTolgVWOexhy0JiFOq8ZSEJKrxyy0LSKKRiy0JSOIxpy0LiFLrKG/7OOVz2xw6eK0bhcoHC5YIKl6s5XK5RuFzgcLnC4XIlhss5hcsECpdxDtfwA+7PM6FQFUyBKliFqWg5SEWhEBXMASqcw1N4DE6hFJoBU2AGSmH5MITkqR+VcACKvyX6IYUBePot0Q/YfED0W6IfQrOBhd8S/YDNdfQitOdF7LkexSsuF17Fo5gKPRL93fPU1z2N/dwjecuqV6j3exZvTvUodu8e+W/E9kdxu0GPSggAhYYAT5sSeloaAsiqC8x6DNjQY0BKCxyVK9szIOU20HlBsZObnJh2jweRTsxGJma4fwM452sj8rUR+Wp3ZBy18Sg3o63UuZV1bnPl+E4KKKLadssEUB5TcG/EOgTvSXjPdaFnu5yNXSX1Opl6XU49vpkAikjKTiRlF5JyOrjeuR/F17Wm6HqAxC6IKbke0LgLYhpcDxjtx5iC6wGJ2x+mE3x1coreBUi8JDkl7wIaX4ecCu8ChV58nKJ3AYqvOE4nuOdnit4FKNr3NHkX8GTCU/QuQGS10+BdwMIEO0XvclSc6qmRvX7qR6VNgOI7m9NkVMDT7wNN2agAx1/amwajAkY/lzdFo/KGtaFAm5uhfgl6SkYFNFdO/xL0NBgVsPhL0FM0KkdmVN4fXSjQ5YaoXzmckiMBzQ3RP2I4DY4ETMQ//kbhnmzDONnm8bxN4/bjYGTDD2V9RCdDZg80gcW7wCDgrV/Adr8XmD+kBOg3bQGWO7WA7Bmks72lPT23I5sqHcWp0jlOlU5tqnTEU6UrPlU6s6nSkU2Vhvply5k1wh8FAosLso/J1LBs/pWyj2hryGj6+xh8DQuW+AOy+Dsrk/sTIMOyzAvRZxrRXH/4hqzS3ka3Nz5bAy7i0Ig4NCoO/MBsz+ZhOM3juOsRbVb+OHglfEcrgtDWGtzqBreiYekZGUg++ADa4zBgoqN9decMV3eeAF0coZ2wl65mJZ22kk5YSXpeBJJymU65TEcugw8tEuOGpMcWSZDNVA8uksYNzo8ukpLaxw8vEmc/xe2Fg1ml7YXMlb2q7YUskdHWtheyzJabthcyJ/MtHB3KGA9JE8iLjcvxaqoYtKbxyDWBfcmEZE6mkFMbjxfRxmnE8jMr/hpVy+TgJrCNuzAWKmXorglXN7EWx+TvJlTjmJy+CGD3hsjzjbPxF6EV35umABNGg6UmA9Nq8ahNC6bX4pXmBxN4kkhPOVkQ00WRcM4wVvNbPXuYOmKraR4xoTKZmF613TytmEK2S48jFeYWqweSSpMBqTySVDKHRT6UVGJqvHgsqSSeeUCDyQcpzT8oqSkI9TwLoUoTEUp6LsISPB2hRjMSSjQpgYQOjJitAjWanVCSRoIFhJegzHaCGjsGaslkUaT5CiWassLz6mAc4km2+L5K1dP0hRrPYEH7TjjVPBZkMZWhPhLuNKGhNhbuNK2BBjMbUprcUOL5DbRWnyPNcqh9L6BqrkN5JGC1GQ+LpAsiFHniQ43nPvX6hNDEDAgqToKIR2YFPRVigXHnTxMiapU5EYuMTQ55ZkQxTg77ncJfLav2R5tw5D+X3h/F+3M9SvfhimXi9xa0yWibP8inMZ7PNVgwnqugTUbb/EE+l/F8rvDOE5ww8E2Fbyvfw+ePYq4EdCVUAehG0q38Bj45SvnU5SUcOG9Bm4y2+YN8OuP5XPYuBZzM2Eawrfgsn8+FfEJ7GwFOaGwj2FZ8lk/oQj4h/M37k0A2iWzTp/hE4m/eDwr+WeuTiDYZbfMH+VTqz1ofpMsdvdxbix3FFxv2ZGHn7I/ihNej+PwfhPjM6nKS3pC4nOCfGLxEBwcknrRdkl8DjU/aLoU7g0JP2i6DFwMLP5x4GTrncoJPFy4x/oBSXa9wOXZeyG3Qb1Vkr9JdiPOAb3NJ/T1pz+Z5wLe5ZOV70i9blG8y4VaV1t92mPIn6y+zq30Izwfaf3H+OyJHWSYtRypeeBv6aqMijrT90UPQtkGj3uaBNlDdaYa5Pjghn8Zv2OQvfciltrkUV1TN0YOkU8Mw17ZwqC3uRKQvfciltrkU11btTCySeuu5VE2+9axErLxeHkT+UCm/rZRPDaotGwZdXbads8ItorXGafqqjTzBgyy7lWW5HZUVSFH9Mi41A6TUDtCwIYA3+iQPuvRWl06NQS23ht91Hmqb3nUmDi3Iyy9DD7nUNpfiGqsV2SClt16HauW3XlmACoslnLMHUW4rynGl5bJu0NLLp0Pl8sunLECtxTrQ2YMotxXluNZybXjQPk0O96NO/SguwnpU7j4BEu9K9Dwt1Xoa35XoEb0R0TN6I6Jn4Y2InsS3PT5BxJ3sxsOiWa/7mx9PC4wfanJD6Y2cA9INzW/kHGh6I6fHuf38Rk7PRPvbeJTrrF6/6bmsYJtrol+/6RVRR3r9pke5Q+gvcn/KS6AnURjoYdW0v77ot1n6kd0fcWQ38QDFLZQHoVxmrwSirzVO3+1cnUDsD5UCnay2O1Sr4sTxb8yJPy+n/7Lc7TASTvwo+sUtjgRE+XLmlkYCUhgJgONVzm0YCcDoWuZ2GAlwlOvcVirYygq2uSY8EkARdWzjVeItjoQB5V3rWqC2VPasV1TR6PqO9UqB3FeV/epa5ejU9qtLua0Ko2GRvV3fjK4LjDarkg61nehapiSpbEQ/qHeT4QaxH0XP6JH4qfKe411gp/Gnynskf6q8V+inyntGP1Xes/BT5XeDDR1WNXdoQ4Cwdj1dhsYuc2OXlcYuZWOXubHLamOXorFL0dhlamy8T7gMTV/mpvNScaDhkfhRRBSEygNxEnM48uNw4jow4mE4CRyi9Cg8YggWXuJTIDhs6hJ/kMKvIh1FRLGr/CYSiTl2+ReRiOvY5d9DYoFjl34OKWKIXfgxpBgIjp264VCk/FsRR0rgOI79UoQsImJa+Z0IqVbiW/mVCC2nWOsfiVAixj3/RIQKZeqD6g9EDAXKrW3oA0MUfeMq7ibmiJtEsTauo2wyx9cEjqwJMab5ccAS7/1TIDiC6t7/QdqtF+hu/57QDfp2OLF/ZBOO/FqpDavoNq+iW7mKLosTrkq6MUocKoU3Rgk95PNsBaKK1h9etvJW45nQuN7pVuNQ03SrUfGHSgW2NU4N+s4TSljfcZvUrcYsQXvoVmOmD/K0W02pHaMPO1u+OXcWMdcfb84N1cSbc4Qe8nm2AlGF649L29Hd/Kxy3UmGJpCyqSoP1aps6wo1j+XcysrG+zbfgmQB2hRuQTJ7ECfbKkZ1H3myXC42+jt65+cRla9hbhsaicddjSTCqVmy/Y3EfZMjCb7TkYSy3ZGw7XmM/DKjK4EqYSiPCjMvj/2SMiTGs4ivc8nrXcNn95mLajSV6jWV6jVjvdTUeyn+sTDSKj3Y1HqwqfXgp4xEh95UMjDeAmP1c0ZzgSrxnI/FbV6P27wSm3ktNvNabP47I1HqdjQGC4EqDV6Mf5H9ZbXI7zISbVxWzrmsJO1ytC7LyvhuBaqcuB3r3bbeu22ld9OfqSO51vltJaxtpYlfBCrTDNnMv3PRlUCVAK0qPbMa7RkRsXXlBOvKCdZVO12Pnlqh0Q90AlXq2o1lS1fPlq6SLXxdxXItW7qaVXR6ItwvNC7ivL/JyN+XN7TNpWyRwRyaT9K3XKNvlQh/q2TDNzEL6b99apiXXXiReRy/YZMRrLnya2ht5TW0tv4a2heo6Ol5If7wy9A2fIRO8EV/9/AttXeHol4Ty+tIh8dt9FWmnrm6aD7dly89/P+H8wtTywf7Vc5RxrbSyVqopvjKlf6YW5jQLK+UFu0hl1hX8MgJ1yMnRGtT6nerM/TFYZithlX8sR/F20IrXLsDEjeJVrRiBxpvDa3COh0Y3fFZweociL0wb2h4Ke4UwGGwnBvZLdoOg3QFyzUg2B7A3hyAQ2uAlMYAKm1xFA9CRzlfhINUz0XtY4PXOdmtqU7sYBkOhm8FMuQbEjwP8CH4Tr5g3M2SPPCwT8HL7b7zzA/CuZx32JwuhaLTXdapLutSl9HsCULuyy735TBXOviKzduGg6HmQLyKAyx31GAoGqLxaJwGpXE1Mk3Mw9MkGqPGeaCawKPVhDhkDdO49RubmBx8u/M8Yh/GRmJiGBbZYVpKEVNinhimnDBOiQGvGDNR47aIi0x0o+ToNzFaQMHuA4UsM4mOYDjagmPhDSZGg7Db1KmD2SoKz35RFDcHI8o54KEnhaLTUVVGIp54sqJTRftKetzJvJJI0Wbg3j6FZptJdB1xy35Qwt9qIkTWk/5SE3NlPfIPNZFE1pP/TBMLbD3przQRJuuhP9J0yjRYT8FuPUZiPhkW+WRayidTYj4ZpowxThkDuxKYKNMo4iIT3ShpPSZG6ynYraeQZSbRegxH63EsrMfEaD32Mn7qYLYe8beR6BPuLkaU9cA7AxSKTkdVWY94YYAVnSraetLbAswriRStB14VoNBsM4nWI94TKEp4eo0GFAW2oaiyGUVVWlIsIowpFmB7imoyqSgnq4oyGVYU2baCSplKWrSwIIKRRU45GkWVqbFEzteoU9ZGkbMzqpyjQa1yaVmhyKLGx0KhrTAWIUMMIthi4MsaJ4uMIhklicouYxEyzSB+qaRXMtCgChsNOvhl5NJS+VUiGVK21/qLRLrEd1KXDXfsLSJdZjS9kwWrV4ik9rUS4m2NkzXXXh866HlrldhSVd5kGD7C129DobTqJw7foPfWrdPkTRy/obLhci3+lHhS8Hukp5ZP6BEhVfhOHxu0hXM42v/NXCbxbqBjcauviB8Smdr910L2fz7+WSRlpiUMM2RUyo3e4Q7uaRYH5XBf+OswzR/M5ivO7YDKhA4ovoPtHF+8dmpvWzvyt6ed+evizso+Zif26rShkghPrU1Rb3Kb/N16QLpNjWxTfHXecW5qI5raiKa28SjXua1UsJUVbHNN0nvtrog6+hvsjnLs6fd2N2XdeG5H8f2+TVghOorLQufpLcBNWAA68lWfM1/qOSvrOye2qDNUEuqJtckXfRtMKEBxG88mJRTwtL7dcEIBjmvdTUgoYLSq3QwJBUe5zm2lgq2sYJtrkn6GxxVRR//RHUdxQb3BhDoE/2GC2/ceMPiA4va9hxR84Ol52wMHH3DcNPcQgg+Mtu9ti6v6kY1mR+aqjsTOli27qtO4h2UbXdUZbcLZoqs6iRtStji9HhmKBZrcKNqytM226lw2SuxI2gZbdSTayhuOtsVW/SjXWe0n2rKtOs010duFttFWncWNQdtgq4Z8+TJEHx9InBCiNqUHEsxVg9UDCZao6fmBBAvcHfxAgjHFIS1dKRaiKOekcUpM5yOxECnqUs5T0ypxShlrQi1OrUCVBsosNrHeEM5n4zqpTa61hdPbeKVvU6LDK9OQ60gpAihRxqOk4oN6DhGqFCWUOBKocceiFscAKhQq9bsaOVj6AzweUKIhEaTxYImBEdQ8NlCuxzKNENRGYtlqWm+7HC2ojzaQxwxKethgiZE28uBBqZ4UPIS+lfXquR3FNfi3sF4FlNfg33i9ChTXq47j0vxbXK86o6X5t7Je9aNc57ZSwVZWsM01SetVV0Qdfb3qKF4rfMOZiBHVP81EiYvGqZkoSbkf0kzEnFubZyISWoEqDZS9pGYiliqVrXRanolYoO5LM9HAy/0qhaiJxqkPnYumm5ib7lLuQ9MoLMa53SZwHxahFajSQNmHJtYbwn1oXPehybW2cB8apz7EX0GqYWpq0Kg/oyZCEQrkcEQ5923QKWRB47gEkfsZxbaCR4Ig+zwUGG8o933QdP+HImNt5TwIGuTCv/73/wO+9kRf\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json ***! + \*****************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJx9WFlv2zgQ/iuGnnYBt5DkS85bmk13g27SoEkPbNEHWqIlIhSpklSuov99R7JIkSLtFyGZjxzN8c0h/4oueF1jpqKz6Mt1K1GJZ4s4S+PZYrvdbqJ59J4zdYNqDAfuXuodp52spdSToZrQl6n0KyZl1Sm/xgVpa5BcKURJfs5KCgdj+F++J8+4uCUqr6IzJVo8jy4qJFCusLjD3d27BucE0cGYd+/4c3T2/U2SxfM36XYxT+JtDI8k/jGPPrMCC0oYvuWSKMJZdPYmiWMLuK9I/sCwlNHZCuRfsJD9sSiOk7dxnMFbbrgieefGBW9eROfA7I/8z1myzVbz7rnpn9vuCW/unpvZecF3eHb3IhWu5eyK5Vw0XCCFi7ezc0pnvRo5E1hi8QhCeM0lHCoIK+/yCvdR67zrfd2THPA7VfzzNTrbpv2fX+BPeH8fm2usBMnBg++/oq/forO08+QGNMgGgeG/5wfxYrE4iPFzTlFt5JtkkLeMPIL/EFoNreJBE2vrXReako3YcqvVEXCTKWJdzPS7Gizyjk/mZZvsAKC66d7FCgMtF4NC2eaVqpDyLW+QwIzi/TGoD6tvPQL7BJEPNVKVb39DW2mkJnY5FALyD9eEhU6DL4SPrqTaS0mRrHyDXrHgvpQz7AvVU+CkqgQOnN3zVgSkkFVfKslzQIgfMfPFOBxWRiyDjcs5p5wFIoFr4kImprQrP59WP1ubiVpcCgxlNLq5XC4PwM8Wy77EvSs5ZyU0EpuFaXqAzmlTjVlerzcH8TuskH/4oiLj0WQQ/oWpdXadJAfxZSOJ7exmPfD01lYSD8K/kU0288JLS7Mh+hW337dINCPA5MRX8QE1jXU8Wx/E/6J6V4zyLBtCdd36Km4Cso+QTOG4N6T5dvRusxxsu6/scK5Wgw2fKovZ20HxHSnrQDjv0WjEejvw7/MkxmMD6ZQkvnEfa1xayperg/ibZfN2kN1K4lvxHw4lZAfD6QErpy1lOt2QF4H3XATa8HDP7VnrVWY6SoNZQfKWokBRt90Ak7mt2GACwTVE8bNPE+Tw3VTIzkmQqRuLqsvtUGaFw3cTcjzJxSod3tjYSnQgS4fvpgyc8KaDZuLwXR8FtYlv8YPD9rHBuGxfbQYG1q1vL2v9+3zC9nF0EF+BqoLBFBbbjRfSYbsJprLYboxtpx1Fj23esXoMhqlx7rB9uR2OPxP/aCMDmX61/Vhm8cha7HA91bzbWUR1z0/m8tLUKSyJ1qWNHqeXrTUf16lb76Or6XIzTmWFA4mHyeLOkUS3+H23UpJQPAnbE0bUS2CSUi6IdWM13Mhpu/OlBUE1t/YbA1QYCeWLYVsrRh+SeDm0RCQEf9pxa3Xpds4RcpJhqNVDbXPkzqTpOJcK/mT1VO17gUtn57C3J3cpMlUucW77Px3hRwZ83VJFGvriJ6YRHJboLmnWPUNXWAC7FbQg+/0IrjUL4RMFBxhYkEdSBLxiXB0xD8TkEZorywPXoP0I/jxhXGzWKEoJUFgeiTvs3srq2eO9Hq2Aeq92S9eDIgeYwIeawKoVY+KyVOumuBmpY0r+CgrgQVn7ohl9n6aIoc4TJjB0lEDWvmaGa05ETrGfPRd3lm1jI64b9SKtBJlbhAFTgEhuqWoUvlhCFdwRBW613cNWqnGYyDAdj+OQfdnugpBWHUa14jAKbbN2tlDrfR6mXUT9p7F3peyGvHNBb0UCl933GHgmyN6Hc/0R6+KZxiG7Ba6ReJjg6RiAos0DpTRsHWNz1s284Mr58DI+UF52N8B7vyIGzP4+nGJcWLXiNMtiR0/0S0BPtExAj3ZNwE42zh11e6duTZS/YlZaK6DebfrkOsb4aURMnsqiA+viHpPowDrwsoX1y6moRTZ20cMXtmpOgFYf8sGd8kFrRw4ptuCQagu2lJvwmpXEUu2DNSlOoEf12vY4aXOZkG6WY8OC4hzrwHRcjVhWepjd4KdYKK7jrx5H89WjRxPWoycydlS3jZ/I2VS/G9yp9gB6PG1T1aY4YAp3LfPHPPqABbtFRHS/jf34/T82FAfb\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json": +/*!*********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json ***! + \*********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnVtzG0eShf8KA0+7EfKseJXkN9nj0Vj0yNaNEHZiHkCySWEJsmmAIA1PzH/fRqMr8+TJU9CLQv2dYqMrK/NU9Q349+jH9va2uXsYfT86+8dqOb1u9o72Tw5P9o4PTk72R89Gf2vvHt5Nb5uuwafZbbP87od2frnhq/kc+V7h09vZfI1KB8fN7Prr5jOGRj8/TOezi9d31/Ou1fNue/m32R/N5W+zh4uvo+8fFqvm2ejHr9PF9OKhWXxsNn/50x8Pzd1lc/mhvZ3eDcf1ww/tH6Pv//nd/snLZ98d7L98tv/8+fNnrw6P//Vs9LlrvJjP7prf2uXsYdbejb7/rpNB+PR1dnFz1yyXo++PO37WLJZ9s9Hz5wd/6XbUfci79mF2senIj+39erHpw95/Xfz33v6rl8fPNv++6P99tfn31fP+38P+3xd7ry/b82bv43r50Nwu936+u2gX9+1i+tBc/mVv7/V8vvdhs7fl3odm2SweO7oN4my5N917WEwvm9vp4mavvdr7ZXbXPqzvm+/+3nR/9frN3vTu8n/axd6s++Pl6nw5u5xNF7Nm+ZfucH/qPuZydnf98eJr08e/P4qPD92fTBeXRe0a/ji9//swJCcvTp6NvpSto5P9Z6PXy4tNqBed+PLw2eivjW13QX7xbPTx4fLv467tUf/fs+6/+4evtgP2j+ZhMbvoIvrPf4/GX0bfH2wi+647kuX9tAvkf55t8eHh4RY3f1zMp7fGj4+Pt/z3VduF6nzuyvNhR3er2/PNSF3fZe2ync+nC+N9NvTCfbO42CR5UV6Wz5/edtKyi08+tP4Q+jHP2v100dzNm6uaFP/Mjm+63OxxeePKi3KA89XSqAXtoqvNaf6Ir+v7r81dbt51ZdZ6Tw5evBxiP58uv+aj+bNZtJm2d02GD0+i5cPXRSPaXrWrhaCzR9F2OftDwOaxEYPb6Jjeze5EXl208/Yu42VzO4uSjcB8YwSJNr+vpvOMrxdNV8qim7+vmmVvNkV5dVjG3o/9xcHBlr02dHLyYot+yK1+zOiv+Q9/crS/v0V/8z8sqfAmo797mDon69HPuWNv8x+e5oP4xfu9cYcN+kc++nd5X7/mo/8tt3qf9/UBvONkiz7m4/qU//BzRmfCOca52ZeMJvkj/zdn33k3n900D8E3rEjPOy0WKv8dmcrL/WIqF7PZxWxxsbrNw7ba+Paym3xEjfQGFw7GjSpH9dzQURnai9zqMrcSn3yVP/E67+trDtIs7+v/8h/e5D/0Gjbrv81/KFynza3uM/o9d9vNwcpqmY/+Ie9rlQ/iMWfcU24lrHSdj+tPP4hXR55fMREODp6XrFxU2lM2HjyHbHyYzS+rk/1l+yTiHKZnnwoe+qWaJ8d+Ka+rzdoQjdb7rCaPq3m7mAm+bCp7uVgtunn8Yp1TqS+b5axfuwr/365bdFldr2adcts+6KXDRu53/A2ZQl8S52ommFhBdWs5uR64nF5fqzlty3ExRiuOzdg1i8Zr//io6N0S/noxvQdTK3963p0/NKKXHt7z6XJHhHerlQWYDUDU3e67NfbsfjlbCqnr68PXdhUWi2neD8ntI7eYPop6mF6sHtTapffyq3nzR9YqlXU7vVio9c75olEffNk+TC9Cxbk060YSA2DKAuvQD7a57EKqFqmru+vpYnU7n67Ex7TX3TrzRuxuiv2AcbkNOevCa1/3HJpnLy6vuoVeWBn6EiVOsr4Cidw/4Vf4hEP/hNvO6VZz/Ajz5qkzc43LTdEvl7OszCvL85YOtOy9hbQvZd7VZ3dW3OU9jJst5tKQ+tQcM9Cn/5g3PjXJQfXdxdHz1VE6AltIX84eZ5cihJN4ZL5iFsXhh135o8+7/mhNVWiTdX/yRWUCXc279M8LpeI4h8GOnOrB/4ZGyEaC/sBPA9KH+ElD5xFwFhLPMqmjL45eFHG48CE+ilzH14UxD7yXOi7v1AF4edRyNJqqL/Vld+xcqra3aKwQzmyVniGhm8DJE335Gj/9qCyo5u2fzd21yNwPVFF2Gqc66cmxs0h2Ze7r2pAu4oHAUFNf/fwnR85O7T59bReiV7/Sp3sYKlXwMfKTF0P7y4oRfaYP8IjFyS1c4Viu+lXOQhxvTEGPYo2TrRYTvF3NH2b387U4LuqgJ3kcjpJI3XrrYTadX86uxCnWum4N7+LneMKKZPHa2JlmO2adunRRGei7mg3WMuZdpTZ/ph3h9bduxYAX4ewUaNHeNHd4ImTmuGiuZ8u49PUSpbWXT8e5LuxsZNVVdTgf8WDHnPLCrBhaS5Hxuqyk1P+SaR+9KmvX/lJXvBBmcf7pQaxQfqwa4FxOqvvDaD5UTKapzo414XVt+bAjKysB/rNWGvzZ5gq1EalNPbx4t3mk9sm5ju2zdy5LaMbcL+uCZv4gLvg8BJN2T3xqdzhiXuKU3d2uRE/iEXmo5DrTa4FC71ef4grnxTH6eJfAiy6RxaF9TCcxNjFX5t9Tlcd+ihEHzk8l7MaOMsX6QuNnOn80XqvxX+iwSxy6qH2dzmFqKEW+OTWhS902FsrlzZfjsslT7RsDSOsgCwLPz3beHs0UOzQMqxrVqZzrP8oFomWwPsWxayGdTaibHm1lyv+xchAryvwyEF2CzC6U0f614o2Lncvdd3F8/HAr4/Zhd17v/KzXlX2+rpp0PB2wEYj7cSMWE6cvRSrTfc0pbuQC2hZkYSXge9tZCnQIdsVm5yfN2+vNeN+14mJVWzfTVZZKBnW7qlTytTwSu8ICM7nHvJK+d2pXfv3lLi+a3fNrNf7TanM78l/PRqfN4u636WyxuYv8z9Hrze3q0bPvjo//9WzY2rpHQNvjjGgwdYRv4tbWVQLCjqHwa7d15FvlEABBcgRuQxXotv4DCs4TlCFkgW2vDgW0LRxE78PWp27rlW+VmCEKvXfh8yYWz23LBsBR6D1w6D3Q0ntA1HtQrPfAhroOrLcTJGfd1r53f7zZPDR1stl87pulU8jg6AHfd5sHtlt4TuDZdy+OCl6FQ1nlkK0qIVvJkK1yyFbVkK1EyFYiZKsUssfY06dNFtjWOnRwXboECA59oEMjLGFDVMfGqZidc0UX5Y1AVNvGZYEXFarcEJW6cVXvJuaiN4kq37guf5PZA0wgIzBOblD4+4zAFwyROThXDlFUsAlDlPjGVfabmEvAJKoD47oYTOaKMIHLwoRYGwWjpxSGxlIYuosxthgThM8UDcymIOU4RVvlQ2bvMb5rCIQLmVQZgoofmVwbguRMJugheBRRAqMqaJ2Dw5ZlPPvWYB/oW4bIt4yTbzln3yrKG4HIt4xL3yoq+JYh8i3jyrdMzL5lEvmWce1bJrNvmUC+ZZx8q/D3GYFvGSLfcq58q6jgW4aoaIyrojExF41JVDTGddGYzEVjAheNCbFoCkbfKgx9qzD0LWPsWyYI3yoa+FZByreKtsqHzL5lfNcQCN8yqTIEFd8yuTYEybdM0EPwKKIEvlXQOgeHfct49i2MDZpX5ORgUSQbI5G9LMhvapxcLYrS2kIT8LfIyeSiqJwutsh2F3XyvChq44tt2P2iShYYRfLBIL6vcHDEyMkWSVTeGJqAQUZOJRpFVaexRS7WqFPFRlGXbWzDtRtVLuCoxioOGrppENBSg4C+GgU216gKhw0NwGYDV14bGqwqXWPXjeI3h1T4b9R3DWnFiWObnUOaPDmqO4b0sRZhsOjA15XAsllHMTu2E/RrpOTWKJFXB4mdGsQ3mpJLoyQ9GhqAQyMlf0ZJuTPq2ZtRJWdGSfsytmBXRo08GSVyZJDeSwpujJS8OEjKiaEB+DBSKlmUVMGinssVVSpWlHSpYgsuVNS4TFGLRQoKui5g9FzA6LiI2W9RE24LMngtUOW0IK9kV9hlUfrGkAmHRbU+ZBV3xRY7hiw5K2rVIXvUkQRPBbqWAWQ/RSm76dB9tFJD5KPGyUSds4MW5Y1A5J3GpXEWFVzTEFmmceWXJmazNImc0ri2SZPZI00ggzRO7lj4+4zAFw2RKTpXjlhUsENDVFjGVVWZmEvKJKon47qYTOZKMoHLyIRYQwWj5xWGhlcYup0xtjoThM8VDUyuIOVwRVvlQ2ZvM75rCISrmVQZgoqfmVwbguRkJugheBRRAgMraJ2Dw9ZlPPtWOVg0LmfkXC6QdYHA3mXSG8XIvVyQ9mUy+JczMjAXlIO5mi3MNfIwF7SJuc4u5grZmAvkYya8FwyczBlZGQjKy0wGM3NGpeSCqiVXczG5RtXkgi4n17meXOGCciVWlHF0NYNoawbR1xyysbkinM1EsDZjyttMXIlDZ3dzYeeQCH9zrTYkFYdzvTokyeNcqQzJo4oY2JyxtQgUG50L2enKkaHTOSOnc4GcDgR2OpPeKEZO54J0OpPB6ZyR07mgnM7V7HSukdO5oJ3OdXY6V8jpXCCnM+G9YOB0zsjpQFBOZzI4nTMqKxdUWbmay8o1KisXdFm5zmXlCpeVK7GsjKPTGUSnM4hO55CdzhXhdCaC0xlTTmfiShw6O50LO4dEOJ1rtSGpOJ3r1SFJTudKZUgeVcTA6YxtnO6QAmVOlwTo9qAthi9bcTsphFyuYPI4w+xwg/AmE3K3gqW3DSI4WyHkawUrVyta9rSikKMVrP2sqOxmhZOXFUxONuD3iYCLFUIeZlg52CCCfxVCpVKwKpSi5TIpChVJwbpEisoFUjiXR+GxOAaKbjUg9KoBoVMVxD5VuHCpQQKPGohyqEFapUNldyp4R8iFMxVFh7ziSkWthDw5UuEy5I85MuBFA1mngPCKq+C83hpqA23IEPmQcTIi5+xERXkjEHmRcWlGRQU3MkR2ZFz5kYnZkEwiRzKuLclk9iQTyJSMkysV/j4j8CVDZEzOlTMVFazJEBWKcVUpJuZSMYlqxbguFpO5WkzgcjEh1kvB6FGFoUkVhi5ljG3KBOFTRQOjKkg5VdFW+ZDZq4zvGgLhViZVhqDiVybXhiA5lgl6CB5FlMC0Clrn4LBtGU++9UNHX2/WUs9ty5ZejorHAAoxBY7rM6clkoAsSsAsQMCG2AApBe/ocx8p2/L0MxQOF3hISKPlcAHRmINiHQFmHQE2dGRL/lrifmxbFndHFndHMe7OMe5OLe6OPO7OPO7OStydWNwNbUziyPozDluTuGWziyOcO4wO367XecEWDf6MwTJEETNOYTOuYmdiDqBJFEXjHEoTOJ4mxKAapsgWDuEtaJzRRCCKtvEc8iKluPfveMa4F8RxL5zjXriMexFF3IvEcS88xb0IKe5FoLgXzHEfOMZ9QOOMJgJx3AsXcR8kivvfhpC/8q2yT0Al0IBCjIHDJwMtkQVkQQVm8QQ2hBJIiaKjqc3l/VbpAaDSA0ChB8ChB0BLDwBZD4BZD4ANPQBSeuBo+52gXZ8OCol6k/vUlKUkIt2nRvYJXk4OOHe1EV1tRFfbuJWPua0cYCsPsM1H0tK8CIo4xras4QHl2FtJ7G/nyrdhjfI2r1He5jXK28oa5a1co7zNa5S3Yo3yVqxR3qY1ytu8Rnk71MT+sW3ZGsVR6QGguGxxjssWp7ZsceSLE2e+OHFWFidOSg8c0VbugVUAIt2DRvYgVADg3LFGdKwRHWvjVj7mtnKArTzANh8JVwAo4hitAgDlSNOksEGr0GCVO7KqdGQlO7LKHeHTGlBER1Yi2KuQRaej7XWGbQn0W7FseyRqtOepRnsaa7RHdNSgUPX2rIQfUCzV02D1p9nqT7PVn1as/lRa/am2+tNs9afC6k+F1Z8Gqz/NVn9asfpTafWn2epPq1Z/Kqz+NFv9abb605DVpzmrTytZfSqz+jRn9Wk1q09FVp+KrD6VWb054z7yrXjhrEfpslj4KpNQFyRQiZCqqoWa5MKhBlRDpOpyokZcWSRTkZFK9RZVSA8SKKNJpYJkVaQ+NclVwA1yxVILKhlSuUZI5pKOclsVdoZF1jw1+VbH2QlI1aZAjXb3na2CVHKNqIKBkEBeQqqyFWqSHYYakNmQqn2HGrEFkcxuRHI0piiCR5FAdkVqcq5fRsOF8wPbsmvmgOLlchPOwtY4bE3ilp3nOsKTV6Pxy4fLGsmUgoeTh1+GWBxbZywAgPAi8JaGt/YPIqL+197aj+pZRuOMJgJRYNTr7CRVQiTfbC9xwhe6KQYcMfVC9yDFbILgkUAhZFUFMrY5qwnjmjCpChRgUnOYY4NKsEUjDnmuWBlFDn+9YocGg59i+A1R4J2rkBf1LKNxRhOBKLTGc1CLVAlnkDmQRVznGHDwjKewvRttLzNsP7DfssnVkV24chQnWec4szq16dSRT4/OfD3grFy4cmJz4xaVwnwtEPXFOHXIuOqViblrJlH/jHMnTeCemhC7a5j6jDcIGFGf0w0C5qrP6gYBS9TnfIOABe4z3yBgzH0ODvC6KnD/o8pRiKqMRWwiIhIbcFyimqIT5RSjKFOkokjxKvc/XwtEMTJO0TGu4mJijohJFAvjHAUTuP8mxJ4bjn3+dejukW/FmxO/YicBxcc9nKdbGL9irwD5AxzOrC/Ahm4AsSc5DH2KW2XyQhTmLRc2U9axbY3D1pfQchI0m7EApUcEfkWjPSJEYU5Gy1wFXBktSxT6bLQs8CCw0TKm4cAVMSMamMqKmNSzHM9xRl/yH05yKx42tUgepPCmOAxg5DSKUaShjKIaz9giD2rUaWSjyMMbVR7jqMaBjhqNdvrCC8lp3Hd94YVqclYZlXGFf6nsZ1Jpz1lR/dKHQYeXXiExkFJaoERJgZJKCdRzQqBK6YASJwNqnAqoxURAhdKA3rMXlFKg/p59bnAmIz+W9Ivcw0S25WGvvHs+qOV1QRhxQzTcxmmsjauBNjGPskk0xMZ5fE3gwTUhjqxhGlZ8R5gRDWjlHWFSz3I8xxl9yX84ya14+NT7tIMUL7LhELJCI8kyDSjLaly5TR5ebkGjzDIPNus85qzHoWeVMoDkT3WF8iHJKi2o0Vl1xMZV5Ut1b5Pq33DmsJwTyF6hg9RxRknjAqWLCypRXM0p4holhwucFq5wQrgSU8E5JUF4wzYxGvjaG7Ysn4nojgX7Iv52ItrxoMq3UAetXN2B0TREg2mcxtK4GkoT80iaRANpnMfRBB5GE+IoGqZBxKt9jGgIK1f7SD3L8Rxn9CX/4SS34sFTFwAHCU/SjwjR2KWTdOZq7NRJOks0dvkknQUeOz5JZ0xjh28mMKKxq7yZQOpZjuc4oy/5Dye5FY+deop/K/02DNv2mfLfcMQAlcECFMYJeHpO/TccHUA2MMBsTIANwwGkjISj/gkt648/oeXIntByJB4s73l6sLyn8cHyHtHj4z2jx8d7Fh4f74k9N2QoPrW4IX5BqN+KF7t6ZHfOAeVLXD1PV7e2FG+MO47Xu3pEl7p6Rle5NqyNW/mY28oBtvIA23wk6a61K+IY/f60o3ixbYP4qcX3I3wvod+KGdUjkT49T+nT05g+PZLvJfQKJVbPKLF6FhLr/Sg9ffZhhM+r9FvxIZUeiSdTep4eR+lpfAalR/LBk16hp016Fh8x6VF8ruRDcNUP2VA/1Lz0wzBwvp/Pub+fK/39LPv7OfeXBw4U0d/P9NTpBxg4J735H5etje8f2tYkbsVH+D+Qqw+0XESD0TdEITGu4mJiDo5JFCHjOkwmc6xMoAQxTlmSL2o6onzZeVHT1M9535w+xnfFSiSSSZVYVVLK5FqsUnKZEDMsXLeNGTLOSTMRiLJOXaQdpHLnC1LPEIXTuAqniTmcJlE4jetwmszhNIFSzzilXuGQeoYo9Zyr1Cvq57xvTj3ju2IlUs+kSqwqqWdyLVYp9UyIqYdvRB3HDBnnpJkIRKmn3ogqUuVJTRY4tN98UpObiDDvelKT1UrIdz6pyTKn6q4nNUnFtNXP9lRUmcKhzefaZ6Z0juq3Y65SOzbYGfNamsdGu2OeUz7KlPjpoadjlaXjWvpOqgIXRPWhp22DbrjhxbR+y57tcRRfTOuReDGt5+nFtJ7GF9N6RC+m9YxeTOtZeDGtJ/HFtE9DNe+/tC1bkDuKC3LnuCB3agtyR7wgd8UX5M7sdRBHdlpnyE/p+q34TFWP7EsgHMWX3p3jybtTe9Xdkb/G7szj7qzE3Unpgf/hRTuHs/Qt2Z6qOoldanIv7VQVUcgu57KX4VQVGufON6Lzjej81/X91yYe0iwM3Syn2MxPwoy1YRdt7ntb6Sie8gK1MnJEeQmKF5izkpeArJoM2YmiF9giDOkiXgXqURlERGFKcGHZ3M5y5qzCMaxyrFaVWK1krFY5VvzsNigiViuRF6tUFE+hD/6dV/2WebGj9D1XZVpFF04PujEnP9YPurGYnTk96MacPTo/6MZCdOv0oBtx8O10GsBcObg6DWCJvLx2GsAyu3o6DWBO/l44mLwhym3jZPfGleebmC3RJDJA4+yCJnDKmxDz3jDNCIVTcTsOc0PBIhI8SxinqcK5sAYT6xFSM4dpleilOcSEWvR4Nil8lrOF5xXjPLkUoc275WnG+K4giQnHJHJS49pOTWZPNYEmIeM0ExXO01Hhi5xKPDEZp9nJuZqiiirmqSKt8mHyjGV8V9jF3GVSJeyVWczkWtjTfGaCLu6n3GuY3gzRHGdcTHTp6eYyoPrpZq3y1Lfj6WbdREyD+ulmraYpsfJ0s5ZpetRPN0sVp0p9wUKrctqsXrDQDXgK3XnBQjdK06m+YKFVnlqDihNsFLggo8qTbVTllBubiGklNuAJJKppGolyqtYoU81GkafloLKjkRin6Pgya+0D03QdVZ60SVX2GJt8K9JyGo8tdo5FntKjvHss0vQe1Fktb9NUH9U04Qe5rX1cmvyj+u1gq4VAbMDzUlQrs1NslOaoKPMCIaq8TAhqWiwEdVFL7bRwiCovH0iVi4jQRi0lQoNVrUNpWRHVbw+oWmLEBjsHtLbciI12D2heekR5l5k91SKGi5Eo8JIkqmlh8nlYjZw8t62yB0BlugAUYg8cPgFoiTIgixowCxWwIT5ASg04Ks59bMRKYUD4cssJIepwermFueq6ermFJQpCfrmFBQ4Hv9zCmAJTOEWnYA5ReofkRHEKln6HRIoqbNV3SKROAay8QyJVDqV8h0RqFNQgUmSDxuGl9zBOMqXQqvcwhKTCWnkPQ6gUUvkehtA4nOI9DKFQKEGiQILCYcQ3G04IUQDTmw3MVejUmw0sUdDymw0scLj4zQbGFKjCKUoFc4jECwQnWqGA1V4gqMgqfDteIKi0oGBWXyCo6BzaygsEFZUCTTLFm1QOe3js/oQZhTo/dp8EFV752H3SKKTisfukcBjTY/eJU+hMoKAZ53DZz19AuJxRuFygcLmgwuVqDpdrFC4XOFyucLhcieFyTuEygcLlv8NC4Rq+pR+CVQiFqmAKVMEqTEXLQSoKhahgDlDhHJ7CY3AKpdAMmAJTfvohhuVsCMn+9ob+GcYDmT3kDCxeHAIBLwkBtgtBwPzKDkA/ewVYnkgFZFd2nG1+DOHQema/gwAonm+54L9+0G/ZywWOxG8e9Dx9O1JP4y8d9Ej+yEGv0O8b9Cz+tEGP4q8abJBfv+q34ulej+ySpyNx2tfzdK7X03iC1yM6YesZnaX1LJya9SSefp+N/IoSkm3i7h+8Kqgf5ec2Vv41o8DKaXZg8UlqF8Kj1IDxq0aB+zPWzuBRaofwLLVBu8SzPRPdoM11ncMXtmXnnI7iY0vO8QTUqT2g5MgfOHLmTxkZa+OxtiKybS2KrY5iK6KVvhAVJBVI/0pUYP5ugzF/wN5rAi+XeFat4lauFHU1pOeyLFa5LPTFjl4RBcOXNXoWCmZcvHn7yP04eDMw82ZgcchAwCEDbEMGzMcFoCc4wOLNgGysnPU3IXwrvvgwTg4LPL34MEaHBSRffBgHhwXmOWYovj4zHhz25Ni2bLHgyBYKjuIiwTkuEJza4sCRLwyc+aLAWVkQOLHFgKFSC8dA8JWg8WCw/hdN7qXZKyLdy0b2Mngr4Nz5RnS+EZ03X9262XiE18vHo3SRfDzKV8bHgwW+sL2aAwKKb6Q5xzfSnNobaY4oL0Hxd9WclbwEZC+mGfJr1TaIaHw+2P6jOGM0PkDip3DGZHxA4w/gjIXxgUI/ezMOxgcs/NjNhmwu0J74Vlyj9ygttifFL/d90zIAmPklsOg8IKD1ADbvAeYWA9DzDWDxS0BmPM76p8yPbSs+mztJfgk8Pag7Qb8ExI8uu0I/pzFBvwQUfyxjMvjlS98qRw2oxB9Q6Ahw6AjQ0hFAdrjALPTAhsgDKT1wFNcOk+SXk8Ev9/f3bdPzzJktSJHFPHMBrQQorkehtVmMIzcSZ5B8BumG42SEq9HJKK1GJ6O8cJwMrgm7bUUE2lpvw8IRsFeVM57SQYKCc2iTOjAvLmNkn5ORWjdORrhunIzSunGS7BN4WjdORmndOBH2CQqtGyejvG6cjHjdOLH7GeAn6WZNEtgW9e2apAqDTDdskpCsMt+ySQqZZrppwwLYZ35BkbgyUvmCIklkqdUXFElmc80vKBInmy0cvNYQGa5xcl3jynpNzP5rEpmwcXZiE9iOTYiebJiM2W/GhQrle3SEseqNsVWZwI7tgjIyU7N3uyQM3ERyceNs5SYkPy8Km3rh4OyGyN6Ns8cXoRWfl9zehJ2RUr5vGpu/CZUZwPQ0DZjCc4EJPCGkW7oURzE1FGklEE0SxtVMYWKeLkyiOcO4njhM5tnDBJ5CTIjzCN1xLQarbrkqjSeU6k1X1UBMK+q2q9LS5CJvvCqRphh161VoMNEgpbkGJTXdoJ5nHFRp0kFJzzvYgqce1Gj2QYkmIJBgDkJK0xBKNBOhpCYj1PN8hCpNSSjxrIQaT0yoxbkJFZqewr34YBTiLn1W0IwQs8+ixrNV0JQNY4M8ZwVVTFuo08yFEk9eqKX5C0SewkCCWQwpTWQo8VwGWqs/Ps1oqH0rmmpeQ5mnNtQqsxs2SRMcijzHocbTnHosJIdbTHagrjSlKQ8lNeuhnic+VGnuQ0lPf9iCZ0DUeBJELcyDXcX2P7u8/a2Z4myIBkdDFB5lAg6fArQ8iQLI7vsDs5vbwOC37AeCPxW9Refd1vmoXNU+x+E/MrQZ2APfKgMKSHzD0jkNIND4DUvnYsBAoW9YOg8DBCx8zfn50Mntb90M5pp+K+Ioq0XaXiTtwtA/KLrdzeXF8COsjprwOQ0mwIDKiyuIOAEGTglQqBsuYsyLAYW8GFjIiy27gunGSfcx82a5nNlMfjXY64FttXHL0sCR+P2oKzJBoPGXoq6E5YFCvwl1hQYHKP760xXms/eV8mB7afmKUmCbAdd5D9elpplXnhjfquX3RmDL5hVHOFv0dFaGrj/GWUiwLcrZtOWcTVsa0maLYtpsWUybnt2UtYhvxft0N2HlASjfuruhdQbScJ/dcLyjdxOWE8DoC8tuyqx+bFsx6Dd5DneeBuMmzNiO5G933cT52Vn8Sc+bMBsbWsetfNQ5VW7yWzVDFCpv1WiVRnDXWzW6SR7XHW/V6BY02rW3arTMOZDfcJHx4szY9YaLbvKtEeHU2f2Gi27ECVV5w0WrlGb5vQct7AxMzsNiJdv1wx1a1oBwTiwo7BQEXLJsURtsqS3z8XYrG6QhaFXxzMihvfRSpNA2O6whaEUPvD5WFfgbYdTOoF350tzHjKAVBpaQtyqTWFo6bWfHKEet/MW8uSqPSm/3yUK0I1bjd6iyKuyImyQ74gbRbFgls2GZzIbl8GWZLMYnSnpVB2tHpHaE6Vsx2h2gHdHZFZpdcakH5dsRgf9/d3Jo6pByI//60YiHFbvSQsqKXS70ny3i2U/UytwptfB0qWjhD+5FHC9mRK18oNS6mXg+n9bU+LCraHE/vegv5Bwl6dE60AVpdLEZsJe2FZ+s6ZEtKQDZwQEM18AWZQ1jepN33eRd0xLFOeY5UFyMOI6vpi/issMZPTO0YZ7a/VYszB7F0LtATy1tkM/0/VaciXtkAQAU9+9CnP8XZTVkh97mALeVaLYymm0OW1rWuCIC2sYX9hdh1WLoPoTNT7SeG/s9tPcprlQvJq0h6r1xyjHnnMP6jqNhsW9O6Xy/kbkYDnW3MUk5zdPNRuY8PuJmYxSuc5w5/43LIkg3LYdKKBwS3RDVhHEqDOeqOkylEgl3OmNnuVgq9zlJrA8R1071JifJtVHiUsp3OCO/z8OQKqsIv+c/hxqz72XyVoYoaMYp351zjfGXPg01hl/6RC25xtKXPiUuBlB96VOSco2lL31izqOXv/SJhOscZ64x47LG0rdHDTVWONSMIaox41RjzlWNmUo1hl85RZ3lGtNfOcVifYi4xmpfOcVybZS4xtJXThG/z8OQaqwIv+c/xxqLX68CbaPAAYwqVwCpqfbkd7qUCsxXn9RfpWqsXH3Sqhr2+tUn3UBUaeXqk1RTLtSuPin5ujaCqYajqitZf11MqeegYpVGgWs7qlzhpMo6j2242vPVOBWoVPm7rsbJJt9KhOQFu6/GyUa7cyG5Q+VqnFLva8Oc/SLIv9d26N4xnNj1Fxm2l2qMlKATtq+0iji+HBA1fEEgKvaSQMT+OkDk/kpA5OW1gEjtG6oC/jQqr3MasRNnwuIV0CJuvk37KOx3nNpM0mdPdEwnKUDdAMFPCvVb8XpPj6JN9Ehc3+l5uq7T03g9p0d0HadndP2mZ+G6TU/i9ZpHmBS8T1Fvcp/ojsNjNnrnsk/ihsJj8HFHoqt8v+Cx2JJv5WPmFx+NywNs85Hktx5NEcfYxvfRHoN9GDJreNGjpzQcT6FrT7lrT5WuPcmuPeWuPVW79iS69pS79pS79pS7tk5dW4dMW+dMW+dMW1cybS0zba0zbZ0zbS0ybS0ybT3Ce+prHA5A4p76moYDaLynvhbDAQrdU1/jcACK99TXYjj4wscwJuHCR2zJo5MvfDAX4yQvfLCURyxf+CDOYycufEQBRjFdHmCuxlNdHmCJRrZ2eYBlHuN0eYA5jXa6FjAMuXh2cRh1fnYxteexl08uCklkQOW5RaXmPFCPLQqJs0E/tpg0yAn1MKGQVGZUHiUUKuXHjgcJRQvOEvUYoZAoV9RDhF26/Os//w8s8zdF\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json": +/*!***************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json ***! + \***************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnV9TG0myxb8K0U/3RjC7NgZj5o0ZZnYGz5pZGyH3bsyDEA3oImhWfxCajf3ut1Xqyjx5Mkt+cbh/p9RdlZV1qrrVJf5T/dg+PjZPi+r76urvy/nortk7PPpwfLh39P7DyUm1X/3cPi0+jR6brsDl5LGZf/dDO735dTGaTsYbdTmdorq3UfdUHj1Opmss0MFhM7m731xwU7Y73pY+fbqbdqW+e3vUkfnPk9fm5vfJYnxffb+YLZv96sf70Ww0XjSzL83msz+9Lpqnm+bmc/s4euqr+cMP7Wv1/b++O3jzZv+7g7cf9k9O3u+fHLz9Y78adGVn08lT83s7nywm7dPmSl0xFS7vJ+OHp2Y+r74/6vhVM5unYtWbNwd/efPmTXeNT+1iMt605Mf2eT3bNGLvf8b/u/f25MPR/ubf4/Tvyebfkzfp33fp3+O905v2utn7sp4vmsf53q9P43b23M5Gi+bmL3t7p9Pp3ufN2eZ7n5t5M3vp6DaYk/neaG8xG900j6PZw157u/fb5KldrJ+b735puk+d/m1v9HTz13a2N+k+PF9ezyc3k9Fs0sz/0lX3p+4yN5Onuy/j+yZ1QKrFl0X3kdHsJqtdwR9Hz7/0ffL+/cl+9TUfHb4/2K9O5+NNpGed+OHdfnXWyHEX4+P96svi5pdhV/Yg/feq++/bg7fb/vp7s5hNxl1E//Wfavi1+v5gE9lPXU3mz6MukP/d3+J3XcwSbl7H09Gj8KOjoy3/97LtQnU9VeVNf6Kn5eP1pqfunrx2006no5nwD+/ebflzMxtvMj4Lx8cftsLosZPmXXi0ZvkzqQapy732PJo1T9PmtiTZj0n1RvPNGecPqhz3yvN0ORcqMRt3A3XkL3G/fr5vnnzxrimTVltykBs5n47m9742fzaz1tP2qfFwsQpKLu5nTVD2tl3OAjp5CcrOJ68BbF6aoG+bOKZPE6iwhGjcTtsnj+fN48RK0gPTjQ842vx7OZp6fDdrupEcNPPfy2aevEZT8KDve637+/fHW3bq0Q8e/ahpe9Cf7MyX+smjn/0H/+aHwC9+UP7qG3buT/9R0du3W/Sbtjuf6+++Ep88uvDn+t2X+oevxGewjvdb9MWf69Kfa+DPdeVrP/SlvvrT1x790yffdTeZPTQLYxsyRq87zY5T/hx5yrF4yngyGU9m4+Wj77XlxrXn3dQTDJHkb6Yy6lMeXQs6PDzsx1jgv75UcOVb/8E73433PkgTj/7Pn+vBl9IhLGn/6K8YmE5ge8/BqPdDaObR3Ndr4Sux9CF88Um48pV49R9c+0r8qejwg+aXTYSDg9zrMJna8ruycTGZ3hSn+pt2FcTZzM46EyzSQk2T421u/+1mYYg+K59ZR3PH7bSdTQI+bwpnGS9n3TQ+XvsuS8NmPklL18D+t6uWeFjdLSed8tgu4pXDRk4n/oZMoc+JczsJWLB+6lZy4XLgZnR3F01pW45LMVpwbPqumTU3/qPdWmh0Nxs9g6nlj153dxFN0EoN7/VoviPCu9XC+ks6wOrdXUGOzXQ6eZ5P5oHUtXVx3y7NWtFN+ya5tedmo5fABkfj5SJauiQvv502r16jkZXx42g8i5Y717MmuvBNuxiNzYhTadL1JAZAlBmOQ61sc9OFNFqjLp/uRrPl43S0DC7T3nXLzIfgdCNsB/TLo8nZk2xwp7rqOXjf53w7u7ntlnlmXagLFDvH6vrDcrnAhV7gncwJs5vHzueWU7yCnGmkTDzjZjPk5/Ng+poW1uZtoZ5tkPTd6OxuiLush16TlZzrUJ2Ybf7p5G+zRiemsEv1dLbvdG3kaiCTxc3kZXITdFJta6bL5WBoaLXth3SdF3xIJ0gagzJVpzsvGiTQVH9KvZ4ZKIp9GKTmNBr0M9RD0hP0Ab0HcBfRO4bOIeAWxN5iUkOPD4+z2D/0CC5FnqOrQpsH2so4Lp+iCujwKOWotVRd50dn0xup0tmsrUI4vVFqhphmAidH1MWrvfrhSR+waftn83QXXP6zvYTew0WN1OTYOUgCUYcXTyOylrUVga6mturdj4+c9tF9OwtadUFX1zAURsEXcok32WwLYRvQBTRidmozjzfmy7TGmQX1pRSUKJY42Wo2wcfldDF5nq6DelEDNcltd+RE6lZbi8loejO5vfV9tS5bwyd7HU3YXcny08402zHrlKVxoaOfSjZIHQqeEo/NX+lE+PCtWzDgEzi5AZq1D80T3gaJOc6au8ncLnx1iNLKS6djPy7kXmTZjWpzN6LBphWkDMyCobU8lmRcFlLqn2Tahyd55Zqec9mnYNLKnxb3vq4/Fg1wGvnWu7xsWxRMpinOjqVZ8LS0fNiRlYUA/1kaGqVKXZR6pDT1lDx3XrpyeRxf7FyW8IyZ1wXNdBE87lkYk1ZPXLU7HDFY6b3PJhe0xNZIQxWuM3UsUOj1PtWucI6P0Me7BJ51iQxVk2nE3cJ8OMj5OgonpI/hIkPuMGzH6T2MfKkTmWJ5ofFrITV/LY3x32j+y3HoonY/msKztzzIN7cm9Jxb+iJyefFlu2zSVPtGB9I6SILA87Pc31gzxQb13Rr16iic67+E613J4PgWRzKss4noG4+2MOX/WKjEkjL/UOz8ZjKOjPasMKHNdrbmk+0frW5huft5d17vXFqfFs55WjTp+HbgovDs8M9g4tSlSGG6LznFQ9iUN9mrzEpAz7ZzKNgq6PPdnVeatneb/n5qg0dVrTdTSR8v5QzqTlUYyXfhTYM8X4GZXGNeSN+ncB6H7w/dFKGeXxrjPy0330X+sV99bGZPv48ms803yP+qTjdfVVf7370/+mO/P9q6h0HbelrUmzrCv22O3sjR1lUMwoahcNEdHelRrgIgSA7DpasM3Y5/g4zzGKUPmWHbp0MGbQcOon9sjqT1l/YoxwyRab0KA3PWgW/9oND6Qdj6gW/9oNj6QdD6vPAzLNkJkqvu6ETaMOyOuqk4H9bd4bEe5SYBgqorhVcCOnyY8bI7eieFlvlsgEyAgMNVgOYAAaIAgSIBAiYBAtYHSMmLacPKHK3tkcRHEcZnS/tCOF4F0aAVTiNXOQ/frMAYFkQDWXg4mrMKQ1oQZbbwKL1F9DkuEiW68DjbReaUF4FGvXAa+pnD+M/oMkDkBMojO8jqwF+OjUH4rvAFFiFSIXwFsxC5FD5nGyJY78gYDCQjdJHMwEoEkZ8I96aSpchZsgb2Iog8RnhkNCJ6txGJLEd47Dsis/mIwA4kgrWhjF98q1cerQNE1iTc+1NvE+hPgsifhJM/KWd/ygr4kyDyJ+GhP2UV/EkQDTDh0QAT0Q8wkWiACY8HmMg8wEQgfxJO/pQ5+FNGlwEif1Ie+VNWB/5y7E/Cd4Uv8CeRCuEr+JPIpfA5fxLB+lPG4E8ZoT9lBv4kiPxJuPenLEX+lDXwJ0HkT8IjfxLR+5NI5E/CY38Smf1JBPYnEaw/ZfziW73yaB0g8ifh3p8wNGhSlpNTWZHsikT2LCODcVlO7mXF0MJMEfAxy2k0WjEakraEH5dWp8FpxXiE2jI8TK1KVmdF8jsjgukZflniZH8kRh5oigwK9WA3tOI34x/4otV3xb/gkLbMzvg7r7SqNUyjgWsajtZpBPBPy8lEreid1OiRnZoC4KmWk7FaMXJXW8JbrNXJZ60Ym60tw45rVbZdq1rvNdpLIU6rAl+XOPmxFb0pK0FLRkqGjBLZsZHYjEEEK0ZKRoxSaMNQAEwYKVkASpEBoO6HP6o0+FGKhz6W4IGPGtkuSmS6IIHlAr2MKdmtkSKzhQKD8OpstCh9I8qByaJajnLBYLHEjig7c0XNWisoYKxA0VYBg6kiJUtFyRsqqJGdggxmipSsFKXISFH3NooqmShKsYViCTZQ1Ng+UbPmCcpLGJNVSNcxJdNEyVtm33r0S0FklsLJKZWzTWYFPFIQGaTw0B2zCtYoiEas8Gi4iujHqkg0UIXHo1RkHqIikAsKJwvMHPwvo8sAkfMpj2wvqwN/OTY84bvCF1idSIXwFUxO5FL4nL2JYL0tYzC2jNDVMgNLE0R+JtybWZYiJ8sa2Jgg8jDhkYGJ6N1LJLIu4bFvicymJQI7lgjWrjJ+8a1eebQOEFmUcO9Pua5oUMrIoVQgiwKBPUokMCll5FIqhDYlMviUMhppKkRDTVU/1lSjwaZCPNpU5+GmCtmVCuRXIoBhCbuMGFkWCJFniTwIrsmupcLOWAa+pVoplgXnUr0YS+ddqljzEg7uJQztSyD4lzIyMBW8g4kWWZiI4GHKyMRUiFxMVW9jqpGPqRAbmersZKqwlalivUz4S9D+VcDWESM/U8EbWq4YGpoyMjQVyNBAYEMTCQxNGRmaCqGhiQyGpowGoQrRIFTVD0LVaBCqEA9C1XkQqkKGpgIZmghgaMIuI0aGBkJkaCIPgmuyoamwM5aBoalWimXB0FQvxtIZmirW0ISDoQlDQxMIhqaMDE0Fb2iiRYYmIhiaMjI0FSJDU9UbmmpkaCrEhqY6G5oqbGiqWEMT/hK0fxWwjaG9YyYxYQFbvdVm/W+UqANlQmaWMVmZYDayXgAby4RMLOPQwnoRDCwTGnIZRwMua364ZYUGW8bxUMsqD7TMybIyJsPqMdhVTy49IasSHBlVLw7cldikMt4RscCgshJHrGBOWS1EzBlT5taWegqm1BO0pB6BIWVCdpSxN6Neiayol8CIMiEbyjgyoax5C8oKGVDGsf1klc0nc7aezK3x9PTFtXXlyNoTWkFl7NdP/SBAvxFEhiOcHEc5W05WwHMEkekID10nq2A7gmgUCY+GkYh+HIlEA0l4PJJE5qEkArmPcLKfzMF/MroMEDmQ8siCsjrwl2MTEr4rfIENiVQIX8GIRC6Fz1mRCNaLMgYzygjdKDOwI0HkR8K9IWUpcqSsgSUJIk8SHpmSiN6VRCJbEh77kshsTCKwM4lgrSnjF9/qlUfrAJE9CXf+9ENHT7ujgyM5yp8FlL0EkAkpcLgC0BxIQBIkYBIfYH1ogOSBrWiQMlCOcgsAmeoCh+oCzdUFRF0OijQEmDQEWN+QLTkzcT/zcT/zcT8rxP0sjPuZj/tZEPezIO5nLu5nPu5nvRkcSXs2PnAoR7XRamuDZzTue9qbLkZGEIVHOMVIeBQoEX20RKKQCee4icDBE8FGUDCFMfMrHwYIaEa1L8WhFR7EN21itPHNiOObOcc38zC+WQzimyWOb+Yuvllw8c0CxTdjjm/Pr3wYML49qn0pF9/MXXx/7kPbT4Y/Y1iR5ZAiI4NSwTiUYrUoZeBECsGKFIoXKcphAzaSuT4d5aYAyi0BZBoCHNoBNDcDkLQCmDQCWN8GILkJira/cdk16uAkI2pjE3RQkxd/hhU6qIk7CHbdWh50XBN1XBN13EQyNh3lugMy1QQOtQSaKwNI6gJMqqKsldVaOrJru4RMTYC75V6iuSaAaMoFReoILN8GAMr5oKj/EVOTEDMzfmd2tCck9wKA7G1AEs6Ns557Uz33fnpesNLz0EXPvYGeB955HtjmuXPMc2+W5/2gP5T2jGyKneOgBxRk3TkNeqA2687NoAdGWXcOgx5IboEiGfRCrN74NsmIRxS3qQnbZIY7YN/UJmhqEzS1tUe+zm2hgm1YwdbXhAcYKEEdZYAB8rHXASZoaQosfUOWhYYsw4YsfUP4fgyUoCHLINhLk1cfq+2TkHd6ZO8sEwpuKhN395OJ2lvJhMK7yKTQDWRiOfyAcvgV6VD+iIkOKCc6Im8/HynRkUKiA7au9NEkOjBypY99osORr3NbqGAbVrD1NeFEByWooyQ6IGuTH/usPpC4S1YDsrVWjrVWKrVWxLVWRWutTCOrLPu9kLU98rVe+9qZqQ7HBQk0REiNRgsV8QOHCtAYIjUeTlSIRxbJNMhIpfFmVUgPEiijSaUByWqQ+lTEjwIu4EcslaAhQyqPEZJ5SFu5LQo7wxKOeSryrYazE5AamwIV2t12tgpSyTWsuiyNMPYSUiNboSLfGsNsNqTGvkOF2IJIZjci2RqTFddFYWdgvHP9Vm0f7b/9IEdyYwfIrORV2DwveHecj4bmqLZH4nyK0MuEmsfZ268OfusbrIXW/mxrfzbcc9/X2e25dzxqKW5Ip3MPPaoDRPWN9qOTFMUBt2FTcY5ItA27l2xKQHBIoBCxGgXKlrkqXXNYEuqiQM0j9VuNjILpB1T4UQ5seUD1BXq7w8AKopAqj4KZ1St/7qFHdYCo6sLLlY4ClbW1L87BEe6u8Kna3vdvlwXpyK6FEsp3zYCCNVHibiGUqF39JESrmcToO6bEzNdLidilzKc8pE4DRG0RTg0SHrVKRN80kah9wrmRInBLRbDNFUxtxi8bGFGb3ZcNzKM2R182sERt9l82sMBt5i8bGHObzQg/LQrcfqtyFKwaxsIWCSJiC3BcrOqiY2UXIytTpKxI8cpfnJ4GiGIknKIjPIqLiD4iIlEshHMUROD2i2BbLti2+aJv7qEe2Uc2F9hIQMFTnAtqGlD7FOfCNAgYPau5gGYAsc+hLvoZCo7s470LPy+poN8TXfSzkR59NSVro9HXRBdV9A3RBRrtISEKszNa5lHAI6NliULvjZYF7gQ2WsbUHbhWZUQdU1irknrl4zn06Kv/YO1LcbdFy9deMtu5oQMtp160InWlFaP+tCV8p1qdetaK3L1W5T62qu1oq1Fvux+eCDn1+64fnoiKXBV6ZVjgXwvnqQvlOSuKv7/Q67BpFRIDKaUFSpQUKEUpgbpPCFQpHVDiZECNUwE1mwioUBrQZviAUgqUN8P7Aldh5Ich/RqeoQ7LcrcX9oj3at4GCD0uiLpbOPW18KijRfS9LBJ1sXDuXxG4c0WwPSuYuhX3+DKiDi3s8SX1ysdz6NFX/8Hal+Lui7bE9pJ9xoVdyAr1JMvUoSxH/cplfPdyCepllrmzWec+Z912PauUASRflhXKBydHaUGFroo9NiwqX4tnq4uf4cxh2SeQ7JmD1FFGSaMCpYsKUaKo6lNENUoOFTgtVOGEUMWmgnJKArNz1jHq+NLOWZavgugOA/Y1+GwdlONODTeY9lp+ugO9KYg6Uzj1pfCoK0X0PSkSdaRw7kcRuBtFsL0omDoRn+Yxoi4sPM0j9crHc+jRV//B2pfizose8PUS3qQfEqK+czfpzKO+i27SWaK+8zfpLHDf8U06Y+o73LrAiPqusHWB1Csfz6FHX/0Ha1+K+y56038r/d5324cjOcqfBZQ7C5DpJ+BwBaC5dwBJxwCTPgHWdweQ3BOK9JWpdGRzLiGbbgkFmZa4S7JEbX4lRKmVGGVVYiahErG5tEH0nuQGNaaTGtulCdnX4rbIb2pJPOx488U0YLvDJSHavZIYbVzZsM2XzUfSLfINMyBbQeVYQaVSE0W8zUYVraMy2ZukSLYlCeKXEv9R4Y6GdGR3NCQU7GhI3O1oSNTuaEgo3NGQFNrRkBjtaEjM7Gj4XG1fDjnUIzsQEgqyPnGX9YnarE8ofNUrKTQeErPvrCVkk/9z76Hv9CinNSLjnCoMzHkGvr2DQnsHYXsHvr3cS6AE7R3Q+P8MvaRkY/Xb7+E+9y6vR7U9krxThPm1pfmRGfS+IAqJ8CguIvrgiEQREh6HSWSOlQiUIMIpS/AR5jtClC+FR5ikDvy5OX2E74pVkEgiFWJVSCmRS7FyySWCzTB8SksZMvSoDhBlXfRItpfy91yQeoIonMKjcIrowykShVN4HE6ROZwiUOoJp9TLHFJPEKWe8ij1sjrw5+bUE74rVkHqiVSIVSH1RC7FyqWeCDb1cC8VZcjQozpAlHrRXqosudcicyXi1yJjNQxw8bXIuAAHe+drkXEhF/j4tchY5YR17+C8CwVO3l3v4IRlBqVrunS26rdjHqW2LbAz5qU0t4V2x9ynvJUp8d3LSWGWDktCXRR4QBRfTtoW6Lo73dBtV7fpyK7CE8q3Q4CChXnibmGeqF2YJ0TL78T0FkFZ3tauxK7IL/vRrO25sDG4dOMWeBgQGaGAePWtiq6+leUBCEj26wlK2/UO5CjXGpBs11Nkt+spx+16SmW7niLdrqdMt+spy9v1lMh2PUHjdrrd1nWoZHtjqmXsJxrfSrkvRRS30tyXAoX7UigsSadIk05Z0Pj79fN9Y6u02cm3fX0sHdmXzRLS1ziEbe5vTyRL5f4WULD7MnG3+zJRu/syIcpLUGhfZmI5LwHZTZgbJPe32vqZadbMt1723CGyU4II8+Zx4jNnacos/SXoVyGUuxf8EpXXcBTxjgNV9N0cZUF/yu8+CFmZo7U98m3wLyPmaRVd2L3Wxpz8OH6tjUXvzO61Nubs0f61NhasW7vX2oiDb7vbAOaRg0e3ASyRl5duA1hmV3e3AczJ3zMHMxREHiic7F545IYieuMXidxfOE8BIrAVimAnA8E0I2ROg1uxmRsyDk7As4RwmiqU74hQMGmo5GcO0Wj6EM5ziAil6PFskjlMKYLIMoSzGWUBZhhBNM0Ij+YaEf2EIxLNOsLjqUdknn9EoElIOM1EmfN0lPnMR4MnJuE0OymPpqisBvNUlpa+NM9YwqNpS8TyfMATmPB4FhOZpzIRSilEk1rGK4/WASq0Opro3LvMeTaI32WOVZ76drzLHBcJpsH4XeZYdVNi4V3mWKbpMX6XOVRxqowfWMRqOG0WH1jEBXgK3fnAIi7kptP4gUWs8tRqVJxRrMCTiFV5srVqOKHYIsHEawvw9GtVNwlb2U0mVqYJ2Yo8LRuVHY1EO0XbnaNFYWek3aRN6jcjHU3gVCCYxm0Jnsyt6qZ0K+/uCze9GxUneSuwc1rVubXdqgrTpBV48rdquASwRYKFgC3AywGrFhYFtpBbGliZFwhW5WWCUd1iwaizUjzdwsGqvHwgNVxEmDLRUsIUWJY+6ZYVVg0XF7bIt2Zit9CwamG5YQu5RYeVdyczL0CMuCoJ66KwM2J+YTLoVyOHR3Ikz6MVyRshiuxzaeX4MFqpPIFWpE+UleljZGX52bESeYS/RWaXCiFqi9+lQjxqVbhLhSRqX7BLhQRuqdulQpja7Hd3RJxaX9jdEYlRHMq7OyKdIlLa3RGpHJt4d0ekUZR4o4OnFKFwo4OXouiUNjp4lSITb3TwGkcl2ujgFYqI2QVAiGLhdwEQj6IQ7gIgidof7AIggVvudgEQpjZHb8/HCkWg+PZ8LEfx2PX2fFyColN+ez7WOValt+djlSJnXxtnRtEKXhtnIYpQ/No4axSV6LVxVjgS/rVx5tR6+bsMpxGj1qtArVchar2qvvWqUetV4Narwq1XxbZeObW+/5H4U0+o5RlTuzOOWp013+asUIsz5vZmzq3N3LY1U9vSq76VH/TIvtV7ha0DFLzVe0WtAmrf6r0yrQFGb/VeQSuA2Ld6N2jzo/rbVxvTkf5oqyC7UFdBfyMrHdmN4gkFe8ETd9vAE7U7wBMKf+wqKbQtPDH7s1YJ2U3fG5Te/337Vg7lORAwCQIw+0QIBHwOBFie/gDTxzkA9ZVTgPmdU0DyOEeZvTfaEvOG8wbRZ5qgwfpLsMgKDcbnCsdA8YdgobT84qki/V1TZVEU5BHBsfTe5rnAkeTuxD70TIgeJW5Ya0/bBhFoS61t4+5tg+7lm3iUop6XG3ZkQS/zi9Mb5u+MN3Rpmr300VkGT3oTd493E7XPdBMKXwxPCj3iTSzojKV5mDvsPXTbhiF6KKA8HgHZn91VjsmpVJJQkSahMqkusL66QOT3dgWlp8zSHn20rMiml3LMLqWSXIo4t1TR1FImmaVIEkvQSOaBIRohIDt3DZ0NAndz1xBNEBDNXUNjgcDM3DVEA1SUR8ARkK3/ad+kZ15v5Ege9CmSB62AzAM/5W6Dx5CtDwrbDR5D43zA9DGpMDE+LaYPRIeVewo6rPyjz2FvfB/kFOJ7gGx3KsfuVCrdqYjyEhTtaGU5LwFJrwoSv9NORLvTzl7aI2t3w4LdDUO7G3q7GxbtbhjY3TCwu2Fod2t75Gu9drWrjUvW3iVr75J1wSXr0CVr75J14JJ14JK1c8nau2Tdu+SBtEdcElDwa5g1uSRQ+7uXdeCSoNAvXNbokoDsb1nWFX5RVlfu27G6cl+J1c4lgbsvv+rKfeNVV/5rrrry323VFX+hVVfuW6waXBIJfl9VV2aRWFd+kVhXfpFYO6M8Vu7WiDUbJZ7FrhHryq8R6ypYI9aV+xqprnCNWFdujVhXfo1YV2aNWFd+jVg7s0TBrxHryq8R68AvUeI1Yl35NWJd+TVi7T2zJs/U4CztkU/nZSF3l2HuLn3usmeCEmT1Msjqpc1qfEzfN889pmdOXhg/pmfRu6J7TM+c/dE/pmfBOqV7TE8cPNNtNmMeuWe02Ywl8tHSZjOW2VHdZjPm5K2Zj3xPs8sKJ6sVHuWsiD5xRaLsFc6JKgJnqwhxyrIbZ07jUrHx5YxxrAtjgxKBbVqFwKtF9IatUuDaIpJ1C2f/FsGZeFbYyTMHOxdEni6cjT0LbXA9Z/EihD4vamD2orHji1CwfdGd94vCE4AIPAtkgaeCzIP5IEvLABWGYDg9iFgeajxRCI9nC5FLI9HNGyLYkUjf5PUxib7JCySaRYrf5AW6n0uib/ICiWeU8Ju8QLPzSvRNnpdgdkFKEwxK0RyDup9mUKWZBqV4ssESPN+gRlMOSjTrgDQKs4TnHpRo+kEpGhao+5GBKg0OlHgAoMZjALXiMOA5CSSyB6OYmQkUtCDE7K6o8RRltGCWQt1PVEYN5irUabpCiWcs1NykBSLPWyDB1IWUZi+UeAIDrY0v76Yx1MKZDAsEkxnKPJ+hVpjSsIib1VDkiQ01nttA4+kNpGCGA3UZ0/JwD6c61HeOaZ7wUIrnPCyxY9S7mQ81M+qvO3Jd5a/srjF4h4L0D3RcYzgABX+K45qaD9T+0Y3roLmg0J/XuDbNA2b+kMZ4M+ikWZujB3sUfWE5lmWmRw8BCs8hW1M8eghQfI78183NWQQ+hDA809aStz/4f3M9zb/5v33B06hWakxaZKNGlFuACF+XAg7Jh1RtGHF+0QaQvEQBTF4tUHZb8R+825DuMtNmPk/PxgU2pgj84UtB9m9WCqbf/tmw2yq/Pn+bHVi01p+Z/Fa5/V2i28g+VRFjVKR/tTQj+gt0t9TV2+njoQ/HNjgPGA5A9hcKHtwkDNx9cf/A8QRsv89/MHMsMPod9wcT6Acf6IdCoB94PlNqw/9QDP+DnbSU2S558F1iRygGvfDOf6xSV+x65z8u4jtoxzv/cQnqttI7/7HMnenfvw/jxV286/37uIjv+ML797Eap0Pp/ftYpiQpvH+/VTeO9yLz8FP2YEDZgxGZM4KQf3lQUdsfbb/t3Rxt3gg/kCMN5OZobY9sZyTkwttilfurZASXyujVf3AdILqycH95Mx9BHQyHihj+WjjPusSpXlb0lYNJEaoGFCoG9DU8wzqmVCWUfIXyxAu1yQiqktGr/+A6QFQD4f7y9LYo1IIUqAwpr8WzrcsK1ZBlX1FZjUAVhUHlhL0Gn11HjKqigq9E/g1YqENGUIWMXv0H1wGi60d/5qmX0Ez6y2cEl8/o1X9wHSC6vHB3+byuKSxrrWy1hKbN7SLL2//3N4r4gepG2mbxePtH7yPNXDA45Sz+mGyRijR5DhJpdsnvS8zjeszt80yr5QuGWr7diFVTnajE82hcuKxugLI42gFmSmgKdtGV9f97IbII7hF/j0KYi/MvLBB2xcM9n6FIH+1js/37SseG2Bd5BMtfV7I42LcmGi79rGJ3qgmm3WfC6UUi4Wa/mVB5w9bgzW9zbd/azGToSO2J5K7F+MwvKS/QAdsLv/Sr7m26vOBSG5AdcC9uUQ3cvZn3wstnwPaFvRezUAamd5jCWnvk69wWKtiGFWx9TdzaVpWgjq19dfDFLF0FSX5vg9/NC5Xemacja/gJ2VfLEwoW9om7aSFRu4RPiJbkidF9fGLmN3wTsevxlUuoVYWPElaVe5SwMgkFKG5TE7YpeBaxMgmlKGgqP7JYmYRa+YRaFRJqFSbUyifUqphQqyChVj6hVj6hVj6hXk3wX33wX33wXwvBfw2D/xoH/9UH/zUI/msQ/LVLobVv2JqnKMJcPPgKxiv4oT/++/9jjgIE\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyNnV1320aWtf+KF6/mXcvpsWTJsnPnTtLdsdNx7ESGMb36gpZgmSNKcEhRCjNr/vsLgqhz9tlnFz03XsaziwDqVNWuDxSg/5l919/cdLd3s29n7/+5Wc+vukcnZ2fHZ49On5+dHs8ez/7W3979PL/phgS/LW669Tc/3s2Xi4udslkuUXnkyvxmsdyiNsCmW1x93l3nn93lYnMzkH36l7dXyyHdN0enfzkd2Ppviz+6y18WdxefZ9/erTbd49l3n+er+cVdt/q12/3+hz/uutvL7vJdfzO/ne7wr3/t/5h9+69vjp69ePzN8dHZ46MnR08eP3/+9N+PZ+dD4tVycdv90q8Xd4v+dnexJ09A+O3z4uL6tluvZ9+eDvx9t1qPyWZPnhz/5cmTJ8NFfu7vFhe77HzXf9mudjl59B8X/+/R0Yvnp493/56N/77Y/fviyfjv0/Hfs0cvL/uP3aNft+u77maI0e1Fv/rSr+Z33eVfHj16uVw+erc72/rRu27dre4Hug/mYv1o/uhuNb/sbuar60f9p0c/LW77u+2X7pt/dMOvXv790fz28j/71aPF8OP15uN6cbmYrxbd+i/D7f4wXOZycXv168XnbiyF8S5+vRt+Ml9dFnVI+N38yz+mgnl2+vTx7EM5Ojk5ejx7ub7YhXo1iM8H8fvOjscgz369u/xHM/v26fH43/fDf8+e7cvrn93danExBPRf/zNrPsy+Pd4F9ufhRtZf5kMc//fxHj99+nSPuz8ulvMb4yfHU/LfN/0QqY9LU06fTMrt5ubjrqCubrN22S+X85Xx5+UqX7rVxa6yF+Hs7PlemN8M0nqITr6z8Q7GEs/al/mqu112n2pS/Jnd3ny9O+P62pRnZ6fTr5abtVGL2cXQRuf5Ep+3Xz53tzn5kJVF7zk5LplcL+frz/lu/uxWfab9bZfh3YNIefd51Ym0n/rNStDFvUi7XvwhYHffibLtdExvF7eiWl30y/4243V3s4iSlcByZwOJdr9v5suMr1bd0JBFNn/fdOvRaoryolToud/7s6OjPXuZ0V8dPTvbo++82h4f79H3+Yc/ZPS3/MO/Z/SPHKYfvT2enOzRq3xfrz37p8/26Kfc9P6Zf/hzvok3+e5/yane5lTvchn8mu/rt3yu83yu9/num5zqQz59m9F/eVSH3mFEH4fO7Lq7C7ZhbfTjoMV2yr+LnnJS8jFfXywWF4vVxeYmh2KzM+310POIJjL6W7gZ96mMPuYqcSH8N6fqcl4/5R9eZfQ5/3CR0X/nK17nVMtc/iJawnSE7X0RrT4X2iqjdb4vEftNztB9bkIPOdUfGW3zTfzpqaxoh/rVUa08LbVyVUlPPdzJEdTGu8XyssuX3nf1l/2DiHPonb0nuBvHaV45jkr+P+0Ghuiz9put6js+LfvVQvB1VznLxWY1dOMXHsDjoxNoNuvFOHhNrb6MWnSzutosBuWmv9Mjh508nvgrcmVw8Wmh8i360WEoqIYDl/OrK9Wl7TkOxWjAsSu7btV52z899rHQ/Go1/wKmVn76cZhEdCKXHt6P8/WBCB9WKyGyAoj6c6uhy+Xiy3rhDXWYLnhW7z73mzBUTL1+qNtecKv5vfDf+cXmTo1cRiv/tOz+yBo1rIJv5hcrNdr5uOrUhS/7u/lFaHAuLYaCxACYssJm6Dc7TOmGEbcYom5ur+arzc1yvhGX6a+GUea1ON0c8+HFchNqrPGXPuY5PptqQL+6/DQM8sKo0IcnsYf10UfkL4p/vvELPD16Yhe4GVxus8QrmC/PRXd3uWvw67XovJaVkXkfuZ29F0PooW0O0+GhzotC+zGVp3fLsfp51x8rjXdLskT9dLHofGSU7sDG0JeL+8WlKKQ23pkPlkXL8NuOP/JRnviRd4/UBK2jHudd1EYgq/mUfr3QThynMPidU2Pw31RKaEM/8BlAuojPFwaDgAlInGBSRs+emTiteIhLkeX4mJDqgeUyxMVnAuoGvHnU6mh0VB/lq7P5NKp2tuiqEM7sk15DQjaBkyH60DVe/eRsusqy/7O7vRKXfxcv4TM4lUmvHAcbiRC9eXEvYiPZeCNQ1JRXn/vkyNllfvvcr0Su3tDVPQyVUvuVeLmry0rYzukCHrHYs4XFjfVmHOGsxP3GKuhRrPFoq2aCN5vl3eLLcivuizLolTwWR+n4hrHW3WK+vFx8+pTLaptt2JpgvI5X2EOV5YeD1exAr1OXLioFfVuzQa4x7ilzORr6kfoVXHobBgy4/mbTn1V/3d3iJMjMcdVdLdZx2OtNtDLw+lG0C5uJbIZWHeYiHmwaQFrDrESm56pu7bJSpf6LTPvkRRm4jqtccQ3McvnDnRihfFc1wKXyLW9uFZPpqr1jrRd8WRs+HKiVlQD/WWsatZt6UyuRWtdT89x17cr1Lv7NwWEJ21IZF3TLO7HYcxdM2gvpoT/giPUhzs1G5IT6cAuVHGd6W6DQ+yw1jnDOTtHHhwq8GiqyuLVf0wymKMtYI33VU/a/NsOIBffiebmN8kBHeWJ9PvZjZe74Y627/Im6vxKGIWif50tYeCttfDcziQ3ci+KQyd/GUZPXtK+UHw2DLAi17vkqeilmaCpVVah6EPqrHO5aBdYzHKtgg0uoxx09NS13Qn0Tm5j+5LRMsIdu80L57PeVsebq4Gj351g+fruV0e67w9VaXsustXLOl1WP1rOkN5WFwz8PjCd/qPX2dG1fHZZZsfFYGAj42Q42hXgLvrh78ErL/mpX3re9GMX3dS/dZKk05eFUlZZ8dXDO0N2Jhw5/Vqrv7cFufAh56iHc8mtt/IfN7kHkvx/PXner21/mi9Xu8fG/Zi93j6lnj795+uTfj6ejvXsEtL/PiCZPR/j33dGpHe1dJSDMGApvhqMTO8+bcguAoHIEbkUV6L79BxScJyhTyALbLw4FtG84iN6Go992OTqzI4sZoJh7E86Ho1M7z3nJPaCQe+CQe6Al94Ao96BY7oFN7Tqw0U6QvB+Ojp5YETbD4Qs7andJ/ciy5Ahv3SjsB8AAbYajY7vwppwNUAgQcLgK0BIgQBQgUCxAwCxAwKYAObkPWXsIR9t4lOOzzfGZEmF7NUSN1ji1XOfcfIsCbdgQNWTjsjUXFZq0IWrXxlXjNjG3cJOomRvXbd1kbvAmUKs3Tk2/8LcZgQkYIidwruygqOAJhsgYjCt3MDFbhEnkE8a1WZjMjmEC24YJ0TsKRgMpDFykoDa3APYT4/VGo5ylaGAvhshjjCujMTG7jUlkOca175jM5mMCO5AJ0YYKvs8RechoK1Al1MKfJptAfzJE/mSc/Mk5+1NRwJ8MkT8Zl/5UVPAnQ+RPxpU/mZj9ySTyJ+Pan0xmfzKB/Mk4+VPhbzMCfzJE/uRc+VNRwZ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxWM/lQY+FNBbW4B7E/G641G+VPRwJ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxV8nyPykNFWoEqohT9haNCkIieniiLZFYnsWUEG44qc3CuK0sJCEvCxyMnMoqgcLabIthZ18rYoaoOLadjlokpWF0XyuyC+rXBwvsjJ/khUHhiSgBFGTm4YRWWJMUX2xaiTOUZRO2RMwzYZVfbKqEbDDBq6ZhDAOgNvKy2UTTSKX2neyk5DAvDUyMlYo6jcNabIFht18tkoarONadhxo8q2G9XovUG7rwTyocK3NX6o1IQpO0FLRkqGjBLZcZDYjEEEK0ZKRoyStGFIACaMlCwYJWXAqGf7RZXMFyVtvZiCjRc1sl2UyHRBeispGC5SstsgKbOFBGC1SMloUVI2i3o2WVTJYlHSBosp2F5RY3NFLVorKGisgMFWgbayhbGlonSwaSo7BRnMFClZKUrKSFHPNooqmShK2kIxBRsoamyfqEXzBOVehuxB0q2m9XIRljnlHv3SEJmlcXJK52yTRQGPNEQGaVy6Y1HBGg2RLxpXpmhidkSTyA6Nay80mY3QBHJB42SBhb/NCMzPEDmfc2V7RQXPM0SGZ1y5nYnZ6kwinzOuTc5kdjgT2N5MiN5WMBpbYeBqBbW5BbCfGa83GuVkRQMbM0QeZlwZmInZvUwi6zKufctkNi0T2LFMiHZV8H2OyENGW4EqoRb+VO4VDcoZOZQLZFEgsEeZBCbljFzKBWlTJoNPOSOjckE5lavZqlwjr3JBm5Xr7FaukF25QH5lwlvBwLGckWWBoDzLZDAtZ+RaLijbcjX7lmtkXC5o53KdrcsV9i5XonkZR/cyCPZlrBUthA3MhQPNSlmYieBhzsjEXFAu5mq2MdfIx1zQRuY6O5krbGWuRC8zfi+C8yDYVrFa5IWhlRtDQ3NGhuYCGRoIbGgmgaE5I0NzQRqayWBozsjQXFCG5mo2NNfI0FzQhuY6G5orZGgukKGZ8FYwMDRnZGggKEMzGQzNGRmaC8rQXM2G5hoZmgva0FxnQ3OFDc2VaGjG0dAMgqEZa0ULYUNz4UCzUoZmIhiaMzI0F5ShuZoNzTUyNBe0obnOhuYKG5or0dCM34vgPAi2VawWeWFoq+n7JO5AhZCZFUxWZpiNbBLAxgohEytYWtgkgoEVQvZVsDKvomXrKgoZV8HatorKplU4WVbBZFgTfpsImFUhZFWGlVFNIthUIWRSBSuLKlo2qKKQPRWszamobE2FszEVHm1pomhKEwJLmkibajjbUcHVJqGsaJLAiAohGypYmVDRsgUVhQyoYG0/RWXzKZytp/BoPBO9T2F4SGSbiY6tsJupEaDfGCLDMU6O45wtpyjgOYbIdIxL1ykq2I4h8h3jynhMzM5jElmPce09JrP5mEDuY5zsp/C3GYEBGSIHcq4sqKjgQYbIhIwrFzIx25BJ5EPGtRGZzE5kAluRCdGLCkYzKgzcqKA2twD2I+P1RqMcqWhgSYbIk4wrUzIxu5JJZEvGtS+ZzMZkAjuTCdGaCr7PEXnIaCtQJdTZn/460Je7K/uRBdFR8RJAMaTOMZpOLZCOPEjOPD7OSmiclIbt6HyslHZUcgAo3C5wuF2g5XYBUZGDYhkBZhkBNmVkT76f4r733+8x7oCih3+f4g4cMgK0ZASQ3S4wu11g0+0CKXF39N689PvJBvyojUexF/me2v1EJ9PFyBii8BinGBlXgTIxR8skCplxjpsJHDwTYgQNUxgLf5/D0GTUCkShNS7iO77DGONbEMe3cI5v4TK+RRTxLRLHt/AU3yKk+BaB4lswx3fi73MYmoxagTi+haf4/m0K7dHRqR2aFwErIUUWDQoEdCjAZlHA3IkAuhUBLF4EqIQN2G6keeZHJSuASk4AhYwAh3wALdkAZLkAZpkANuUBSMmCo/0HLodMPTUUE3Q5U10Z+iHSmepkpuCF24BzXjuR107kdbGrYn5kFdJRHIw7xzrq1Ibgjnx47czuxFnvw7/x0LtaZ9TXuhA6W8fe2zpL3a1L0N86LJMAZFajnU1fMA0VYmWDofEoDp1GVCoEojAN2Auvpua/N4NX2PoBlSYDSMykXlHTBxrnT69CwwfmhedsajJA4iTp1dTon1p+5rFbeIWNHpDoDF5Rowcau4BXodEDI+N/BY0eSLT7V9Doj4108SiOcF9hm0eUR7ivqM0jhTYPOA58X4U2D4wGvq+mlgZH+Z77yg328gb7fCfcyEAR92hNDFAcib/CBuZoEwpnkyvUplJ7NrL2bHLt4fkYKKJebUS92oR69Xq2XwnZT33HoziLH5GYwI88zd1HGqftI5Iz9lGhyfrISvgBlfA76kIeuhjr11jREeXwv6aKjhQqOuBYKq9DRQdGsX89VfQTy0EfLfN1qujAkz++xooOSC4tvQ4VHVhcUHqNFd3RJh7lu95U7noj73qT75prNSjirjfk96+hVjvZxqN819t8d6Grw3ZBAjURUlVroSS54VACakOk6uZEibhlkUyNjFRqb1GFyk8CtUJSqUGyKtomJcnNlBPkFkspqPGSyu2YZG7SUe5rFYkbOqmq9VCSr1VVdgJSdfOiRNzSSCarIJVcI6qbqnAwMNJWKMnXAsNmQ+r/JTDJgkhmNyI5GlMUt1XhYGCyc/002y/tH/uRDfMAhZG8C7v1gv24fnfUhKM2pGzjsvOI0qLyjorl7J+mDD+1RJZLQNjE9xTfuT8mRJmsvHNPKmQX30cn1OYfcu7V++gkqTjga9iUR46Ieg17kmKVgOCQQCFiVQUqpoFwRaGpCW3tVBxAUnMYYwIVzNygZHw4sPUGNSWY7A4Da4hC6lwFs6gQxoKajNr8Qw6a8RyuIqlAFW2b88jBMZ7C8vNseoZyZkd2d47sGYqjOIFzjnlwahM4Rz5Nc+ZTSWflGYoTm7ntUWlSLwWivBinDBlXuTIxZ80kyp9xzqQJnFMTYnYNU57xYQMjynN62MBc5Vk9bGCJ8pwfNrDAeeaHDYw5z6GFv6wKnP+ochSiKmMRk4iIxAQcl6im6EQ5xSjKFKkoUrzKg9OXAlGMjFN0jKu4mJgjYhLFwjhHwQTOvwkx54Zjnt9M2d178BvMKaCSSUBxhuc8PXN+g7kC5HMzZ747wVnZmODEJmaGfrNR4BvsnBCFfsmFsUuyoyYcfQgp26D59gZHaUb7Bo12uttktMwp1tpoWcxRT0bLnOOfjZaFWBLJaIlDmaSxauKqdMJYNaImow/5h21OxcWmhq+TFF7nhgKMnEoxilSUUVTlGVPkQo06lWwUuXijymUc1VjQUaPSTh+eOBHR43I/9OEJleR9pVSaCv9QOU9bSc+1ov79hb0OL61CxUBK1QIlqhQoqSqBeq4QqFJ1QIkrA2pcFVCLFQEVqgb0MvxJihNXgfrL8DnBexn5RtIP8gytTMvFXntHfK+W1wChxA1RcRunsjauCtrEXMomUREb5/I1gQvXhFiyhqlY8R3fkxgGLtDKO76kvs/xbDL6kH/Y5lRcfPKV2L0U17iwCFmhkmSZCpRlVa6cJhcvp6BSZpkLm3Uuc9Zj0bNKNYBkqAisUH1IsqoWlOh9tcSaqvKhera2+huuOSznCmTvzEHVcUaVxgWqLi6oiuJqriKuUeVwgauFK1whXIlVwTlVgvDm7AlFhAu+9uYsy+9FdBvBPojftiIdF6p+wXSvldUdKE1DVJjGqSyNq6I0MZekSVSQxrkcTeBiNCGWomEqRFzNO4lh4CKsrOaR+j7Hs8noQ/5hm1Nx4akFvknCSfqUtTRJZ05lpyfpLOayS5N05lx2eZLOQiy7NEknDmWXXl1IXJUd7uuneDYZfcg/bHMqLju503+UfpmK7YUfld8CKoUFKJQTcLgC0FI6gKxggFmZAJuKA0gpCUe7zUbP/ajkAFDJAaCQA+CQA6AlB4AsB8AsB8CmHAApOXBE+yR3KCbocqbsyTUinalOZio8mAac89qJvHYir308yvfcV26wlzfY5zvhp8agiHu058OAcvB5U+LbGb7RMB7FNxpGJN5oGHl6o2Gk8Y2GEck3GkaF3mgYGb3RMLLwRsO7Gb4+Nh7F57UjEk+vR54e3o40PqcekXw4PSr0RHpk8fn8iOJD+XdTrOEo3/V55a7P5V2f57vmWIMi7vqcHp6/g1g7GV/Eel6OmnDUxiOrPY6wluxpWfiCMjREITGu4mJiDo5JFCHjOkwmc6xMoGI2TmVd+LlAlSzKojexnkWuBMYPZzFVBxO4TpgQKwYukVLBNhm1AlFlUeuhk1QeMkGNMUThNK7CaWIOp0kUTuM6nCZzOE2gGmOcakzh5wJVsihrjIn1LHKNMX44i6nGmMA1xoRYY/D9IyrYJqNWIKox6v2jIqWthOUm9FZCrcoAV7cS6gQc7INbCXWiFHi9lVCrXM+Cel4VDgZG17yY5GuBSbUwqv+XwOQaGeVUL6NMtTPtupFVqakJbVXgWlvddbNPMEy09hPMJ3YUZzkjsmmlI7HxdeRpLjTSuMV1RLRldWT00vbIwvvaI4n7VX+bmpzn502MwW+pcQGXAbFmBIiHla74sNKZvbfjyF7bMbSbmbw4tiObITqyGaKjOEN0jjNEpzZDdOQzRGc+Q3RWZohObIZo6KJfwirAnuxnXGcnhcRfdDmXNuFCFGqXc6xdQGHCBSexSufIK50zkfnP2y+fu9uQjUXIpr2rBoiWPnasD2ftc977SnH2sjj7XJw8cQNFFLRN3ADlUrWJm+d+FbK1yrmnl8n2SLxMthPW3c2i1JxnRjchzSZfYiMWsUae1q9GGpeuRsRb6V2h9ayRifLchFWsHXkIYdrGo5IHQLjLbk9xv9bkaGm/FnPyY71fi8XszGm/FnP26Lxfi4Xo1mm/FnHw7TTEZq4cXA2xWSIvrw2xWWZXT0Ns5uTvhYPJGyIfME52b1yZhInZKUwiuzDOzmACW6EJsTMwTN5ROHULjkPfULA4AfcSxqmrcC76CxNzp+FS7jlMo+7DOPchJtSix71J4YscIu5XjLMZFaHPl+NuxvihaiQ6HJMq1ajS9Zhcq2XcCRmv1Cbujgpf5Whwx2SceifnqosqquinirTJqbnHMq66LRNz32USdWDGdS9mMndlJtSqEHVqBT/kiG8Foj7OuOjo0ibd0hvoTbpa5a7vwCZdnUR0g3qTrlZTl1jZpKtl6h71Jl2pYlepVxW0KrvN6qqCTsBd6MFVBZ0odad6VUGr3LUGFTvYKLAPRpU726hKr4xJhGPGBOybUU32GOXUmUSZOuQospEGlTtnEmMXnV4FladM3bV+FbSiqq67+ipoJYHoxvWroPr3qUuvvAoqz52696AuaqFOXX1Uk1vHdzBrN5M6/6h+vVqrgUBMcLBa1wYFMdHhup8GCFE9WLvTYCGoq1o808Ahqjx8IFUOIkIaNZSIr47WfpmGFVGVg4uYRAwxYgIeaES1MtyIidKgI8qHKzMPQIL4UCvLbVXgIUn99b8xwfk0GtkvzZ7jEARQ/L7NeRpsAE+L0ec4rABEK8rnYQABLKwdn+NQwVFx7v0HSs5n6ZslZZEd85re0WBOudbvaLCY85/e0WDOkcjvaLAQY5Le0SBO0SmYQ5RehZhOo1+FkCJF7MCrEDJFjp1+FUKKHMXKqxBSjfHUr0IokSIbNA4vvU4wnU69TiAkCmz1dQKh56Cq1wmExAGVrxMILQZTvU6QJQokKBxG3KA/nSdt0GdO0dMb9FnMcUsb9JlzxPIGfRZirNIGfeIUpYI5RGIf/HSi2j74ikxxO7gPvpImR7G2D74ic0yr++AreoxwbR+8linepHLYw+7x6YR593gSKMiV3eNJzYHNu8eTwMEUu8eTEgOYd4+zQEEzzuGyv+cA4XJG4XKBwuWCCperOVyuUbhc4HC5wuFyJYbLOYXLBAqXcQ7X9DV6CFYhFKqCKVAFqzAVLQepKBSigjlAhXN4Co/BKZRCM2EKzEQpLO+nkDx7YkclHIBKKACFMACHEAAt2QdkWQdm2QY2ZRlIya6j3fLWUz8qOQAUPxnlPH23YqT26SdH/DU9V/xLUM7KHBSQfZLR0Li3+OjIDm0pDph/FdcZfRXXBVyKA+xfxXUGX8V1CF/FdWhfxXXkX8U1Fqen76H6HR2/KIh+04kM23JPYJUMhy/NAoX1HExtn5p15J+adaaiYKs0p5a/3dLMfo44HsVp44hinXOe5pAjtTrnyGuWM/8QrrE+3msvwtrXQtjrOtOLOpM+PwuSqk7++Vlgour4Tm+vKbji4RndxKMc8rigARwrilOrEI4oj6B4VXEmCqMsR+xJE+y1yfbaZHttKvbaSHttsr02wl4bYa9Nstcm22sz2eu+u2jQXgGJr642ZK9A41dXG2GvoNBXVxu0V0Dxq6vNDJf2m1laz29maRG/Sd4KPK1rNrO0Rt/M8sJ8M8ur8c2Ml+CbWVp3b5KpNmCqnib+osu5pAX0Jhkq8LRU3rCfQuK4KN7M8kp4M8vL3w266f6DU80MF7qbWVrdbmZ5SbuZ4Tp2M0uL102yPeCyOPtcnHpBupnlVehmlpaem1lab27Q7xzlBd5mhqu6zSwt5TbJ7oCnRdtmllZqG2F3oNCabDPLC7HNjFdfd2RcWTXr8OVUR2jGI21n+ES3RZcEFJ/dtsklgaentC26JCB6HtsGlwQWnry26JKOxmesp3ZkvbCj2Ak7xz7YqXXBjrgHdsU7YGfW/zqy7teQu0mbXbLNLtlWXLKVLtlml2yFS7bCJdvkkm12yTa5ZJtcsg0u2WaXbLNLthWXbKVLttol2+ySrXDJVrhkO0tPBtsZjjnbWRpzjkiMOUeexpwjjWPOEdGYs53lMWcbrLfN1ttWrLeV1ttm622r1tsK622z9bbZettsva203nayXk+zydnbVLK3kdnb5Oyx9YIisrcR9WMTGwc+oJlMKT2gYU6Wqh/QsJjNNT2gYc42mx/QsBANNz2gIQ7Wm17PY65MWL2exxLZce31PJbZmNPreczJoguf55JmszZOjm1c1VkTc8U1iWqvca6oJnBtNUFXWTZ1f+4W2iU/jqPU4gRs9MbJ7Z0fiJDwfZey+ZtGPYBx7gZMqEWPO4TCFwJR12Bc9Q8m5k7CJOopjHN3YQL3GUXoc7649zB+qDREP2JSpb5WehSTa9WZ+xbjlWrLvUzhoqsp0ian5k7H+KGoiO7HpEpUKh2RybWopC7JhNjI+StwTxKl3kl+BS5Lqo+qfQUuq9RT6a/AZY37K/UVuKxQrwUSdFxIqe9CSXVfqOceDFXqxFDS/Rim4K4MNerNUKIODaS5rCXcraFEPRtKqlmgnlsGqtQ4UOIGgBq3AdSqzYC7u/AYP9iDeMCff6PPxF0fStT7BelwFEUfGNTcDaJMPSFK3BmidiDI3CWCtNCUOkaUVN+Ieu4eUaUeEiXuJFHjfhK0XmaZe0uUvlJ6os9Etd4GKj0npjjQSrj/RKneFLgXBUl0pKBu5G+4O0XpK2ETnSqq9bBVulZMcSBsqYNFLZjL4Asz/+bMeGTPDR3FjaaTUDrtK4HoHMbliabEeCJDdCLj8kRhD9hVjdMpoyjPC9G70pTOiZI8Y9k+dCUQncu4PJFt8bhSjE7lgjyX7X+4UozO5YI817Rl4CoTOk/B8izlQ2dXAtF5jKsTfURTODHkf/L8IzZzQPHhlHN8OOXUHk45kn/Z/GNovsDo75l/hOa6Jxe7jssGRLuj66Bdx9xPgs0C/ZcFXedU+hz2TqGfo6DrnKpyjmEMsFzO6SwGr1VKfab9iGb/J0guPy7LXyE5OskyabgKcGTEd8aEugUo3oYL/gj6tKD7cPQQjrwe7Y78z6SMR3HzyYjSJpMyOONMoBufEKLsVNyYVM5Y4fcZPWQE+Sxom/PAOTaes83v8h5FDNk2RNk2LrOdXvqcMlT4fUYPGUG28d1FygNnW767OElqy/OR0DAAsruTog6F3EpdcorifYU/VDiGB/m2kuEUqCDmaIlJz1FSIFKqCxeSjJIab055Bule0gdJITpAtzJ7HBmURFx8cpUCAxJGBjGHBjUdG0iRggPavcYPGmN8AG91PlOEUMsh4n3eRxFDaNJAjbkMSdowPmWw8PuMHjKCEBS0zXngrBvP2U5bh4+IQ8bzuDIJMut5G/KUKxPuBXsQDLJvbCsywwFwIUcg7QY+Ig4RyKPhJMgI5J3FU85MuBfsQTCIgLGtyAxHwIUUgU8p7zsyNJdlt17vlkKeGfw0K+9C744Wdi/jEQ1eP+XsfqIx2X4KepWuvyNdPLJlTUe23RNQ/obryHFlEyhu9nQcP+06IvqA68joA65xtiNmOtVZzlUOVPkpx6XgTiCKkHEKk3MRKxNzwFzKUTONQmec42cCBzEvBVxVlgKuDi4FmMqB1W+dTz/Kb51rgUJdeeu8ooqw1986ryTIRVB561yrXBy1t86lfFUVqIBIlcVUeYd6X1jXoRCuc+Svc7ivKzG+loG91tG8ziG8FnG7FsHasT4e5XvuKzfYyxvs852k/dSuiHv03dSO7MmKoW08yne9zXdXazAs0MkONpikilh9rcGkBLmIDzYYVjmohxsMyX1VOBgWWUnqn0zQCQ5mq1KLap9M0DLVrconE6S6rQoHA5PrYRlC7kdbt7hSMSGcxRcUTgpCWUl01Afb67PX9TWD68vQbn+Ul8z7tEjDXJ42LMbsUWXxuz+0+N1/ffG7zxP+PZeL4r2aUQtJXomnzXual8r7ylJ5f3CpvA8zrT2it0qv6gpdiWV5QUoE1xWr9n1t1b4/vGrfx0nUnpU/7nIlEJ3duDx5UeHceU2+r6zJ9wfX5HtsZ3tU+v/aum7USRzZsvt0V/T9/8vrQviTmb/EGPEQyfmd1uIlxTlX+nf2gRellZ5PanHdO6dYmz9FXC6otHJBqZU1d62KeW1M8WV+0VVis/vJ0/yTu3hSkcLrxhDe/VuPp3YUt7qMyCqgI7HrZeRpt8tI4y6XEdHelZF5j++svO3oJG5f2aGLWXlzZTyySbqjUkKIrGAAlpnLPtqrqVJ7AqvLjuKVunzxLl88Dr+A4zICUBhoAbYNDo58Y4Mzi6qzq3hUyhcQ1SETbH/HsdWf3UjsxMrChl+A4hvaziG3QO3NbEf8QXdX/H1tZ/ZNe0f2QrYhnxV5Wf8esuojoRUaAKA4xF7F5o5QGHVxMGx+aR8xc2qIeh8xi7lJpn3EzLlx5n3ELMRmmvYRE4cGa4gajnFqPc65/aZHeFPBFn6Zk3Jzxp3LjCr3x61b71xmMbdzuXOZNWrxeecyC9z2cajMiFygMlQmlf0AdxWfxEJnZ9C7ilnMHpF2FTPXbpF3FbNAvpF2FRNPDlKE33OYwEsMkaEYJ1dxztbiivIX/GL11PzSF6uZk7/oL1azmP0lfbGaOftL/mI1C9Ff0heriYO/GKL2a5zar3P2l/SsfCr2wi9zUvYX/EY2o8r9sb/ob2SzmP1FfiObNfKX/I1sFthfcOMAI/KXysYBUtlf8EPZJ7HQ2V/0h7JZzP6SPpTNXPtL/lA2C+Qv6UPZxJO/FOH3HCbwF0PkL8bJX5yzv7gi/SWs9KDLRIG9JqrsOFGVvhOTCPeJCdiDopqcKMrJj6JMrhRF9qb4jATKMArsA1FlNyA1eZZ+MFMqVFAvaz9LLpbWp7VwMCfJ1w6sT+skwuPq69M6BftdZX1ay8n70gMdLbAPHnqgI9MkT0wL4yeqyiV/PLAwrpMIr9QL41qt+GZlYVzL7KF6YVyq2U+D/Hst3OitUWCHjSr7LKnJbUkXnjstBo2vbe03DBixW4nY7DVi8RV509BQoxK/G2+YvgVv3L0z8mKakcaPwhf8WyYWVsIxXkHc/UG2/R+tLWT3l9hOQkx3f4LtLKSxv71GGAK0V+7BWvcvjdxjddujh5ToISfaQqL9Bzy2mGhCPNElzMnF9r2s4I/+/b//H63X5Vs=\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json": +/*!**********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json ***! + \**********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJyFnVtzG0mOhf+Kgk+7Ee5ZSdbN/aa+ebzuMdvupmjORD9QUlnmmmJpSMoSZ2L++9YNwMEBkn5xuL6TdUkkgLxUFvXv0Y/1/X212o6+H1397XEzv6sOTl6+Onx1cHry6uXJ6MXol3q1fTe/r5oCfyzuq813H+r7+aoVHpdLFA5UmN8vljuUGjitFnef27tIqTfb+XJxc7m6WzbFDpvjzS+L5+r2t8X25vPo++36sXox+vHzfD2/2Vbr36v21J+ft9XqtrrVGzWP9sMP9fPo+398d3R28eK746OLF0eHh4cvLl5d/PliNGkKr5eLVfVbvVlsF/Vq9P13jQzCH58XN19W1WYz+v604VfVetMVGx0eHv+luVBzk3f1dnHT1uTH+mG3bitx8F83/31w9Ori9EX773n376v231eH3b8vu3/PDy5v6+vq4PfdZlvdbw7erG7q9UO9nm+r278cHFwulwcf2qs1dqs21fprQ3szLjYH84Pten5b3c/XXw7qTwe/Llb1dvdQfffXqjnr8vXBfHX7P/X6YNGcvHm83ixuF/P1otr8pXncn5vb3C5Wd7/ffK66Buie4vdtc8p8fStqU/DH+cNfhzY5Ozt+MfooRyetJS43N62p14148fLF6KdKjxsjn78Y/b69/et09P3xRfffq+a/Fyd9e/2t2q4XN41B//Hv0fRjU6S93LvmQTYP88aO/3nR45cvX/a4er5Zzu+Vnxxe9Pyfj3VjqeulKqeHw4VWj/fXbUPdraJ2Wy+X87XyC7nLQ7W+ab1chPPz4Tbz+0baNNaJT9Y9QdfiUXuYr6vVsvpUkvxp+njzTXvFzRdTzk6Gs5aPG6Vqs5smOOfxFp93D5+rVSzeVGVRW02OpZKb5XzzOT7Nv6p1HWm9qiLcPiUlt5/XVVL2U/24Tujia1J2s3hOYPW1Stq2ym26WsADa5Vv6mW9SixR3S+8pC2wbNNAoNU/H+fLiO/WVRPIVs2TkxNxmmrTpRpRXh0fDW0P3nd83LNLRWdn5z36IaIf44k/Wamj4fo/21OenvXol3ji64j+Gh3sjaEmtXXof+OJb+ND/GqhJyf+LZ74LqJxfPrfYqn30Tgf4om/x+f6I15rEtGVtZq05zSW+hjRLN7x79Gq101n9qXaurShnnndaD5O+TyfU07OXklOuVksbhbrm0fLohocj23S3jQ9T5J5u/zmHka9eB6vdB1L3ST5N5ZK7vwpnngX0edopEVE/xdP/BJLWQhr5k+slSSdJO09RPTPWEfLDRpCm/hcST57jOhr9LinWCrJpLvYHP8ydHFo/uUd4VhbHTpTX556uJMj8MbtYnlb7Opv66fEzq53tp5g243TzDmOJOw/tQNDzLNW56zv+LSs14uEb6rCVW4e1003fmMGPJLad2GzWXQD1yT996MWZ01z8sdFo9zX23zk0Mrdhb8hk+kl7X1aJCwZPzUDuXQ4cDu/u6uSnrvnOBSjAUfbdtW6gtg/tbHQ/G49f4CkJqdeN9OHKqmlmfd6vtlj4f1qYfylDeD1bs7Q22a5XDxsFptEauq6/Vw/urFi6Padc1vLredfk3iY3zxuE9zn8k/L6jlqhci6n9+s6+TG1+squ/FtvZ3fuIgzadG0JBrAEhrGoT1sdduYNBujPq7u5uvH++X8MblNfdcMM78kl5tjPaBd7p3P6uDi0kY9x+eDz9fr20/NMM+NC22A4vtYG394rjcY2w1eHh3qDe6bPPe4dHeQzDRPRqO3bchvNkn3tSyMzevCc9bJILqJzmZC3Hh90mpvQoNax+z9zzp/7zXWMaVNapfzbWdjo/AEOoq+XXxdgDvbKf7JbLichIY9duGkSXKSdRYUg9pVdzMvChKoaryk3c8FiuFyQ8wpGuwc/3TWEnSCzQHCTWzG0GQImIL4KSZV9PxMxWHNI7kV5RwbFXo/sFrmdnmXPYCFR8lHfUq1cX52NZtIla7m0yqYMyZK8xBXTeCUEW3wSnc/H+6yrP9Vre6STPKhEFGvs0qac+wNkn2ee1nqRtaFJr3hutrsJ1pOxyR/fK7XSa3GdHczA0WBTvOIX0iyLZhtQjcwi/muzS1vbB67Mc46eV7vgmbFEqe0Kknw/nG5XTwsd8lz+QqCk/vmkI6vGW1tF/Pl7eJTMsHalVPDO38fc9jEWSw29rrZnl6nLN0U0t2qlAapQSGnzFM/fkMXwsW3ZsCAK3A6AVrXX6oVToM0Oa6ru8XGD3wtRAsjrzcxLs50LvLYRLWbjZixCyPIdcEyNceSxmXBpf7uLXZ68kpGrt06l18F01r+vLURiiXZYgJcZnnr5fHgvdtCkqmKvWNJuCwNH/Z4pTewzZZLoVG697jUIqWuh3Ou9iOlO5fjeLx3WMI9powLquU2We7ZuiRtOfGp3pMR40hPzrt/TGrin8hMlY4zLRbI9DZP9SOc81PM440DrxtHhkfTbiRMYaRtloWO5G06yNAZhm+4V7JuoK90spxYnpC9KYT+m1KI/0pPLWZojPZ5voSeQWK8nZnQMrc2xb6x88qPmszTvtF+hUioSt3znc+lWKGhVbNG9fnMeDbcVQfOZzjqYE2WyF541BRalgnn+XiDks2pZvPbxU2WZ38q9GfrvbV559vHHpdGuzbc3OvWe+91WfCFy2KOzmcDY38dy8NJv2kjkUJvX0oUX9Lxs47H3EDArrY3FPwj2PLu3jst67u2vVd1Moqvy7n0MUoSys2lCpF8t3fOUEFHbjYvuO8q7cbh9WHoISzll2L858f2VeSfL0Zvq/Xqt/li3b5A/sfosn1RPXrx3cnhny+Goz57ONQ/p0dDTkf42h/1WcUhrBgK4+bo9FSP5BEAgXM4rk3laB//DrnM45TBZI71i0MO9YGD6L07+qM5Ojo60kMxmmOu/qBM3KUm0QCTggEmqQEm0QCTogEmiQFk6OdYl1GQXLWVeKmH0+bwlbbprBUPVZxJnZDBwwOGfQHOSF+bw/MTOXpq73YsRzt/JDcDBPca6FAIA0ARRYFyCgXjHA+ivE4QRYbyNDxEhRhRRH6iPHMWFaPHqERuozz3HZXZgVSgMFJOsST8fUQYVco4tExI40vkSbw8R5ryfRZMYk6lggUL0adyyYIhDlXwwSgYI1IYhKUgjE1lHKAqJFEqWhqqIkK8CoKgFbRLEIWv8hjDQyhhDCuiGFZOMWycY1iU1wmiGFaexrCoEMOKyAOVZx6oYvRAlcgDleceqDJ7oAoUw8ophoW/jwhjWBnHsAlpDIs8iZfnGFa+z4JJDKtUsGAhhlUuWTDEsAo+hgVjDAuDGBaEMayMY1iFJIZFS2NYRIhhQRDDgnYJohhWHmMY2wkD2XOKZi9SSJPIce3k1yVOEe7FNMxdEYh1z8ldvZj5rC8RHdfr5L1ezF3Yl2E/9iqlAy9STnDi+wLH7OAFThGkpnnClZkUbskZw4vfbIIkd3h9XxMUsogvs7cJQj7xqk8qTsPM4gRIL45jjvECJxqvJtnGFUhTjisBecdxSD6O70qc0pAXYy4ygpkIKeUhlCgLOYlzEIivc0r5B6U0+0AByD1Iye1Rypwe9ejyqJLDo5S7O5ZgZ0eNsg1KlGtAep9SzDOIOcs4Lc0xUGKS3orzC0rfMHSSW1AtG7qQV7DEHkOHnIKazyigYD4BDNkEKOYSxJxJUEvyCMhpFgEdcghQyCBAdzml7IFSzB1D42DiUERZQzmlDOOcL0R5nSDKFMrTNCEq5AhF5LfKM6dVMXqsSuSuynNfVZkdVQVKB8opFwh/HxFmAWWcAkxI41/kSbw8R77yfRZMYl6lggUL0a5yyYIhzlXwQS4YI1wYhLcgjG1lHNgqJFEtWhrSIkI8C4JgFrRLEIWx8hjDYjgMYmMUxSZQGIPAcazS64xRJJuQhrLKEMvGyBVNyHzR1OiMppE3mpC7o+nsj6ZQSJtAMa3C+4RhVBvksAYljWvVJ8ktOLJN2GvOJLZNK5mzEN2mF80Z4tsUH+DKMcIVQogrwxg3yEFuShLlKqZhrirEuTIIdGW7jFGomxBjXWyFsW6MYt0EinUQONZVep0xinUT0lhXGWLdGDmnCZlzmhqd0zRyThNy5zSdndMUinUTKNZVeJ8wjHWDHOugpLGu+iS5Bce6CXvNmcS6aSVzFmLd9KI5Q6yb4mNdOca6Qoh1ZRjrBjnWTUliXcU01lWFWFfWxvopheguY9pMLGBD9Np6+CjbAkoIxblginLFHOOD8DoSim/BaXQPIsS2EHJFwZkjihbdUBRyQsG5C4rKDiicolkwxfKA3weCcSyIo1h5GsODOgmX5vgVvMdoSeyKkhutELeiFowWYla4j9iBYrwOCKJ1IBirgjhShSdxOkhplA4axOhAoDceyC4S6okFx3548BgMTkUUncopPI1zfIryOkEUocrTEBUVYlQR+ZvyzOFUjB6nErmc8tznVGanU4FCVTnFqvD3EWG0KuNwNSGNV5En8fIcscr3WTCJWZUKFixErcolC4a4VcEHrmCMXGEQuoIwdpVx8KqQRK9oafiKCPErCAJY0C5BFMLKQwz/0NDL5qivcnck5wKSeAPk2hc43AGotCogbTFg2ljAhnYCIs5vaNJZVo+sIRS5xwXumkapPC4g8j9QtCLAtCLAhor05KfB7id25DPmT2h3QK4iwKEiQKUigPRxgenjAhseF4jY3dCVO2rj5KUezTS4fsLgABSywLCb11lGEZlHOdlIeWYoFaO1VCKTKWe7qcDGU8FbUDGZUfhVRGBQQbNoLDat8sS+3XcA3r6C2L7C2b7CU/uKmNhXJLav8GBfEYJ9RSD7Cmb7DvwqIrTvgGbRWMG+woN9fxlM2+fsX9CqgMSggJwtgcMdgIoFAanxgKndgA0mAyLWMtSOwY60PnNNpoakBoB8fjWO+dWo5ldDlkWNWRY1JlnUiNTAUP/jUC++uzgUUju9jnWqCxWo0wrUsQI1dxCmJFWrZWAHKNZj+NUqqcj/Du51ZkdSEUDSOIBc3YBD3YBK3QBpDYBp4wAbGgeIVKpHb0f9MPylHelow5AfWhjHoYVRHVoYoqYAxQYdxqQpAOkIQ1F7dHyqR/LUgGRMjQgrAhwqglQ/5HBY6gdIawFMm8NYrWOkt+j0gJJB3FtyeqB+EPc2cXpQaHj3Fp0ekB/LtehRQ6A78qHaoSRUOx5CtaM+VDuUhmqnUKh2jLJQx1wWasnOWX4X/WMXG91NtjAuSKAQITWLFioSA4cKUAyRmocTFeLIIpmCjFSKN69WJYtxFJJKAclqEptU5FstlkUslaDgJZXjmGQOaS9DdJNAgU5qFvNUJIY/FaBMQGqeFKgQ5weSKVWQSlnDq5BASKBcQmqWVqhIzDBUgJINqXneoUKcgkjmbESyT0xe3JVcidMVqSEOfh3160r9EkJ3JMGGyK0lmdAtsRweyuFUB5+/jmRhRUVYUzHm5uyK3UqK3a17/6BPvfNj+V+pegPFb1iGK4VPWALPauu+7hgeFb/uGOrtv+7wxYIF8q87vJbZAj/boHqyVbLPNgZJJpfZHUTbxeJ8B+XJHZzzQROQQA3BatYcvgw2ilegabwwK54SmonkpLF8idSgIXxTGwXjFsN3KDAkVzSuIjKr8cygoqIphYERBc2SYsFwKiQmEy0zlmi7WE82kPJgmncjXA7tjnxv2iG/HNqhpFfteOhKO+r7zw5Rf9gxWg7tmFsO7YjvDN9J8F4miOqinCqkPKuVirFqKlH9lHMlVeCaquCrq5jqjOuGjKjOYd2QeVbnbN2QJapzXDdkgevM64aMuc4uyi+LAtffq2wFr6a28EUSi/gCbBevBut4OdjIy2QpL5K95B3IZYLIRsrJOsozu6gYLaIS2UI5W0EFrr8KvuaKfZ3HrrrjWNNxrOS4UL9xWrVxrNU4qdA4qcs4VGOc16DtpfqF2zF2UIiS177joVs61aOpu+pHV3LmStqKryHsKnoaE+24kGjHhUQ73pdox+VEOy4k2nEp0Y5LiXacJ9pxIdEqhzYJI+PAs9bBkTHZcxpv9zGeOIsncrNlI+VBcl8TQQN6Tq3oRWpKL2bt6UvERvU6tawXuXm9ym3sVd/QXqPWDp/7nSTW43bf97FfVuSq0CrTwnN8LFxnVrgOe0Xxg7dBh09FwDGQklugRE6BUuYSqEeHQJXcASV2BtTYFVDzjoAKuQF9i3US7MQuUP4SKxa4Si0/Te/+Mb3CLL0CN3vh66RBlQ8LoMUVUXMrp7ZWnjW0irGVVaImVs7tqwI3rgq+ZRVTs+KXNSfeDNyghe9qSL2K9pzG232MJ87iidx82Tcog+RX1bAJWaGWZJkalOWsXblMbF4uQa3MMjc269zmrPumZ5U8gGRwBFbIH4KcuQUVuiq22LT4RB+LV5sVr8aew3J0IP3UAFzHGDmNCeQuJmSOYmp0EdPIOUxgtzCFHcIU7wrGyQnctzgnZBFu+NKXOCxfJdadJvf8mJw7S87lRk2/Vhk0Wd2B1lREjamc2lJ51pQqxpZUiRpSObejCtyMKvhWVEyNiCt6J94M3ISFFT1Sr6I9p/F2H+OJs3giN162wjdIcZI+LkzSx4VJ+njfJH1cnqSPC5P0cWmSPi5N0sf5JH1cmqTjTt0TbwZuu8I+XVKvoj2n8XYf44mzeCK3XbantZd+G5qtX479DVsMkDQWINdOwMNe1d+wdQBpwwDTNgE2NAcQaQlDtvmpO/JvDDvkNz91KHlz2PHwurCj/h1hh+idX8foRV/H3Nu9jvhNQy2SzU/DZuIW6T6igb0f4ZbZ7shvme1QsmW242HLbEf9ltkOpVtmO4W2zHaMtsx2zG2Z/TDqN0mc2JHfs9ihZFtix8OOxI76zYgdoqcGhXYodkzeUwPy+w8/DJF9ZkcS1IhcPJswcdeZxPpOCvWdpPWdxPpyK4GS1HdCmzE/QCsZaRPQhR61uad/u/JhyDFndqQb2AzhrrSeykIOtL4iMonyzC4qRuOoRBZSnptJZbaVCuQgyslLcGHtjBD5S2FhjdRJvDa7j/J9tkocSaWCrQoupXLJVsG5VPAehmuHFx6Br+FCIfkRe122UDhI8vYFXE8RmVN5Zk4VozlVInMqz82pMptTBXI95eR6wsH1FJHrGc9cT9RJvDa7nvJ9tkpcT6WCrQqup3LJVsH1VPCuh5v1LzwC18PN+uRH7HrZZn2RwvZAeYh8e2CupgYubg/MC7Cx924PzAsFw+fbA3OVHTbsEDlLBXbefTtE0jKT0j2DO3v12zbPXNsX2Gvzkpv7QvttHl3ey+T4YevMRSZgEISdM6lfh4Ao7pvpC/wxGqYZL/VIpxmGdJphyE8zjOM0w6hOMwzZNMOYTTOMyTTDiE4zFLXRfHShRzr6NuRH38Zx9G1UR9+GePRtio2+jen3CIZ0aqHIvqnojuSpAYndAbmKAA8R0FHv9h0iN+6Y2h0uONgdiM8bLer/wrVMWXvST5f6rUotac84V103GQOSxILIfcFjPGy97ilsHIbC+mGPIdpW3TH7sEfZ8HfPZSbbosVIpvzdkV896RCtW7SsdgasYwvXhebEPcNApUaAyC9B0boCE78EJK1qSOe31ohrV611rP1aGhGR6xJMsL+NLtmtpe0+4xM70i7BkO8HjKPrG1XXN8Rp3hQLCmOW0I1JFlfy5Cy380exvXexXXGz1ZDRwmYr5pSP881WLMbMHDZbMeccHTdbseCzddhsRRzydpgGMM8yeDYNYIlyeWkawDJn9TANYE75Xfg8tjRneuWU7pVnSULFmPhVouyvnLsAFbgfUMF3BoqpRxBO3YJh1zcIhhStiHoJ5dRVGI9f7ZgYOw2TYs+hGnUfyrkPUYE7EhG4NxEOXYoiyqzKuXMRoY6twt2M8n1ulHQ4KlGvozzvelTm/kcF6oSUU08knLsj4etoDe6YlFPvZDzrokRN+imRoLNSRD2W8qzbUjH2XSpRB6Y878VU5q5MBe7PVPCdmuCn2BK7BBWcLevowg5b6Q3yHba5yl3fnh22eZGkG8x32OZq6BILO2xzmbrHfIdtqmJXmS9Y5GrabRYXLPIC3IXuXbDIC4XuNF+wyFXuWp06L3lY6Ga9yp2tV9Nc6YskHa8vwN2vV0Mn7OXQFXuZOmQvcrfsVO6cSfRdtP+CEro2L3B37VXutEnNum5fJOnAqUDSjfsS/pNcVu33HlI5dOxODt27U7GT9wL3VV4NHb7/ZLPU9qHz9+q33TobCPgCPBzwamFQ4AuFoYGXeYDgVR4mODUMFpy6LtkzDBy8ysMHUtNBhCuTDSVcARxQeIGHFV5NBxe+SDLE8AV4oOHVwnDDFwqDDi+HoYeXaQDixKdSS++Kwt4QiAOTyTAaObEjvx49wXEHoGRdekIjDKC+N5i4sQQwWkaewKgBiM/wsn6O1QjfTjCnCuXfTrAYqxa+nWDOlYzfTrDgqxu+nRh4+OYg5VT7/JuDVMzsUPzmINXJIoVvDlKVbZN+c5BqZCXafp9QslC2/T6RMusUtt8nKlkm3X6faGyVZPt9opBFcG86I7JF2JvOPLNCtjedJap/3JvOAtec96Yzpjone7oLClmgtKe7IGf22LOnu1CCrFPc013Q2VaFPd0FlSznNjMHRtaKm5mDkFko3cwcNLJKspk5KGyJsJk5cKq9/pL0Zcao9iZQ7U3Iam9qrL1pVHsTuPamcO1N8bU3TrUffqn3MhKquWCqt+Cs1qLFOotCNRbM9RXOtRXu6yrU1/RqqOXwS61XWEVkulcTmF9fAAFXFQDrWgIwWxwAaBsYAcoORkC6OGCs/Y3jIzvyW0w75IfsJoydTWgvSIeSxux4aMiO+kbsULrXoFOoaTvmd3J0KLYd7E/tDrXtgKkRgPm3rMbxdxKN6nq4IZs3G7N2gztJuwHSX0pUJBOkfurWk2Hz7fErQVSHKqmrLTgAyqtapVV16wl44WiCKjFBlZlAVwmGH99oWbs2cGZHunXDkP9ZLeP4G0JG9eexDNlvYhmjnxpsWe2NbL/oCMxHOgg4ozKqywSGeKUQrmErAsZ0URDK6eRfke3GtmI43TZvaufY5xrqOrEG5L3EOHqJUfUGQ1RDUMxPjNm6kjH5SdGOTCUx9603dYkZmAY3MGouEzAxA9bEDMwSM0DzboAS4IA0MRvrFrHtyO+Sn4b0Cjzskp9iegWU7pKfuvQKTF3MkD62Ilthno7CsvJ0FNaSpyG3Ag/LD1PMrYBojWw6iovC0xGvBE8xsxqSWHh5bqTPrP2a5XRIrHZGFWupaRVRXssq9IZTTqtQ2HeSU5dVgSWV16R6puGycCctfA8+denPWO2uWse6ZwunU859RmNz5uui01FcDJ2OwgrodBSWPaeY+awRMfFZY7eJ71RP08QHyP95AePhs6QpJj5A/PcETLE/JWDM/oqAMfkDAkraBb7zl3qk6doQpuWOzny+nCX5cpbky1kpX87yfDlL8uUsy5ezLF/OYr6cJflyNsIfMZ1hvgSUvD2ZUb4E6t+CzJJ8CQrtc5hhvgTkf2x0NuTLYZQzw4SJTFsAGOV+E3DXqlH/w8ozlzOBwYdQBvVLKEP+p5VnkDX78JqNwnh0NqRNuEyVVFYTp2OFylZpZf2IFEpHI1SJEarMCDYi7UepsyF79u8nZpg9AdEfAJkN2fPoSK9rg0dgvrogYAwb9XtvZkkCxWvQ67sZZlAsp1MORTx4nFEOtaZ/9IZ6pHnHLGRRFMIsY4ZpFFCopEk00Zi5PIoF/VxrpuvnkFrCy4EgcIbMXw8ENcmV4QVBEELWjK8IgkL5M7wkYAEyafjWjXmWU7Nv3Vii7Fr61o1lzrPhWzfmlHGFY9pVxulIBU7AKqSJSdWYnVSiVKSc85EKISmpQulZOeVo4RSthn22Fp5VO+RtFTh5m7DPUEkaNynJ5SoWrBiyugpFK4b8LgIkeUWU6ZVzuhcBc74yTvwqpNlf1dgFqET9gPJCZ6A69wgqcLegAvUNwkMHIULSS4j0mNg89BcqpJ2GqrHnUIm6D+WFPkR17khUCL2JKtSl0EtFybXZW8VM476l+F4xK5D0MNmbxUwL/Uz6bjETqbfJ3i4mGvQ5SKnbQSnreVCPnQ+q1P+glHdBWIJ7IdSoI0KJ+iKQsDtCzIkWNe6UUEvTLRaIGRdVyqsocWpFLWRXFKmbQslWkYJGWcMpvsMCqXCt0G2hxj2X075hzaT/cmrShaFetnboyFDbZ+3QnYEGPRpS6tRQ4n4NNOzaEHPvhlrawWGB2MehSt0cSoWeDotwZ4ca93eoUZcHUuj1QEs6PlAf8wYK3R9qaQ+IBWIniCr1gygVukIswr0haqFDRNH3iU3Ydn9fsu8F2qN241r/YlFSHhYQBKWG5IelBEEpt9sHijoO5eGRoTRQKCvbR6CgICiluwWgmDIo5/629VDO/W3roRz8dd2hFPx13aEM/gnPoRD+Cc++1DV6br+4ez245LEdiScCSt6yXZPfAfVv2a4TPwOF3r9dO7cCNniTka9arZtRvxYKRxpNhnBc1FNxsV2C6ALK41Xw2w9GdJXs2w+R5M8Ru+sY5CuZEq/Vd5L9Hy24vV7K3y3os5hTvdRW0H7uqTvyOwM6lO0MUM/Toyd39OxK7vyRr1puZenG8fkU0UMqT5/UpRqPniJ6jifuEkRVKHuLDDmwHoqoHsrTeogK9cAPkwg9xxN3CaJ6lP3VDY9cZRznGjkxr1bI3gl/KvDnwnV2Jc71dWKsNHQKdzmlCqOUVpc7n0CfUvqcXmGXU6okSkkVbdzq6oiYK4laXksogdUE/JTj5/wiuwLmqqIW6ypd912CqI7K0/q5YYFHTxE9xxN3CaK6KI/10LHFXcaoJiakVfFjF2JPCXtOzt1ljOpjQqyQDoLuMkYVMiGtkB9kEXtK2HNy7i5jVCETQoU+jWS2r0d+Z0eHbG6vKNns0fGw2aOjfrNHh2hLR8fohw875n74sCN+l0eLmmhaVptNN5VU+Ekt2B4tdITWHfmR5CcadfQTy7vBNnagk1IlYhkj/nW8Ynwbr1BfxiuxN+6KbLqrSN63KxCT9ESmHvNIfA0U+2ooTuqiWqiQKr5Wiqlqyql+yl0llfqaxs9JU+5rXfiYNBUTC5Q/JU11b43Sh6SpSpbJPyNNNWcl/VNgeuDsEf78VwsXLi0t4tB0URgOLdJxwyL2Q4skny+SlNgeWbR3Rz5DdcjWywzFDNXxkKF66lbFFPvE1SFKXB2jxNWy2h/FZ64LD1inD1jHJwnrS6Ykz1j7/XId8pnUdydJR5J3IV/il8bD9QpfGucqteC+L43zItFse740zkuQjUtfGucy+0D86jcX9poldZLyV795gb3VKnhR6avfXCbfKnz1m6q7kiOx85W/Be0LLIdRU3+XpVul61H8OnUQ5GfYDUleOtEje85kzJiPFleYNocrxbn6qjBXX5Xn6iucYg8XjpPnVWHyvCpPnlfeRHj5QqOxwLf6RqOtcHVwuJWgXSzFl1ceLlyPcB2udiPqWi5+qEc+CGu+ZE+xOYfrxgWa2rWwP5Fvk7ZwL4XudbhhYbWhjqsKyXX4/uVVhV6nvnx4hHQNoObZfrgC37w02+9VHDAM940T19rNUv2JfLt0ltpL9B0h3JIUuDMpu+LV+DlYjo/jBkbDgyQT3dpPaulcvm0+qe01SX9wP8yIxx7t4ol8s+yvyg4SxvtwL3wbcOzRLp7I90pTQCc9uAs8xHMf8tOG1xCFVWove03OWFaf5Fvdi1SQ58hV/0kCq8l2di4CdcoL+E3urNKudpZpMz/L7qMGFv1O+E7NjbXHUnvM9C0b7TfQHuvsM80+u5SN8m2LwP+HL6HQ5Ubtm7LTw4ibB5xvc22pTu6xDwuv0dJVUsIP/pzmYyTWYZ0/p/6kS6bJRCHV3MMmJboJ7mnEfruB1/SGmSZvu3LVP05S4mF+U+Wm6ax9ETG1RyzxVWveWFf3pZwoudPTuiNd2zOU3aIVdBvHsV5M39n2lZOG49u6d2QXHtEDlN6ReZUfJez5G56Hf79yeB73ruvCI3qe0rsur/LzhB9AlOdJf7JLnsqJ+Gxe4Cf0av6c+c9eHWc3pmcefLRL0ER81CjWFTWP/Vqa13D9ySu6fuaxrZx5TpuDlMtqmae6TubwH2o3Jbo6QTixtYj2t6eEdH96ypH2t+BfeSI2JQwG6pUmzLsFz37E1B3porYhaQpAfseEcdwxYVR3TBiyfRHGbF+EMdkXYUTMbUgi4EyJze66Iz/h65C2BaD4Z6c6HqaFPcWFIMP+r1F1iP4aVcfor1G1rNZQ6o78y4UOJdtUOh62qXTUb1PpULpNpVNom0rHpEsGpLZXpHHeG/9phK+CntChAPlXQU/BoYCHkfUTOhQgWlx6cg4FzL0KekKHMuQd6mmEK29Po7Dc9hQaB3hagTpWIF9CexrFdbOnUVgsexqFFbKn2DjPLjKeY2Q8x8h4LkTGcxoZz3lkPMfIeE4i4zmJjF1ojl2s2I5HDIS5eLLlNip40p//+X+DG1I7\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w==\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json": +/*!************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json ***! + \************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"\\\"eJztWsuy48iN/Ret74KZfHtX47meqfGjPHaXx4/wgpJ4JbooUU1JVXXb0f9u4JwESF13R7TD29koIpFi8gCJBHDA/Pvm+nraTuPmZ3/f5HHzs7/k8WlzvXS7fvPXp02eqyR/2vRfd2N3gqhUUfm0Od9P236+DoczxLWK66fNpZ93/fkGWaOy5mnTnUR67c57lRaZSItM/tnN/XnsX/DfIqg0JOk8HI4UK4BCAFzG+xWCQgXF02Y3nU4dJJVKKrx5mPgKBVMImOvYXY+QKJRCoHzXzxMErQrap810hqaloioF1e0L5kvFUwqe23Hu+Q+1TinWeZnuMwSKrRRsL8Nn/kOxlYLtOnzFWE1Viqmu/eceVioVaylYe1OwVKilQD0PCYgiLRtVcJz4kEItW13mNLi0UsCVAB77KyxTKeJKEPff3rsREkVcCeLD3He3HqArBV0J6G/v/fU2cK1WH23l0e3c7T71N9uUVv/c5i73bWlVs1Y0u5/3srO7aQb2EPUB+eUTva0TYgG5mGbbzZSUkJTpn75ygF4PThhq1SMGMds4HYZdN54n/rdWc8rv02bfH9I2hbqGsKbPnIYzHSc0qmTIxI6nuwpiAIQmU8F4Gy7jK8RwntAI1v3wedj39FmFECp508s4zUOyGmwpKrwbL8eOIlVU//Yf/S1J9C212Pa/uuSwbVDYlWzxf/aj/UtfWgm258t1GG1X1BVawfdnX0xdoRbjPCdBVGs1svo3R/tPVD1r2YL3k0kUfC04f9ldLkmk0NVwv+pO232SKXa126/vHAO5wPxNGivsRsZ/HDhWzLVg/iBuOSfMUTGrTX+b/qSIG0H8u+NEl1J4jcD7/XBI9kDcUYN/0/FNCDuNAP64skYOeLrykUsjElWC9+cmAEAB9NtrEijCplaE/YHvKuC5Iup8zxBAWtFrayakC2QC8uCbhggSskx9zXYNQSRkeuZWQBFKQowabNIfS/qeqOgSOFTINcC4DKcnE70H2zqElJAJ3k++dwgrIRPA47J5iCwr724RWELINFBTAAWiCL7SOogrIQj6abWBOH8hCPoL/4a4EoJgn9MWIq40lcY52cJAGbCHMgkpA3g9t7e0sRWgB1HnvjJYRez6yrSTlYJvRZmdCQhe80Pa24roNYL75uLo10WyKYHVeFLjYnImilM0qPDOJOKWNGlFCJsIrw/qsNv7OPY3SnNYSQ9DP46DLHylvGCcEFU08Nz6JIVx9Chd+93ENNhEWroSuC8SAi0WNznNpqH9+c5k1RQ0nIbi9/LnTzdmoKZAaAwaib/0g0Ti29wxG8gUgLey/O8eHmmqt4eiKTNYo416LPrLkcIWa2u06eZ5+mLBXCaoTp4m7pckBm41P8Qe0mUG6DUCYWY/fTmnCQbwkCa2043vrhA2gqakncwM3aGfe9GAj1Vw9qiuzPW2o4Or4PcxhmUu4atwAGKMy8wCscJhiDFfJh1lhY2K6mo250DrTJXOC82EUgVIkTMmOd0moqC5Dd24H15e0hRKJS0Cvg7Xm9RKgz9ErdWrTpfb6zV5Wx2ytwlDZLplUQ/8Ye72Qyq5RI5kqY4t6fe0iHOItdCYbo8zKOi0vLjvjrdjZ2IYRAPUZZ72910SI7vEiL9LaHSvrZFkipKOf02y8gc9vEbmKHQjRP95uH6ShZI9c9pao41otTPLICMETXSC5jLNupbP8bxo2Dy/DOfh9prk8BKNk935MPIo1jiKUSNQqiVSVSozBWYan5nmNMGz1+r6AleO8KJJwXdk2H8XwgVVP31AticBhdvqIZPwNPcvqWhqah74iIB6GsYuvbdGeYFS93yY775hPNh6giUlzNNXr/eaJmNYKrnLKznOt4ZsEQ6f5ZCfWVvJFK2Xs5BcP8ND23r5uJqDyaPmM90Oscl9a87aIC3HLCxz+uOzNFgOhA+P4XRq8hPTjP3Xhzn4oiYIm1svybSpOX03zDuJX4kqyAx3rrKZdZ3XNMggGh9lsUt/Fm+7m+1bGCxqOttPN/fOFiExKh+xnb1d0gz8qiiXmS0r5YxLaaULN/TaOsu4WEgTS3Fd1TCvlsvj9F1/PvQpPzHAZqiN9yZEntcyaDfet0mGOKLl5LGX6EMhU5ZGkf3QnVIWqvJA5FoG7KbLK1BcBcyLTfNYZGr7g8ar+WEWm63VgmSefX/q5k+r6Rplrdo/Heb+q00gKzcWUiVy3pY5RkGL7kept7/zSRS8Uc+Kw+nOV5ukqeu1KqtZ2Ds2a6yrWZghX/NS7q3OwQZ5WM0tgGCBPK7muPM6B2fP8wditayKMKG5YzW7rIvzkJcPs8vKOBGaRJxo+boMocrFfe407G0SJlJS7pO+KOrwqKkAcw4lp28Xi28vU7AM2Lfz9gUITKM8fJlcnoRtlJIvkwsSRtD2kXkuC8M2ytbX08vSME4ZHqd9cTQgojL5hXr60uhDxDJfTy7WQ3kXy2I9q+t+L7V+d3nZD+fDtrtdf7iZ8gPUNhVNSLOdFKmrqgg5UGR5ktUWkERW4ETnYSnQpK5PsqU2k3I5yZbCTGhJki0lmbJ2ypxOd8rYKXM23Slnp6yxclZkVZK1li1EVlMWmY0yyJokC5bIRdYm6sDCW/9X54knZEYnurpKJCEzNtHVdYqTmdGJrm6SiJRMsdWJmTS1MYWuSZwAHg3D5dSJO6tnpqPiNXIHapSQHkL9WNCyDwEZymTtQzyGcfx/rQVukWUP4RgGS29oG5RieEMSVKm67GISoHZUs0g6TKImlZMdbde2cDMFUCZBSBWevKlNIlRrBNQkEVpt0CXUSYTWGvzG1q5TldeFIklgFfiMvQ6tNXgMtk5IM+qSAjbJSpOh4wdUtYnQYgOqxkRosgFVayK02SJsYCJ02tRw9HkVodUG00UTodcG4+UmQrdN0dPhVYR2m8KPBhX1t/bkumgaofzWplwXDT2Oo9K2Lhp6dogUvT+HBpGC98fQxlDs/lSVCr/OVGZ7CGY3lXEIKyD3fylyrQS63P4VjTl0uRkGJxB+l5th2CBS5LkZhg0iRZ6bYdgPUqC5aYMEh8CSmzrsCinU3PRBKkNYyQ0qTgSiSmFQcSAQVAqDimSFmFIYVPaKFGphUNktUqiFQUVaUvLVFbaHSEZK47vC0LNfpOgLQ8+OkaIvDD2SjZbOXWHokWBQgJeGHkmlwaEz9EglKHFKQ48og8qmNPQgJEp0u9LQg4mAjJeGnm0rRV8aeratFH1p6EE8tBnQlYYebSutwLrS0KNrhRZYZegRbpV3dpWhR8tKSU9XGXr2rJTsdJXBTz0ruLjhT00rVaAyBVLTSjWoTIPUs1IVKlOBbSulAV1lOrBzpZS2q0wJNq8yhH7TovIOb1cb5tSXUny14Ut9KUYQUyS1phRgbaDZmEIiFrKThCnpIMMYGrZh0JBo7M01e+H65sZeUpPp6ZsbX4+dcH1xa1YgxYsIAWYF9rXBI1p/L9tiiL6ZmYGtrYpZybaz8caUCA1iA4iIPcEN0ZAQIuq70g2ZPCOQ7R+yE5riIjTojfMRESbsge1zHMhgsSlk5PR4u0WnQDraMOdEE7JTj7dbhAqpw4K3W4wKGZv3eHtempBkA+nHQldgrwXHM1jwCgj0pB7BwlcIbI7BnhbAAmsvHNJgISyw+MIxDRbEAqsvHNRgYSyw/GqZSE0j1l84rMFCWWABhuMaLJgFVmA4sMHCWUi8CRpZQAvkSzizwUJaIE/CoQ0W1ALpEU5tsLDGDzqg6yI0jaKzfxGaRuRBOLjBglsgAcpYHZhG5D04usECXCDdQd0WLMQFshwc6GBBLqQOETSyMBdIa3DMgwW6QD6Dcx4s1AXyDpSRYmoTsrpmzWKQyDJw0GWjTci2GCBZIAtkFDj+wSJZIJPA+Q8WygIJRCQkw8meFCJAsGAWCu8BiNAsjzTAXkKwEBfYg2IQqM3y7EFFauT/ZAcUGlk0DAU7nyzETPeSHBIa1aZmSe4IjWpTsyRphEa1qVmSTFMjU7Mki4ZGreEsSZ+hUWO6s7+bc4/8cdJlaNSYQdjTRbEbM3+c5BgaWTgOSA7stkSLiqFiCwbgLUiHinQX4C1Kh4pEl+BN94oEl+DNdBWJLcH74yS0AG8RPeCjRmRZ3JiR0ZWKrItbW7MmZWVlbG+vSVWxHY2tyW+lJTUy0yEVgdTKmmYlNplKagSDCMFlTIaH8GmVMWkpIj6sMsQv+Ae3UmUIX3AP6q0yRC94x/IOBC84B4+VyhC7yHTIELQRhGgM32hchmAM14hMRCpEMIZrNC6DJvAMWkxl0ASOQYOpDJqACrX+EmgCX9EQ8f3T5stwlggXf/otCfss8O19uvX7LfqmP3Z1AiRPP2JPY2pA/vTbFIhHqhFedB2s0/2v3bIAG1z14yH8CVcvwJFFoePr5cgbDv9/G+Pfvo2BUIP6ix0r8EO9ZYARuKFeMMAIvFA/gWMESqifiTACG9QrBTpCBFGK9wuMQKz0UgJGoH+C7L8xAvPTL40Y4au7gPkfjEAB9SYBRmB/eokAIxA/vT6AETifXh7ACHRPrwroqAFX0i/5GIEmCZb/xQj8Tu8LYARqp5cFMAKr03sCGIHQ6SUBjMDlBMsfMLIP//+HERicXlzACORNsPxJR2iW4I4FRj92EQa8TTuGInY3/vHrMSBwuoPX3TDot4c7osKPXJtBm0XLvsPc0XfRZkHNhxE4nLZsMQJ902/jDOQIkriXkAL7JhEyNh1ZemtZ98IxCZvebeCYZE3AHjkmUdMPGRyTpAm6v3FMgqY3EjgmOdPPZhyTmOlFBIwZxHEPgWNeJ9BbBxyz+af9c45J2PRMcEyyph8EOSZP03PMMTmaXjLgmN0+vWLAMfBpFfeZY7838AVjNilxLYJj4NOy7ZVjUju9zcHxv3/FiVcKULCpf9yGcb9qEOPL/6pp7GyO2cU+S7N2AaOzDMHKBXxO4/goyYBiZ3S7+yxxf0fNKud0r31a0gnddp4+9WfTpHJOt/r4yfIlfVDq5z7dgWABg8amf4SBnLxZQ9A0718keFqMZSGDNurhPoxjf5r84LGeQY/77d0vb3QvyYc1DTrd9nWo56movd196uyqy792faz2prfkJHyAHPiBONTe+kZ2ephrlhb4Ll0HSRfRNOLxqk5onB1LWu4kCPAGRmicIDOZ6j67Ro0T5V2/F6t1lDpTlkz6iMTpspj/JI53H83+jZNmt/+ybY2TZ1lRctmcUldonEDLxLEbGV5aZ9AwRnqAJmydSFu6c2dunU6/8yDIL5Og0+8W67VOp98xsL6kr1H8FglO/W45Uq1z6ncPXto6rX432zlpnVW/e6bAGfXPV0aOmXPqZwcbM+fUzw42Zs6pnx/BxsyJ9fMaV8ycW79fre3c+v1qbefW79+u7QT7/ePazrGf+UE7Zk6wf+Mmi8EJ9ocFQnCC/WGBEJxgf3gDgddNNIp/WC3Mb12i24cHXIEfkcs3FzGDM/UPnnJjcKb+cQXOmfrHFThn6h/fgItO1z8+4IjO2P+0LBOdsX9znHgBKUYn7Id+Pkklvh3TCgtpX9DFhbSvll1I+1t0C3NfTBcX5v4IeSHv5sYxX7g7H86dt+/Wbpw7c+8XsLkz934Bmztz79+AzZ2+9w+4cmfww2ptZ/DDam1n8MPbtZ3GDw9rs9ui3KZPblw4tz8vJiuc208LhMK5/bRAKJzbT28gFE7wp9XCTvCnR1zO8ZeLw7Fwjj8tTlw4x78v0Ern+PcFWukc//4GWulE//6AonSu/7paxrn+zZ2YnRclRK/rBXJsCAjxh2cKEAWVJ02ku/wOoFv2+12XkmnODwHgW4uQGVbZ0uM7mAJ1b/68/JlpUMnWdy5MF6/Vd5eL19YYSPd6FqPwBkNQo/h2NQxdQQ3bn/dpCxrGrqCW7U8rKZl/mfi0Xytk3Am66ZhYbg4y+KAVslDwbXdNL2d5qU5hnYBlTZaa6hs2t1qWdaeeTptcLco+hl5R7w4H5uOGcQbtEkpT18GusOI2xT9dYcVJf7zCSjmbD+Iud2s1NPRb9E+0UICmizb8ZK/+5JOLOulSqwaw5VJr2vB8dSFn89fvv/8H0oq1dA==\\\"\");\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js ***! + \***************************************************************************/ +/*! exports provided: FontNames, Font, Encodings */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Font__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Font */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Font.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontNames\", function() { return _Font__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Font\", function() { return _Font__WEBPACK_IMPORTED_MODULE_0__[\"Font\"]; });\n\n/* harmony import */ var _Encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Encoding */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/Encoding.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Encodings\", function() { return _Encoding__WEBPACK_IMPORTED_MODULE_1__[\"Encodings\"]; });\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js ***! + \***************************************************************************/ +/*! exports provided: decodeFromBase64, decompressJson, padStart */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return decodeFromBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decompressJson\", function() { return decompressJson; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return padStart; });\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * The `chars`, `lookup`, and `decodeFromBase64` members of this file are\n * licensed under the following:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n *\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar decodeFromBase64 = function (base64) {\n var bufferLength = base64.length * 0.75;\n var len = base64.length;\n var i;\n var p = 0;\n var encoded1;\n var encoded2;\n var encoded3;\n var encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var bytes = new Uint8Array(bufferLength);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return bytes;\n};\nvar arrayToString = function (array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n str += String.fromCharCode(array[i]);\n }\n return str;\n};\nvar decompressJson = function (compressedJson) {\n return arrayToString(pako__WEBPACK_IMPORTED_MODULE_0___default.a.inflate(decodeFromBase64(compressedJson)));\n};\nvar padStart = function (value, length, padChar) {\n var padding = '';\n for (var idx = 0, len = length - value.length; idx < len; idx++) {\n padding += padChar;\n }\n return padding + value;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/utils.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar UPNG = {};\n\n\t\n\nUPNG.toRGBA8 = function(out)\n{\n\tvar w = out.width, h = out.height;\n\tif(out.tabs.acTL==null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer];\n\t\n\tvar frms = [];\n\tif(out.frames[0].data==null) out.frames[0].data = out.data;\n\t\n\tvar len = w*h*4, img = new Uint8Array(len), empty = new Uint8Array(len), prev=new Uint8Array(len);\n\tfor(var i=0; i>3)]>>(7-((i&7)<<0)))& 1), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>2)]>>(6-((i&3)<<1)))& 3), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>1)]>>(4-((i&1)<<2)))&15), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>>3)]>>>(7 -((x&7) )))& 1), al=(gr==tr*255)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 2) for(var x=0; x>>2)]>>>(6 -((x&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 4) for(var x=0; x>>1)]>>>(4 -((x&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }\n\t\t\telse if(depth== 8) for(var x=0; x>>2<<3);while(i==0){i=n(N,d,1);m=n(N,d+1,2);d+=3;if(m==0){if((d&7)!=0)d+=8-(d&7);\nvar D=(d>>>3)+4,q=N[D-4]|N[D-3]<<8;if(Z)W=H.H.W(W,w+q);W.set(new R(N.buffer,N.byteOffset+D,q),w);d=D+q<<3;\nw+=q;continue}if(Z)W=H.H.W(W,w+(1<<17));if(m==1){v=b.J;C=b.h;X=(1<<9)-1;u=(1<<5)-1}if(m==2){J=A(N,d,5)+257;\nh=A(N,d+5,5)+1;Q=A(N,d+10,4)+4;d+=14;var E=d,j=1;for(var c=0;c<38;c+=2){b.Q[c]=0;b.Q[c+1]=0}for(var c=0;\ncj)j=K}d+=3*Q;M(b.Q,j);I(b.Q,j,b.u);v=b.w;C=b.d;\nd=l(b.u,(1<>>4;if(p>>>8==0){W[w++]=p}else if(p==256){break}else{var z=w+p-254;\nif(p>264){var _=b.q[p-257];z=w+(_>>>3)+A(N,d,_&7);d+=_&7}var $=C[e(N,d)&u];d+=$&15;var s=$>>>4,Y=b.c[s],a=(Y>>>4)+n(N,d,Y&15);\nd+=Y&15;while(w>>4;\nif(b<=15){A[I]=b;I++}else{var Z=0,m=0;if(b==16){m=3+l(V,n,2);n+=2;Z=A[I-1]}else if(b==17){m=3+l(V,n,3);\nn+=3}else if(b==18){m=11+l(V,n,7);n+=7}var J=I+m;while(I>>1;\nwhile(An)n=M;A++}while(A>1,I=N[l+1],e=M<<4|I,b=W-I,Z=N[l]<>>15-W;R[J]=e;Z++}}};H.H.l=function(N,W){var R=H.H.m.r,V=15-W;for(var n=0;n>>V}};H.H.M=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8};\nH.H.I=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8;N[V+2]|=R>>>16};H.H.e=function(N,W,R){return(N[W>>>3]|N[(W>>>3)+1]<<8)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)};\nH.H.i=function(N,W){return(N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16|N[(W>>>3)+3]<<24)>>>(W&7)};H.H.m=function(){var N=Uint16Array,W=Uint32Array;\nreturn{K:new N(16),j:new N(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new N(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new W(32),J:new N(512),_:[],h:new N(32),$:[],w:new N(32768),C:[],v:[],d:new N(32768),D:[],u:new N(512),Q:[],r:new N(1<<15),s:new W(286),Y:new W(30),a:new W(19),t:new W(15e3),k:new N(1<<16),g:new N(1<<15)}}();\n(function(){var N=H.H.m,W=1<<15;for(var R=0;R>>1|(V&1431655765)<<1;\nV=(V&3435973836)>>>2|(V&858993459)<<2;V=(V&4042322160)>>>4|(V&252645135)<<4;V=(V&4278255360)>>>8|(V&16711935)<<8;\nN.r[R]=(V>>>16|V<<16)>>>17}function n(A,l,M){while(l--!=0)A.push(0,M)}for(var R=0;R<32;R++){N.q[R]=N.S[R]<<3|N.T[R];\nN.c[R]=N.p[R]<<4|N.z[R]}n(N._,144,8);n(N._,255-143,9);n(N._,279-255,7);n(N._,287-279,8);H.H.n(N._,9);\nH.H.A(N._,9,N.J);H.H.l(N._,9);n(N.$,32,5);H.H.n(N.$,5);H.H.A(N.$,5,N.h);H.H.l(N.$,5);n(N.Q,19,0);n(N.C,286,0);\nn(N.D,30,0);n(N.v,320,0)}());return H.H.N}()\n\n\nUPNG.decode._readInterlace = function(data, out)\n{\n\tvar w = out.width, h = out.height;\n\tvar bpp = UPNG.decode._getBPP(out), cbpp = bpp>>3, bpl = Math.ceil(w*bpp/8);\n\tvar img = new Uint8Array( h * bpl );\n\tvar di = 0;\n\n\tvar starting_row = [ 0, 0, 4, 0, 2, 0, 1 ];\n\tvar starting_col = [ 0, 4, 0, 2, 0, 1, 0 ];\n\tvar row_increment = [ 8, 8, 8, 4, 4, 2, 2 ];\n\tvar col_increment = [ 8, 8, 4, 4, 2, 2, 1 ];\n\n\tvar pass=0;\n\twhile(pass<7)\n\t{\n\t\tvar ri = row_increment[pass], ci = col_increment[pass];\n\t\tvar sw = 0, sh = 0;\n\t\tvar cr = starting_row[pass]; while(cr>3]; val = (val>>(7-(cdi&7)))&1;\n\t\t\t\t\timg[row*bpl + (col>>3)] |= (val << (7-((col&7)<<0)));\n\t\t\t\t}\n\t\t\t\tif(bpp==2) {\n\t\t\t\t\tvar val = data[cdi>>3]; val = (val>>(6-(cdi&7)))&3;\n\t\t\t\t\timg[row*bpl + (col>>2)] |= (val << (6-((col&3)<<1)));\n\t\t\t\t}\n\t\t\t\tif(bpp==4) {\n\t\t\t\t\tvar val = data[cdi>>3]; val = (val>>(4-(cdi&7)))&15;\n\t\t\t\t\timg[row*bpl + (col>>1)] |= (val << (4-((col&1)<<2)));\n\t\t\t\t}\n\t\t\t\tif(bpp>=8) {\n\t\t\t\t\tvar ii = row*bpl+col*cbpp;\n\t\t\t\t\tfor(var j=0; j>3)+j];\n\t\t\t\t}\n\t\t\t\tcdi+=bpp; col+=ci;\n\t\t\t}\n\t\t\ty++; row += ri;\n\t\t}\n\t\tif(sw*sh!=0) di += sh * (1 + bpll);\n\t\tpass = pass + 1;\n\t}\n\treturn img;\n}\n\nUPNG.decode._getBPP = function(out) {\n\tvar noc = [1,null,3,1,2,null,4][out.ctype];\n\treturn noc * out.depth;\n}\n\nUPNG.decode._filterZero = function(data, out, off, w, h)\n{\n\tvar bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth;\n\tbpp = Math.ceil(bpp/8);\n\t\n\tvar i=0, di=1, type=data[off], x=0;\n\t\n\tif(type>1) data[off]=[0,0,1][type-2]; \n\tif(type==3) for(x=bpp; x>>1) )&255;\n\n\tfor(var y=0; y>>1));\n\t\t\t for(; x>>1) ); }\n\t\telse { for(; x>8)&255; buff[p+1] = n&255; },\n\treadUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); },\n\twriteUint : function(buff,p,n){ buff[p]=(n>>24)&255; buff[p+1]=(n>>16)&255; buff[p+2]=(n>>8)&255; buff[p+3]=n&255; },\n\treadASCII : function(buff,p,l){ var s = \"\"; for(var i=0; i=0 && yoff>=0) { si = (y*sw+x)<<2; ti = (( yoff+y)*tw+xoff+x)<<2; }\n\t\t\telse { si = ((-yoff+y)*sw-xoff+x)<<2; ti = (y*tw+x)<<2; }\n\t\t\t\n\t\t\tif (mode==0) { tb[ti] = sb[si]; tb[ti+1] = sb[si+1]; tb[ti+2] = sb[si+2]; tb[ti+3] = sb[si+3]; }\n\t\t\telse if(mode==1) {\n\t\t\t\tvar fa = sb[si+3]*(1/255), fr=sb[si]*fa, fg=sb[si+1]*fa, fb=sb[si+2]*fa; \n\t\t\t\tvar ba = tb[ti+3]*(1/255), br=tb[ti]*ba, bg=tb[ti+1]*ba, bb=tb[ti+2]*ba; \n\t\t\t\t\n\t\t\t\tvar ifa=1-fa, oa = fa+ba*ifa, ioa = (oa==0?0:1/oa);\n\t\t\t\ttb[ti+3] = 255*oa; \n\t\t\t\ttb[ti+0] = (fr+br*ifa)*ioa; \n\t\t\t\ttb[ti+1] = (fg+bg*ifa)*ioa; \n\t\t\t\ttb[ti+2] = (fb+bb*ifa)*ioa; \n\t\t\t}\n\t\t\telse if(mode==2){\t// copy only differences, otherwise zero\n\t\t\t\tvar fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; \n\t\t\t\tvar ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; \n\t\t\t\tif(fa==ba && fr==br && fg==bg && fb==bb) { tb[ti]=0; tb[ti+1]=0; tb[ti+2]=0; tb[ti+3]=0; }\n\t\t\t\telse { tb[ti]=fr; tb[ti+1]=fg; tb[ti+2]=fb; tb[ti+3]=fa; }\n\t\t\t}\n\t\t\telse if(mode==3){\t// check if can be blended\n\t\t\t\tvar fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; \n\t\t\t\tvar ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; \n\t\t\t\tif(fa==ba && fr==br && fg==bg && fb==bb) continue;\n\t\t\t\t//if(fa!=255 && ba!=0) return false;\n\t\t\t\tif(fa<220 && ba>20) return false;\n\t\t\t}\n\t\t}\n\treturn true;\n}\n\n\n\n\nUPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte)\n{\n\tif(ps==null) ps=0;\n\tif(forbidPlte==null) forbidPlte = false;\n\n\tvar nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]);\n\tUPNG.encode.compressPNG(nimg, -1);\n\t\n\treturn UPNG.encode._main(nimg, w, h, dels, tabs);\n}\n\nUPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) {\n\tvar nimg = { ctype: 0 + (cc==1 ? 0 : 2) + (ac==0 ? 0 : 4), depth: depth, frames: [] };\n\t\n\tvar time = Date.now();\n\tvar bipp = (cc+ac)*depth, bipl = bipp * w;\n\tfor(var i=0; i1, pltAlpha = false;\n\t\n\tvar leng = 8 + (16+5+4) /*+ (9+4)*/ + (anim ? 20 : 0);\n\tif(tabs[\"sRGB\"]!=null) leng += 8+1+4;\n\tif(tabs[\"pHYs\"]!=null) leng += 8+9+4;\n\tif(nimg.ctype==3) {\n\t\tvar dl = nimg.plte.length;\n\t\tfor(var i=0; i>>24)!=255) pltAlpha = true;\n\t\tleng += (8 + dl*3 + 4) + (pltAlpha ? (8 + dl*1 + 4) : 0);\n\t}\n\tfor(var j=0; j>>8)&255, b=(c>>>16)&255;\n\t\t\tdata[offset+ti+0]=r; data[offset+ti+1]=g; data[offset+ti+2]=b;\n\t\t}\n\t\toffset+=dl*3;\n\t\twUi(data,offset,crc(data,offset-dl*3-4,dl*3+4)); offset+=4; // crc\n\n\t\tif(pltAlpha) {\n\t\t\twUi(data,offset, dl); offset+=4;\n\t\t\twAs(data,offset,\"tRNS\"); offset+=4;\n\t\t\tfor(var i=0; i>>24)&255;\n\t\t\toffset+=dl;\n\t\t\twUi(data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc\n\t\t}\n\t}\n\t\n\tvar fi = 0;\n\tfor(var j=0; j>2, bln>>2));\n\t\t\tfor(var j=0; jnw && c==img32[i-nw]) ind[i]=ind[i-nw];\n\t\t\t\telse {\n\t\t\t\t\tvar cmc = cmap[c];\n\t\t\t\t\tif(cmc==null) { cmap[c]=cmc=plte.length; plte.push(c); if(plte.length>=300) break; }\n\t\t\t\t\tind[i]=cmc;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//console.log(\"make palette\", Date.now()-time); time = Date.now();\n\t}\n\t\n\tvar cc=plte.length; //console.log(\"colors:\",cc);\n\tif(cc<=256 && forbidPlte==false) {\n\t\tif(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8;\n\t\tdepth = Math.max(depth, minBits);\n\t}\n\t\n\tfor(var j=0; j>1)] |= (inj[ii+x]<<(4-(x&1)*4));\n\t\t\t\telse if(depth==2) for(var x=0; x>2)] |= (inj[ii+x]<<(6-(x&3)*2));\n\t\t\t\telse if(depth==1) for(var x=0; x>3)] |= (inj[ii+x]<<(7-(x&7)*1));\n\t\t\t}\n\t\t\tcimg=nimg; ctype=3; bpp=1;\n\t\t}\n\t\telse if(gotAlpha==false && frms.length==1) {\t// some next \"reduced\" frames may contain alpha for blending\n\t\t\tvar nimg = new Uint8Array(nw*nh*3), area=nw*nh;\n\t\t\tfor(var i=0; i palette indices\", Date.now()-time); time = Date.now();\n\t\n\treturn {ctype:ctype, depth:depth, plte:plte, frames:frms };\n}\nUPNG.encode.framize = function(bufs,w,h,alwaysBlend,evenCrd,forbidPrev) {\n\t/* DISPOSE\n\t - 0 : no change\n\t\t- 1 : clear to transparent\n\t\t- 2 : retstore to content before rendering (previous frame disposed)\n\t\tBLEND\n\t\t- 0 : replace\n\t\t- 1 : blend\n\t*/\n\tvar frms = [];\n\tfor(var j=0; jmax) max=x;\n\t\t\t\t\t\tif(ymay) may=y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(max==-1) mix=miy=max=may=0;\n\t\t\t\tif(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; }\n\t\t\t\tvar sarea = (max-mix+1)*(may-miy+1);\n\t\t\t\tif(sareamax) max=cx;\n\t\t\tif(cymay) may=cy;\n\t\t}\n\t}\n\tif(max==-1) mix=miy=max=may=0;\n\tif(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; }\n\tr = {x:mix, y:miy, width:max-mix+1, height:may-miy+1};\n\t\n\tvar fr = frms[i]; fr.rect = r; fr.blend = 1; fr.img = new Uint8Array(r.width*r.height*4);\n\tif(frms[i-1].dispose==0) {\n\t\tUPNG._copyTile(pimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0);\n\t\tUPNG.encode._prepareDiff(cimg,w,h,fr.img,r);\n\t\t//UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 2);\n\t}\n\telse\n\t\tUPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0);\n}\nUPNG.encode._prepareDiff = function(cimg, w,h, nimg, rec) {\n\tUPNG._copyTile(cimg,w,h, nimg,rec.width,rec.height, -rec.x,-rec.y, 2);\n\t/*\n\tvar n32 = new Uint32Array(nimg.buffer);\n\tvar og = new Uint8Array(rec.width*rec.height*4), o32 = new Uint32Array(og.buffer);\n\tUPNG._copyTile(cimg,w,h, og,rec.width,rec.height, -rec.x,-rec.y, 0);\n\tfor(var i=4; i>>2]==o32[(i>>>2)-1]) {\n\t\t\tn32[i>>>2]=o32[i>>>2];\n\t\t\t//var j = i, c=p32[(i>>>2)-1];\n\t\t\t//while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; }\n\t\t}\n\t}\n\tfor(var i=nimg.length-8; i>0; i-=4) {\n\t\tif(nimg[i+7]!=0 && nimg[i+3]==0 && o32[i>>>2]==o32[(i>>>2)+1]) {\n\t\t\tn32[i>>>2]=o32[i>>>2];\n\t\t\t//var j = i, c=p32[(i>>>2)-1];\n\t\t\t//while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; }\n\t\t}\n\t}*/\n}\n\nUPNG.encode._filterZero = function(img,h,bpp,bpl,data, filter, levelZero)\n{\n\tvar fls = [], ftry=[0,1,2,3,4];\n\tif (filter!=-1) ftry=[filter];\n\telse if(h*bpl>500000 || bpp==1) ftry=[0];\n\tvar opts; if(levelZero) opts={level:0};\n\t\n\tvar CMPR = (levelZero && UZIP!=null) ? UZIP : pako__WEBPACK_IMPORTED_MODULE_0___default.a;\n\t\n\tfor(var i=0; i>1) +256)&255;\n\t\tif(type==4) for(var x=bpp; x>1))&255;\n\t\t\t\t\t for(var x=bpp; x>1))&255; }\n\t\tif(type==4) { for(var x= 0; x>> 1);\n\t\t\t\telse c = c >>> 1;\n\t\t\t}\n\t\t\ttab[n] = c; }\n\t\treturn tab; })(),\n\tupdate : function(c, buf, off, len) {\n\t\tfor (var i=0; i>> 8);\n\t\treturn c;\n\t},\n\tcrc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; }\n}\n\n\nUPNG.quantize = function(abuf, ps)\n{\t\n\tvar oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer);\n\t\n\tvar KD = UPNG.quantize.getKDtree(nimg, ps);\n\tvar root = KD[0], leafs = KD[1];\n\t\n\tvar planeDst = UPNG.quantize.planeDst;\n\tvar sb = oimg, tb = nimg32, len=sb.length;\n\t\t\n\tvar inds = new Uint8Array(oimg.length>>2);\n\tfor(var i=0; i>2] = nd.ind;\n\t\ttb[i>>2] = nd.est.rgba;\n\t}\n\treturn { abuf:nimg.buffer, inds:inds, plte:leafs };\n}\n\nUPNG.quantize.getKDtree = function(nimg, ps, err) {\n\tif(err==null) err = 0.0001;\n\tvar nimg32 = new Uint32Array(nimg.buffer);\n\t\n\tvar root = {i0:0, i1:nimg.length, bst:null, est:null, tdst:0, left:null, right:null }; // basic statistic, extra statistic\n\troot.bst = UPNG.quantize.stats( nimg,root.i0, root.i1 ); root.est = UPNG.quantize.estats( root.bst );\n\tvar leafs = [root];\n\t\n\twhile(leafs.length maxL) { maxL=leafs[i].est.L; mi=i; }\n\t\tif(maxL=s0 || node.i1<=s0);\n\t\t//console.log(maxL, leafs.length, mi);\n\t\tif(s0wrong) { node.est.L=0; continue; }\n\t\t\n\t\t\n\t\tvar ln = {i0:node.i0, i1:s0, bst:null, est:null, tdst:0, left:null, right:null }; ln.bst = UPNG.quantize.stats( nimg, ln.i0, ln.i1 ); \n\t\tln.est = UPNG.quantize.estats( ln.bst );\n\t\tvar rn = {i0:s0, i1:node.i1, bst:null, est:null, tdst:0, left:null, right:null }; rn.bst = {R:[], m:[], N:node.bst.N-ln.bst.N};\n\t\tfor(var i=0; i<16; i++) rn.bst.R[i] = node.bst.R[i]-ln.bst.R[i];\n\t\tfor(var i=0; i< 4; i++) rn.bst.m[i] = node.bst.m[i]-ln.bst.m[i];\n\t\trn.est = UPNG.quantize.estats( rn.bst );\n\t\t\n\t\tnode.left = ln; node.right = rn;\n\t\tleafs[mi]=ln; leafs.push(rn);\n\t}\n\tleafs.sort(function(a,b) { return b.bst.N-a.bst.N; });\n\tfor(var i=0; i0) { node0=nd.right; node1=nd.left; }\n\t\n\tvar ln = UPNG.quantize.getNearest(node0, r,g,b,a);\n\tif(ln.tdst<=planeDst*planeDst) return ln;\n\tvar rn = UPNG.quantize.getNearest(node1, r,g,b,a);\n\treturn rn.tdst eMq) i1-=4;\n\t\tif(i0>=i1) break;\n\t\t\n\t\tvar t = nimg32[i0>>2]; nimg32[i0>>2] = nimg32[i1>>2]; nimg32[i1>>2]=t;\n\t\t\n\t\ti0+=4; i1-=4;\n\t}\n\twhile(vecDot(nimg, i0, e)>eMq) i0-=4;\n\treturn i0+4;\n}\nUPNG.quantize.vecDot = function(nimg, i, e)\n{\n\treturn nimg[i]*e[0] + nimg[i+1]*e[1] + nimg[i+2]*e[2] + nimg[i+3]*e[3];\n}\nUPNG.quantize.stats = function(nimg, i0, i1){\n\tvar R = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0];\n\tvar m = [0,0,0,0];\n\tvar N = (i1-i0)>>2;\n\tfor(var i=i0; i>>0) };\n}\nUPNG.M4 = {\n\tmultVec : function(m,v) {\n\t\t\treturn [\n\t\t\t\tm[ 0]*v[0] + m[ 1]*v[1] + m[ 2]*v[2] + m[ 3]*v[3],\n\t\t\t\tm[ 4]*v[0] + m[ 5]*v[1] + m[ 6]*v[2] + m[ 7]*v[3],\n\t\t\t\tm[ 8]*v[0] + m[ 9]*v[1] + m[10]*v[2] + m[11]*v[3],\n\t\t\t\tm[12]*v[0] + m[13]*v[1] + m[14]*v[2] + m[15]*v[3]\n\t\t\t];\n\t},\n\tdot : function(x,y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; },\n\tsml : function(a,y) { return [a*y[0],a*y[1],a*y[2],a*y[3]]; }\n}\n\nUPNG.encode.concatRGBA = function(bufs) {\n\tvar tlen = 0;\n\tfor(var i=0; i\n* @license MIT\n*\n* BUILT: Mon Jun 12 2023 10:34:51 GMT+0200 (Central European Summer Time)\n*/;\nconst methods$1 = {};\nconst names = [];\nfunction registerMethods(name, m) {\n if (Array.isArray(name)) {\n for (const _name of name) {\n registerMethods(_name, m);\n }\n\n return;\n }\n\n if (typeof name === 'object') {\n for (const _name in name) {\n registerMethods(_name, name[_name]);\n }\n\n return;\n }\n\n addMethodNames(Object.getOwnPropertyNames(m));\n methods$1[name] = Object.assign(methods$1[name] || {}, m);\n}\nfunction getMethodsFor(name) {\n return methods$1[name] || {};\n}\nfunction getMethodNames() {\n return [...new Set(names)];\n}\nfunction addMethodNames(_names) {\n names.push(..._names);\n}\n\n// Map function\nfunction map(array, block) {\n let i;\n const il = array.length;\n const result = [];\n\n for (i = 0; i < il; i++) {\n result.push(block(array[i]));\n }\n\n return result;\n} // Filter function\n\nfunction filter(array, block) {\n let i;\n const il = array.length;\n const result = [];\n\n for (i = 0; i < il; i++) {\n if (block(array[i])) {\n result.push(array[i]);\n }\n }\n\n return result;\n} // Degrees to radians\n\nfunction radians(d) {\n return d % 360 * Math.PI / 180;\n} // Radians to degrees\n\nfunction degrees(r) {\n return r * 180 / Math.PI % 360;\n} // Convert dash-separated-string to camelCase\n\nfunction camelCase(s) {\n return s.toLowerCase().replace(/-(.)/g, function (m, g) {\n return g.toUpperCase();\n });\n} // Convert camel cased string to dash separated\n\nfunction unCamelCase(s) {\n return s.replace(/([A-Z])/g, function (m, g) {\n return '-' + g.toLowerCase();\n });\n} // Capitalize first letter of a string\n\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n} // Calculate proportional width and height values when necessary\n\nfunction proportionalSize(element, width, height, box) {\n if (width == null || height == null) {\n box = box || element.bbox();\n\n if (width == null) {\n width = box.width / box.height * height;\n } else if (height == null) {\n height = box.height / box.width * width;\n }\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * This function adds support for string origins.\n * It searches for an origin in o.origin o.ox and o.originX.\n * This way, origin: {x: 'center', y: 50} can be passed as well as ox: 'center', oy: 50\n**/\n\nfunction getOrigin(o, element) {\n const origin = o.origin; // First check if origin is in ox or originX\n\n let ox = o.ox != null ? o.ox : o.originX != null ? o.originX : 'center';\n let oy = o.oy != null ? o.oy : o.originY != null ? o.originY : 'center'; // Then check if origin was used and overwrite in that case\n\n if (origin != null) {\n [ox, oy] = Array.isArray(origin) ? origin : typeof origin === 'object' ? [origin.x, origin.y] : [origin, origin];\n } // Make sure to only call bbox when actually needed\n\n\n const condX = typeof ox === 'string';\n const condY = typeof oy === 'string';\n\n if (condX || condY) {\n const {\n height,\n width,\n x,\n y\n } = element.bbox(); // And only overwrite if string was passed for this specific axis\n\n if (condX) {\n ox = ox.includes('left') ? x : ox.includes('right') ? x + width : x + width / 2;\n }\n\n if (condY) {\n oy = oy.includes('top') ? y : oy.includes('bottom') ? y + height : y + height / 2;\n }\n } // Return the origin as it is if it wasn't a string\n\n\n return [ox, oy];\n}\n\nvar utils = {\n __proto__: null,\n map: map,\n filter: filter,\n radians: radians,\n degrees: degrees,\n camelCase: camelCase,\n unCamelCase: unCamelCase,\n capitalize: capitalize,\n proportionalSize: proportionalSize,\n getOrigin: getOrigin\n};\n\n// Default namespaces\nconst svg = 'http://www.w3.org/2000/svg';\nconst html = 'http://www.w3.org/1999/xhtml';\nconst xmlns = 'http://www.w3.org/2000/xmlns/';\nconst xlink = 'http://www.w3.org/1999/xlink';\nconst svgjs = 'http://svgjs.dev/svgjs';\n\nvar namespaces = {\n __proto__: null,\n svg: svg,\n html: html,\n xmlns: xmlns,\n xlink: xlink,\n svgjs: svgjs\n};\n\nconst globals = {\n window: typeof window === 'undefined' ? null : window,\n document: typeof document === 'undefined' ? null : document\n};\nfunction registerWindow(win = null, doc = null) {\n globals.window = win;\n globals.document = doc;\n}\nconst save = {};\nfunction saveWindow() {\n save.window = globals.window;\n save.document = globals.document;\n}\nfunction restoreWindow() {\n globals.window = save.window;\n globals.document = save.document;\n}\nfunction withWindow(win, fn) {\n saveWindow();\n registerWindow(win, win.document);\n fn(win, win.document);\n restoreWindow();\n}\nfunction getWindow() {\n return globals.window;\n}\n\nclass Base {// constructor (node/*, {extensions = []} */) {\n // // this.tags = []\n // //\n // // for (let extension of extensions) {\n // // extension.setup.call(this, node)\n // // this.tags.push(extension.name)\n // // }\n // }\n}\n\nconst elements = {};\nconst root = '___SYMBOL___ROOT___'; // Method for element creation\n\nfunction create(name, ns = svg) {\n // create element\n return globals.document.createElementNS(ns, name);\n}\nfunction makeInstance(element, isHTML = false) {\n if (element instanceof Base) return element;\n\n if (typeof element === 'object') {\n return adopter(element);\n }\n\n if (element == null) {\n return new elements[root]();\n }\n\n if (typeof element === 'string' && element.charAt(0) !== '<') {\n return adopter(globals.document.querySelector(element));\n } // Make sure, that HTML elements are created with the correct namespace\n\n\n const wrapper = isHTML ? globals.document.createElement('div') : create('svg');\n wrapper.innerHTML = element; // We can use firstChild here because we know,\n // that the first char is < and thus an element\n\n element = adopter(wrapper.firstChild); // make sure, that element doesn't have its wrapper attached\n\n wrapper.removeChild(wrapper.firstChild);\n return element;\n}\nfunction nodeOrNew(name, node) {\n return node && node.ownerDocument && node instanceof node.ownerDocument.defaultView.Node ? node : create(name);\n} // Adopt existing svg elements\n\nfunction adopt(node) {\n // check for presence of node\n if (!node) return null; // make sure a node isn't already adopted\n\n if (node.instance instanceof Base) return node.instance;\n\n if (node.nodeName === '#document-fragment') {\n return new elements.Fragment(node);\n } // initialize variables\n\n\n let className = capitalize(node.nodeName || 'Dom'); // Make sure that gradients are adopted correctly\n\n if (className === 'LinearGradient' || className === 'RadialGradient') {\n className = 'Gradient'; // Fallback to Dom if element is not known\n } else if (!elements[className]) {\n className = 'Dom';\n }\n\n return new elements[className](node);\n}\nlet adopter = adopt;\nfunction mockAdopt(mock = adopt) {\n adopter = mock;\n}\nfunction register(element, name = element.name, asRoot = false) {\n elements[name] = element;\n if (asRoot) elements[root] = element;\n addMethodNames(Object.getOwnPropertyNames(element.prototype));\n return element;\n}\nfunction getClass(name) {\n return elements[name];\n} // Element id sequence\n\nlet did = 1000; // Get next named element id\n\nfunction eid(name) {\n return 'Svgjs' + capitalize(name) + did++;\n} // Deep new id assignment\n\nfunction assignNewId(node) {\n // do the same for SVG child nodes as well\n for (let i = node.children.length - 1; i >= 0; i--) {\n assignNewId(node.children[i]);\n }\n\n if (node.id) {\n node.id = eid(node.nodeName);\n return node;\n }\n\n return node;\n} // Method for extending objects\n\nfunction extend(modules, methods) {\n let key, i;\n modules = Array.isArray(modules) ? modules : [modules];\n\n for (i = modules.length - 1; i >= 0; i--) {\n for (key in methods) {\n modules[i].prototype[key] = methods[key];\n }\n }\n}\nfunction wrapWithAttrCheck(fn) {\n return function (...args) {\n const o = args[args.length - 1];\n\n if (o && o.constructor === Object && !(o instanceof Array)) {\n return fn.apply(this, args.slice(0, -1)).attr(o);\n } else {\n return fn.apply(this, args);\n }\n };\n}\n\nfunction siblings() {\n return this.parent().children();\n} // Get the current position siblings\n\nfunction position() {\n return this.parent().index(this);\n} // Get the next element (will return null if there is none)\n\nfunction next() {\n return this.siblings()[this.position() + 1];\n} // Get the next element (will return null if there is none)\n\nfunction prev() {\n return this.siblings()[this.position() - 1];\n} // Send given element one step forward\n\nfunction forward() {\n const i = this.position();\n const p = this.parent(); // move node one step forward\n\n p.add(this.remove(), i + 1);\n return this;\n} // Send given element one step backward\n\nfunction backward() {\n const i = this.position();\n const p = this.parent();\n p.add(this.remove(), i ? i - 1 : 0);\n return this;\n} // Send given element all the way to the front\n\nfunction front() {\n const p = this.parent(); // Move node forward\n\n p.add(this.remove());\n return this;\n} // Send given element all the way to the back\n\nfunction back() {\n const p = this.parent(); // Move node back\n\n p.add(this.remove(), 0);\n return this;\n} // Inserts a given element before the targeted element\n\nfunction before(element) {\n element = makeInstance(element);\n element.remove();\n const i = this.position();\n this.parent().add(element, i);\n return this;\n} // Inserts a given element after the targeted element\n\nfunction after(element) {\n element = makeInstance(element);\n element.remove();\n const i = this.position();\n this.parent().add(element, i + 1);\n return this;\n}\nfunction insertBefore(element) {\n element = makeInstance(element);\n element.before(this);\n return this;\n}\nfunction insertAfter(element) {\n element = makeInstance(element);\n element.after(this);\n return this;\n}\nregisterMethods('Dom', {\n siblings,\n position,\n next,\n prev,\n forward,\n backward,\n front,\n back,\n before,\n after,\n insertBefore,\n insertAfter\n});\n\n// Parse unit value\nconst numberAndUnit = /^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i; // Parse hex value\n\nconst hex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i; // Parse rgb value\n\nconst rgb = /rgb\\((\\d+),(\\d+),(\\d+)\\)/; // Parse reference id\n\nconst reference = /(#[a-z_][a-z0-9\\-_]*)/i; // splits a transformation chain\n\nconst transforms = /\\)\\s*,?\\s*/; // Whitespace\n\nconst whitespace = /\\s/g; // Test hex value\n\nconst isHex = /^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i; // Test rgb value\n\nconst isRgb = /^rgb\\(/; // Test for blank string\n\nconst isBlank = /^(\\s+)?$/; // Test for numeric string\n\nconst isNumber = /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i; // Test for image url\n\nconst isImage = /\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i; // split at whitespace and comma\n\nconst delimiter = /[\\s,]+/; // Test for path letter\n\nconst isPathLetter = /[MLHVCSQTAZ]/i;\n\nvar regex = {\n __proto__: null,\n numberAndUnit: numberAndUnit,\n hex: hex,\n rgb: rgb,\n reference: reference,\n transforms: transforms,\n whitespace: whitespace,\n isHex: isHex,\n isRgb: isRgb,\n isBlank: isBlank,\n isNumber: isNumber,\n isImage: isImage,\n delimiter: delimiter,\n isPathLetter: isPathLetter\n};\n\nfunction classes() {\n const attr = this.attr('class');\n return attr == null ? [] : attr.trim().split(delimiter);\n} // Return true if class exists on the node, false otherwise\n\nfunction hasClass(name) {\n return this.classes().indexOf(name) !== -1;\n} // Add class to the node\n\nfunction addClass(name) {\n if (!this.hasClass(name)) {\n const array = this.classes();\n array.push(name);\n this.attr('class', array.join(' '));\n }\n\n return this;\n} // Remove class from the node\n\nfunction removeClass(name) {\n if (this.hasClass(name)) {\n this.attr('class', this.classes().filter(function (c) {\n return c !== name;\n }).join(' '));\n }\n\n return this;\n} // Toggle the presence of a class on the node\n\nfunction toggleClass(name) {\n return this.hasClass(name) ? this.removeClass(name) : this.addClass(name);\n}\nregisterMethods('Dom', {\n classes,\n hasClass,\n addClass,\n removeClass,\n toggleClass\n});\n\nfunction css(style, val) {\n const ret = {};\n\n if (arguments.length === 0) {\n // get full style as object\n this.node.style.cssText.split(/\\s*;\\s*/).filter(function (el) {\n return !!el.length;\n }).forEach(function (el) {\n const t = el.split(/\\s*:\\s*/);\n ret[t[0]] = t[1];\n });\n return ret;\n }\n\n if (arguments.length < 2) {\n // get style properties as array\n if (Array.isArray(style)) {\n for (const name of style) {\n const cased = camelCase(name);\n ret[name] = this.node.style[cased];\n }\n\n return ret;\n } // get style for property\n\n\n if (typeof style === 'string') {\n return this.node.style[camelCase(style)];\n } // set styles in object\n\n\n if (typeof style === 'object') {\n for (const name in style) {\n // set empty string if null/undefined/'' was given\n this.node.style[camelCase(name)] = style[name] == null || isBlank.test(style[name]) ? '' : style[name];\n }\n }\n } // set style for property\n\n\n if (arguments.length === 2) {\n this.node.style[camelCase(style)] = val == null || isBlank.test(val) ? '' : val;\n }\n\n return this;\n} // Show element\n\nfunction show() {\n return this.css('display', '');\n} // Hide element\n\nfunction hide() {\n return this.css('display', 'none');\n} // Is element visible?\n\nfunction visible() {\n return this.css('display') !== 'none';\n}\nregisterMethods('Dom', {\n css,\n show,\n hide,\n visible\n});\n\nfunction data(a, v, r) {\n if (a == null) {\n // get an object of attributes\n return this.data(map(filter(this.node.attributes, el => el.nodeName.indexOf('data-') === 0), el => el.nodeName.slice(5)));\n } else if (a instanceof Array) {\n const data = {};\n\n for (const key of a) {\n data[key] = this.data(key);\n }\n\n return data;\n } else if (typeof a === 'object') {\n for (v in a) {\n this.data(v, a[v]);\n }\n } else if (arguments.length < 2) {\n try {\n return JSON.parse(this.attr('data-' + a));\n } catch (e) {\n return this.attr('data-' + a);\n }\n } else {\n this.attr('data-' + a, v === null ? null : r === true || typeof v === 'string' || typeof v === 'number' ? v : JSON.stringify(v));\n }\n\n return this;\n}\nregisterMethods('Dom', {\n data\n});\n\nfunction remember(k, v) {\n // remember every item in an object individually\n if (typeof arguments[0] === 'object') {\n for (const key in k) {\n this.remember(key, k[key]);\n }\n } else if (arguments.length === 1) {\n // retrieve memory\n return this.memory()[k];\n } else {\n // store memory\n this.memory()[k] = v;\n }\n\n return this;\n} // Erase a given memory\n\nfunction forget() {\n if (arguments.length === 0) {\n this._memory = {};\n } else {\n for (let i = arguments.length - 1; i >= 0; i--) {\n delete this.memory()[arguments[i]];\n }\n }\n\n return this;\n} // This triggers creation of a new hidden class which is not performant\n// However, this function is not rarely used so it will not happen frequently\n// Return local memory object\n\nfunction memory() {\n return this._memory = this._memory || {};\n}\nregisterMethods('Dom', {\n remember,\n forget,\n memory\n});\n\nfunction sixDigitHex(hex) {\n return hex.length === 4 ? ['#', hex.substring(1, 2), hex.substring(1, 2), hex.substring(2, 3), hex.substring(2, 3), hex.substring(3, 4), hex.substring(3, 4)].join('') : hex;\n}\n\nfunction componentHex(component) {\n const integer = Math.round(component);\n const bounded = Math.max(0, Math.min(255, integer));\n const hex = bounded.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n}\n\nfunction is(object, space) {\n for (let i = space.length; i--;) {\n if (object[space[i]] == null) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getParameters(a, b) {\n const params = is(a, 'rgb') ? {\n _a: a.r,\n _b: a.g,\n _c: a.b,\n _d: 0,\n space: 'rgb'\n } : is(a, 'xyz') ? {\n _a: a.x,\n _b: a.y,\n _c: a.z,\n _d: 0,\n space: 'xyz'\n } : is(a, 'hsl') ? {\n _a: a.h,\n _b: a.s,\n _c: a.l,\n _d: 0,\n space: 'hsl'\n } : is(a, 'lab') ? {\n _a: a.l,\n _b: a.a,\n _c: a.b,\n _d: 0,\n space: 'lab'\n } : is(a, 'lch') ? {\n _a: a.l,\n _b: a.c,\n _c: a.h,\n _d: 0,\n space: 'lch'\n } : is(a, 'cmyk') ? {\n _a: a.c,\n _b: a.m,\n _c: a.y,\n _d: a.k,\n space: 'cmyk'\n } : {\n _a: 0,\n _b: 0,\n _c: 0,\n space: 'rgb'\n };\n params.space = b || params.space;\n return params;\n}\n\nfunction cieSpace(space) {\n if (space === 'lab' || space === 'xyz' || space === 'lch') {\n return true;\n } else {\n return false;\n }\n}\n\nfunction hueToRgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nclass Color {\n constructor(...inputs) {\n this.init(...inputs);\n } // Test if given value is a color\n\n\n static isColor(color) {\n return color && (color instanceof Color || this.isRgb(color) || this.test(color));\n } // Test if given value is an rgb object\n\n\n static isRgb(color) {\n return color && typeof color.r === 'number' && typeof color.g === 'number' && typeof color.b === 'number';\n }\n /*\n Generating random colors\n */\n\n\n static random(mode = 'vibrant', t, u) {\n // Get the math modules\n const {\n random,\n round,\n sin,\n PI: pi\n } = Math; // Run the correct generator\n\n if (mode === 'vibrant') {\n const l = (81 - 57) * random() + 57;\n const c = (83 - 45) * random() + 45;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'sine') {\n t = t == null ? random() : t;\n const r = round(80 * sin(2 * pi * t / 0.5 + 0.01) + 150);\n const g = round(50 * sin(2 * pi * t / 0.5 + 4.6) + 200);\n const b = round(100 * sin(2 * pi * t / 0.5 + 2.3) + 150);\n const color = new Color(r, g, b);\n return color;\n } else if (mode === 'pastel') {\n const l = (94 - 86) * random() + 86;\n const c = (26 - 9) * random() + 9;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'dark') {\n const l = 10 + 10 * random();\n const c = (125 - 75) * random() + 86;\n const h = 360 * random();\n const color = new Color(l, c, h, 'lch');\n return color;\n } else if (mode === 'rgb') {\n const r = 255 * random();\n const g = 255 * random();\n const b = 255 * random();\n const color = new Color(r, g, b);\n return color;\n } else if (mode === 'lab') {\n const l = 100 * random();\n const a = 256 * random() - 128;\n const b = 256 * random() - 128;\n const color = new Color(l, a, b, 'lab');\n return color;\n } else if (mode === 'grey') {\n const grey = 255 * random();\n const color = new Color(grey, grey, grey);\n return color;\n } else {\n throw new Error('Unsupported random color mode');\n }\n } // Test if given value is a color string\n\n\n static test(color) {\n return typeof color === 'string' && (isHex.test(color) || isRgb.test(color));\n }\n\n cmyk() {\n // Get the rgb values for the current color\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const [r, g, b] = [_a, _b, _c].map(v => v / 255); // Get the cmyk values in an unbounded format\n\n const k = Math.min(1 - r, 1 - g, 1 - b);\n\n if (k === 1) {\n // Catch the black case\n return new Color(0, 0, 0, 1, 'cmyk');\n }\n\n const c = (1 - r - k) / (1 - k);\n const m = (1 - g - k) / (1 - k);\n const y = (1 - b - k) / (1 - k); // Construct the new color\n\n const color = new Color(c, m, y, k, 'cmyk');\n return color;\n }\n\n hsl() {\n // Get the rgb values\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const [r, g, b] = [_a, _b, _c].map(v => v / 255); // Find the maximum and minimum values to get the lightness\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2; // If the r, g, v values are identical then we are grey\n\n const isGrey = max === min; // Calculate the hue and saturation\n\n const delta = max - min;\n const s = isGrey ? 0 : l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const h = isGrey ? 0 : max === r ? ((g - b) / delta + (g < b ? 6 : 0)) / 6 : max === g ? ((b - r) / delta + 2) / 6 : max === b ? ((r - g) / delta + 4) / 6 : 0; // Construct and return the new color\n\n const color = new Color(360 * h, 100 * s, 100 * l, 'hsl');\n return color;\n }\n\n init(a = 0, b = 0, c = 0, d = 0, space = 'rgb') {\n // This catches the case when a falsy value is passed like ''\n a = !a ? 0 : a; // Reset all values in case the init function is rerun with new color space\n\n if (this.space) {\n for (const component in this.space) {\n delete this[this.space[component]];\n }\n }\n\n if (typeof a === 'number') {\n // Allow for the case that we don't need d...\n space = typeof d === 'string' ? d : space;\n d = typeof d === 'string' ? 0 : d; // Assign the values straight to the color\n\n Object.assign(this, {\n _a: a,\n _b: b,\n _c: c,\n _d: d,\n space\n }); // If the user gave us an array, make the color from it\n } else if (a instanceof Array) {\n this.space = b || (typeof a[3] === 'string' ? a[3] : a[4]) || 'rgb';\n Object.assign(this, {\n _a: a[0],\n _b: a[1],\n _c: a[2],\n _d: a[3] || 0\n });\n } else if (a instanceof Object) {\n // Set the object up and assign its values directly\n const values = getParameters(a, b);\n Object.assign(this, values);\n } else if (typeof a === 'string') {\n if (isRgb.test(a)) {\n const noWhitespace = a.replace(whitespace, '');\n const [_a, _b, _c] = rgb.exec(noWhitespace).slice(1, 4).map(v => parseInt(v));\n Object.assign(this, {\n _a,\n _b,\n _c,\n _d: 0,\n space: 'rgb'\n });\n } else if (isHex.test(a)) {\n const hexParse = v => parseInt(v, 16);\n\n const [, _a, _b, _c] = hex.exec(sixDigitHex(a)).map(hexParse);\n Object.assign(this, {\n _a,\n _b,\n _c,\n _d: 0,\n space: 'rgb'\n });\n } else throw Error('Unsupported string format, can\\'t construct Color');\n } // Now add the components as a convenience\n\n\n const {\n _a,\n _b,\n _c,\n _d\n } = this;\n const components = this.space === 'rgb' ? {\n r: _a,\n g: _b,\n b: _c\n } : this.space === 'xyz' ? {\n x: _a,\n y: _b,\n z: _c\n } : this.space === 'hsl' ? {\n h: _a,\n s: _b,\n l: _c\n } : this.space === 'lab' ? {\n l: _a,\n a: _b,\n b: _c\n } : this.space === 'lch' ? {\n l: _a,\n c: _b,\n h: _c\n } : this.space === 'cmyk' ? {\n c: _a,\n m: _b,\n y: _c,\n k: _d\n } : {};\n Object.assign(this, components);\n }\n\n lab() {\n // Get the xyz color\n const {\n x,\n y,\n z\n } = this.xyz(); // Get the lab components\n\n const l = 116 * y - 16;\n const a = 500 * (x - y);\n const b = 200 * (y - z); // Construct and return a new color\n\n const color = new Color(l, a, b, 'lab');\n return color;\n }\n\n lch() {\n // Get the lab color directly\n const {\n l,\n a,\n b\n } = this.lab(); // Get the chromaticity and the hue using polar coordinates\n\n const c = Math.sqrt(a ** 2 + b ** 2);\n let h = 180 * Math.atan2(b, a) / Math.PI;\n\n if (h < 0) {\n h *= -1;\n h = 360 - h;\n } // Make a new color and return it\n\n\n const color = new Color(l, c, h, 'lch');\n return color;\n }\n /*\n Conversion Methods\n */\n\n\n rgb() {\n if (this.space === 'rgb') {\n return this;\n } else if (cieSpace(this.space)) {\n // Convert to the xyz color space\n let {\n x,\n y,\n z\n } = this;\n\n if (this.space === 'lab' || this.space === 'lch') {\n // Get the values in the lab space\n let {\n l,\n a,\n b\n } = this;\n\n if (this.space === 'lch') {\n const {\n c,\n h\n } = this;\n const dToR = Math.PI / 180;\n a = c * Math.cos(dToR * h);\n b = c * Math.sin(dToR * h);\n } // Undo the nonlinear function\n\n\n const yL = (l + 16) / 116;\n const xL = a / 500 + yL;\n const zL = yL - b / 200; // Get the xyz values\n\n const ct = 16 / 116;\n const mx = 0.008856;\n const nm = 7.787;\n x = 0.95047 * (xL ** 3 > mx ? xL ** 3 : (xL - ct) / nm);\n y = 1.00000 * (yL ** 3 > mx ? yL ** 3 : (yL - ct) / nm);\n z = 1.08883 * (zL ** 3 > mx ? zL ** 3 : (zL - ct) / nm);\n } // Convert xyz to unbounded rgb values\n\n\n const rU = x * 3.2406 + y * -1.5372 + z * -0.4986;\n const gU = x * -0.9689 + y * 1.8758 + z * 0.0415;\n const bU = x * 0.0557 + y * -0.2040 + z * 1.0570; // Convert the values to true rgb values\n\n const pow = Math.pow;\n const bd = 0.0031308;\n const r = rU > bd ? 1.055 * pow(rU, 1 / 2.4) - 0.055 : 12.92 * rU;\n const g = gU > bd ? 1.055 * pow(gU, 1 / 2.4) - 0.055 : 12.92 * gU;\n const b = bU > bd ? 1.055 * pow(bU, 1 / 2.4) - 0.055 : 12.92 * bU; // Make and return the color\n\n const color = new Color(255 * r, 255 * g, 255 * b);\n return color;\n } else if (this.space === 'hsl') {\n // https://bgrins.github.io/TinyColor/docs/tinycolor.html\n // Get the current hsl values\n let {\n h,\n s,\n l\n } = this;\n h /= 360;\n s /= 100;\n l /= 100; // If we are grey, then just make the color directly\n\n if (s === 0) {\n l *= 255;\n const color = new Color(l, l, l);\n return color;\n } // TODO I have no idea what this does :D If you figure it out, tell me!\n\n\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q; // Get the rgb values\n\n const r = 255 * hueToRgb(p, q, h + 1 / 3);\n const g = 255 * hueToRgb(p, q, h);\n const b = 255 * hueToRgb(p, q, h - 1 / 3); // Make a new color\n\n const color = new Color(r, g, b);\n return color;\n } else if (this.space === 'cmyk') {\n // https://gist.github.com/felipesabino/5066336\n // Get the normalised cmyk values\n const {\n c,\n m,\n y,\n k\n } = this; // Get the rgb values\n\n const r = 255 * (1 - Math.min(1, c * (1 - k) + k));\n const g = 255 * (1 - Math.min(1, m * (1 - k) + k));\n const b = 255 * (1 - Math.min(1, y * (1 - k) + k)); // Form the color and return it\n\n const color = new Color(r, g, b);\n return color;\n } else {\n return this;\n }\n }\n\n toArray() {\n const {\n _a,\n _b,\n _c,\n _d,\n space\n } = this;\n return [_a, _b, _c, _d, space];\n }\n\n toHex() {\n const [r, g, b] = this._clamped().map(componentHex);\n\n return `#${r}${g}${b}`;\n }\n\n toRgb() {\n const [rV, gV, bV] = this._clamped();\n\n const string = `rgb(${rV},${gV},${bV})`;\n return string;\n }\n\n toString() {\n return this.toHex();\n }\n\n xyz() {\n // Normalise the red, green and blue values\n const {\n _a: r255,\n _b: g255,\n _c: b255\n } = this.rgb();\n const [r, g, b] = [r255, g255, b255].map(v => v / 255); // Convert to the lab rgb space\n\n const rL = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n const gL = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n const bL = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; // Convert to the xyz color space without bounding the values\n\n const xU = (rL * 0.4124 + gL * 0.3576 + bL * 0.1805) / 0.95047;\n const yU = (rL * 0.2126 + gL * 0.7152 + bL * 0.0722) / 1.00000;\n const zU = (rL * 0.0193 + gL * 0.1192 + bL * 0.9505) / 1.08883; // Get the proper xyz values by applying the bounding\n\n const x = xU > 0.008856 ? Math.pow(xU, 1 / 3) : 7.787 * xU + 16 / 116;\n const y = yU > 0.008856 ? Math.pow(yU, 1 / 3) : 7.787 * yU + 16 / 116;\n const z = zU > 0.008856 ? Math.pow(zU, 1 / 3) : 7.787 * zU + 16 / 116; // Make and return the color\n\n const color = new Color(x, y, z, 'xyz');\n return color;\n }\n /*\n Input and Output methods\n */\n\n\n _clamped() {\n const {\n _a,\n _b,\n _c\n } = this.rgb();\n const {\n max,\n min,\n round\n } = Math;\n\n const format = v => max(0, min(round(v), 255));\n\n return [_a, _b, _c].map(format);\n }\n /*\n Constructing colors\n */\n\n\n}\n\nclass Point {\n // Initialize\n constructor(...args) {\n this.init(...args);\n } // Clone point\n\n\n clone() {\n return new Point(this);\n }\n\n init(x, y) {\n const base = {\n x: 0,\n y: 0\n }; // ensure source as object\n\n const source = Array.isArray(x) ? {\n x: x[0],\n y: x[1]\n } : typeof x === 'object' ? {\n x: x.x,\n y: x.y\n } : {\n x: x,\n y: y\n }; // merge source\n\n this.x = source.x == null ? base.x : source.x;\n this.y = source.y == null ? base.y : source.y;\n return this;\n }\n\n toArray() {\n return [this.x, this.y];\n }\n\n transform(m) {\n return this.clone().transformO(m);\n } // Transform point with matrix\n\n\n transformO(m) {\n if (!Matrix.isMatrixLike(m)) {\n m = new Matrix(m);\n }\n\n const {\n x,\n y\n } = this; // Perform the matrix multiplication\n\n this.x = m.a * x + m.c * y + m.e;\n this.y = m.b * x + m.d * y + m.f;\n return this;\n }\n\n}\nfunction point(x, y) {\n return new Point(x, y).transformO(this.screenCTM().inverseO());\n}\n\nfunction closeEnough(a, b, threshold) {\n return Math.abs(b - a) < (threshold || 1e-6);\n}\n\nclass Matrix {\n constructor(...args) {\n this.init(...args);\n }\n\n static formatTransforms(o) {\n // Get all of the parameters required to form the matrix\n const flipBoth = o.flip === 'both' || o.flip === true;\n const flipX = o.flip && (flipBoth || o.flip === 'x') ? -1 : 1;\n const flipY = o.flip && (flipBoth || o.flip === 'y') ? -1 : 1;\n const skewX = o.skew && o.skew.length ? o.skew[0] : isFinite(o.skew) ? o.skew : isFinite(o.skewX) ? o.skewX : 0;\n const skewY = o.skew && o.skew.length ? o.skew[1] : isFinite(o.skew) ? o.skew : isFinite(o.skewY) ? o.skewY : 0;\n const scaleX = o.scale && o.scale.length ? o.scale[0] * flipX : isFinite(o.scale) ? o.scale * flipX : isFinite(o.scaleX) ? o.scaleX * flipX : flipX;\n const scaleY = o.scale && o.scale.length ? o.scale[1] * flipY : isFinite(o.scale) ? o.scale * flipY : isFinite(o.scaleY) ? o.scaleY * flipY : flipY;\n const shear = o.shear || 0;\n const theta = o.rotate || o.theta || 0;\n const origin = new Point(o.origin || o.around || o.ox || o.originX, o.oy || o.originY);\n const ox = origin.x;\n const oy = origin.y; // We need Point to be invalid if nothing was passed because we cannot default to 0 here. That is why NaN\n\n const position = new Point(o.position || o.px || o.positionX || NaN, o.py || o.positionY || NaN);\n const px = position.x;\n const py = position.y;\n const translate = new Point(o.translate || o.tx || o.translateX, o.ty || o.translateY);\n const tx = translate.x;\n const ty = translate.y;\n const relative = new Point(o.relative || o.rx || o.relativeX, o.ry || o.relativeY);\n const rx = relative.x;\n const ry = relative.y; // Populate all of the values\n\n return {\n scaleX,\n scaleY,\n skewX,\n skewY,\n shear,\n theta,\n rx,\n ry,\n tx,\n ty,\n ox,\n oy,\n px,\n py\n };\n }\n\n static fromArray(a) {\n return {\n a: a[0],\n b: a[1],\n c: a[2],\n d: a[3],\n e: a[4],\n f: a[5]\n };\n }\n\n static isMatrixLike(o) {\n return o.a != null || o.b != null || o.c != null || o.d != null || o.e != null || o.f != null;\n } // left matrix, right matrix, target matrix which is overwritten\n\n\n static matrixMultiply(l, r, o) {\n // Work out the product directly\n const a = l.a * r.a + l.c * r.b;\n const b = l.b * r.a + l.d * r.b;\n const c = l.a * r.c + l.c * r.d;\n const d = l.b * r.c + l.d * r.d;\n const e = l.e + l.a * r.e + l.c * r.f;\n const f = l.f + l.b * r.e + l.d * r.f; // make sure to use local variables because l/r and o could be the same\n\n o.a = a;\n o.b = b;\n o.c = c;\n o.d = d;\n o.e = e;\n o.f = f;\n return o;\n }\n\n around(cx, cy, matrix) {\n return this.clone().aroundO(cx, cy, matrix);\n } // Transform around a center point\n\n\n aroundO(cx, cy, matrix) {\n const dx = cx || 0;\n const dy = cy || 0;\n return this.translateO(-dx, -dy).lmultiplyO(matrix).translateO(dx, dy);\n } // Clones this matrix\n\n\n clone() {\n return new Matrix(this);\n } // Decomposes this matrix into its affine parameters\n\n\n decompose(cx = 0, cy = 0) {\n // Get the parameters from the matrix\n const a = this.a;\n const b = this.b;\n const c = this.c;\n const d = this.d;\n const e = this.e;\n const f = this.f; // Figure out if the winding direction is clockwise or counterclockwise\n\n const determinant = a * d - b * c;\n const ccw = determinant > 0 ? 1 : -1; // Since we only shear in x, we can use the x basis to get the x scale\n // and the rotation of the resulting matrix\n\n const sx = ccw * Math.sqrt(a * a + b * b);\n const thetaRad = Math.atan2(ccw * b, ccw * a);\n const theta = 180 / Math.PI * thetaRad;\n const ct = Math.cos(thetaRad);\n const st = Math.sin(thetaRad); // We can then solve the y basis vector simultaneously to get the other\n // two affine parameters directly from these parameters\n\n const lam = (a * c + b * d) / determinant;\n const sy = c * sx / (lam * a - b) || d * sx / (lam * b + a); // Use the translations\n\n const tx = e - cx + cx * ct * sx + cy * (lam * ct * sx - st * sy);\n const ty = f - cy + cx * st * sx + cy * (lam * st * sx + ct * sy); // Construct the decomposition and return it\n\n return {\n // Return the affine parameters\n scaleX: sx,\n scaleY: sy,\n shear: lam,\n rotate: theta,\n translateX: tx,\n translateY: ty,\n originX: cx,\n originY: cy,\n // Return the matrix parameters\n a: this.a,\n b: this.b,\n c: this.c,\n d: this.d,\n e: this.e,\n f: this.f\n };\n } // Check if two matrices are equal\n\n\n equals(other) {\n if (other === this) return true;\n const comp = new Matrix(other);\n return closeEnough(this.a, comp.a) && closeEnough(this.b, comp.b) && closeEnough(this.c, comp.c) && closeEnough(this.d, comp.d) && closeEnough(this.e, comp.e) && closeEnough(this.f, comp.f);\n } // Flip matrix on x or y, at a given offset\n\n\n flip(axis, around) {\n return this.clone().flipO(axis, around);\n }\n\n flipO(axis, around) {\n return axis === 'x' ? this.scaleO(-1, 1, around, 0) : axis === 'y' ? this.scaleO(1, -1, 0, around) : this.scaleO(-1, -1, axis, around || axis); // Define an x, y flip point\n } // Initialize\n\n\n init(source) {\n const base = Matrix.fromArray([1, 0, 0, 1, 0, 0]); // ensure source as object\n\n source = source instanceof Element ? source.matrixify() : typeof source === 'string' ? Matrix.fromArray(source.split(delimiter).map(parseFloat)) : Array.isArray(source) ? Matrix.fromArray(source) : typeof source === 'object' && Matrix.isMatrixLike(source) ? source : typeof source === 'object' ? new Matrix().transform(source) : arguments.length === 6 ? Matrix.fromArray([].slice.call(arguments)) : base; // Merge the source matrix with the base matrix\n\n this.a = source.a != null ? source.a : base.a;\n this.b = source.b != null ? source.b : base.b;\n this.c = source.c != null ? source.c : base.c;\n this.d = source.d != null ? source.d : base.d;\n this.e = source.e != null ? source.e : base.e;\n this.f = source.f != null ? source.f : base.f;\n return this;\n }\n\n inverse() {\n return this.clone().inverseO();\n } // Inverses matrix\n\n\n inverseO() {\n // Get the current parameters out of the matrix\n const a = this.a;\n const b = this.b;\n const c = this.c;\n const d = this.d;\n const e = this.e;\n const f = this.f; // Invert the 2x2 matrix in the top left\n\n const det = a * d - b * c;\n if (!det) throw new Error('Cannot invert ' + this); // Calculate the top 2x2 matrix\n\n const na = d / det;\n const nb = -b / det;\n const nc = -c / det;\n const nd = a / det; // Apply the inverted matrix to the top right\n\n const ne = -(na * e + nc * f);\n const nf = -(nb * e + nd * f); // Construct the inverted matrix\n\n this.a = na;\n this.b = nb;\n this.c = nc;\n this.d = nd;\n this.e = ne;\n this.f = nf;\n return this;\n }\n\n lmultiply(matrix) {\n return this.clone().lmultiplyO(matrix);\n }\n\n lmultiplyO(matrix) {\n const r = this;\n const l = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n return Matrix.matrixMultiply(l, r, this);\n } // Left multiplies by the given matrix\n\n\n multiply(matrix) {\n return this.clone().multiplyO(matrix);\n }\n\n multiplyO(matrix) {\n // Get the matrices\n const l = this;\n const r = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n return Matrix.matrixMultiply(l, r, this);\n } // Rotate matrix\n\n\n rotate(r, cx, cy) {\n return this.clone().rotateO(r, cx, cy);\n }\n\n rotateO(r, cx = 0, cy = 0) {\n // Convert degrees to radians\n r = radians(r);\n const cos = Math.cos(r);\n const sin = Math.sin(r);\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a * cos - b * sin;\n this.b = b * cos + a * sin;\n this.c = c * cos - d * sin;\n this.d = d * cos + c * sin;\n this.e = e * cos - f * sin + cy * sin - cx * cos + cx;\n this.f = f * cos + e * sin - cx * sin - cy * cos + cy;\n return this;\n } // Scale matrix\n\n\n scale(x, y, cx, cy) {\n return this.clone().scaleO(...arguments);\n }\n\n scaleO(x, y = x, cx = 0, cy = 0) {\n // Support uniform scaling\n if (arguments.length === 3) {\n cy = cx;\n cx = y;\n y = x;\n }\n\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a * x;\n this.b = b * y;\n this.c = c * x;\n this.d = d * y;\n this.e = e * x - cx * x + cx;\n this.f = f * y - cy * y + cy;\n return this;\n } // Shear matrix\n\n\n shear(a, cx, cy) {\n return this.clone().shearO(a, cx, cy);\n }\n\n shearO(lx, cx = 0, cy = 0) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a + b * lx;\n this.c = c + d * lx;\n this.e = e + f * lx - cy * lx;\n return this;\n } // Skew Matrix\n\n\n skew(x, y, cx, cy) {\n return this.clone().skewO(...arguments);\n }\n\n skewO(x, y = x, cx = 0, cy = 0) {\n // support uniformal skew\n if (arguments.length === 3) {\n cy = cx;\n cx = y;\n y = x;\n } // Convert degrees to radians\n\n\n x = radians(x);\n y = radians(y);\n const lx = Math.tan(x);\n const ly = Math.tan(y);\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = this;\n this.a = a + b * lx;\n this.b = b + a * ly;\n this.c = c + d * lx;\n this.d = d + c * ly;\n this.e = e + f * lx - cy * lx;\n this.f = f + e * ly - cx * ly;\n return this;\n } // SkewX\n\n\n skewX(x, cx, cy) {\n return this.skew(x, 0, cx, cy);\n } // SkewY\n\n\n skewY(y, cx, cy) {\n return this.skew(0, y, cx, cy);\n }\n\n toArray() {\n return [this.a, this.b, this.c, this.d, this.e, this.f];\n } // Convert matrix to string\n\n\n toString() {\n return 'matrix(' + this.a + ',' + this.b + ',' + this.c + ',' + this.d + ',' + this.e + ',' + this.f + ')';\n } // Transform a matrix into another matrix by manipulating the space\n\n\n transform(o) {\n // Check if o is a matrix and then left multiply it directly\n if (Matrix.isMatrixLike(o)) {\n const matrix = new Matrix(o);\n return matrix.multiplyO(this);\n } // Get the proposed transformations and the current transformations\n\n\n const t = Matrix.formatTransforms(o);\n const current = this;\n const {\n x: ox,\n y: oy\n } = new Point(t.ox, t.oy).transform(current); // Construct the resulting matrix\n\n const transformer = new Matrix().translateO(t.rx, t.ry).lmultiplyO(current).translateO(-ox, -oy).scaleO(t.scaleX, t.scaleY).skewO(t.skewX, t.skewY).shearO(t.shear).rotateO(t.theta).translateO(ox, oy); // If we want the origin at a particular place, we force it there\n\n if (isFinite(t.px) || isFinite(t.py)) {\n const origin = new Point(ox, oy).transform(transformer); // TODO: Replace t.px with isFinite(t.px)\n // Doesn't work because t.px is also 0 if it wasn't passed\n\n const dx = isFinite(t.px) ? t.px - origin.x : 0;\n const dy = isFinite(t.py) ? t.py - origin.y : 0;\n transformer.translateO(dx, dy);\n } // Translate now after positioning\n\n\n transformer.translateO(t.tx, t.ty);\n return transformer;\n } // Translate matrix\n\n\n translate(x, y) {\n return this.clone().translateO(x, y);\n }\n\n translateO(x, y) {\n this.e += x || 0;\n this.f += y || 0;\n return this;\n }\n\n valueOf() {\n return {\n a: this.a,\n b: this.b,\n c: this.c,\n d: this.d,\n e: this.e,\n f: this.f\n };\n }\n\n}\nfunction ctm() {\n return new Matrix(this.node.getCTM());\n}\nfunction screenCTM() {\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537\n This is needed because FF does not return the transformation matrix\n for the inner coordinate system when getScreenCTM() is called on nested svgs.\n However all other Browsers do that */\n if (typeof this.isRoot === 'function' && !this.isRoot()) {\n const rect = this.rect(1, 1);\n const m = rect.node.getScreenCTM();\n rect.remove();\n return new Matrix(m);\n }\n\n return new Matrix(this.node.getScreenCTM());\n}\nregister(Matrix, 'Matrix');\n\nfunction parser() {\n // Reuse cached element if possible\n if (!parser.nodes) {\n const svg = makeInstance().size(2, 0);\n svg.node.style.cssText = ['opacity: 0', 'position: absolute', 'left: -100%', 'top: -100%', 'overflow: hidden'].join(';');\n svg.attr('focusable', 'false');\n svg.attr('aria-hidden', 'true');\n const path = svg.path().node;\n parser.nodes = {\n svg,\n path\n };\n }\n\n if (!parser.nodes.svg.node.parentNode) {\n const b = globals.document.body || globals.document.documentElement;\n parser.nodes.svg.addTo(b);\n }\n\n return parser.nodes;\n}\n\nfunction isNulledBox(box) {\n return !box.width && !box.height && !box.x && !box.y;\n}\nfunction domContains(node) {\n return node === globals.document || (globals.document.documentElement.contains || function (node) {\n // This is IE - it does not support contains() for top-level SVGs\n while (node.parentNode) {\n node = node.parentNode;\n }\n\n return node === globals.document;\n }).call(globals.document.documentElement, node);\n}\nclass Box {\n constructor(...args) {\n this.init(...args);\n }\n\n addOffset() {\n // offset by window scroll position, because getBoundingClientRect changes when window is scrolled\n this.x += globals.window.pageXOffset;\n this.y += globals.window.pageYOffset;\n return new Box(this);\n }\n\n init(source) {\n const base = [0, 0, 0, 0];\n source = typeof source === 'string' ? source.split(delimiter).map(parseFloat) : Array.isArray(source) ? source : typeof source === 'object' ? [source.left != null ? source.left : source.x, source.top != null ? source.top : source.y, source.width, source.height] : arguments.length === 4 ? [].slice.call(arguments) : base;\n this.x = source[0] || 0;\n this.y = source[1] || 0;\n this.width = this.w = source[2] || 0;\n this.height = this.h = source[3] || 0; // Add more bounding box properties\n\n this.x2 = this.x + this.w;\n this.y2 = this.y + this.h;\n this.cx = this.x + this.w / 2;\n this.cy = this.y + this.h / 2;\n return this;\n }\n\n isNulled() {\n return isNulledBox(this);\n } // Merge rect box with another, return a new instance\n\n\n merge(box) {\n const x = Math.min(this.x, box.x);\n const y = Math.min(this.y, box.y);\n const width = Math.max(this.x + this.width, box.x + box.width) - x;\n const height = Math.max(this.y + this.height, box.y + box.height) - y;\n return new Box(x, y, width, height);\n }\n\n toArray() {\n return [this.x, this.y, this.width, this.height];\n }\n\n toString() {\n return this.x + ' ' + this.y + ' ' + this.width + ' ' + this.height;\n }\n\n transform(m) {\n if (!(m instanceof Matrix)) {\n m = new Matrix(m);\n }\n\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n const pts = [new Point(this.x, this.y), new Point(this.x2, this.y), new Point(this.x, this.y2), new Point(this.x2, this.y2)];\n pts.forEach(function (p) {\n p = p.transform(m);\n xMin = Math.min(xMin, p.x);\n xMax = Math.max(xMax, p.x);\n yMin = Math.min(yMin, p.y);\n yMax = Math.max(yMax, p.y);\n });\n return new Box(xMin, yMin, xMax - xMin, yMax - yMin);\n }\n\n}\n\nfunction getBox(el, getBBoxFn, retry) {\n let box;\n\n try {\n // Try to get the box with the provided function\n box = getBBoxFn(el.node); // If the box is worthless and not even in the dom, retry\n // by throwing an error here...\n\n if (isNulledBox(box) && !domContains(el.node)) {\n throw new Error('Element not in the dom');\n }\n } catch (e) {\n // ... and calling the retry handler here\n box = retry(el);\n }\n\n return box;\n}\n\nfunction bbox() {\n // Function to get bbox is getBBox()\n const getBBox = node => node.getBBox(); // Take all measures so that a stupid browser renders the element\n // so we can get the bbox from it when we try again\n\n\n const retry = el => {\n try {\n const clone = el.clone().addTo(parser().svg).show();\n const box = clone.node.getBBox();\n clone.remove();\n return box;\n } catch (e) {\n // We give up...\n throw new Error(`Getting bbox of element \"${el.node.nodeName}\" is not possible: ${e.toString()}`);\n }\n };\n\n const box = getBox(this, getBBox, retry);\n const bbox = new Box(box);\n return bbox;\n}\nfunction rbox(el) {\n const getRBox = node => node.getBoundingClientRect();\n\n const retry = el => {\n // There is no point in trying tricks here because if we insert the element into the dom ourselves\n // it obviously will be at the wrong position\n throw new Error(`Getting rbox of element \"${el.node.nodeName}\" is not possible`);\n };\n\n const box = getBox(this, getRBox, retry);\n const rbox = new Box(box); // If an element was passed, we want the bbox in the coordinate system of that element\n\n if (el) {\n return rbox.transform(el.screenCTM().inverseO());\n } // Else we want it in absolute screen coordinates\n // Therefore we need to add the scrollOffset\n\n\n return rbox.addOffset();\n} // Checks whether the given point is inside the bounding box\n\nfunction inside(x, y) {\n const box = this.bbox();\n return x > box.x && y > box.y && x < box.x + box.width && y < box.y + box.height;\n}\nregisterMethods({\n viewbox: {\n viewbox(x, y, width, height) {\n // act as getter\n if (x == null) return new Box(this.attr('viewBox')); // act as setter\n\n return this.attr('viewBox', new Box(x, y, width, height));\n },\n\n zoom(level, point) {\n // Its best to rely on the attributes here and here is why:\n // clientXYZ: Doesn't work on non-root svgs because they dont have a CSSBox (silly!)\n // getBoundingClientRect: Doesn't work because Chrome just ignores width and height of nested svgs completely\n // that means, their clientRect is always as big as the content.\n // Furthermore this size is incorrect if the element is further transformed by its parents\n // computedStyle: Only returns meaningful values if css was used with px. We dont go this route here!\n // getBBox: returns the bounding box of its content - that doesn't help!\n let {\n width,\n height\n } = this.attr(['width', 'height']); // Width and height is a string when a number with a unit is present which we can't use\n // So we try clientXYZ\n\n if (!width && !height || typeof width === 'string' || typeof height === 'string') {\n width = this.node.clientWidth;\n height = this.node.clientHeight;\n } // Giving up...\n\n\n if (!width || !height) {\n throw new Error('Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element');\n }\n\n const v = this.viewbox();\n const zoomX = width / v.width;\n const zoomY = height / v.height;\n const zoom = Math.min(zoomX, zoomY);\n\n if (level == null) {\n return zoom;\n }\n\n let zoomAmount = zoom / level; // Set the zoomAmount to the highest value which is safe to process and recover from\n // The * 100 is a bit of wiggle room for the matrix transformation\n\n if (zoomAmount === Infinity) zoomAmount = Number.MAX_SAFE_INTEGER / 100;\n point = point || new Point(width / 2 / zoomX + v.x, height / 2 / zoomY + v.y);\n const box = new Box(v).transform(new Matrix({\n scale: zoomAmount,\n origin: point\n }));\n return this.viewbox(box);\n }\n\n }\n});\nregister(Box, 'Box');\n\nclass List extends Array {\n constructor(arr = [], ...args) {\n super(arr, ...args);\n if (typeof arr === 'number') return this;\n this.length = 0;\n this.push(...arr);\n }\n\n}\nextend([List], {\n each(fnOrMethodName, ...args) {\n if (typeof fnOrMethodName === 'function') {\n return this.map((el, i, arr) => {\n return fnOrMethodName.call(el, el, i, arr);\n });\n } else {\n return this.map(el => {\n return el[fnOrMethodName](...args);\n });\n }\n },\n\n toArray() {\n return Array.prototype.concat.apply([], this);\n }\n\n});\nconst reserved = ['toArray', 'constructor', 'each'];\n\nList.extend = function (methods) {\n methods = methods.reduce((obj, name) => {\n // Don't overwrite own methods\n if (reserved.includes(name)) return obj; // Don't add private methods\n\n if (name[0] === '_') return obj; // Relay every call to each()\n\n obj[name] = function (...attrs) {\n return this.each(name, ...attrs);\n };\n\n return obj;\n }, {});\n extend([List], methods);\n};\n\nfunction baseFind(query, parent) {\n return new List(map((parent || globals.document).querySelectorAll(query), function (node) {\n return adopt(node);\n }));\n} // Scoped find method\n\nfunction find(query) {\n return baseFind(query, this.node);\n}\nfunction findOne(query) {\n return adopt(this.node.querySelector(query));\n}\n\nlet listenerId = 0;\nconst windowEvents = {};\nfunction getEvents(instance) {\n let n = instance.getEventHolder(); // We dont want to save events in global space\n\n if (n === globals.window) n = windowEvents;\n if (!n.events) n.events = {};\n return n.events;\n}\nfunction getEventTarget(instance) {\n return instance.getEventTarget();\n}\nfunction clearEvents(instance) {\n let n = instance.getEventHolder();\n if (n === globals.window) n = windowEvents;\n if (n.events) n.events = {};\n} // Add event binder in the SVG namespace\n\nfunction on(node, events, listener, binding, options) {\n const l = listener.bind(binding || node);\n const instance = makeInstance(node);\n const bag = getEvents(instance);\n const n = getEventTarget(instance); // events can be an array of events or a string of events\n\n events = Array.isArray(events) ? events : events.split(delimiter); // add id to listener\n\n if (!listener._svgjsListenerId) {\n listener._svgjsListenerId = ++listenerId;\n }\n\n events.forEach(function (event) {\n const ev = event.split('.')[0];\n const ns = event.split('.')[1] || '*'; // ensure valid object\n\n bag[ev] = bag[ev] || {};\n bag[ev][ns] = bag[ev][ns] || {}; // reference listener\n\n bag[ev][ns][listener._svgjsListenerId] = l; // add listener\n\n n.addEventListener(ev, l, options || false);\n });\n} // Add event unbinder in the SVG namespace\n\nfunction off(node, events, listener, options) {\n const instance = makeInstance(node);\n const bag = getEvents(instance);\n const n = getEventTarget(instance); // listener can be a function or a number\n\n if (typeof listener === 'function') {\n listener = listener._svgjsListenerId;\n if (!listener) return;\n } // events can be an array of events or a string or undefined\n\n\n events = Array.isArray(events) ? events : (events || '').split(delimiter);\n events.forEach(function (event) {\n const ev = event && event.split('.')[0];\n const ns = event && event.split('.')[1];\n let namespace, l;\n\n if (listener) {\n // remove listener reference\n if (bag[ev] && bag[ev][ns || '*']) {\n // removeListener\n n.removeEventListener(ev, bag[ev][ns || '*'][listener], options || false);\n delete bag[ev][ns || '*'][listener];\n }\n } else if (ev && ns) {\n // remove all listeners for a namespaced event\n if (bag[ev] && bag[ev][ns]) {\n for (l in bag[ev][ns]) {\n off(n, [ev, ns].join('.'), l);\n }\n\n delete bag[ev][ns];\n }\n } else if (ns) {\n // remove all listeners for a specific namespace\n for (event in bag) {\n for (namespace in bag[event]) {\n if (ns === namespace) {\n off(n, [event, ns].join('.'));\n }\n }\n }\n } else if (ev) {\n // remove all listeners for the event\n if (bag[ev]) {\n for (namespace in bag[ev]) {\n off(n, [ev, namespace].join('.'));\n }\n\n delete bag[ev];\n }\n } else {\n // remove all listeners on a given node\n for (event in bag) {\n off(n, event);\n }\n\n clearEvents(instance);\n }\n });\n}\nfunction dispatch(node, event, data, options) {\n const n = getEventTarget(node); // Dispatch event\n\n if (event instanceof globals.window.Event) {\n n.dispatchEvent(event);\n } else {\n event = new globals.window.CustomEvent(event, {\n detail: data,\n cancelable: true,\n ...options\n });\n n.dispatchEvent(event);\n }\n\n return event;\n}\n\nclass EventTarget extends Base {\n addEventListener() {}\n\n dispatch(event, data, options) {\n return dispatch(this, event, data, options);\n }\n\n dispatchEvent(event) {\n const bag = this.getEventHolder().events;\n if (!bag) return true;\n const events = bag[event.type];\n\n for (const i in events) {\n for (const j in events[i]) {\n events[i][j](event);\n }\n }\n\n return !event.defaultPrevented;\n } // Fire given event\n\n\n fire(event, data, options) {\n this.dispatch(event, data, options);\n return this;\n }\n\n getEventHolder() {\n return this;\n }\n\n getEventTarget() {\n return this;\n } // Unbind event from listener\n\n\n off(event, listener, options) {\n off(this, event, listener, options);\n return this;\n } // Bind given event to listener\n\n\n on(event, listener, binding, options) {\n on(this, event, listener, binding, options);\n return this;\n }\n\n removeEventListener() {}\n\n}\nregister(EventTarget, 'EventTarget');\n\nfunction noop() {} // Default animation values\n\nconst timeline = {\n duration: 400,\n ease: '>',\n delay: 0\n}; // Default attribute values\n\nconst attrs = {\n // fill and stroke\n 'fill-opacity': 1,\n 'stroke-opacity': 1,\n 'stroke-width': 0,\n 'stroke-linejoin': 'miter',\n 'stroke-linecap': 'butt',\n fill: '#000000',\n stroke: '#000000',\n opacity: 1,\n // position\n x: 0,\n y: 0,\n cx: 0,\n cy: 0,\n // size\n width: 0,\n height: 0,\n // radius\n r: 0,\n rx: 0,\n ry: 0,\n // gradient\n offset: 0,\n 'stop-opacity': 1,\n 'stop-color': '#000000',\n // text\n 'text-anchor': 'start'\n};\n\nvar defaults = {\n __proto__: null,\n noop: noop,\n timeline: timeline,\n attrs: attrs\n};\n\nclass SVGArray extends Array {\n constructor(...args) {\n super(...args);\n this.init(...args);\n }\n\n clone() {\n return new this.constructor(this);\n }\n\n init(arr) {\n // This catches the case, that native map tries to create an array with new Array(1)\n if (typeof arr === 'number') return this;\n this.length = 0;\n this.push(...this.parse(arr));\n return this;\n } // Parse whitespace separated string\n\n\n parse(array = []) {\n // If already is an array, no need to parse it\n if (array instanceof Array) return array;\n return array.trim().split(delimiter).map(parseFloat);\n }\n\n toArray() {\n return Array.prototype.concat.apply([], this);\n }\n\n toSet() {\n return new Set(this);\n }\n\n toString() {\n return this.join(' ');\n } // Flattens the array if needed\n\n\n valueOf() {\n const ret = [];\n ret.push(...this);\n return ret;\n }\n\n}\n\nclass SVGNumber {\n // Initialize\n constructor(...args) {\n this.init(...args);\n }\n\n convert(unit) {\n return new SVGNumber(this.value, unit);\n } // Divide number\n\n\n divide(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this / number, this.unit || number.unit);\n }\n\n init(value, unit) {\n unit = Array.isArray(value) ? value[1] : unit;\n value = Array.isArray(value) ? value[0] : value; // initialize defaults\n\n this.value = 0;\n this.unit = unit || ''; // parse value\n\n if (typeof value === 'number') {\n // ensure a valid numeric value\n this.value = isNaN(value) ? 0 : !isFinite(value) ? value < 0 ? -3.4e+38 : +3.4e+38 : value;\n } else if (typeof value === 'string') {\n unit = value.match(numberAndUnit);\n\n if (unit) {\n // make value numeric\n this.value = parseFloat(unit[1]); // normalize\n\n if (unit[5] === '%') {\n this.value /= 100;\n } else if (unit[5] === 's') {\n this.value *= 1000;\n } // store unit\n\n\n this.unit = unit[5];\n }\n } else {\n if (value instanceof SVGNumber) {\n this.value = value.valueOf();\n this.unit = value.unit;\n }\n }\n\n return this;\n } // Subtract number\n\n\n minus(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this - number, this.unit || number.unit);\n } // Add number\n\n\n plus(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this + number, this.unit || number.unit);\n } // Multiply number\n\n\n times(number) {\n number = new SVGNumber(number);\n return new SVGNumber(this * number, this.unit || number.unit);\n }\n\n toArray() {\n return [this.value, this.unit];\n }\n\n toJSON() {\n return this.toString();\n }\n\n toString() {\n return (this.unit === '%' ? ~~(this.value * 1e8) / 1e6 : this.unit === 's' ? this.value / 1e3 : this.value) + this.unit;\n }\n\n valueOf() {\n return this.value;\n }\n\n}\n\nconst hooks = [];\nfunction registerAttrHook(fn) {\n hooks.push(fn);\n} // Set svg element attribute\n\nfunction attr(attr, val, ns) {\n // act as full getter\n if (attr == null) {\n // get an object of attributes\n attr = {};\n val = this.node.attributes;\n\n for (const node of val) {\n attr[node.nodeName] = isNumber.test(node.nodeValue) ? parseFloat(node.nodeValue) : node.nodeValue;\n }\n\n return attr;\n } else if (attr instanceof Array) {\n // loop through array and get all values\n return attr.reduce((last, curr) => {\n last[curr] = this.attr(curr);\n return last;\n }, {});\n } else if (typeof attr === 'object' && attr.constructor === Object) {\n // apply every attribute individually if an object is passed\n for (val in attr) this.attr(val, attr[val]);\n } else if (val === null) {\n // remove value\n this.node.removeAttribute(attr);\n } else if (val == null) {\n // act as a getter if the first and only argument is not an object\n val = this.node.getAttribute(attr);\n return val == null ? attrs[attr] : isNumber.test(val) ? parseFloat(val) : val;\n } else {\n // Loop through hooks and execute them to convert value\n val = hooks.reduce((_val, hook) => {\n return hook(attr, _val, this);\n }, val); // ensure correct numeric values (also accepts NaN and Infinity)\n\n if (typeof val === 'number') {\n val = new SVGNumber(val);\n } else if (Color.isColor(val)) {\n // ensure full hex color\n val = new Color(val);\n } else if (val.constructor === Array) {\n // Check for plain arrays and parse array values\n val = new SVGArray(val);\n } // if the passed attribute is leading...\n\n\n if (attr === 'leading') {\n // ... call the leading method instead\n if (this.leading) {\n this.leading(val);\n }\n } else {\n // set given attribute on node\n typeof ns === 'string' ? this.node.setAttributeNS(ns, attr, val.toString()) : this.node.setAttribute(attr, val.toString());\n } // rebuild if required\n\n\n if (this.rebuild && (attr === 'font-size' || attr === 'x')) {\n this.rebuild();\n }\n }\n\n return this;\n}\n\nclass Dom extends EventTarget {\n constructor(node, attrs) {\n super();\n this.node = node;\n this.type = node.nodeName;\n\n if (attrs && node !== attrs) {\n this.attr(attrs);\n }\n } // Add given element at a position\n\n\n add(element, i) {\n element = makeInstance(element); // If non-root svg nodes are added we have to remove their namespaces\n\n if (element.removeNamespace && this.node instanceof globals.window.SVGElement) {\n element.removeNamespace();\n }\n\n if (i == null) {\n this.node.appendChild(element.node);\n } else if (element.node !== this.node.childNodes[i]) {\n this.node.insertBefore(element.node, this.node.childNodes[i]);\n }\n\n return this;\n } // Add element to given container and return self\n\n\n addTo(parent, i) {\n return makeInstance(parent).put(this, i);\n } // Returns all child elements\n\n\n children() {\n return new List(map(this.node.children, function (node) {\n return adopt(node);\n }));\n } // Remove all elements in this container\n\n\n clear() {\n // remove children\n while (this.node.hasChildNodes()) {\n this.node.removeChild(this.node.lastChild);\n }\n\n return this;\n } // Clone element\n\n\n clone(deep = true, assignNewIds = true) {\n // write dom data to the dom so the clone can pickup the data\n this.writeDataToDom(); // clone element\n\n let nodeClone = this.node.cloneNode(deep);\n\n if (assignNewIds) {\n // assign new id\n nodeClone = assignNewId(nodeClone);\n }\n\n return new this.constructor(nodeClone);\n } // Iterates over all children and invokes a given block\n\n\n each(block, deep) {\n const children = this.children();\n let i, il;\n\n for (i = 0, il = children.length; i < il; i++) {\n block.apply(children[i], [i, children]);\n\n if (deep) {\n children[i].each(block, deep);\n }\n }\n\n return this;\n }\n\n element(nodeName, attrs) {\n return this.put(new Dom(create(nodeName), attrs));\n } // Get first child\n\n\n first() {\n return adopt(this.node.firstChild);\n } // Get a element at the given index\n\n\n get(i) {\n return adopt(this.node.childNodes[i]);\n }\n\n getEventHolder() {\n return this.node;\n }\n\n getEventTarget() {\n return this.node;\n } // Checks if the given element is a child\n\n\n has(element) {\n return this.index(element) >= 0;\n }\n\n html(htmlOrFn, outerHTML) {\n return this.xml(htmlOrFn, outerHTML, html);\n } // Get / set id\n\n\n id(id) {\n // generate new id if no id set\n if (typeof id === 'undefined' && !this.node.id) {\n this.node.id = eid(this.type);\n } // don't set directly with this.node.id to make `null` work correctly\n\n\n return this.attr('id', id);\n } // Gets index of given element\n\n\n index(element) {\n return [].slice.call(this.node.childNodes).indexOf(element.node);\n } // Get the last child\n\n\n last() {\n return adopt(this.node.lastChild);\n } // matches the element vs a css selector\n\n\n matches(selector) {\n const el = this.node;\n const matcher = el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector || null;\n return matcher && matcher.call(el, selector);\n } // Returns the parent element instance\n\n\n parent(type) {\n let parent = this; // check for parent\n\n if (!parent.node.parentNode) return null; // get parent element\n\n parent = adopt(parent.node.parentNode);\n if (!type) return parent; // loop through ancestors if type is given\n\n do {\n if (typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent;\n } while (parent = adopt(parent.node.parentNode));\n\n return parent;\n } // Basically does the same as `add()` but returns the added element instead\n\n\n put(element, i) {\n element = makeInstance(element);\n this.add(element, i);\n return element;\n } // Add element to given container and return container\n\n\n putIn(parent, i) {\n return makeInstance(parent).add(this, i);\n } // Remove element\n\n\n remove() {\n if (this.parent()) {\n this.parent().removeElement(this);\n }\n\n return this;\n } // Remove a given child\n\n\n removeElement(element) {\n this.node.removeChild(element.node);\n return this;\n } // Replace this with element\n\n\n replace(element) {\n element = makeInstance(element);\n\n if (this.node.parentNode) {\n this.node.parentNode.replaceChild(element.node, this.node);\n }\n\n return element;\n }\n\n round(precision = 2, map = null) {\n const factor = 10 ** precision;\n const attrs = this.attr(map);\n\n for (const i in attrs) {\n if (typeof attrs[i] === 'number') {\n attrs[i] = Math.round(attrs[i] * factor) / factor;\n }\n }\n\n this.attr(attrs);\n return this;\n } // Import / Export raw svg\n\n\n svg(svgOrFn, outerSVG) {\n return this.xml(svgOrFn, outerSVG, svg);\n } // Return id on string conversion\n\n\n toString() {\n return this.id();\n }\n\n words(text) {\n // This is faster than removing all children and adding a new one\n this.node.textContent = text;\n return this;\n }\n\n wrap(node) {\n const parent = this.parent();\n\n if (!parent) {\n return this.addTo(node);\n }\n\n const position = parent.index(this);\n return parent.put(node, position).put(this);\n } // write svgjs data to the dom\n\n\n writeDataToDom() {\n // dump variables recursively\n this.each(function () {\n this.writeDataToDom();\n });\n return this;\n } // Import / Export raw svg\n\n\n xml(xmlOrFn, outerXML, ns) {\n if (typeof xmlOrFn === 'boolean') {\n ns = outerXML;\n outerXML = xmlOrFn;\n xmlOrFn = null;\n } // act as getter if no svg string is given\n\n\n if (xmlOrFn == null || typeof xmlOrFn === 'function') {\n // The default for exports is, that the outerNode is included\n outerXML = outerXML == null ? true : outerXML; // write svgjs data to the dom\n\n this.writeDataToDom();\n let current = this; // An export modifier was passed\n\n if (xmlOrFn != null) {\n current = adopt(current.node.cloneNode(true)); // If the user wants outerHTML we need to process this node, too\n\n if (outerXML) {\n const result = xmlOrFn(current);\n current = result || current; // The user does not want this node? Well, then he gets nothing\n\n if (result === false) return '';\n } // Deep loop through all children and apply modifier\n\n\n current.each(function () {\n const result = xmlOrFn(this);\n\n const _this = result || this; // If modifier returns false, discard node\n\n\n if (result === false) {\n this.remove(); // If modifier returns new node, use it\n } else if (result && this !== _this) {\n this.replace(_this);\n }\n }, true);\n } // Return outer or inner content\n\n\n return outerXML ? current.node.outerHTML : current.node.innerHTML;\n } // Act as setter if we got a string\n // The default for import is, that the current node is not replaced\n\n\n outerXML = outerXML == null ? false : outerXML; // Create temporary holder\n\n const well = create('wrapper', ns);\n const fragment = globals.document.createDocumentFragment(); // Dump raw svg\n\n well.innerHTML = xmlOrFn; // Transplant nodes into the fragment\n\n for (let len = well.children.length; len--;) {\n fragment.appendChild(well.firstElementChild);\n }\n\n const parent = this.parent(); // Add the whole fragment at once\n\n return outerXML ? this.replace(fragment) && parent : this.add(fragment);\n }\n\n}\nextend(Dom, {\n attr,\n find,\n findOne\n});\nregister(Dom, 'Dom');\n\nclass Element extends Dom {\n constructor(node, attrs) {\n super(node, attrs); // initialize data object\n\n this.dom = {}; // create circular reference\n\n this.node.instance = this;\n\n if (node.hasAttribute('svgjs:data')) {\n // pull svgjs data from the dom (getAttributeNS doesn't work in html5)\n this.setData(JSON.parse(node.getAttribute('svgjs:data')) || {});\n }\n } // Move element by its center\n\n\n center(x, y) {\n return this.cx(x).cy(y);\n } // Move by center over x-axis\n\n\n cx(x) {\n return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2);\n } // Move by center over y-axis\n\n\n cy(y) {\n return y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2);\n } // Get defs\n\n\n defs() {\n const root = this.root();\n return root && root.defs();\n } // Relative move over x and y axes\n\n\n dmove(x, y) {\n return this.dx(x).dy(y);\n } // Relative move over x axis\n\n\n dx(x = 0) {\n return this.x(new SVGNumber(x).plus(this.x()));\n } // Relative move over y axis\n\n\n dy(y = 0) {\n return this.y(new SVGNumber(y).plus(this.y()));\n }\n\n getEventHolder() {\n return this;\n } // Set height of element\n\n\n height(height) {\n return this.attr('height', height);\n } // Move element to given x and y values\n\n\n move(x, y) {\n return this.x(x).y(y);\n } // return array of all ancestors of given type up to the root svg\n\n\n parents(until = this.root()) {\n const isSelector = typeof until === 'string';\n\n if (!isSelector) {\n until = makeInstance(until);\n }\n\n const parents = new List();\n let parent = this;\n\n while ((parent = parent.parent()) && parent.node !== globals.document && parent.nodeName !== '#document-fragment') {\n parents.push(parent);\n\n if (!isSelector && parent.node === until.node) {\n break;\n }\n\n if (isSelector && parent.matches(until)) {\n break;\n }\n\n if (parent.node === this.root().node) {\n // We worked our way to the root and didn't match `until`\n return null;\n }\n }\n\n return parents;\n } // Get referenced element form attribute value\n\n\n reference(attr) {\n attr = this.attr(attr);\n if (!attr) return null;\n const m = (attr + '').match(reference);\n return m ? makeInstance(m[1]) : null;\n } // Get parent document\n\n\n root() {\n const p = this.parent(getClass(root));\n return p && p.root();\n } // set given data to the elements data property\n\n\n setData(o) {\n this.dom = o;\n return this;\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.width(new SVGNumber(p.width)).height(new SVGNumber(p.height));\n } // Set width of element\n\n\n width(width) {\n return this.attr('width', width);\n } // write svgjs data to the dom\n\n\n writeDataToDom() {\n // remove previously set data\n this.node.removeAttribute('svgjs:data');\n\n if (Object.keys(this.dom).length) {\n this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)); // see #428\n }\n\n return super.writeDataToDom();\n } // Move over x-axis\n\n\n x(x) {\n return this.attr('x', x);\n } // Move over y-axis\n\n\n y(y) {\n return this.attr('y', y);\n }\n\n}\nextend(Element, {\n bbox,\n rbox,\n inside,\n point,\n ctm,\n screenCTM\n});\nregister(Element, 'Element');\n\nconst sugar = {\n stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'],\n fill: ['color', 'opacity', 'rule'],\n prefix: function (t, a) {\n return a === 'color' ? t : t + '-' + a;\n }\n} // Add sugar for fill and stroke\n;\n['fill', 'stroke'].forEach(function (m) {\n const extension = {};\n let i;\n\n extension[m] = function (o) {\n if (typeof o === 'undefined') {\n return this.attr(m);\n }\n\n if (typeof o === 'string' || o instanceof Color || Color.isRgb(o) || o instanceof Element) {\n this.attr(m, o);\n } else {\n // set all attributes from sugar.fill and sugar.stroke list\n for (i = sugar[m].length - 1; i >= 0; i--) {\n if (o[sugar[m][i]] != null) {\n this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]);\n }\n }\n }\n\n return this;\n };\n\n registerMethods(['Element', 'Runner'], extension);\n});\nregisterMethods(['Element', 'Runner'], {\n // Let the user set the matrix directly\n matrix: function (mat, b, c, d, e, f) {\n // Act as a getter\n if (mat == null) {\n return new Matrix(this);\n } // Act as a setter, the user can pass a matrix or a set of numbers\n\n\n return this.attr('transform', new Matrix(mat, b, c, d, e, f));\n },\n // Map rotation to transform\n rotate: function (angle, cx, cy) {\n return this.transform({\n rotate: angle,\n ox: cx,\n oy: cy\n }, true);\n },\n // Map skew to transform\n skew: function (x, y, cx, cy) {\n return arguments.length === 1 || arguments.length === 3 ? this.transform({\n skew: x,\n ox: y,\n oy: cx\n }, true) : this.transform({\n skew: [x, y],\n ox: cx,\n oy: cy\n }, true);\n },\n shear: function (lam, cx, cy) {\n return this.transform({\n shear: lam,\n ox: cx,\n oy: cy\n }, true);\n },\n // Map scale to transform\n scale: function (x, y, cx, cy) {\n return arguments.length === 1 || arguments.length === 3 ? this.transform({\n scale: x,\n ox: y,\n oy: cx\n }, true) : this.transform({\n scale: [x, y],\n ox: cx,\n oy: cy\n }, true);\n },\n // Map translate to transform\n translate: function (x, y) {\n return this.transform({\n translate: [x, y]\n }, true);\n },\n // Map relative translations to transform\n relative: function (x, y) {\n return this.transform({\n relative: [x, y]\n }, true);\n },\n // Map flip to transform\n flip: function (direction = 'both', origin = 'center') {\n if ('xybothtrue'.indexOf(direction) === -1) {\n origin = direction;\n direction = 'both';\n }\n\n return this.transform({\n flip: direction,\n origin: origin\n }, true);\n },\n // Opacity\n opacity: function (value) {\n return this.attr('opacity', value);\n }\n});\nregisterMethods('radius', {\n // Add x and y radius\n radius: function (x, y = x) {\n const type = (this._element || this).type;\n return type === 'radialGradient' ? this.attr('r', new SVGNumber(x)) : this.rx(x).ry(y);\n }\n});\nregisterMethods('Path', {\n // Get path length\n length: function () {\n return this.node.getTotalLength();\n },\n // Get point at length\n pointAt: function (length) {\n return new Point(this.node.getPointAtLength(length));\n }\n});\nregisterMethods(['Element', 'Runner'], {\n // Set font\n font: function (a, v) {\n if (typeof a === 'object') {\n for (v in a) this.font(v, a[v]);\n\n return this;\n }\n\n return a === 'leading' ? this.leading(v) : a === 'anchor' ? this.attr('text-anchor', v) : a === 'size' || a === 'family' || a === 'weight' || a === 'stretch' || a === 'variant' || a === 'style' ? this.attr('font-' + a, v) : this.attr(a, v);\n }\n}); // Add events to elements\n\nconst methods = ['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'touchstart', 'touchmove', 'touchleave', 'touchend', 'touchcancel'].reduce(function (last, event) {\n // add event to Element\n const fn = function (f) {\n if (f === null) {\n this.off(event);\n } else {\n this.on(event, f);\n }\n\n return this;\n };\n\n last[event] = fn;\n return last;\n}, {});\nregisterMethods('Element', methods);\n\nfunction untransform() {\n return this.attr('transform', null);\n} // merge the whole transformation chain into one matrix and returns it\n\nfunction matrixify() {\n const matrix = (this.attr('transform') || '' // split transformations\n ).split(transforms).slice(0, -1).map(function (str) {\n // generate key => value pairs\n const kv = str.trim().split('(');\n return [kv[0], kv[1].split(delimiter).map(function (str) {\n return parseFloat(str);\n })];\n }).reverse() // merge every transformation into one matrix\n .reduce(function (matrix, transform) {\n if (transform[0] === 'matrix') {\n return matrix.lmultiply(Matrix.fromArray(transform[1]));\n }\n\n return matrix[transform[0]].apply(matrix, transform[1]);\n }, new Matrix());\n return matrix;\n} // add an element to another parent without changing the visual representation on the screen\n\nfunction toParent(parent, i) {\n if (this === parent) return this;\n const ctm = this.screenCTM();\n const pCtm = parent.screenCTM().inverse();\n this.addTo(parent, i).untransform().transform(pCtm.multiply(ctm));\n return this;\n} // same as above with parent equals root-svg\n\nfunction toRoot(i) {\n return this.toParent(this.root(), i);\n} // Add transformations\n\nfunction transform(o, relative) {\n // Act as a getter if no object was passed\n if (o == null || typeof o === 'string') {\n const decomposed = new Matrix(this).decompose();\n return o == null ? decomposed : decomposed[o];\n }\n\n if (!Matrix.isMatrixLike(o)) {\n // Set the origin according to the defined transform\n o = { ...o,\n origin: getOrigin(o, this)\n };\n } // The user can pass a boolean, an Element or an Matrix or nothing\n\n\n const cleanRelative = relative === true ? this : relative || false;\n const result = new Matrix(cleanRelative).transform(o);\n return this.attr('transform', result);\n}\nregisterMethods('Element', {\n untransform,\n matrixify,\n toParent,\n toRoot,\n transform\n});\n\nclass Container extends Element {\n flatten(parent = this, index) {\n this.each(function () {\n if (this instanceof Container) {\n return this.flatten().ungroup();\n }\n });\n return this;\n }\n\n ungroup(parent = this.parent(), index = parent.index(this)) {\n // when parent != this, we want append all elements to the end\n index = index === -1 ? parent.children().length : index;\n this.each(function (i, children) {\n // reverse each\n return children[children.length - i - 1].toParent(parent, index);\n });\n return this.remove();\n }\n\n}\nregister(Container, 'Container');\n\nclass Defs extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('defs', node), attrs);\n }\n\n flatten() {\n return this;\n }\n\n ungroup() {\n return this;\n }\n\n}\nregister(Defs, 'Defs');\n\nclass Shape extends Element {}\nregister(Shape, 'Shape');\n\nfunction rx(rx) {\n return this.attr('rx', rx);\n} // Radius y value\n\nfunction ry(ry) {\n return this.attr('ry', ry);\n} // Move over x-axis\n\nfunction x$3(x) {\n return x == null ? this.cx() - this.rx() : this.cx(x + this.rx());\n} // Move over y-axis\n\nfunction y$3(y) {\n return y == null ? this.cy() - this.ry() : this.cy(y + this.ry());\n} // Move by center over x-axis\n\nfunction cx$1(x) {\n return this.attr('cx', x);\n} // Move by center over y-axis\n\nfunction cy$1(y) {\n return this.attr('cy', y);\n} // Set width of element\n\nfunction width$2(width) {\n return width == null ? this.rx() * 2 : this.rx(new SVGNumber(width).divide(2));\n} // Set height of element\n\nfunction height$2(height) {\n return height == null ? this.ry() * 2 : this.ry(new SVGNumber(height).divide(2));\n}\n\nvar circled = {\n __proto__: null,\n rx: rx,\n ry: ry,\n x: x$3,\n y: y$3,\n cx: cx$1,\n cy: cy$1,\n width: width$2,\n height: height$2\n};\n\nclass Ellipse extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('ellipse', node), attrs);\n }\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.rx(new SVGNumber(p.width).divide(2)).ry(new SVGNumber(p.height).divide(2));\n }\n\n}\nextend(Ellipse, circled);\nregisterMethods('Container', {\n // Create an ellipse\n ellipse: wrapWithAttrCheck(function (width = 0, height = width) {\n return this.put(new Ellipse()).size(width, height).move(0, 0);\n })\n});\nregister(Ellipse, 'Ellipse');\n\nclass Fragment extends Dom {\n constructor(node = globals.document.createDocumentFragment()) {\n super(node);\n } // Import / Export raw xml\n\n\n xml(xmlOrFn, outerXML, ns) {\n if (typeof xmlOrFn === 'boolean') {\n ns = outerXML;\n outerXML = xmlOrFn;\n xmlOrFn = null;\n } // because this is a fragment we have to put all elements into a wrapper first\n // before we can get the innerXML from it\n\n\n if (xmlOrFn == null || typeof xmlOrFn === 'function') {\n const wrapper = new Dom(create('wrapper', ns));\n wrapper.add(this.node.cloneNode(true));\n return wrapper.xml(false, ns);\n } // Act as setter if we got a string\n\n\n return super.xml(xmlOrFn, false, ns);\n }\n\n}\n\nregister(Fragment, 'Fragment');\n\nfunction from(x, y) {\n return (this._element || this).type === 'radialGradient' ? this.attr({\n fx: new SVGNumber(x),\n fy: new SVGNumber(y)\n }) : this.attr({\n x1: new SVGNumber(x),\n y1: new SVGNumber(y)\n });\n}\nfunction to(x, y) {\n return (this._element || this).type === 'radialGradient' ? this.attr({\n cx: new SVGNumber(x),\n cy: new SVGNumber(y)\n }) : this.attr({\n x2: new SVGNumber(x),\n y2: new SVGNumber(y)\n });\n}\n\nvar gradiented = {\n __proto__: null,\n from: from,\n to: to\n};\n\nclass Gradient extends Container {\n constructor(type, attrs) {\n super(nodeOrNew(type + 'Gradient', typeof type === 'string' ? null : type), attrs);\n } // custom attr to handle transform\n\n\n attr(a, b, c) {\n if (a === 'transform') a = 'gradientTransform';\n return super.attr(a, b, c);\n }\n\n bbox() {\n return new Box();\n }\n\n targets() {\n return baseFind('svg [fill*=' + this.id() + ']');\n } // Alias string conversion to fill\n\n\n toString() {\n return this.url();\n } // Update gradient\n\n\n update(block) {\n // remove all stops\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Return the fill id\n\n\n url() {\n return 'url(#' + this.id() + ')';\n }\n\n}\nextend(Gradient, gradiented);\nregisterMethods({\n Container: {\n // Create gradient element in defs\n gradient(...args) {\n return this.defs().gradient(...args);\n }\n\n },\n // define gradient\n Defs: {\n gradient: wrapWithAttrCheck(function (type, block) {\n return this.put(new Gradient(type)).update(block);\n })\n }\n});\nregister(Gradient, 'Gradient');\n\nclass Pattern extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('pattern', node), attrs);\n } // custom attr to handle transform\n\n\n attr(a, b, c) {\n if (a === 'transform') a = 'patternTransform';\n return super.attr(a, b, c);\n }\n\n bbox() {\n return new Box();\n }\n\n targets() {\n return baseFind('svg [fill*=' + this.id() + ']');\n } // Alias string conversion to fill\n\n\n toString() {\n return this.url();\n } // Update pattern by rebuilding\n\n\n update(block) {\n // remove content\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Return the fill id\n\n\n url() {\n return 'url(#' + this.id() + ')';\n }\n\n}\nregisterMethods({\n Container: {\n // Create pattern element in defs\n pattern(...args) {\n return this.defs().pattern(...args);\n }\n\n },\n Defs: {\n pattern: wrapWithAttrCheck(function (width, height, block) {\n return this.put(new Pattern()).update(block).attr({\n x: 0,\n y: 0,\n width: width,\n height: height,\n patternUnits: 'userSpaceOnUse'\n });\n })\n }\n});\nregister(Pattern, 'Pattern');\n\nclass Image extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('image', node), attrs);\n } // (re)load image\n\n\n load(url, callback) {\n if (!url) return this;\n const img = new globals.window.Image();\n on(img, 'load', function (e) {\n const p = this.parent(Pattern); // ensure image size\n\n if (this.width() === 0 && this.height() === 0) {\n this.size(img.width, img.height);\n }\n\n if (p instanceof Pattern) {\n // ensure pattern size if not set\n if (p.width() === 0 && p.height() === 0) {\n p.size(this.width(), this.height());\n }\n }\n\n if (typeof callback === 'function') {\n callback.call(this, e);\n }\n }, this);\n on(img, 'load error', function () {\n // dont forget to unbind memory leaking events\n off(img);\n });\n return this.attr('href', img.src = url, xlink);\n }\n\n}\nregisterAttrHook(function (attr, val, _this) {\n // convert image fill and stroke to patterns\n if (attr === 'fill' || attr === 'stroke') {\n if (isImage.test(val)) {\n val = _this.root().defs().image(val);\n }\n }\n\n if (val instanceof Image) {\n val = _this.root().defs().pattern(0, 0, pattern => {\n pattern.add(val);\n });\n }\n\n return val;\n});\nregisterMethods({\n Container: {\n // create image element, load image and set its size\n image: wrapWithAttrCheck(function (source, callback) {\n return this.put(new Image()).size(0, 0).load(source, callback);\n })\n }\n});\nregister(Image, 'Image');\n\nclass PointArray extends SVGArray {\n // Get bounding box of points\n bbox() {\n let maxX = -Infinity;\n let maxY = -Infinity;\n let minX = Infinity;\n let minY = Infinity;\n this.forEach(function (el) {\n maxX = Math.max(el[0], maxX);\n maxY = Math.max(el[1], maxY);\n minX = Math.min(el[0], minX);\n minY = Math.min(el[1], minY);\n });\n return new Box(minX, minY, maxX - minX, maxY - minY);\n } // Move point string\n\n\n move(x, y) {\n const box = this.bbox(); // get relative offset\n\n x -= box.x;\n y -= box.y; // move every point\n\n if (!isNaN(x) && !isNaN(y)) {\n for (let i = this.length - 1; i >= 0; i--) {\n this[i] = [this[i][0] + x, this[i][1] + y];\n }\n }\n\n return this;\n } // Parse point string and flat array\n\n\n parse(array = [0, 0]) {\n const points = []; // if it is an array, we flatten it and therefore clone it to 1 depths\n\n if (array instanceof Array) {\n array = Array.prototype.concat.apply([], array);\n } else {\n // Else, it is considered as a string\n // parse points\n array = array.trim().split(delimiter).map(parseFloat);\n } // validate points - https://svgwg.org/svg2-draft/shapes.html#DataTypePoints\n // Odd number of coordinates is an error. In such cases, drop the last odd coordinate.\n\n\n if (array.length % 2 !== 0) array.pop(); // wrap points in two-tuples\n\n for (let i = 0, len = array.length; i < len; i = i + 2) {\n points.push([array[i], array[i + 1]]);\n }\n\n return points;\n } // Resize poly string\n\n\n size(width, height) {\n let i;\n const box = this.bbox(); // recalculate position of all points according to new size\n\n for (i = this.length - 1; i >= 0; i--) {\n if (box.width) this[i][0] = (this[i][0] - box.x) * width / box.width + box.x;\n if (box.height) this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n }\n\n return this;\n } // Convert array to line object\n\n\n toLine() {\n return {\n x1: this[0][0],\n y1: this[0][1],\n x2: this[1][0],\n y2: this[1][1]\n };\n } // Convert array to string\n\n\n toString() {\n const array = []; // convert to a poly point string\n\n for (let i = 0, il = this.length; i < il; i++) {\n array.push(this[i].join(','));\n }\n\n return array.join(' ');\n }\n\n transform(m) {\n return this.clone().transformO(m);\n } // transform points with matrix (similar to Point.transform)\n\n\n transformO(m) {\n if (!Matrix.isMatrixLike(m)) {\n m = new Matrix(m);\n }\n\n for (let i = this.length; i--;) {\n // Perform the matrix multiplication\n const [x, y] = this[i];\n this[i][0] = m.a * x + m.c * y + m.e;\n this[i][1] = m.b * x + m.d * y + m.f;\n }\n\n return this;\n }\n\n}\n\nconst MorphArray = PointArray; // Move by left top corner over x-axis\n\nfunction x$2(x) {\n return x == null ? this.bbox().x : this.move(x, this.bbox().y);\n} // Move by left top corner over y-axis\n\nfunction y$2(y) {\n return y == null ? this.bbox().y : this.move(this.bbox().x, y);\n} // Set width of element\n\nfunction width$1(width) {\n const b = this.bbox();\n return width == null ? b.width : this.size(width, b.height);\n} // Set height of element\n\nfunction height$1(height) {\n const b = this.bbox();\n return height == null ? b.height : this.size(b.width, height);\n}\n\nvar pointed = {\n __proto__: null,\n MorphArray: MorphArray,\n x: x$2,\n y: y$2,\n width: width$1,\n height: height$1\n};\n\nclass Line extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('line', node), attrs);\n } // Get array\n\n\n array() {\n return new PointArray([[this.attr('x1'), this.attr('y1')], [this.attr('x2'), this.attr('y2')]]);\n } // Move by left top corner\n\n\n move(x, y) {\n return this.attr(this.array().move(x, y).toLine());\n } // Overwrite native plot() method\n\n\n plot(x1, y1, x2, y2) {\n if (x1 == null) {\n return this.array();\n } else if (typeof y1 !== 'undefined') {\n x1 = {\n x1,\n y1,\n x2,\n y2\n };\n } else {\n x1 = new PointArray(x1).toLine();\n }\n\n return this.attr(x1);\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr(this.array().size(p.width, p.height).toLine());\n }\n\n}\nextend(Line, pointed);\nregisterMethods({\n Container: {\n // Create a line element\n line: wrapWithAttrCheck(function (...args) {\n // make sure plot is called as a setter\n // x1 is not necessarily a number, it can also be an array, a string and a PointArray\n return Line.prototype.plot.apply(this.put(new Line()), args[0] != null ? args : [0, 0, 0, 0]);\n })\n }\n});\nregister(Line, 'Line');\n\nclass Marker extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('marker', node), attrs);\n } // Set height of element\n\n\n height(height) {\n return this.attr('markerHeight', height);\n }\n\n orient(orient) {\n return this.attr('orient', orient);\n } // Set marker refX and refY\n\n\n ref(x, y) {\n return this.attr('refX', x).attr('refY', y);\n } // Return the fill id\n\n\n toString() {\n return 'url(#' + this.id() + ')';\n } // Update marker\n\n\n update(block) {\n // remove all content\n this.clear(); // invoke passed block\n\n if (typeof block === 'function') {\n block.call(this, this);\n }\n\n return this;\n } // Set width of element\n\n\n width(width) {\n return this.attr('markerWidth', width);\n }\n\n}\nregisterMethods({\n Container: {\n marker(...args) {\n // Create marker element in defs\n return this.defs().marker(...args);\n }\n\n },\n Defs: {\n // Create marker\n marker: wrapWithAttrCheck(function (width, height, block) {\n // Set default viewbox to match the width and height, set ref to cx and cy and set orient to auto\n return this.put(new Marker()).size(width, height).ref(width / 2, height / 2).viewbox(0, 0, width, height).attr('orient', 'auto').update(block);\n })\n },\n marker: {\n // Create and attach markers\n marker(marker, width, height, block) {\n let attr = ['marker']; // Build attribute name\n\n if (marker !== 'all') attr.push(marker);\n attr = attr.join('-'); // Set marker attribute\n\n marker = arguments[1] instanceof Marker ? arguments[1] : this.defs().marker(width, height, block);\n return this.attr(attr, marker);\n }\n\n }\n});\nregister(Marker, 'Marker');\n\n/***\nBase Class\n==========\nThe base stepper class that will be\n***/\n\nfunction makeSetterGetter(k, f) {\n return function (v) {\n if (v == null) return this[k];\n this[k] = v;\n if (f) f.call(this);\n return this;\n };\n}\n\nconst easing = {\n '-': function (pos) {\n return pos;\n },\n '<>': function (pos) {\n return -Math.cos(pos * Math.PI) / 2 + 0.5;\n },\n '>': function (pos) {\n return Math.sin(pos * Math.PI / 2);\n },\n '<': function (pos) {\n return -Math.cos(pos * Math.PI / 2) + 1;\n },\n bezier: function (x1, y1, x2, y2) {\n // see https://www.w3.org/TR/css-easing-1/#cubic-bezier-algo\n return function (t) {\n if (t < 0) {\n if (x1 > 0) {\n return y1 / x1 * t;\n } else if (x2 > 0) {\n return y2 / x2 * t;\n } else {\n return 0;\n }\n } else if (t > 1) {\n if (x2 < 1) {\n return (1 - y2) / (1 - x2) * t + (y2 - x2) / (1 - x2);\n } else if (x1 < 1) {\n return (1 - y1) / (1 - x1) * t + (y1 - x1) / (1 - x1);\n } else {\n return 1;\n }\n } else {\n return 3 * t * (1 - t) ** 2 * y1 + 3 * t ** 2 * (1 - t) * y2 + t ** 3;\n }\n };\n },\n // see https://www.w3.org/TR/css-easing-1/#step-timing-function-algo\n steps: function (steps, stepPosition = 'end') {\n // deal with \"jump-\" prefix\n stepPosition = stepPosition.split('-').reverse()[0];\n let jumps = steps;\n\n if (stepPosition === 'none') {\n --jumps;\n } else if (stepPosition === 'both') {\n ++jumps;\n } // The beforeFlag is essentially useless\n\n\n return (t, beforeFlag = false) => {\n // Step is called currentStep in referenced url\n let step = Math.floor(t * steps);\n const jumping = t * step % 1 === 0;\n\n if (stepPosition === 'start' || stepPosition === 'both') {\n ++step;\n }\n\n if (beforeFlag && jumping) {\n --step;\n }\n\n if (t >= 0 && step < 0) {\n step = 0;\n }\n\n if (t <= 1 && step > jumps) {\n step = jumps;\n }\n\n return step / jumps;\n };\n }\n};\nclass Stepper {\n done() {\n return false;\n }\n\n}\n/***\nEasing Functions\n================\n***/\n\nclass Ease extends Stepper {\n constructor(fn = timeline.ease) {\n super();\n this.ease = easing[fn] || fn;\n }\n\n step(from, to, pos) {\n if (typeof from !== 'number') {\n return pos < 1 ? from : to;\n }\n\n return from + (to - from) * this.ease(pos);\n }\n\n}\n/***\nController Types\n================\n***/\n\nclass Controller extends Stepper {\n constructor(fn) {\n super();\n this.stepper = fn;\n }\n\n done(c) {\n return c.done;\n }\n\n step(current, target, dt, c) {\n return this.stepper(current, target, dt, c);\n }\n\n}\n\nfunction recalculate() {\n // Apply the default parameters\n const duration = (this._duration || 500) / 1000;\n const overshoot = this._overshoot || 0; // Calculate the PID natural response\n\n const eps = 1e-10;\n const pi = Math.PI;\n const os = Math.log(overshoot / 100 + eps);\n const zeta = -os / Math.sqrt(pi * pi + os * os);\n const wn = 3.9 / (zeta * duration); // Calculate the Spring values\n\n this.d = 2 * zeta * wn;\n this.k = wn * wn;\n}\n\nclass Spring extends Controller {\n constructor(duration = 500, overshoot = 0) {\n super();\n this.duration(duration).overshoot(overshoot);\n }\n\n step(current, target, dt, c) {\n if (typeof current === 'string') return current;\n c.done = dt === Infinity;\n if (dt === Infinity) return target;\n if (dt === 0) return current;\n if (dt > 100) dt = 16;\n dt /= 1000; // Get the previous velocity\n\n const velocity = c.velocity || 0; // Apply the control to get the new position and store it\n\n const acceleration = -this.d * velocity - this.k * (current - target);\n const newPosition = current + velocity * dt + acceleration * dt * dt / 2; // Store the velocity\n\n c.velocity = velocity + acceleration * dt; // Figure out if we have converged, and if so, pass the value\n\n c.done = Math.abs(target - newPosition) + Math.abs(velocity) < 0.002;\n return c.done ? target : newPosition;\n }\n\n}\nextend(Spring, {\n duration: makeSetterGetter('_duration', recalculate),\n overshoot: makeSetterGetter('_overshoot', recalculate)\n});\nclass PID extends Controller {\n constructor(p = 0.1, i = 0.01, d = 0, windup = 1000) {\n super();\n this.p(p).i(i).d(d).windup(windup);\n }\n\n step(current, target, dt, c) {\n if (typeof current === 'string') return current;\n c.done = dt === Infinity;\n if (dt === Infinity) return target;\n if (dt === 0) return current;\n const p = target - current;\n let i = (c.integral || 0) + p * dt;\n const d = (p - (c.error || 0)) / dt;\n const windup = this._windup; // antiwindup\n\n if (windup !== false) {\n i = Math.max(-windup, Math.min(i, windup));\n }\n\n c.error = p;\n c.integral = i;\n c.done = Math.abs(p) < 0.001;\n return c.done ? target : current + (this.P * p + this.I * i + this.D * d);\n }\n\n}\nextend(PID, {\n windup: makeSetterGetter('_windup'),\n p: makeSetterGetter('P'),\n i: makeSetterGetter('I'),\n d: makeSetterGetter('D')\n});\n\nconst segmentParameters = {\n M: 2,\n L: 2,\n H: 1,\n V: 1,\n C: 6,\n S: 4,\n Q: 4,\n T: 2,\n A: 7,\n Z: 0\n};\nconst pathHandlers = {\n M: function (c, p, p0) {\n p.x = p0.x = c[0];\n p.y = p0.y = c[1];\n return ['M', p.x, p.y];\n },\n L: function (c, p) {\n p.x = c[0];\n p.y = c[1];\n return ['L', c[0], c[1]];\n },\n H: function (c, p) {\n p.x = c[0];\n return ['H', c[0]];\n },\n V: function (c, p) {\n p.y = c[0];\n return ['V', c[0]];\n },\n C: function (c, p) {\n p.x = c[4];\n p.y = c[5];\n return ['C', c[0], c[1], c[2], c[3], c[4], c[5]];\n },\n S: function (c, p) {\n p.x = c[2];\n p.y = c[3];\n return ['S', c[0], c[1], c[2], c[3]];\n },\n Q: function (c, p) {\n p.x = c[2];\n p.y = c[3];\n return ['Q', c[0], c[1], c[2], c[3]];\n },\n T: function (c, p) {\n p.x = c[0];\n p.y = c[1];\n return ['T', c[0], c[1]];\n },\n Z: function (c, p, p0) {\n p.x = p0.x;\n p.y = p0.y;\n return ['Z'];\n },\n A: function (c, p) {\n p.x = c[5];\n p.y = c[6];\n return ['A', c[0], c[1], c[2], c[3], c[4], c[5], c[6]];\n }\n};\nconst mlhvqtcsaz = 'mlhvqtcsaz'.split('');\n\nfor (let i = 0, il = mlhvqtcsaz.length; i < il; ++i) {\n pathHandlers[mlhvqtcsaz[i]] = function (i) {\n return function (c, p, p0) {\n if (i === 'H') c[0] = c[0] + p.x;else if (i === 'V') c[0] = c[0] + p.y;else if (i === 'A') {\n c[5] = c[5] + p.x;\n c[6] = c[6] + p.y;\n } else {\n for (let j = 0, jl = c.length; j < jl; ++j) {\n c[j] = c[j] + (j % 2 ? p.y : p.x);\n }\n }\n return pathHandlers[i](c, p, p0);\n };\n }(mlhvqtcsaz[i].toUpperCase());\n}\n\nfunction makeAbsolut(parser) {\n const command = parser.segment[0];\n return pathHandlers[command](parser.segment.slice(1), parser.p, parser.p0);\n}\n\nfunction segmentComplete(parser) {\n return parser.segment.length && parser.segment.length - 1 === segmentParameters[parser.segment[0].toUpperCase()];\n}\n\nfunction startNewSegment(parser, token) {\n parser.inNumber && finalizeNumber(parser, false);\n const pathLetter = isPathLetter.test(token);\n\n if (pathLetter) {\n parser.segment = [token];\n } else {\n const lastCommand = parser.lastCommand;\n const small = lastCommand.toLowerCase();\n const isSmall = lastCommand === small;\n parser.segment = [small === 'm' ? isSmall ? 'l' : 'L' : lastCommand];\n }\n\n parser.inSegment = true;\n parser.lastCommand = parser.segment[0];\n return pathLetter;\n}\n\nfunction finalizeNumber(parser, inNumber) {\n if (!parser.inNumber) throw new Error('Parser Error');\n parser.number && parser.segment.push(parseFloat(parser.number));\n parser.inNumber = inNumber;\n parser.number = '';\n parser.pointSeen = false;\n parser.hasExponent = false;\n\n if (segmentComplete(parser)) {\n finalizeSegment(parser);\n }\n}\n\nfunction finalizeSegment(parser) {\n parser.inSegment = false;\n\n if (parser.absolute) {\n parser.segment = makeAbsolut(parser);\n }\n\n parser.segments.push(parser.segment);\n}\n\nfunction isArcFlag(parser) {\n if (!parser.segment.length) return false;\n const isArc = parser.segment[0].toUpperCase() === 'A';\n const length = parser.segment.length;\n return isArc && (length === 4 || length === 5);\n}\n\nfunction isExponential(parser) {\n return parser.lastToken.toUpperCase() === 'E';\n}\n\nfunction pathParser(d, toAbsolute = true) {\n let index = 0;\n let token = '';\n const parser = {\n segment: [],\n inNumber: false,\n number: '',\n lastToken: '',\n inSegment: false,\n segments: [],\n pointSeen: false,\n hasExponent: false,\n absolute: toAbsolute,\n p0: new Point(),\n p: new Point()\n };\n\n while (parser.lastToken = token, token = d.charAt(index++)) {\n if (!parser.inSegment) {\n if (startNewSegment(parser, token)) {\n continue;\n }\n }\n\n if (token === '.') {\n if (parser.pointSeen || parser.hasExponent) {\n finalizeNumber(parser, false);\n --index;\n continue;\n }\n\n parser.inNumber = true;\n parser.pointSeen = true;\n parser.number += token;\n continue;\n }\n\n if (!isNaN(parseInt(token))) {\n if (parser.number === '0' || isArcFlag(parser)) {\n parser.inNumber = true;\n parser.number = token;\n finalizeNumber(parser, true);\n continue;\n }\n\n parser.inNumber = true;\n parser.number += token;\n continue;\n }\n\n if (token === ' ' || token === ',') {\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n }\n\n continue;\n }\n\n if (token === '-') {\n if (parser.inNumber && !isExponential(parser)) {\n finalizeNumber(parser, false);\n --index;\n continue;\n }\n\n parser.number += token;\n parser.inNumber = true;\n continue;\n }\n\n if (token.toUpperCase() === 'E') {\n parser.number += token;\n parser.hasExponent = true;\n continue;\n }\n\n if (isPathLetter.test(token)) {\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n } else if (!segmentComplete(parser)) {\n throw new Error('parser Error');\n } else {\n finalizeSegment(parser);\n }\n\n --index;\n }\n }\n\n if (parser.inNumber) {\n finalizeNumber(parser, false);\n }\n\n if (parser.inSegment && segmentComplete(parser)) {\n finalizeSegment(parser);\n }\n\n return parser.segments;\n}\n\nfunction arrayToString(a) {\n let s = '';\n\n for (let i = 0, il = a.length; i < il; i++) {\n s += a[i][0];\n\n if (a[i][1] != null) {\n s += a[i][1];\n\n if (a[i][2] != null) {\n s += ' ';\n s += a[i][2];\n\n if (a[i][3] != null) {\n s += ' ';\n s += a[i][3];\n s += ' ';\n s += a[i][4];\n\n if (a[i][5] != null) {\n s += ' ';\n s += a[i][5];\n s += ' ';\n s += a[i][6];\n\n if (a[i][7] != null) {\n s += ' ';\n s += a[i][7];\n }\n }\n }\n }\n }\n }\n\n return s + ' ';\n}\n\nclass PathArray extends SVGArray {\n // Get bounding box of path\n bbox() {\n parser().path.setAttribute('d', this.toString());\n return new Box(parser.nodes.path.getBBox());\n } // Move path string\n\n\n move(x, y) {\n // get bounding box of current situation\n const box = this.bbox(); // get relative offset\n\n x -= box.x;\n y -= box.y;\n\n if (!isNaN(x) && !isNaN(y)) {\n // move every point\n for (let l, i = this.length - 1; i >= 0; i--) {\n l = this[i][0];\n\n if (l === 'M' || l === 'L' || l === 'T') {\n this[i][1] += x;\n this[i][2] += y;\n } else if (l === 'H') {\n this[i][1] += x;\n } else if (l === 'V') {\n this[i][1] += y;\n } else if (l === 'C' || l === 'S' || l === 'Q') {\n this[i][1] += x;\n this[i][2] += y;\n this[i][3] += x;\n this[i][4] += y;\n\n if (l === 'C') {\n this[i][5] += x;\n this[i][6] += y;\n }\n } else if (l === 'A') {\n this[i][6] += x;\n this[i][7] += y;\n }\n }\n }\n\n return this;\n } // Absolutize and parse path to array\n\n\n parse(d = 'M0 0') {\n if (Array.isArray(d)) {\n d = Array.prototype.concat.apply([], d).toString();\n }\n\n return pathParser(d);\n } // Resize path string\n\n\n size(width, height) {\n // get bounding box of current situation\n const box = this.bbox();\n let i, l; // If the box width or height is 0 then we ignore\n // transformations on the respective axis\n\n box.width = box.width === 0 ? 1 : box.width;\n box.height = box.height === 0 ? 1 : box.height; // recalculate position of all points according to new size\n\n for (i = this.length - 1; i >= 0; i--) {\n l = this[i][0];\n\n if (l === 'M' || l === 'L' || l === 'T') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n this[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n } else if (l === 'H') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n } else if (l === 'V') {\n this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n } else if (l === 'C' || l === 'S' || l === 'Q') {\n this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n this[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n this[i][3] = (this[i][3] - box.x) * width / box.width + box.x;\n this[i][4] = (this[i][4] - box.y) * height / box.height + box.y;\n\n if (l === 'C') {\n this[i][5] = (this[i][5] - box.x) * width / box.width + box.x;\n this[i][6] = (this[i][6] - box.y) * height / box.height + box.y;\n }\n } else if (l === 'A') {\n // resize radii\n this[i][1] = this[i][1] * width / box.width;\n this[i][2] = this[i][2] * height / box.height; // move position values\n\n this[i][6] = (this[i][6] - box.x) * width / box.width + box.x;\n this[i][7] = (this[i][7] - box.y) * height / box.height + box.y;\n }\n }\n\n return this;\n } // Convert array to string\n\n\n toString() {\n return arrayToString(this);\n }\n\n}\n\nconst getClassForType = value => {\n const type = typeof value;\n\n if (type === 'number') {\n return SVGNumber;\n } else if (type === 'string') {\n if (Color.isColor(value)) {\n return Color;\n } else if (delimiter.test(value)) {\n return isPathLetter.test(value) ? PathArray : SVGArray;\n } else if (numberAndUnit.test(value)) {\n return SVGNumber;\n } else {\n return NonMorphable;\n }\n } else if (morphableTypes.indexOf(value.constructor) > -1) {\n return value.constructor;\n } else if (Array.isArray(value)) {\n return SVGArray;\n } else if (type === 'object') {\n return ObjectBag;\n } else {\n return NonMorphable;\n }\n};\n\nclass Morphable {\n constructor(stepper) {\n this._stepper = stepper || new Ease('-');\n this._from = null;\n this._to = null;\n this._type = null;\n this._context = null;\n this._morphObj = null;\n }\n\n at(pos) {\n return this._morphObj.morph(this._from, this._to, pos, this._stepper, this._context);\n }\n\n done() {\n const complete = this._context.map(this._stepper.done).reduce(function (last, curr) {\n return last && curr;\n }, true);\n\n return complete;\n }\n\n from(val) {\n if (val == null) {\n return this._from;\n }\n\n this._from = this._set(val);\n return this;\n }\n\n stepper(stepper) {\n if (stepper == null) return this._stepper;\n this._stepper = stepper;\n return this;\n }\n\n to(val) {\n if (val == null) {\n return this._to;\n }\n\n this._to = this._set(val);\n return this;\n }\n\n type(type) {\n // getter\n if (type == null) {\n return this._type;\n } // setter\n\n\n this._type = type;\n return this;\n }\n\n _set(value) {\n if (!this._type) {\n this.type(getClassForType(value));\n }\n\n let result = new this._type(value);\n\n if (this._type === Color) {\n result = this._to ? result[this._to[4]]() : this._from ? result[this._from[4]]() : result;\n }\n\n if (this._type === ObjectBag) {\n result = this._to ? result.align(this._to) : this._from ? result.align(this._from) : result;\n }\n\n result = result.toConsumable();\n this._morphObj = this._morphObj || new this._type();\n this._context = this._context || Array.apply(null, Array(result.length)).map(Object).map(function (o) {\n o.done = true;\n return o;\n });\n return result;\n }\n\n}\nclass NonMorphable {\n constructor(...args) {\n this.init(...args);\n }\n\n init(val) {\n val = Array.isArray(val) ? val[0] : val;\n this.value = val;\n return this;\n }\n\n toArray() {\n return [this.value];\n }\n\n valueOf() {\n return this.value;\n }\n\n}\nclass TransformBag {\n constructor(...args) {\n this.init(...args);\n }\n\n init(obj) {\n if (Array.isArray(obj)) {\n obj = {\n scaleX: obj[0],\n scaleY: obj[1],\n shear: obj[2],\n rotate: obj[3],\n translateX: obj[4],\n translateY: obj[5],\n originX: obj[6],\n originY: obj[7]\n };\n }\n\n Object.assign(this, TransformBag.defaults, obj);\n return this;\n }\n\n toArray() {\n const v = this;\n return [v.scaleX, v.scaleY, v.shear, v.rotate, v.translateX, v.translateY, v.originX, v.originY];\n }\n\n}\nTransformBag.defaults = {\n scaleX: 1,\n scaleY: 1,\n shear: 0,\n rotate: 0,\n translateX: 0,\n translateY: 0,\n originX: 0,\n originY: 0\n};\n\nconst sortByKey = (a, b) => {\n return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;\n};\n\nclass ObjectBag {\n constructor(...args) {\n this.init(...args);\n }\n\n align(other) {\n const values = this.values;\n\n for (let i = 0, il = values.length; i < il; ++i) {\n // If the type is the same we only need to check if the color is in the correct format\n if (values[i + 1] === other[i + 1]) {\n if (values[i + 1] === Color && other[i + 7] !== values[i + 7]) {\n const space = other[i + 7];\n const color = new Color(this.values.splice(i + 3, 5))[space]().toArray();\n this.values.splice(i + 3, 0, ...color);\n }\n\n i += values[i + 2] + 2;\n continue;\n }\n\n if (!other[i + 1]) {\n return this;\n } // The types differ, so we overwrite the new type with the old one\n // And initialize it with the types default (e.g. black for color or 0 for number)\n\n\n const defaultObject = new other[i + 1]().toArray(); // Than we fix the values array\n\n const toDelete = values[i + 2] + 3;\n values.splice(i, toDelete, other[i], other[i + 1], other[i + 2], ...defaultObject);\n i += values[i + 2] + 2;\n }\n\n return this;\n }\n\n init(objOrArr) {\n this.values = [];\n\n if (Array.isArray(objOrArr)) {\n this.values = objOrArr.slice();\n return;\n }\n\n objOrArr = objOrArr || {};\n const entries = [];\n\n for (const i in objOrArr) {\n const Type = getClassForType(objOrArr[i]);\n const val = new Type(objOrArr[i]).toArray();\n entries.push([i, Type, val.length, ...val]);\n }\n\n entries.sort(sortByKey);\n this.values = entries.reduce((last, curr) => last.concat(curr), []);\n return this;\n }\n\n toArray() {\n return this.values;\n }\n\n valueOf() {\n const obj = {};\n const arr = this.values; // for (var i = 0, len = arr.length; i < len; i += 2) {\n\n while (arr.length) {\n const key = arr.shift();\n const Type = arr.shift();\n const num = arr.shift();\n const values = arr.splice(0, num);\n obj[key] = new Type(values); // .valueOf()\n }\n\n return obj;\n }\n\n}\nconst morphableTypes = [NonMorphable, TransformBag, ObjectBag];\nfunction registerMorphableType(type = []) {\n morphableTypes.push(...[].concat(type));\n}\nfunction makeMorphable() {\n extend(morphableTypes, {\n to(val) {\n return new Morphable().type(this.constructor).from(this.toArray()) // this.valueOf())\n .to(val);\n },\n\n fromArray(arr) {\n this.init(arr);\n return this;\n },\n\n toConsumable() {\n return this.toArray();\n },\n\n morph(from, to, pos, stepper, context) {\n const mapper = function (i, index) {\n return stepper.step(i, to[index], pos, context[index], context);\n };\n\n return this.fromArray(from.map(mapper));\n }\n\n });\n}\n\nclass Path extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('path', node), attrs);\n } // Get array\n\n\n array() {\n return this._array || (this._array = new PathArray(this.attr('d')));\n } // Clear array cache\n\n\n clear() {\n delete this._array;\n return this;\n } // Set height of element\n\n\n height(height) {\n return height == null ? this.bbox().height : this.size(this.bbox().width, height);\n } // Move by left top corner\n\n\n move(x, y) {\n return this.attr('d', this.array().move(x, y));\n } // Plot new path\n\n\n plot(d) {\n return d == null ? this.array() : this.clear().attr('d', typeof d === 'string' ? d : this._array = new PathArray(d));\n } // Set element size to given width and height\n\n\n size(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr('d', this.array().size(p.width, p.height));\n } // Set width of element\n\n\n width(width) {\n return width == null ? this.bbox().width : this.size(width, this.bbox().height);\n } // Move by left top corner over x-axis\n\n\n x(x) {\n return x == null ? this.bbox().x : this.move(x, this.bbox().y);\n } // Move by left top corner over y-axis\n\n\n y(y) {\n return y == null ? this.bbox().y : this.move(this.bbox().x, y);\n }\n\n} // Define morphable array\n\nPath.prototype.MorphArray = PathArray; // Add parent method\n\nregisterMethods({\n Container: {\n // Create a wrapped path element\n path: wrapWithAttrCheck(function (d) {\n // make sure plot is called as a setter\n return this.put(new Path()).plot(d || new PathArray());\n })\n }\n});\nregister(Path, 'Path');\n\nfunction array() {\n return this._array || (this._array = new PointArray(this.attr('points')));\n} // Clear array cache\n\nfunction clear() {\n delete this._array;\n return this;\n} // Move by left top corner\n\nfunction move$2(x, y) {\n return this.attr('points', this.array().move(x, y));\n} // Plot new path\n\nfunction plot(p) {\n return p == null ? this.array() : this.clear().attr('points', typeof p === 'string' ? p : this._array = new PointArray(p));\n} // Set element size to given width and height\n\nfunction size$1(width, height) {\n const p = proportionalSize(this, width, height);\n return this.attr('points', this.array().size(p.width, p.height));\n}\n\nvar poly = {\n __proto__: null,\n array: array,\n clear: clear,\n move: move$2,\n plot: plot,\n size: size$1\n};\n\nclass Polygon extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('polygon', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a wrapped polygon element\n polygon: wrapWithAttrCheck(function (p) {\n // make sure plot is called as a setter\n return this.put(new Polygon()).plot(p || new PointArray());\n })\n }\n});\nextend(Polygon, pointed);\nextend(Polygon, poly);\nregister(Polygon, 'Polygon');\n\nclass Polyline extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('polyline', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a wrapped polygon element\n polyline: wrapWithAttrCheck(function (p) {\n // make sure plot is called as a setter\n return this.put(new Polyline()).plot(p || new PointArray());\n })\n }\n});\nextend(Polyline, pointed);\nextend(Polyline, poly);\nregister(Polyline, 'Polyline');\n\nclass Rect extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('rect', node), attrs);\n }\n\n}\nextend(Rect, {\n rx,\n ry\n});\nregisterMethods({\n Container: {\n // Create a rect element\n rect: wrapWithAttrCheck(function (width, height) {\n return this.put(new Rect()).size(width, height);\n })\n }\n});\nregister(Rect, 'Rect');\n\nclass Queue {\n constructor() {\n this._first = null;\n this._last = null;\n } // Shows us the first item in the list\n\n\n first() {\n return this._first && this._first.value;\n } // Shows us the last item in the list\n\n\n last() {\n return this._last && this._last.value;\n }\n\n push(value) {\n // An item stores an id and the provided value\n const item = typeof value.next !== 'undefined' ? value : {\n value: value,\n next: null,\n prev: null\n }; // Deal with the queue being empty or populated\n\n if (this._last) {\n item.prev = this._last;\n this._last.next = item;\n this._last = item;\n } else {\n this._last = item;\n this._first = item;\n } // Return the current item\n\n\n return item;\n } // Removes the item that was returned from the push\n\n\n remove(item) {\n // Relink the previous item\n if (item.prev) item.prev.next = item.next;\n if (item.next) item.next.prev = item.prev;\n if (item === this._last) this._last = item.prev;\n if (item === this._first) this._first = item.next; // Invalidate item\n\n item.prev = null;\n item.next = null;\n }\n\n shift() {\n // Check if we have a value\n const remove = this._first;\n if (!remove) return null; // If we do, remove it and relink things\n\n this._first = remove.next;\n if (this._first) this._first.prev = null;\n this._last = this._first ? this._last : null;\n return remove.value;\n }\n\n}\n\nconst Animator = {\n nextDraw: null,\n frames: new Queue(),\n timeouts: new Queue(),\n immediates: new Queue(),\n timer: () => globals.window.performance || globals.window.Date,\n transforms: [],\n\n frame(fn) {\n // Store the node\n const node = Animator.frames.push({\n run: fn\n }); // Request an animation frame if we don't have one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n } // Return the node so we can remove it easily\n\n\n return node;\n },\n\n timeout(fn, delay) {\n delay = delay || 0; // Work out when the event should fire\n\n const time = Animator.timer().now() + delay; // Add the timeout to the end of the queue\n\n const node = Animator.timeouts.push({\n run: fn,\n time: time\n }); // Request another animation frame if we need one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n }\n\n return node;\n },\n\n immediate(fn) {\n // Add the immediate fn to the end of the queue\n const node = Animator.immediates.push(fn); // Request another animation frame if we need one\n\n if (Animator.nextDraw === null) {\n Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n }\n\n return node;\n },\n\n cancelFrame(node) {\n node != null && Animator.frames.remove(node);\n },\n\n clearTimeout(node) {\n node != null && Animator.timeouts.remove(node);\n },\n\n cancelImmediate(node) {\n node != null && Animator.immediates.remove(node);\n },\n\n _draw(now) {\n // Run all the timeouts we can run, if they are not ready yet, add them\n // to the end of the queue immediately! (bad timeouts!!! [sarcasm])\n let nextTimeout = null;\n const lastTimeout = Animator.timeouts.last();\n\n while (nextTimeout = Animator.timeouts.shift()) {\n // Run the timeout if its time, or push it to the end\n if (now >= nextTimeout.time) {\n nextTimeout.run();\n } else {\n Animator.timeouts.push(nextTimeout);\n } // If we hit the last item, we should stop shifting out more items\n\n\n if (nextTimeout === lastTimeout) break;\n } // Run all of the animation frames\n\n\n let nextFrame = null;\n const lastFrame = Animator.frames.last();\n\n while (nextFrame !== lastFrame && (nextFrame = Animator.frames.shift())) {\n nextFrame.run(now);\n }\n\n let nextImmediate = null;\n\n while (nextImmediate = Animator.immediates.shift()) {\n nextImmediate();\n } // If we have remaining timeouts or frames, draw until we don't anymore\n\n\n Animator.nextDraw = Animator.timeouts.first() || Animator.frames.first() ? globals.window.requestAnimationFrame(Animator._draw) : null;\n }\n\n};\n\nconst makeSchedule = function (runnerInfo) {\n const start = runnerInfo.start;\n const duration = runnerInfo.runner.duration();\n const end = start + duration;\n return {\n start: start,\n duration: duration,\n end: end,\n runner: runnerInfo.runner\n };\n};\n\nconst defaultSource = function () {\n const w = globals.window;\n return (w.performance || w.Date).now();\n};\n\nclass Timeline extends EventTarget {\n // Construct a new timeline on the given element\n constructor(timeSource = defaultSource) {\n super();\n this._timeSource = timeSource; // Store the timing variables\n\n this._startTime = 0;\n this._speed = 1.0; // Determines how long a runner is hold in memory. Can be a dt or true/false\n\n this._persist = 0; // Keep track of the running animations and their starting parameters\n\n this._nextFrame = null;\n this._paused = true;\n this._runners = [];\n this._runnerIds = [];\n this._lastRunnerId = -1;\n this._time = 0;\n this._lastSourceTime = 0;\n this._lastStepTime = 0; // Make sure that step is always called in class context\n\n this._step = this._stepFn.bind(this, false);\n this._stepImmediate = this._stepFn.bind(this, true);\n }\n\n active() {\n return !!this._nextFrame;\n }\n\n finish() {\n // Go to end and pause\n this.time(this.getEndTimeOfTimeline() + 1);\n return this.pause();\n } // Calculates the end of the timeline\n\n\n getEndTime() {\n const lastRunnerInfo = this.getLastRunnerInfo();\n const lastDuration = lastRunnerInfo ? lastRunnerInfo.runner.duration() : 0;\n const lastStartTime = lastRunnerInfo ? lastRunnerInfo.start : this._time;\n return lastStartTime + lastDuration;\n }\n\n getEndTimeOfTimeline() {\n const endTimes = this._runners.map(i => i.start + i.runner.duration());\n\n return Math.max(0, ...endTimes);\n }\n\n getLastRunnerInfo() {\n return this.getRunnerInfoById(this._lastRunnerId);\n }\n\n getRunnerInfoById(id) {\n return this._runners[this._runnerIds.indexOf(id)] || null;\n }\n\n pause() {\n this._paused = true;\n return this._continue();\n }\n\n persist(dtOrForever) {\n if (dtOrForever == null) return this._persist;\n this._persist = dtOrForever;\n return this;\n }\n\n play() {\n // Now make sure we are not paused and continue the animation\n this._paused = false;\n return this.updateTime()._continue();\n }\n\n reverse(yes) {\n const currentSpeed = this.speed();\n if (yes == null) return this.speed(-currentSpeed);\n const positive = Math.abs(currentSpeed);\n return this.speed(yes ? -positive : positive);\n } // schedules a runner on the timeline\n\n\n schedule(runner, delay, when) {\n if (runner == null) {\n return this._runners.map(makeSchedule);\n } // The start time for the next animation can either be given explicitly,\n // derived from the current timeline time or it can be relative to the\n // last start time to chain animations directly\n\n\n let absoluteStartTime = 0;\n const endTime = this.getEndTime();\n delay = delay || 0; // Work out when to start the animation\n\n if (when == null || when === 'last' || when === 'after') {\n // Take the last time and increment\n absoluteStartTime = endTime;\n } else if (when === 'absolute' || when === 'start') {\n absoluteStartTime = delay;\n delay = 0;\n } else if (when === 'now') {\n absoluteStartTime = this._time;\n } else if (when === 'relative') {\n const runnerInfo = this.getRunnerInfoById(runner.id);\n\n if (runnerInfo) {\n absoluteStartTime = runnerInfo.start + delay;\n delay = 0;\n }\n } else if (when === 'with-last') {\n const lastRunnerInfo = this.getLastRunnerInfo();\n const lastStartTime = lastRunnerInfo ? lastRunnerInfo.start : this._time;\n absoluteStartTime = lastStartTime;\n } else {\n throw new Error('Invalid value for the \"when\" parameter');\n } // Manage runner\n\n\n runner.unschedule();\n runner.timeline(this);\n const persist = runner.persist();\n const runnerInfo = {\n persist: persist === null ? this._persist : persist,\n start: absoluteStartTime + delay,\n runner\n };\n this._lastRunnerId = runner.id;\n\n this._runners.push(runnerInfo);\n\n this._runners.sort((a, b) => a.start - b.start);\n\n this._runnerIds = this._runners.map(info => info.runner.id);\n\n this.updateTime()._continue();\n\n return this;\n }\n\n seek(dt) {\n return this.time(this._time + dt);\n }\n\n source(fn) {\n if (fn == null) return this._timeSource;\n this._timeSource = fn;\n return this;\n }\n\n speed(speed) {\n if (speed == null) return this._speed;\n this._speed = speed;\n return this;\n }\n\n stop() {\n // Go to start and pause\n this.time(0);\n return this.pause();\n }\n\n time(time) {\n if (time == null) return this._time;\n this._time = time;\n return this._continue(true);\n } // Remove the runner from this timeline\n\n\n unschedule(runner) {\n const index = this._runnerIds.indexOf(runner.id);\n\n if (index < 0) return this;\n\n this._runners.splice(index, 1);\n\n this._runnerIds.splice(index, 1);\n\n runner.timeline(null);\n return this;\n } // Makes sure, that after pausing the time doesn't jump\n\n\n updateTime() {\n if (!this.active()) {\n this._lastSourceTime = this._timeSource();\n }\n\n return this;\n } // Checks if we are running and continues the animation\n\n\n _continue(immediateStep = false) {\n Animator.cancelFrame(this._nextFrame);\n this._nextFrame = null;\n if (immediateStep) return this._stepImmediate();\n if (this._paused) return this;\n this._nextFrame = Animator.frame(this._step);\n return this;\n }\n\n _stepFn(immediateStep = false) {\n // Get the time delta from the last time and update the time\n const time = this._timeSource();\n\n let dtSource = time - this._lastSourceTime;\n if (immediateStep) dtSource = 0;\n const dtTime = this._speed * dtSource + (this._time - this._lastStepTime);\n this._lastSourceTime = time; // Only update the time if we use the timeSource.\n // Otherwise use the current time\n\n if (!immediateStep) {\n // Update the time\n this._time += dtTime;\n this._time = this._time < 0 ? 0 : this._time;\n }\n\n this._lastStepTime = this._time;\n this.fire('time', this._time); // This is for the case that the timeline was seeked so that the time\n // is now before the startTime of the runner. That is why we need to set\n // the runner to position 0\n // FIXME:\n // However, resetting in insertion order leads to bugs. Considering the case,\n // where 2 runners change the same attribute but in different times,\n // resetting both of them will lead to the case where the later defined\n // runner always wins the reset even if the other runner started earlier\n // and therefore should win the attribute battle\n // this can be solved by resetting them backwards\n\n for (let k = this._runners.length; k--;) {\n // Get and run the current runner and ignore it if its inactive\n const runnerInfo = this._runners[k];\n const runner = runnerInfo.runner; // Make sure that we give the actual difference\n // between runner start time and now\n\n const dtToStart = this._time - runnerInfo.start; // Dont run runner if not started yet\n // and try to reset it\n\n if (dtToStart <= 0) {\n runner.reset();\n }\n } // Run all of the runners directly\n\n\n let runnersLeft = false;\n\n for (let i = 0, len = this._runners.length; i < len; i++) {\n // Get and run the current runner and ignore it if its inactive\n const runnerInfo = this._runners[i];\n const runner = runnerInfo.runner;\n let dt = dtTime; // Make sure that we give the actual difference\n // between runner start time and now\n\n const dtToStart = this._time - runnerInfo.start; // Dont run runner if not started yet\n\n if (dtToStart <= 0) {\n runnersLeft = true;\n continue;\n } else if (dtToStart < dt) {\n // Adjust dt to make sure that animation is on point\n dt = dtToStart;\n }\n\n if (!runner.active()) continue; // If this runner is still going, signal that we need another animation\n // frame, otherwise, remove the completed runner\n\n const finished = runner.step(dt).done;\n\n if (!finished) {\n runnersLeft = true; // continue\n } else if (runnerInfo.persist !== true) {\n // runner is finished. And runner might get removed\n const endTime = runner.duration() - runner.time() + this._time;\n\n if (endTime + runnerInfo.persist < this._time) {\n // Delete runner and correct index\n runner.unschedule();\n --i;\n --len;\n }\n }\n } // Basically: we continue when there are runners right from us in time\n // when -->, and when runners are left from us when <--\n\n\n if (runnersLeft && !(this._speed < 0 && this._time === 0) || this._runnerIds.length && this._speed < 0 && this._time > 0) {\n this._continue();\n } else {\n this.pause();\n this.fire('finished');\n }\n\n return this;\n }\n\n}\nregisterMethods({\n Element: {\n timeline: function (timeline) {\n if (timeline == null) {\n this._timeline = this._timeline || new Timeline();\n return this._timeline;\n } else {\n this._timeline = timeline;\n return this;\n }\n }\n }\n});\n\nclass Runner extends EventTarget {\n constructor(options) {\n super(); // Store a unique id on the runner, so that we can identify it later\n\n this.id = Runner.id++; // Ensure a default value\n\n options = options == null ? timeline.duration : options; // Ensure that we get a controller\n\n options = typeof options === 'function' ? new Controller(options) : options; // Declare all of the variables\n\n this._element = null;\n this._timeline = null;\n this.done = false;\n this._queue = []; // Work out the stepper and the duration\n\n this._duration = typeof options === 'number' && options;\n this._isDeclarative = options instanceof Controller;\n this._stepper = this._isDeclarative ? options : new Ease(); // We copy the current values from the timeline because they can change\n\n this._history = {}; // Store the state of the runner\n\n this.enabled = true;\n this._time = 0;\n this._lastTime = 0; // At creation, the runner is in reset state\n\n this._reseted = true; // Save transforms applied to this runner\n\n this.transforms = new Matrix();\n this.transformId = 1; // Looping variables\n\n this._haveReversed = false;\n this._reverse = false;\n this._loopsDone = 0;\n this._swing = false;\n this._wait = 0;\n this._times = 1;\n this._frameId = null; // Stores how long a runner is stored after being done\n\n this._persist = this._isDeclarative ? true : null;\n }\n\n static sanitise(duration, delay, when) {\n // Initialise the default parameters\n let times = 1;\n let swing = false;\n let wait = 0;\n duration = duration || timeline.duration;\n delay = delay || timeline.delay;\n when = when || 'last'; // If we have an object, unpack the values\n\n if (typeof duration === 'object' && !(duration instanceof Stepper)) {\n delay = duration.delay || delay;\n when = duration.when || when;\n swing = duration.swing || swing;\n times = duration.times || times;\n wait = duration.wait || wait;\n duration = duration.duration || timeline.duration;\n }\n\n return {\n duration: duration,\n delay: delay,\n swing: swing,\n times: times,\n wait: wait,\n when: when\n };\n }\n\n active(enabled) {\n if (enabled == null) return this.enabled;\n this.enabled = enabled;\n return this;\n }\n /*\n Private Methods\n ===============\n Methods that shouldn't be used externally\n */\n\n\n addTransform(transform, index) {\n this.transforms.lmultiplyO(transform);\n return this;\n }\n\n after(fn) {\n return this.on('finished', fn);\n }\n\n animate(duration, delay, when) {\n const o = Runner.sanitise(duration, delay, when);\n const runner = new Runner(o.duration);\n if (this._timeline) runner.timeline(this._timeline);\n if (this._element) runner.element(this._element);\n return runner.loop(o).schedule(o.delay, o.when);\n }\n\n clearTransform() {\n this.transforms = new Matrix();\n return this;\n } // TODO: Keep track of all transformations so that deletion is faster\n\n\n clearTransformsFromQueue() {\n if (!this.done || !this._timeline || !this._timeline._runnerIds.includes(this.id)) {\n this._queue = this._queue.filter(item => {\n return !item.isTransform;\n });\n }\n }\n\n delay(delay) {\n return this.animate(0, delay);\n }\n\n duration() {\n return this._times * (this._wait + this._duration) - this._wait;\n }\n\n during(fn) {\n return this.queue(null, fn);\n }\n\n ease(fn) {\n this._stepper = new Ease(fn);\n return this;\n }\n /*\n Runner Definitions\n ==================\n These methods help us define the runtime behaviour of the Runner or they\n help us make new runners from the current runner\n */\n\n\n element(element) {\n if (element == null) return this._element;\n this._element = element;\n\n element._prepareRunner();\n\n return this;\n }\n\n finish() {\n return this.step(Infinity);\n }\n\n loop(times, swing, wait) {\n // Deal with the user passing in an object\n if (typeof times === 'object') {\n swing = times.swing;\n wait = times.wait;\n times = times.times;\n } // Sanitise the values and store them\n\n\n this._times = times || Infinity;\n this._swing = swing || false;\n this._wait = wait || 0; // Allow true to be passed\n\n if (this._times === true) {\n this._times = Infinity;\n }\n\n return this;\n }\n\n loops(p) {\n const loopDuration = this._duration + this._wait;\n\n if (p == null) {\n const loopsDone = Math.floor(this._time / loopDuration);\n const relativeTime = this._time - loopsDone * loopDuration;\n const position = relativeTime / this._duration;\n return Math.min(loopsDone + position, this._times);\n }\n\n const whole = Math.floor(p);\n const partial = p % 1;\n const time = loopDuration * whole + this._duration * partial;\n return this.time(time);\n }\n\n persist(dtOrForever) {\n if (dtOrForever == null) return this._persist;\n this._persist = dtOrForever;\n return this;\n }\n\n position(p) {\n // Get all of the variables we need\n const x = this._time;\n const d = this._duration;\n const w = this._wait;\n const t = this._times;\n const s = this._swing;\n const r = this._reverse;\n let position;\n\n if (p == null) {\n /*\n This function converts a time to a position in the range [0, 1]\n The full explanation can be found in this desmos demonstration\n https://www.desmos.com/calculator/u4fbavgche\n The logic is slightly simplified here because we can use booleans\n */\n // Figure out the value without thinking about the start or end time\n const f = function (x) {\n const swinging = s * Math.floor(x % (2 * (w + d)) / (w + d));\n const backwards = swinging && !r || !swinging && r;\n const uncliped = Math.pow(-1, backwards) * (x % (w + d)) / d + backwards;\n const clipped = Math.max(Math.min(uncliped, 1), 0);\n return clipped;\n }; // Figure out the value by incorporating the start time\n\n\n const endTime = t * (w + d) - w;\n position = x <= 0 ? Math.round(f(1e-5)) : x < endTime ? f(x) : Math.round(f(endTime - 1e-5));\n return position;\n } // Work out the loops done and add the position to the loops done\n\n\n const loopsDone = Math.floor(this.loops());\n const swingForward = s && loopsDone % 2 === 0;\n const forwards = swingForward && !r || r && swingForward;\n position = loopsDone + (forwards ? p : 1 - p);\n return this.loops(position);\n }\n\n progress(p) {\n if (p == null) {\n return Math.min(1, this._time / this.duration());\n }\n\n return this.time(p * this.duration());\n }\n /*\n Basic Functionality\n ===================\n These methods allow us to attach basic functions to the runner directly\n */\n\n\n queue(initFn, runFn, retargetFn, isTransform) {\n this._queue.push({\n initialiser: initFn || noop,\n runner: runFn || noop,\n retarget: retargetFn,\n isTransform: isTransform,\n initialised: false,\n finished: false\n });\n\n const timeline = this.timeline();\n timeline && this.timeline()._continue();\n return this;\n }\n\n reset() {\n if (this._reseted) return this;\n this.time(0);\n this._reseted = true;\n return this;\n }\n\n reverse(reverse) {\n this._reverse = reverse == null ? !this._reverse : reverse;\n return this;\n }\n\n schedule(timeline, delay, when) {\n // The user doesn't need to pass a timeline if we already have one\n if (!(timeline instanceof Timeline)) {\n when = delay;\n delay = timeline;\n timeline = this.timeline();\n } // If there is no timeline, yell at the user...\n\n\n if (!timeline) {\n throw Error('Runner cannot be scheduled without timeline');\n } // Schedule the runner on the timeline provided\n\n\n timeline.schedule(this, delay, when);\n return this;\n }\n\n step(dt) {\n // If we are inactive, this stepper just gets skipped\n if (!this.enabled) return this; // Update the time and get the new position\n\n dt = dt == null ? 16 : dt;\n this._time += dt;\n const position = this.position(); // Figure out if we need to run the stepper in this frame\n\n const running = this._lastPosition !== position && this._time >= 0;\n this._lastPosition = position; // Figure out if we just started\n\n const duration = this.duration();\n const justStarted = this._lastTime <= 0 && this._time > 0;\n const justFinished = this._lastTime < duration && this._time >= duration;\n this._lastTime = this._time;\n\n if (justStarted) {\n this.fire('start', this);\n } // Work out if the runner is finished set the done flag here so animations\n // know, that they are running in the last step (this is good for\n // transformations which can be merged)\n\n\n const declarative = this._isDeclarative;\n this.done = !declarative && !justFinished && this._time >= duration; // Runner is running. So its not in reset state anymore\n\n this._reseted = false;\n let converged = false; // Call initialise and the run function\n\n if (running || declarative) {\n this._initialise(running); // clear the transforms on this runner so they dont get added again and again\n\n\n this.transforms = new Matrix();\n converged = this._run(declarative ? dt : position);\n this.fire('step', this);\n } // correct the done flag here\n // declarative animations itself know when they converged\n\n\n this.done = this.done || converged && declarative;\n\n if (justFinished) {\n this.fire('finished', this);\n }\n\n return this;\n }\n /*\n Runner animation methods\n ========================\n Control how the animation plays\n */\n\n\n time(time) {\n if (time == null) {\n return this._time;\n }\n\n const dt = time - this._time;\n this.step(dt);\n return this;\n }\n\n timeline(timeline) {\n // check explicitly for undefined so we can set the timeline to null\n if (typeof timeline === 'undefined') return this._timeline;\n this._timeline = timeline;\n return this;\n }\n\n unschedule() {\n const timeline = this.timeline();\n timeline && timeline.unschedule(this);\n return this;\n } // Run each initialise function in the runner if required\n\n\n _initialise(running) {\n // If we aren't running, we shouldn't initialise when not declarative\n if (!running && !this._isDeclarative) return; // Loop through all of the initialisers\n\n for (let i = 0, len = this._queue.length; i < len; ++i) {\n // Get the current initialiser\n const current = this._queue[i]; // Determine whether we need to initialise\n\n const needsIt = this._isDeclarative || !current.initialised && running;\n running = !current.finished; // Call the initialiser if we need to\n\n if (needsIt && running) {\n current.initialiser.call(this);\n current.initialised = true;\n }\n }\n } // Save a morpher to the morpher list so that we can retarget it later\n\n\n _rememberMorpher(method, morpher) {\n this._history[method] = {\n morpher: morpher,\n caller: this._queue[this._queue.length - 1]\n }; // We have to resume the timeline in case a controller\n // is already done without being ever run\n // This can happen when e.g. this is done:\n // anim = el.animate(new SVG.Spring)\n // and later\n // anim.move(...)\n\n if (this._isDeclarative) {\n const timeline = this.timeline();\n timeline && timeline.play();\n }\n } // Try to set the target for a morpher if the morpher exists, otherwise\n // Run each run function for the position or dt given\n\n\n _run(positionOrDt) {\n // Run all of the _queue directly\n let allfinished = true;\n\n for (let i = 0, len = this._queue.length; i < len; ++i) {\n // Get the current function to run\n const current = this._queue[i]; // Run the function if its not finished, we keep track of the finished\n // flag for the sake of declarative _queue\n\n const converged = current.runner.call(this, positionOrDt);\n current.finished = current.finished || converged === true;\n allfinished = allfinished && current.finished;\n } // We report when all of the constructors are finished\n\n\n return allfinished;\n } // do nothing and return false\n\n\n _tryRetarget(method, target, extra) {\n if (this._history[method]) {\n // if the last method wasn't even initialised, throw it away\n if (!this._history[method].caller.initialised) {\n const index = this._queue.indexOf(this._history[method].caller);\n\n this._queue.splice(index, 1);\n\n return false;\n } // for the case of transformations, we use the special retarget function\n // which has access to the outer scope\n\n\n if (this._history[method].caller.retarget) {\n this._history[method].caller.retarget.call(this, target, extra); // for everything else a simple morpher change is sufficient\n\n } else {\n this._history[method].morpher.to(target);\n }\n\n this._history[method].caller.finished = false;\n const timeline = this.timeline();\n timeline && timeline.play();\n return true;\n }\n\n return false;\n }\n\n}\nRunner.id = 0;\nclass FakeRunner {\n constructor(transforms = new Matrix(), id = -1, done = true) {\n this.transforms = transforms;\n this.id = id;\n this.done = done;\n }\n\n clearTransformsFromQueue() {}\n\n}\nextend([Runner, FakeRunner], {\n mergeWith(runner) {\n return new FakeRunner(runner.transforms.lmultiply(this.transforms), runner.id);\n }\n\n}); // FakeRunner.emptyRunner = new FakeRunner()\n\nconst lmultiply = (last, curr) => last.lmultiplyO(curr);\n\nconst getRunnerTransform = runner => runner.transforms;\n\nfunction mergeTransforms() {\n // Find the matrix to apply to the element and apply it\n const runners = this._transformationRunners.runners;\n const netTransform = runners.map(getRunnerTransform).reduce(lmultiply, new Matrix());\n this.transform(netTransform);\n\n this._transformationRunners.merge();\n\n if (this._transformationRunners.length() === 1) {\n this._frameId = null;\n }\n}\n\nclass RunnerArray {\n constructor() {\n this.runners = [];\n this.ids = [];\n }\n\n add(runner) {\n if (this.runners.includes(runner)) return;\n const id = runner.id + 1;\n this.runners.push(runner);\n this.ids.push(id);\n return this;\n }\n\n clearBefore(id) {\n const deleteCnt = this.ids.indexOf(id + 1) || 1;\n this.ids.splice(0, deleteCnt, 0);\n this.runners.splice(0, deleteCnt, new FakeRunner()).forEach(r => r.clearTransformsFromQueue());\n return this;\n }\n\n edit(id, newRunner) {\n const index = this.ids.indexOf(id + 1);\n this.ids.splice(index, 1, id + 1);\n this.runners.splice(index, 1, newRunner);\n return this;\n }\n\n getByID(id) {\n return this.runners[this.ids.indexOf(id + 1)];\n }\n\n length() {\n return this.ids.length;\n }\n\n merge() {\n let lastRunner = null;\n\n for (let i = 0; i < this.runners.length; ++i) {\n const runner = this.runners[i];\n const condition = lastRunner && runner.done && lastRunner.done // don't merge runner when persisted on timeline\n && (!runner._timeline || !runner._timeline._runnerIds.includes(runner.id)) && (!lastRunner._timeline || !lastRunner._timeline._runnerIds.includes(lastRunner.id));\n\n if (condition) {\n // the +1 happens in the function\n this.remove(runner.id);\n const newRunner = runner.mergeWith(lastRunner);\n this.edit(lastRunner.id, newRunner);\n lastRunner = newRunner;\n --i;\n } else {\n lastRunner = runner;\n }\n }\n\n return this;\n }\n\n remove(id) {\n const index = this.ids.indexOf(id + 1);\n this.ids.splice(index, 1);\n this.runners.splice(index, 1);\n return this;\n }\n\n}\nregisterMethods({\n Element: {\n animate(duration, delay, when) {\n const o = Runner.sanitise(duration, delay, when);\n const timeline = this.timeline();\n return new Runner(o.duration).loop(o).element(this).timeline(timeline.play()).schedule(o.delay, o.when);\n },\n\n delay(by, when) {\n return this.animate(0, by, when);\n },\n\n // this function searches for all runners on the element and deletes the ones\n // which run before the current one. This is because absolute transformations\n // overwrite anything anyway so there is no need to waste time computing\n // other runners\n _clearTransformRunnersBefore(currentRunner) {\n this._transformationRunners.clearBefore(currentRunner.id);\n },\n\n _currentTransform(current) {\n return this._transformationRunners.runners // we need the equal sign here to make sure, that also transformations\n // on the same runner which execute before the current transformation are\n // taken into account\n .filter(runner => runner.id <= current.id).map(getRunnerTransform).reduce(lmultiply, new Matrix());\n },\n\n _addRunner(runner) {\n this._transformationRunners.add(runner); // Make sure that the runner merge is executed at the very end of\n // all Animator functions. That is why we use immediate here to execute\n // the merge right after all frames are run\n\n\n Animator.cancelImmediate(this._frameId);\n this._frameId = Animator.immediate(mergeTransforms.bind(this));\n },\n\n _prepareRunner() {\n if (this._frameId == null) {\n this._transformationRunners = new RunnerArray().add(new FakeRunner(new Matrix(this)));\n }\n }\n\n }\n}); // Will output the elements from array A that are not in the array B\n\nconst difference = (a, b) => a.filter(x => !b.includes(x));\n\nextend(Runner, {\n attr(a, v) {\n return this.styleAttr('attr', a, v);\n },\n\n // Add animatable styles\n css(s, v) {\n return this.styleAttr('css', s, v);\n },\n\n styleAttr(type, nameOrAttrs, val) {\n if (typeof nameOrAttrs === 'string') {\n return this.styleAttr(type, {\n [nameOrAttrs]: val\n });\n }\n\n let attrs = nameOrAttrs;\n if (this._tryRetarget(type, attrs)) return this;\n let morpher = new Morphable(this._stepper).to(attrs);\n let keys = Object.keys(attrs);\n this.queue(function () {\n morpher = morpher.from(this.element()[type](keys));\n }, function (pos) {\n this.element()[type](morpher.at(pos).valueOf());\n return morpher.done();\n }, function (newToAttrs) {\n // Check if any new keys were added\n const newKeys = Object.keys(newToAttrs);\n const differences = difference(newKeys, keys); // If their are new keys, initialize them and add them to morpher\n\n if (differences.length) {\n // Get the values\n const addedFromAttrs = this.element()[type](differences); // Get the already initialized values\n\n const oldFromAttrs = new ObjectBag(morpher.from()).valueOf(); // Merge old and new\n\n Object.assign(oldFromAttrs, addedFromAttrs);\n morpher.from(oldFromAttrs);\n } // Get the object from the morpher\n\n\n const oldToAttrs = new ObjectBag(morpher.to()).valueOf(); // Merge in new attributes\n\n Object.assign(oldToAttrs, newToAttrs); // Change morpher target\n\n morpher.to(oldToAttrs); // Make sure that we save the work we did so we don't need it to do again\n\n keys = newKeys;\n attrs = newToAttrs;\n });\n\n this._rememberMorpher(type, morpher);\n\n return this;\n },\n\n zoom(level, point) {\n if (this._tryRetarget('zoom', level, point)) return this;\n let morpher = new Morphable(this._stepper).to(new SVGNumber(level));\n this.queue(function () {\n morpher = morpher.from(this.element().zoom());\n }, function (pos) {\n this.element().zoom(morpher.at(pos), point);\n return morpher.done();\n }, function (newLevel, newPoint) {\n point = newPoint;\n morpher.to(newLevel);\n });\n\n this._rememberMorpher('zoom', morpher);\n\n return this;\n },\n\n /**\n ** absolute transformations\n **/\n //\n // M v -----|-----(D M v = F v)------|-----> T v\n //\n // 1. define the final state (T) and decompose it (once)\n // t = [tx, ty, the, lam, sy, sx]\n // 2. on every frame: pull the current state of all previous transforms\n // (M - m can change)\n // and then write this as m = [tx0, ty0, the0, lam0, sy0, sx0]\n // 3. Find the interpolated matrix F(pos) = m + pos * (t - m)\n // - Note F(0) = M\n // - Note F(1) = T\n // 4. Now you get the delta matrix as a result: D = F * inv(M)\n transform(transforms, relative, affine) {\n // If we have a declarative function, we should retarget it if possible\n relative = transforms.relative || relative;\n\n if (this._isDeclarative && !relative && this._tryRetarget('transform', transforms)) {\n return this;\n } // Parse the parameters\n\n\n const isMatrix = Matrix.isMatrixLike(transforms);\n affine = transforms.affine != null ? transforms.affine : affine != null ? affine : !isMatrix; // Create a morpher and set its type\n\n const morpher = new Morphable(this._stepper).type(affine ? TransformBag : Matrix);\n let origin;\n let element;\n let current;\n let currentAngle;\n let startTransform;\n\n function setup() {\n // make sure element and origin is defined\n element = element || this.element();\n origin = origin || getOrigin(transforms, element);\n startTransform = new Matrix(relative ? undefined : element); // add the runner to the element so it can merge transformations\n\n element._addRunner(this); // Deactivate all transforms that have run so far if we are absolute\n\n\n if (!relative) {\n element._clearTransformRunnersBefore(this);\n }\n }\n\n function run(pos) {\n // clear all other transforms before this in case something is saved\n // on this runner. We are absolute. We dont need these!\n if (!relative) this.clearTransform();\n const {\n x,\n y\n } = new Point(origin).transform(element._currentTransform(this));\n let target = new Matrix({ ...transforms,\n origin: [x, y]\n });\n let start = this._isDeclarative && current ? current : startTransform;\n\n if (affine) {\n target = target.decompose(x, y);\n start = start.decompose(x, y); // Get the current and target angle as it was set\n\n const rTarget = target.rotate;\n const rCurrent = start.rotate; // Figure out the shortest path to rotate directly\n\n const possibilities = [rTarget - 360, rTarget, rTarget + 360];\n const distances = possibilities.map(a => Math.abs(a - rCurrent));\n const shortest = Math.min(...distances);\n const index = distances.indexOf(shortest);\n target.rotate = possibilities[index];\n }\n\n if (relative) {\n // we have to be careful here not to overwrite the rotation\n // with the rotate method of Matrix\n if (!isMatrix) {\n target.rotate = transforms.rotate || 0;\n }\n\n if (this._isDeclarative && currentAngle) {\n start.rotate = currentAngle;\n }\n }\n\n morpher.from(start);\n morpher.to(target);\n const affineParameters = morpher.at(pos);\n currentAngle = affineParameters.rotate;\n current = new Matrix(affineParameters);\n this.addTransform(current);\n\n element._addRunner(this);\n\n return morpher.done();\n }\n\n function retarget(newTransforms) {\n // only get a new origin if it changed since the last call\n if ((newTransforms.origin || 'center').toString() !== (transforms.origin || 'center').toString()) {\n origin = getOrigin(newTransforms, element);\n } // overwrite the old transformations with the new ones\n\n\n transforms = { ...newTransforms,\n origin\n };\n }\n\n this.queue(setup, run, retarget, true);\n this._isDeclarative && this._rememberMorpher('transform', morpher);\n return this;\n },\n\n // Animatable x-axis\n x(x, relative) {\n return this._queueNumber('x', x);\n },\n\n // Animatable y-axis\n y(y) {\n return this._queueNumber('y', y);\n },\n\n dx(x = 0) {\n return this._queueNumberDelta('x', x);\n },\n\n dy(y = 0) {\n return this._queueNumberDelta('y', y);\n },\n\n dmove(x, y) {\n return this.dx(x).dy(y);\n },\n\n _queueNumberDelta(method, to) {\n to = new SVGNumber(to); // Try to change the target if we have this method already registered\n\n if (this._tryRetarget(method, to)) return this; // Make a morpher and queue the animation\n\n const morpher = new Morphable(this._stepper).to(to);\n let from = null;\n this.queue(function () {\n from = this.element()[method]();\n morpher.from(from);\n morpher.to(from + to);\n }, function (pos) {\n this.element()[method](morpher.at(pos));\n return morpher.done();\n }, function (newTo) {\n morpher.to(from + new SVGNumber(newTo));\n }); // Register the morpher so that if it is changed again, we can retarget it\n\n this._rememberMorpher(method, morpher);\n\n return this;\n },\n\n _queueObject(method, to) {\n // Try to change the target if we have this method already registered\n if (this._tryRetarget(method, to)) return this; // Make a morpher and queue the animation\n\n const morpher = new Morphable(this._stepper).to(to);\n this.queue(function () {\n morpher.from(this.element()[method]());\n }, function (pos) {\n this.element()[method](morpher.at(pos));\n return morpher.done();\n }); // Register the morpher so that if it is changed again, we can retarget it\n\n this._rememberMorpher(method, morpher);\n\n return this;\n },\n\n _queueNumber(method, value) {\n return this._queueObject(method, new SVGNumber(value));\n },\n\n // Animatable center x-axis\n cx(x) {\n return this._queueNumber('cx', x);\n },\n\n // Animatable center y-axis\n cy(y) {\n return this._queueNumber('cy', y);\n },\n\n // Add animatable move\n move(x, y) {\n return this.x(x).y(y);\n },\n\n // Add animatable center\n center(x, y) {\n return this.cx(x).cy(y);\n },\n\n // Add animatable size\n size(width, height) {\n // animate bbox based size for all other elements\n let box;\n\n if (!width || !height) {\n box = this._element.bbox();\n }\n\n if (!width) {\n width = box.width / box.height * height;\n }\n\n if (!height) {\n height = box.height / box.width * width;\n }\n\n return this.width(width).height(height);\n },\n\n // Add animatable width\n width(width) {\n return this._queueNumber('width', width);\n },\n\n // Add animatable height\n height(height) {\n return this._queueNumber('height', height);\n },\n\n // Add animatable plot\n plot(a, b, c, d) {\n // Lines can be plotted with 4 arguments\n if (arguments.length === 4) {\n return this.plot([a, b, c, d]);\n }\n\n if (this._tryRetarget('plot', a)) return this;\n const morpher = new Morphable(this._stepper).type(this._element.MorphArray).to(a);\n this.queue(function () {\n morpher.from(this._element.array());\n }, function (pos) {\n this._element.plot(morpher.at(pos));\n\n return morpher.done();\n });\n\n this._rememberMorpher('plot', morpher);\n\n return this;\n },\n\n // Add leading method\n leading(value) {\n return this._queueNumber('leading', value);\n },\n\n // Add animatable viewbox\n viewbox(x, y, width, height) {\n return this._queueObject('viewbox', new Box(x, y, width, height));\n },\n\n update(o) {\n if (typeof o !== 'object') {\n return this.update({\n offset: arguments[0],\n color: arguments[1],\n opacity: arguments[2]\n });\n }\n\n if (o.opacity != null) this.attr('stop-opacity', o.opacity);\n if (o.color != null) this.attr('stop-color', o.color);\n if (o.offset != null) this.attr('offset', o.offset);\n return this;\n }\n\n});\nextend(Runner, {\n rx,\n ry,\n from,\n to\n});\nregister(Runner, 'Runner');\n\nclass Svg extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('svg', node), attrs);\n this.namespace();\n } // Creates and returns defs element\n\n\n defs() {\n if (!this.isRoot()) return this.root().defs();\n return adopt(this.node.querySelector('defs')) || this.put(new Defs());\n }\n\n isRoot() {\n return !this.node.parentNode || !(this.node.parentNode instanceof globals.window.SVGElement) && this.node.parentNode.nodeName !== '#document-fragment';\n } // Add namespaces\n\n\n namespace() {\n if (!this.isRoot()) return this.root().namespace();\n return this.attr({\n xmlns: svg,\n version: '1.1'\n }).attr('xmlns:xlink', xlink, xmlns).attr('xmlns:svgjs', svgjs, xmlns);\n }\n\n removeNamespace() {\n return this.attr({\n xmlns: null,\n version: null\n }).attr('xmlns:xlink', null, xmlns).attr('xmlns:svgjs', null, xmlns);\n } // Check if this is a root svg\n // If not, call root() from this element\n\n\n root() {\n if (this.isRoot()) return this;\n return super.root();\n }\n\n}\nregisterMethods({\n Container: {\n // Create nested svg document\n nested: wrapWithAttrCheck(function () {\n return this.put(new Svg());\n })\n }\n});\nregister(Svg, 'Svg', true);\n\nclass Symbol extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('symbol', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n symbol: wrapWithAttrCheck(function () {\n return this.put(new Symbol());\n })\n }\n});\nregister(Symbol, 'Symbol');\n\nfunction plain(text) {\n // clear if build mode is disabled\n if (this._build === false) {\n this.clear();\n } // create text node\n\n\n this.node.appendChild(globals.document.createTextNode(text));\n return this;\n} // Get length of text element\n\nfunction length() {\n return this.node.getComputedTextLength();\n} // Move over x-axis\n// Text is moved by its bounding box\n// text-anchor does NOT matter\n\nfunction x$1(x, box = this.bbox()) {\n if (x == null) {\n return box.x;\n }\n\n return this.attr('x', this.attr('x') + x - box.x);\n} // Move over y-axis\n\nfunction y$1(y, box = this.bbox()) {\n if (y == null) {\n return box.y;\n }\n\n return this.attr('y', this.attr('y') + y - box.y);\n}\nfunction move$1(x, y, box = this.bbox()) {\n return this.x(x, box).y(y, box);\n} // Move center over x-axis\n\nfunction cx(x, box = this.bbox()) {\n if (x == null) {\n return box.cx;\n }\n\n return this.attr('x', this.attr('x') + x - box.cx);\n} // Move center over y-axis\n\nfunction cy(y, box = this.bbox()) {\n if (y == null) {\n return box.cy;\n }\n\n return this.attr('y', this.attr('y') + y - box.cy);\n}\nfunction center(x, y, box = this.bbox()) {\n return this.cx(x, box).cy(y, box);\n}\nfunction ax(x) {\n return this.attr('x', x);\n}\nfunction ay(y) {\n return this.attr('y', y);\n}\nfunction amove(x, y) {\n return this.ax(x).ay(y);\n} // Enable / disable build mode\n\nfunction build(build) {\n this._build = !!build;\n return this;\n}\n\nvar textable = {\n __proto__: null,\n plain: plain,\n length: length,\n x: x$1,\n y: y$1,\n move: move$1,\n cx: cx,\n cy: cy,\n center: center,\n ax: ax,\n ay: ay,\n amove: amove,\n build: build\n};\n\nclass Text extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('text', node), attrs);\n this.dom.leading = new SVGNumber(1.3); // store leading value for rebuilding\n\n this._rebuild = true; // enable automatic updating of dy values\n\n this._build = false; // disable build mode for adding multiple lines\n } // Set / get leading\n\n\n leading(value) {\n // act as getter\n if (value == null) {\n return this.dom.leading;\n } // act as setter\n\n\n this.dom.leading = new SVGNumber(value);\n return this.rebuild();\n } // Rebuild appearance type\n\n\n rebuild(rebuild) {\n // store new rebuild flag if given\n if (typeof rebuild === 'boolean') {\n this._rebuild = rebuild;\n } // define position of all lines\n\n\n if (this._rebuild) {\n const self = this;\n let blankLineOffset = 0;\n const leading = this.dom.leading;\n this.each(function (i) {\n const fontSize = globals.window.getComputedStyle(this.node).getPropertyValue('font-size');\n const dy = leading * new SVGNumber(fontSize);\n\n if (this.dom.newLined) {\n this.attr('x', self.attr('x'));\n\n if (this.text() === '\\n') {\n blankLineOffset += dy;\n } else {\n this.attr('dy', i ? dy + blankLineOffset : 0);\n blankLineOffset = 0;\n }\n }\n });\n this.fire('rebuild');\n }\n\n return this;\n } // overwrite method from parent to set data properly\n\n\n setData(o) {\n this.dom = o;\n this.dom.leading = new SVGNumber(o.leading || 1.3);\n return this;\n } // Set the text content\n\n\n text(text) {\n // act as getter\n if (text === undefined) {\n const children = this.node.childNodes;\n let firstLine = 0;\n text = '';\n\n for (let i = 0, len = children.length; i < len; ++i) {\n // skip textPaths - they are no lines\n if (children[i].nodeName === 'textPath') {\n if (i === 0) firstLine = 1;\n continue;\n } // add newline if its not the first child and newLined is set to true\n\n\n if (i !== firstLine && children[i].nodeType !== 3 && adopt(children[i]).dom.newLined === true) {\n text += '\\n';\n } // add content of this node\n\n\n text += children[i].textContent;\n }\n\n return text;\n } // remove existing content\n\n\n this.clear().build(true);\n\n if (typeof text === 'function') {\n // call block\n text.call(this, this);\n } else {\n // store text and make sure text is not blank\n text = (text + '').split('\\n'); // build new lines\n\n for (let j = 0, jl = text.length; j < jl; j++) {\n this.newLine(text[j]);\n }\n } // disable build mode and rebuild lines\n\n\n return this.build(false).rebuild();\n }\n\n}\nextend(Text, textable);\nregisterMethods({\n Container: {\n // Create text element\n text: wrapWithAttrCheck(function (text = '') {\n return this.put(new Text()).text(text);\n }),\n // Create plain text element\n plain: wrapWithAttrCheck(function (text = '') {\n return this.put(new Text()).plain(text);\n })\n }\n});\nregister(Text, 'Text');\n\nclass Tspan extends Shape {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('tspan', node), attrs);\n this._build = false; // disable build mode for adding multiple lines\n } // Shortcut dx\n\n\n dx(dx) {\n return this.attr('dx', dx);\n } // Shortcut dy\n\n\n dy(dy) {\n return this.attr('dy', dy);\n } // Create new line\n\n\n newLine() {\n // mark new line\n this.dom.newLined = true; // fetch parent\n\n const text = this.parent(); // early return in case we are not in a text element\n\n if (!(text instanceof Text)) {\n return this;\n }\n\n const i = text.index(this);\n const fontSize = globals.window.getComputedStyle(this.node).getPropertyValue('font-size');\n const dy = text.dom.leading * new SVGNumber(fontSize); // apply new position\n\n return this.dy(i ? dy : 0).attr('x', text.x());\n } // Set text content\n\n\n text(text) {\n if (text == null) return this.node.textContent + (this.dom.newLined ? '\\n' : '');\n\n if (typeof text === 'function') {\n this.clear().build(true);\n text.call(this, this);\n this.build(false);\n } else {\n this.plain(text);\n }\n\n return this;\n }\n\n}\nextend(Tspan, textable);\nregisterMethods({\n Tspan: {\n tspan: wrapWithAttrCheck(function (text = '') {\n const tspan = new Tspan(); // clear if build mode is disabled\n\n if (!this._build) {\n this.clear();\n } // add new tspan\n\n\n return this.put(tspan).text(text);\n })\n },\n Text: {\n newLine: function (text = '') {\n return this.tspan(text).newLine();\n }\n }\n});\nregister(Tspan, 'Tspan');\n\nclass Circle extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('circle', node), attrs);\n }\n\n radius(r) {\n return this.attr('r', r);\n } // Radius x value\n\n\n rx(rx) {\n return this.attr('r', rx);\n } // Alias radius x value\n\n\n ry(ry) {\n return this.rx(ry);\n }\n\n size(size) {\n return this.radius(new SVGNumber(size).divide(2));\n }\n\n}\nextend(Circle, {\n x: x$3,\n y: y$3,\n cx: cx$1,\n cy: cy$1,\n width: width$2,\n height: height$2\n});\nregisterMethods({\n Container: {\n // Create circle element\n circle: wrapWithAttrCheck(function (size = 0) {\n return this.put(new Circle()).size(size).move(0, 0);\n })\n }\n});\nregister(Circle, 'Circle');\n\nclass ClipPath extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('clipPath', node), attrs);\n } // Unclip all clipped elements and remove itself\n\n\n remove() {\n // unclip all targets\n this.targets().forEach(function (el) {\n el.unclip();\n }); // remove clipPath from parent\n\n return super.remove();\n }\n\n targets() {\n return baseFind('svg [clip-path*=' + this.id() + ']');\n }\n\n}\nregisterMethods({\n Container: {\n // Create clipping element\n clip: wrapWithAttrCheck(function () {\n return this.defs().put(new ClipPath());\n })\n },\n Element: {\n // Distribute clipPath to svg element\n clipper() {\n return this.reference('clip-path');\n },\n\n clipWith(element) {\n // use given clip or create a new one\n const clipper = element instanceof ClipPath ? element : this.parent().clip().add(element); // apply mask\n\n return this.attr('clip-path', 'url(#' + clipper.id() + ')');\n },\n\n // Unclip element\n unclip() {\n return this.attr('clip-path', null);\n }\n\n }\n});\nregister(ClipPath, 'ClipPath');\n\nclass ForeignObject extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('foreignObject', node), attrs);\n }\n\n}\nregisterMethods({\n Container: {\n foreignObject: wrapWithAttrCheck(function (width, height) {\n return this.put(new ForeignObject()).size(width, height);\n })\n }\n});\nregister(ForeignObject, 'ForeignObject');\n\nfunction dmove(dx, dy) {\n this.children().forEach((child, i) => {\n let bbox; // We have to wrap this for elements that dont have a bbox\n // e.g. title and other descriptive elements\n\n try {\n // Get the childs bbox\n bbox = child.bbox();\n } catch (e) {\n return;\n } // Get childs matrix\n\n\n const m = new Matrix(child); // Translate childs matrix by amount and\n // transform it back into parents space\n\n const matrix = m.translate(dx, dy).transform(m.inverse()); // Calculate new x and y from old box\n\n const p = new Point(bbox.x, bbox.y).transform(matrix); // Move element\n\n child.move(p.x, p.y);\n });\n return this;\n}\nfunction dx(dx) {\n return this.dmove(dx, 0);\n}\nfunction dy(dy) {\n return this.dmove(0, dy);\n}\nfunction height(height, box = this.bbox()) {\n if (height == null) return box.height;\n return this.size(box.width, height, box);\n}\nfunction move(x = 0, y = 0, box = this.bbox()) {\n const dx = x - box.x;\n const dy = y - box.y;\n return this.dmove(dx, dy);\n}\nfunction size(width, height, box = this.bbox()) {\n const p = proportionalSize(this, width, height, box);\n const scaleX = p.width / box.width;\n const scaleY = p.height / box.height;\n this.children().forEach((child, i) => {\n const o = new Point(box).transform(new Matrix(child).inverse());\n child.scale(scaleX, scaleY, o.x, o.y);\n });\n return this;\n}\nfunction width(width, box = this.bbox()) {\n if (width == null) return box.width;\n return this.size(width, box.height, box);\n}\nfunction x(x, box = this.bbox()) {\n if (x == null) return box.x;\n return this.move(x, box.y, box);\n}\nfunction y(y, box = this.bbox()) {\n if (y == null) return box.y;\n return this.move(box.x, y, box);\n}\n\nvar containerGeometry = {\n __proto__: null,\n dmove: dmove,\n dx: dx,\n dy: dy,\n height: height,\n move: move,\n size: size,\n width: width,\n x: x,\n y: y\n};\n\nclass G extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('g', node), attrs);\n }\n\n}\nextend(G, containerGeometry);\nregisterMethods({\n Container: {\n // Create a group element\n group: wrapWithAttrCheck(function () {\n return this.put(new G());\n })\n }\n});\nregister(G, 'G');\n\nclass A extends Container {\n constructor(node, attrs = node) {\n super(nodeOrNew('a', node), attrs);\n } // Link target attribute\n\n\n target(target) {\n return this.attr('target', target);\n } // Link url\n\n\n to(url) {\n return this.attr('href', url, xlink);\n }\n\n}\nextend(A, containerGeometry);\nregisterMethods({\n Container: {\n // Create a hyperlink element\n link: wrapWithAttrCheck(function (url) {\n return this.put(new A()).to(url);\n })\n },\n Element: {\n unlink() {\n const link = this.linker();\n if (!link) return this;\n const parent = link.parent();\n\n if (!parent) {\n return this.remove();\n }\n\n const index = parent.index(link);\n parent.add(this, index);\n link.remove();\n return this;\n },\n\n linkTo(url) {\n // reuse old link if possible\n let link = this.linker();\n\n if (!link) {\n link = new A();\n this.wrap(link);\n }\n\n if (typeof url === 'function') {\n url.call(link, link);\n } else {\n link.to(url);\n }\n\n return this;\n },\n\n linker() {\n const link = this.parent();\n\n if (link && link.node.nodeName.toLowerCase() === 'a') {\n return link;\n }\n\n return null;\n }\n\n }\n});\nregister(A, 'A');\n\nclass Mask extends Container {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('mask', node), attrs);\n } // Unmask all masked elements and remove itself\n\n\n remove() {\n // unmask all targets\n this.targets().forEach(function (el) {\n el.unmask();\n }); // remove mask from parent\n\n return super.remove();\n }\n\n targets() {\n return baseFind('svg [mask*=' + this.id() + ']');\n }\n\n}\nregisterMethods({\n Container: {\n mask: wrapWithAttrCheck(function () {\n return this.defs().put(new Mask());\n })\n },\n Element: {\n // Distribute mask to svg element\n masker() {\n return this.reference('mask');\n },\n\n maskWith(element) {\n // use given mask or create a new one\n const masker = element instanceof Mask ? element : this.parent().mask().add(element); // apply mask\n\n return this.attr('mask', 'url(#' + masker.id() + ')');\n },\n\n // Unmask element\n unmask() {\n return this.attr('mask', null);\n }\n\n }\n});\nregister(Mask, 'Mask');\n\nclass Stop extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('stop', node), attrs);\n } // add color stops\n\n\n update(o) {\n if (typeof o === 'number' || o instanceof SVGNumber) {\n o = {\n offset: arguments[0],\n color: arguments[1],\n opacity: arguments[2]\n };\n } // set attributes\n\n\n if (o.opacity != null) this.attr('stop-opacity', o.opacity);\n if (o.color != null) this.attr('stop-color', o.color);\n if (o.offset != null) this.attr('offset', new SVGNumber(o.offset));\n return this;\n }\n\n}\nregisterMethods({\n Gradient: {\n // Add a color stop\n stop: function (offset, color, opacity) {\n return this.put(new Stop()).update(offset, color, opacity);\n }\n }\n});\nregister(Stop, 'Stop');\n\nfunction cssRule(selector, rule) {\n if (!selector) return '';\n if (!rule) return selector;\n let ret = selector + '{';\n\n for (const i in rule) {\n ret += unCamelCase(i) + ':' + rule[i] + ';';\n }\n\n ret += '}';\n return ret;\n}\n\nclass Style extends Element {\n constructor(node, attrs = node) {\n super(nodeOrNew('style', node), attrs);\n }\n\n addText(w = '') {\n this.node.textContent += w;\n return this;\n }\n\n font(name, src, params = {}) {\n return this.rule('@font-face', {\n fontFamily: name,\n src: src,\n ...params\n });\n }\n\n rule(selector, obj) {\n return this.addText(cssRule(selector, obj));\n }\n\n}\nregisterMethods('Dom', {\n style(selector, obj) {\n return this.put(new Style()).rule(selector, obj);\n },\n\n fontface(name, src, params) {\n return this.put(new Style()).font(name, src, params);\n }\n\n});\nregister(Style, 'Style');\n\nclass TextPath extends Text {\n // Initialize node\n constructor(node, attrs = node) {\n super(nodeOrNew('textPath', node), attrs);\n } // return the array of the path track element\n\n\n array() {\n const track = this.track();\n return track ? track.array() : null;\n } // Plot path if any\n\n\n plot(d) {\n const track = this.track();\n let pathArray = null;\n\n if (track) {\n pathArray = track.plot(d);\n }\n\n return d == null ? pathArray : this;\n } // Get the path element\n\n\n track() {\n return this.reference('href');\n }\n\n}\nregisterMethods({\n Container: {\n textPath: wrapWithAttrCheck(function (text, path) {\n // Convert text to instance if needed\n if (!(text instanceof Text)) {\n text = this.text(text);\n }\n\n return text.path(path);\n })\n },\n Text: {\n // Create path for text to run on\n path: wrapWithAttrCheck(function (track, importNodes = true) {\n const textPath = new TextPath(); // if track is a path, reuse it\n\n if (!(track instanceof Path)) {\n // create path element\n track = this.defs().path(track);\n } // link textPath to path and add content\n\n\n textPath.attr('href', '#' + track, xlink); // Transplant all nodes from text to textPath\n\n let node;\n\n if (importNodes) {\n while (node = this.node.firstChild) {\n textPath.node.appendChild(node);\n }\n } // add textPath element as child node and return textPath\n\n\n return this.put(textPath);\n }),\n\n // Get the textPath children\n textPath() {\n return this.findOne('textPath');\n }\n\n },\n Path: {\n // creates a textPath from this path\n text: wrapWithAttrCheck(function (text) {\n // Convert text to instance if needed\n if (!(text instanceof Text)) {\n text = new Text().addTo(this.parent()).text(text);\n } // Create textPath from text and path and return\n\n\n return text.path(this);\n }),\n\n targets() {\n return baseFind('svg textPath').filter(node => {\n return (node.attr('href') || '').includes(this.id());\n }); // Does not work in IE11. Use when IE support is dropped\n // return baseFind('svg textPath[*|href*=' + this.id() + ']')\n }\n\n }\n});\nTextPath.prototype.MorphArray = PathArray;\nregister(TextPath, 'TextPath');\n\nclass Use extends Shape {\n constructor(node, attrs = node) {\n super(nodeOrNew('use', node), attrs);\n } // Use element as a reference\n\n\n use(element, file) {\n // Set lined element\n return this.attr('href', (file || '') + '#' + element, xlink);\n }\n\n}\nregisterMethods({\n Container: {\n // Create a use element\n use: wrapWithAttrCheck(function (element, file) {\n return this.put(new Use()).use(element, file);\n })\n }\n});\nregister(Use, 'Use');\n\n/* Optional Modules */\nconst SVG = makeInstance;\nextend([Svg, Symbol, Image, Pattern, Marker], getMethodsFor('viewbox'));\nextend([Line, Polyline, Polygon, Path], getMethodsFor('marker'));\nextend(Text, getMethodsFor('Text'));\nextend(Path, getMethodsFor('Path'));\nextend(Defs, getMethodsFor('Defs'));\nextend([Text, Tspan], getMethodsFor('Tspan'));\nextend([Rect, Ellipse, Gradient, Runner], getMethodsFor('radius'));\nextend(EventTarget, getMethodsFor('EventTarget'));\nextend(Dom, getMethodsFor('Dom'));\nextend(Element, getMethodsFor('Element'));\nextend(Shape, getMethodsFor('Shape'));\nextend([Container, Fragment], getMethodsFor('Container'));\nextend(Gradient, getMethodsFor('Gradient'));\nextend(Runner, getMethodsFor('Runner'));\nList.extend(getMethodNames());\nregisterMorphableType([SVGNumber, Color, Box, Matrix, SVGArray, PointArray, PathArray, Point]);\nmakeMorphable();\n\n\n//# sourceMappingURL=svg.esm.js.map\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/character-entities/index.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/character-entities/index.js ***! + \*******************************************************************/ +/*! exports provided: characterEntities */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"characterEntities\", function() { return characterEntities; });\n/**\n * Map of named character references.\n *\n * @type {Record}\n */\nconst characterEntities = {\n AElig: 'Æ',\n AMP: '&',\n Aacute: 'Á',\n Abreve: 'Ă',\n Acirc: 'Â',\n Acy: 'А',\n Afr: '𝔄',\n Agrave: 'À',\n Alpha: 'Α',\n Amacr: 'Ā',\n And: '⩓',\n Aogon: 'Ą',\n Aopf: '𝔸',\n ApplyFunction: '⁡',\n Aring: 'Å',\n Ascr: '𝒜',\n Assign: '≔',\n Atilde: 'Ã',\n Auml: 'Ä',\n Backslash: '∖',\n Barv: '⫧',\n Barwed: '⌆',\n Bcy: 'Б',\n Because: '∵',\n Bernoullis: 'ℬ',\n Beta: 'Β',\n Bfr: '𝔅',\n Bopf: '𝔹',\n Breve: '˘',\n Bscr: 'ℬ',\n Bumpeq: '≎',\n CHcy: 'Ч',\n COPY: '©',\n Cacute: 'Ć',\n Cap: '⋒',\n CapitalDifferentialD: 'ⅅ',\n Cayleys: 'ℭ',\n Ccaron: 'Č',\n Ccedil: 'Ç',\n Ccirc: 'Ĉ',\n Cconint: '∰',\n Cdot: 'Ċ',\n Cedilla: '¸',\n CenterDot: '·',\n Cfr: 'ℭ',\n Chi: 'Χ',\n CircleDot: '⊙',\n CircleMinus: '⊖',\n CirclePlus: '⊕',\n CircleTimes: '⊗',\n ClockwiseContourIntegral: '∲',\n CloseCurlyDoubleQuote: '”',\n CloseCurlyQuote: '’',\n Colon: '∷',\n Colone: '⩴',\n Congruent: '≡',\n Conint: '∯',\n ContourIntegral: '∮',\n Copf: 'ℂ',\n Coproduct: '∐',\n CounterClockwiseContourIntegral: '∳',\n Cross: '⨯',\n Cscr: '𝒞',\n Cup: '⋓',\n CupCap: '≍',\n DD: 'ⅅ',\n DDotrahd: '⤑',\n DJcy: 'Ђ',\n DScy: 'Ѕ',\n DZcy: 'Џ',\n Dagger: '‡',\n Darr: '↡',\n Dashv: '⫤',\n Dcaron: 'Ď',\n Dcy: 'Д',\n Del: '∇',\n Delta: 'Δ',\n Dfr: '𝔇',\n DiacriticalAcute: '´',\n DiacriticalDot: '˙',\n DiacriticalDoubleAcute: '˝',\n DiacriticalGrave: '`',\n DiacriticalTilde: '˜',\n Diamond: '⋄',\n DifferentialD: 'ⅆ',\n Dopf: '𝔻',\n Dot: '¨',\n DotDot: '⃜',\n DotEqual: '≐',\n DoubleContourIntegral: '∯',\n DoubleDot: '¨',\n DoubleDownArrow: '⇓',\n DoubleLeftArrow: '⇐',\n DoubleLeftRightArrow: '⇔',\n DoubleLeftTee: '⫤',\n DoubleLongLeftArrow: '⟸',\n DoubleLongLeftRightArrow: '⟺',\n DoubleLongRightArrow: '⟹',\n DoubleRightArrow: '⇒',\n DoubleRightTee: '⊨',\n DoubleUpArrow: '⇑',\n DoubleUpDownArrow: '⇕',\n DoubleVerticalBar: '∥',\n DownArrow: '↓',\n DownArrowBar: '⤓',\n DownArrowUpArrow: '⇵',\n DownBreve: '̑',\n DownLeftRightVector: '⥐',\n DownLeftTeeVector: '⥞',\n DownLeftVector: '↽',\n DownLeftVectorBar: '⥖',\n DownRightTeeVector: '⥟',\n DownRightVector: '⇁',\n DownRightVectorBar: '⥗',\n DownTee: '⊤',\n DownTeeArrow: '↧',\n Downarrow: '⇓',\n Dscr: '𝒟',\n Dstrok: 'Đ',\n ENG: 'Ŋ',\n ETH: 'Ð',\n Eacute: 'É',\n Ecaron: 'Ě',\n Ecirc: 'Ê',\n Ecy: 'Э',\n Edot: 'Ė',\n Efr: '𝔈',\n Egrave: 'È',\n Element: '∈',\n Emacr: 'Ē',\n EmptySmallSquare: '◻',\n EmptyVerySmallSquare: '▫',\n Eogon: 'Ę',\n Eopf: '𝔼',\n Epsilon: 'Ε',\n Equal: '⩵',\n EqualTilde: '≂',\n Equilibrium: '⇌',\n Escr: 'ℰ',\n Esim: '⩳',\n Eta: 'Η',\n Euml: 'Ë',\n Exists: '∃',\n ExponentialE: 'ⅇ',\n Fcy: 'Ф',\n Ffr: '𝔉',\n FilledSmallSquare: '◼',\n FilledVerySmallSquare: '▪',\n Fopf: '𝔽',\n ForAll: '∀',\n Fouriertrf: 'ℱ',\n Fscr: 'ℱ',\n GJcy: 'Ѓ',\n GT: '>',\n Gamma: 'Γ',\n Gammad: 'Ϝ',\n Gbreve: 'Ğ',\n Gcedil: 'Ģ',\n Gcirc: 'Ĝ',\n Gcy: 'Г',\n Gdot: 'Ġ',\n Gfr: '𝔊',\n Gg: '⋙',\n Gopf: '𝔾',\n GreaterEqual: '≥',\n GreaterEqualLess: '⋛',\n GreaterFullEqual: '≧',\n GreaterGreater: '⪢',\n GreaterLess: '≷',\n GreaterSlantEqual: '⩾',\n GreaterTilde: '≳',\n Gscr: '𝒢',\n Gt: '≫',\n HARDcy: 'Ъ',\n Hacek: 'ˇ',\n Hat: '^',\n Hcirc: 'Ĥ',\n Hfr: 'ℌ',\n HilbertSpace: 'ℋ',\n Hopf: 'ℍ',\n HorizontalLine: '─',\n Hscr: 'ℋ',\n Hstrok: 'Ħ',\n HumpDownHump: '≎',\n HumpEqual: '≏',\n IEcy: 'Е',\n IJlig: 'IJ',\n IOcy: 'Ё',\n Iacute: 'Í',\n Icirc: 'Î',\n Icy: 'И',\n Idot: 'İ',\n Ifr: 'ℑ',\n Igrave: 'Ì',\n Im: 'ℑ',\n Imacr: 'Ī',\n ImaginaryI: 'ⅈ',\n Implies: '⇒',\n Int: '∬',\n Integral: '∫',\n Intersection: '⋂',\n InvisibleComma: '⁣',\n InvisibleTimes: '⁢',\n Iogon: 'Į',\n Iopf: '𝕀',\n Iota: 'Ι',\n Iscr: 'ℐ',\n Itilde: 'Ĩ',\n Iukcy: 'І',\n Iuml: 'Ï',\n Jcirc: 'Ĵ',\n Jcy: 'Й',\n Jfr: '𝔍',\n Jopf: '𝕁',\n Jscr: '𝒥',\n Jsercy: 'Ј',\n Jukcy: 'Є',\n KHcy: 'Х',\n KJcy: 'Ќ',\n Kappa: 'Κ',\n Kcedil: 'Ķ',\n Kcy: 'К',\n Kfr: '𝔎',\n Kopf: '𝕂',\n Kscr: '𝒦',\n LJcy: 'Љ',\n LT: '<',\n Lacute: 'Ĺ',\n Lambda: 'Λ',\n Lang: '⟪',\n Laplacetrf: 'ℒ',\n Larr: '↞',\n Lcaron: 'Ľ',\n Lcedil: 'Ļ',\n Lcy: 'Л',\n LeftAngleBracket: '⟨',\n LeftArrow: '←',\n LeftArrowBar: '⇤',\n LeftArrowRightArrow: '⇆',\n LeftCeiling: '⌈',\n LeftDoubleBracket: '⟦',\n LeftDownTeeVector: '⥡',\n LeftDownVector: '⇃',\n LeftDownVectorBar: '⥙',\n LeftFloor: '⌊',\n LeftRightArrow: '↔',\n LeftRightVector: '⥎',\n LeftTee: '⊣',\n LeftTeeArrow: '↤',\n LeftTeeVector: '⥚',\n LeftTriangle: '⊲',\n LeftTriangleBar: '⧏',\n LeftTriangleEqual: '⊴',\n LeftUpDownVector: '⥑',\n LeftUpTeeVector: '⥠',\n LeftUpVector: '↿',\n LeftUpVectorBar: '⥘',\n LeftVector: '↼',\n LeftVectorBar: '⥒',\n Leftarrow: '⇐',\n Leftrightarrow: '⇔',\n LessEqualGreater: '⋚',\n LessFullEqual: '≦',\n LessGreater: '≶',\n LessLess: '⪡',\n LessSlantEqual: '⩽',\n LessTilde: '≲',\n Lfr: '𝔏',\n Ll: '⋘',\n Lleftarrow: '⇚',\n Lmidot: 'Ŀ',\n LongLeftArrow: '⟵',\n LongLeftRightArrow: '⟷',\n LongRightArrow: '⟶',\n Longleftarrow: '⟸',\n Longleftrightarrow: '⟺',\n Longrightarrow: '⟹',\n Lopf: '𝕃',\n LowerLeftArrow: '↙',\n LowerRightArrow: '↘',\n Lscr: 'ℒ',\n Lsh: '↰',\n Lstrok: 'Ł',\n Lt: '≪',\n Map: '⤅',\n Mcy: 'М',\n MediumSpace: ' ',\n Mellintrf: 'ℳ',\n Mfr: '𝔐',\n MinusPlus: '∓',\n Mopf: '𝕄',\n Mscr: 'ℳ',\n Mu: 'Μ',\n NJcy: 'Њ',\n Nacute: 'Ń',\n Ncaron: 'Ň',\n Ncedil: 'Ņ',\n Ncy: 'Н',\n NegativeMediumSpace: '​',\n NegativeThickSpace: '​',\n NegativeThinSpace: '​',\n NegativeVeryThinSpace: '​',\n NestedGreaterGreater: '≫',\n NestedLessLess: '≪',\n NewLine: '\\n',\n Nfr: '𝔑',\n NoBreak: '⁠',\n NonBreakingSpace: ' ',\n Nopf: 'ℕ',\n Not: '⫬',\n NotCongruent: '≢',\n NotCupCap: '≭',\n NotDoubleVerticalBar: '∦',\n NotElement: '∉',\n NotEqual: '≠',\n NotEqualTilde: '≂̸',\n NotExists: '∄',\n NotGreater: '≯',\n NotGreaterEqual: '≱',\n NotGreaterFullEqual: '≧̸',\n NotGreaterGreater: '≫̸',\n NotGreaterLess: '≹',\n NotGreaterSlantEqual: '⩾̸',\n NotGreaterTilde: '≵',\n NotHumpDownHump: '≎̸',\n NotHumpEqual: '≏̸',\n NotLeftTriangle: '⋪',\n NotLeftTriangleBar: '⧏̸',\n NotLeftTriangleEqual: '⋬',\n NotLess: '≮',\n NotLessEqual: '≰',\n NotLessGreater: '≸',\n NotLessLess: '≪̸',\n NotLessSlantEqual: '⩽̸',\n NotLessTilde: '≴',\n NotNestedGreaterGreater: '⪢̸',\n NotNestedLessLess: '⪡̸',\n NotPrecedes: '⊀',\n NotPrecedesEqual: '⪯̸',\n NotPrecedesSlantEqual: '⋠',\n NotReverseElement: '∌',\n NotRightTriangle: '⋫',\n NotRightTriangleBar: '⧐̸',\n NotRightTriangleEqual: '⋭',\n NotSquareSubset: '⊏̸',\n NotSquareSubsetEqual: '⋢',\n NotSquareSuperset: '⊐̸',\n NotSquareSupersetEqual: '⋣',\n NotSubset: '⊂⃒',\n NotSubsetEqual: '⊈',\n NotSucceeds: '⊁',\n NotSucceedsEqual: '⪰̸',\n NotSucceedsSlantEqual: '⋡',\n NotSucceedsTilde: '≿̸',\n NotSuperset: '⊃⃒',\n NotSupersetEqual: '⊉',\n NotTilde: '≁',\n NotTildeEqual: '≄',\n NotTildeFullEqual: '≇',\n NotTildeTilde: '≉',\n NotVerticalBar: '∤',\n Nscr: '𝒩',\n Ntilde: 'Ñ',\n Nu: 'Ν',\n OElig: 'Œ',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Ocy: 'О',\n Odblac: 'Ő',\n Ofr: '𝔒',\n Ograve: 'Ò',\n Omacr: 'Ō',\n Omega: 'Ω',\n Omicron: 'Ο',\n Oopf: '𝕆',\n OpenCurlyDoubleQuote: '“',\n OpenCurlyQuote: '‘',\n Or: '⩔',\n Oscr: '𝒪',\n Oslash: 'Ø',\n Otilde: 'Õ',\n Otimes: '⨷',\n Ouml: 'Ö',\n OverBar: '‾',\n OverBrace: '⏞',\n OverBracket: '⎴',\n OverParenthesis: '⏜',\n PartialD: '∂',\n Pcy: 'П',\n Pfr: '𝔓',\n Phi: 'Φ',\n Pi: 'Π',\n PlusMinus: '±',\n Poincareplane: 'ℌ',\n Popf: 'ℙ',\n Pr: '⪻',\n Precedes: '≺',\n PrecedesEqual: '⪯',\n PrecedesSlantEqual: '≼',\n PrecedesTilde: '≾',\n Prime: '″',\n Product: '∏',\n Proportion: '∷',\n Proportional: '∝',\n Pscr: '𝒫',\n Psi: 'Ψ',\n QUOT: '\"',\n Qfr: '𝔔',\n Qopf: 'ℚ',\n Qscr: '𝒬',\n RBarr: '⤐',\n REG: '®',\n Racute: 'Ŕ',\n Rang: '⟫',\n Rarr: '↠',\n Rarrtl: '⤖',\n Rcaron: 'Ř',\n Rcedil: 'Ŗ',\n Rcy: 'Р',\n Re: 'ℜ',\n ReverseElement: '∋',\n ReverseEquilibrium: '⇋',\n ReverseUpEquilibrium: '⥯',\n Rfr: 'ℜ',\n Rho: 'Ρ',\n RightAngleBracket: '⟩',\n RightArrow: '→',\n RightArrowBar: '⇥',\n RightArrowLeftArrow: '⇄',\n RightCeiling: '⌉',\n RightDoubleBracket: '⟧',\n RightDownTeeVector: '⥝',\n RightDownVector: '⇂',\n RightDownVectorBar: '⥕',\n RightFloor: '⌋',\n RightTee: '⊢',\n RightTeeArrow: '↦',\n RightTeeVector: '⥛',\n RightTriangle: '⊳',\n RightTriangleBar: '⧐',\n RightTriangleEqual: '⊵',\n RightUpDownVector: '⥏',\n RightUpTeeVector: '⥜',\n RightUpVector: '↾',\n RightUpVectorBar: '⥔',\n RightVector: '⇀',\n RightVectorBar: '⥓',\n Rightarrow: '⇒',\n Ropf: 'ℝ',\n RoundImplies: '⥰',\n Rrightarrow: '⇛',\n Rscr: 'ℛ',\n Rsh: '↱',\n RuleDelayed: '⧴',\n SHCHcy: 'Щ',\n SHcy: 'Ш',\n SOFTcy: 'Ь',\n Sacute: 'Ś',\n Sc: '⪼',\n Scaron: 'Š',\n Scedil: 'Ş',\n Scirc: 'Ŝ',\n Scy: 'С',\n Sfr: '𝔖',\n ShortDownArrow: '↓',\n ShortLeftArrow: '←',\n ShortRightArrow: '→',\n ShortUpArrow: '↑',\n Sigma: 'Σ',\n SmallCircle: '∘',\n Sopf: '𝕊',\n Sqrt: '√',\n Square: '□',\n SquareIntersection: '⊓',\n SquareSubset: '⊏',\n SquareSubsetEqual: '⊑',\n SquareSuperset: '⊐',\n SquareSupersetEqual: '⊒',\n SquareUnion: '⊔',\n Sscr: '𝒮',\n Star: '⋆',\n Sub: '⋐',\n Subset: '⋐',\n SubsetEqual: '⊆',\n Succeeds: '≻',\n SucceedsEqual: '⪰',\n SucceedsSlantEqual: '≽',\n SucceedsTilde: '≿',\n SuchThat: '∋',\n Sum: '∑',\n Sup: '⋑',\n Superset: '⊃',\n SupersetEqual: '⊇',\n Supset: '⋑',\n THORN: 'Þ',\n TRADE: '™',\n TSHcy: 'Ћ',\n TScy: 'Ц',\n Tab: '\\t',\n Tau: 'Τ',\n Tcaron: 'Ť',\n Tcedil: 'Ţ',\n Tcy: 'Т',\n Tfr: '𝔗',\n Therefore: '∴',\n Theta: 'Θ',\n ThickSpace: '  ',\n ThinSpace: ' ',\n Tilde: '∼',\n TildeEqual: '≃',\n TildeFullEqual: '≅',\n TildeTilde: '≈',\n Topf: '𝕋',\n TripleDot: '⃛',\n Tscr: '𝒯',\n Tstrok: 'Ŧ',\n Uacute: 'Ú',\n Uarr: '↟',\n Uarrocir: '⥉',\n Ubrcy: 'Ў',\n Ubreve: 'Ŭ',\n Ucirc: 'Û',\n Ucy: 'У',\n Udblac: 'Ű',\n Ufr: '𝔘',\n Ugrave: 'Ù',\n Umacr: 'Ū',\n UnderBar: '_',\n UnderBrace: '⏟',\n UnderBracket: '⎵',\n UnderParenthesis: '⏝',\n Union: '⋃',\n UnionPlus: '⊎',\n Uogon: 'Ų',\n Uopf: '𝕌',\n UpArrow: '↑',\n UpArrowBar: '⤒',\n UpArrowDownArrow: '⇅',\n UpDownArrow: '↕',\n UpEquilibrium: '⥮',\n UpTee: '⊥',\n UpTeeArrow: '↥',\n Uparrow: '⇑',\n Updownarrow: '⇕',\n UpperLeftArrow: '↖',\n UpperRightArrow: '↗',\n Upsi: 'ϒ',\n Upsilon: 'Υ',\n Uring: 'Ů',\n Uscr: '𝒰',\n Utilde: 'Ũ',\n Uuml: 'Ü',\n VDash: '⊫',\n Vbar: '⫫',\n Vcy: 'В',\n Vdash: '⊩',\n Vdashl: '⫦',\n Vee: '⋁',\n Verbar: '‖',\n Vert: '‖',\n VerticalBar: '∣',\n VerticalLine: '|',\n VerticalSeparator: '❘',\n VerticalTilde: '≀',\n VeryThinSpace: ' ',\n Vfr: '𝔙',\n Vopf: '𝕍',\n Vscr: '𝒱',\n Vvdash: '⊪',\n Wcirc: 'Ŵ',\n Wedge: '⋀',\n Wfr: '𝔚',\n Wopf: '𝕎',\n Wscr: '𝒲',\n Xfr: '𝔛',\n Xi: 'Ξ',\n Xopf: '𝕏',\n Xscr: '𝒳',\n YAcy: 'Я',\n YIcy: 'Ї',\n YUcy: 'Ю',\n Yacute: 'Ý',\n Ycirc: 'Ŷ',\n Ycy: 'Ы',\n Yfr: '𝔜',\n Yopf: '𝕐',\n Yscr: '𝒴',\n Yuml: 'Ÿ',\n ZHcy: 'Ж',\n Zacute: 'Ź',\n Zcaron: 'Ž',\n Zcy: 'З',\n Zdot: 'Ż',\n ZeroWidthSpace: '​',\n Zeta: 'Ζ',\n Zfr: 'ℨ',\n Zopf: 'ℤ',\n Zscr: '𝒵',\n aacute: 'á',\n abreve: 'ă',\n ac: '∾',\n acE: '∾̳',\n acd: '∿',\n acirc: 'â',\n acute: '´',\n acy: 'а',\n aelig: 'æ',\n af: '⁡',\n afr: '𝔞',\n agrave: 'à',\n alefsym: 'ℵ',\n aleph: 'ℵ',\n alpha: 'α',\n amacr: 'ā',\n amalg: '⨿',\n amp: '&',\n and: '∧',\n andand: '⩕',\n andd: '⩜',\n andslope: '⩘',\n andv: '⩚',\n ang: '∠',\n ange: '⦤',\n angle: '∠',\n angmsd: '∡',\n angmsdaa: '⦨',\n angmsdab: '⦩',\n angmsdac: '⦪',\n angmsdad: '⦫',\n angmsdae: '⦬',\n angmsdaf: '⦭',\n angmsdag: '⦮',\n angmsdah: '⦯',\n angrt: '∟',\n angrtvb: '⊾',\n angrtvbd: '⦝',\n angsph: '∢',\n angst: 'Å',\n angzarr: '⍼',\n aogon: 'ą',\n aopf: '𝕒',\n ap: '≈',\n apE: '⩰',\n apacir: '⩯',\n ape: '≊',\n apid: '≋',\n apos: \"'\",\n approx: '≈',\n approxeq: '≊',\n aring: 'å',\n ascr: '𝒶',\n ast: '*',\n asymp: '≈',\n asympeq: '≍',\n atilde: 'ã',\n auml: 'ä',\n awconint: '∳',\n awint: '⨑',\n bNot: '⫭',\n backcong: '≌',\n backepsilon: '϶',\n backprime: '‵',\n backsim: '∽',\n backsimeq: '⋍',\n barvee: '⊽',\n barwed: '⌅',\n barwedge: '⌅',\n bbrk: '⎵',\n bbrktbrk: '⎶',\n bcong: '≌',\n bcy: 'б',\n bdquo: '„',\n becaus: '∵',\n because: '∵',\n bemptyv: '⦰',\n bepsi: '϶',\n bernou: 'ℬ',\n beta: 'β',\n beth: 'ℶ',\n between: '≬',\n bfr: '𝔟',\n bigcap: '⋂',\n bigcirc: '◯',\n bigcup: '⋃',\n bigodot: '⨀',\n bigoplus: '⨁',\n bigotimes: '⨂',\n bigsqcup: '⨆',\n bigstar: '★',\n bigtriangledown: '▽',\n bigtriangleup: '△',\n biguplus: '⨄',\n bigvee: '⋁',\n bigwedge: '⋀',\n bkarow: '⤍',\n blacklozenge: '⧫',\n blacksquare: '▪',\n blacktriangle: '▴',\n blacktriangledown: '▾',\n blacktriangleleft: '◂',\n blacktriangleright: '▸',\n blank: '␣',\n blk12: '▒',\n blk14: '░',\n blk34: '▓',\n block: '█',\n bne: '=⃥',\n bnequiv: '≡⃥',\n bnot: '⌐',\n bopf: '𝕓',\n bot: '⊥',\n bottom: '⊥',\n bowtie: '⋈',\n boxDL: '╗',\n boxDR: '╔',\n boxDl: '╖',\n boxDr: '╓',\n boxH: '═',\n boxHD: '╦',\n boxHU: '╩',\n boxHd: '╤',\n boxHu: '╧',\n boxUL: '╝',\n boxUR: '╚',\n boxUl: '╜',\n boxUr: '╙',\n boxV: '║',\n boxVH: '╬',\n boxVL: '╣',\n boxVR: '╠',\n boxVh: '╫',\n boxVl: '╢',\n boxVr: '╟',\n boxbox: '⧉',\n boxdL: '╕',\n boxdR: '╒',\n boxdl: '┐',\n boxdr: '┌',\n boxh: '─',\n boxhD: '╥',\n boxhU: '╨',\n boxhd: '┬',\n boxhu: '┴',\n boxminus: '⊟',\n boxplus: '⊞',\n boxtimes: '⊠',\n boxuL: '╛',\n boxuR: '╘',\n boxul: '┘',\n boxur: '└',\n boxv: '│',\n boxvH: '╪',\n boxvL: '╡',\n boxvR: '╞',\n boxvh: '┼',\n boxvl: '┤',\n boxvr: '├',\n bprime: '‵',\n breve: '˘',\n brvbar: '¦',\n bscr: '𝒷',\n bsemi: '⁏',\n bsim: '∽',\n bsime: '⋍',\n bsol: '\\\\',\n bsolb: '⧅',\n bsolhsub: '⟈',\n bull: '•',\n bullet: '•',\n bump: '≎',\n bumpE: '⪮',\n bumpe: '≏',\n bumpeq: '≏',\n cacute: 'ć',\n cap: '∩',\n capand: '⩄',\n capbrcup: '⩉',\n capcap: '⩋',\n capcup: '⩇',\n capdot: '⩀',\n caps: '∩︀',\n caret: '⁁',\n caron: 'ˇ',\n ccaps: '⩍',\n ccaron: 'č',\n ccedil: 'ç',\n ccirc: 'ĉ',\n ccups: '⩌',\n ccupssm: '⩐',\n cdot: 'ċ',\n cedil: '¸',\n cemptyv: '⦲',\n cent: '¢',\n centerdot: '·',\n cfr: '𝔠',\n chcy: 'ч',\n check: '✓',\n checkmark: '✓',\n chi: 'χ',\n cir: '○',\n cirE: '⧃',\n circ: 'ˆ',\n circeq: '≗',\n circlearrowleft: '↺',\n circlearrowright: '↻',\n circledR: '®',\n circledS: 'Ⓢ',\n circledast: '⊛',\n circledcirc: '⊚',\n circleddash: '⊝',\n cire: '≗',\n cirfnint: '⨐',\n cirmid: '⫯',\n cirscir: '⧂',\n clubs: '♣',\n clubsuit: '♣',\n colon: ':',\n colone: '≔',\n coloneq: '≔',\n comma: ',',\n commat: '@',\n comp: '∁',\n compfn: '∘',\n complement: '∁',\n complexes: 'ℂ',\n cong: '≅',\n congdot: '⩭',\n conint: '∮',\n copf: '𝕔',\n coprod: '∐',\n copy: '©',\n copysr: '℗',\n crarr: '↵',\n cross: '✗',\n cscr: '𝒸',\n csub: '⫏',\n csube: '⫑',\n csup: '⫐',\n csupe: '⫒',\n ctdot: '⋯',\n cudarrl: '⤸',\n cudarrr: '⤵',\n cuepr: '⋞',\n cuesc: '⋟',\n cularr: '↶',\n cularrp: '⤽',\n cup: '∪',\n cupbrcap: '⩈',\n cupcap: '⩆',\n cupcup: '⩊',\n cupdot: '⊍',\n cupor: '⩅',\n cups: '∪︀',\n curarr: '↷',\n curarrm: '⤼',\n curlyeqprec: '⋞',\n curlyeqsucc: '⋟',\n curlyvee: '⋎',\n curlywedge: '⋏',\n curren: '¤',\n curvearrowleft: '↶',\n curvearrowright: '↷',\n cuvee: '⋎',\n cuwed: '⋏',\n cwconint: '∲',\n cwint: '∱',\n cylcty: '⌭',\n dArr: '⇓',\n dHar: '⥥',\n dagger: '†',\n daleth: 'ℸ',\n darr: '↓',\n dash: '‐',\n dashv: '⊣',\n dbkarow: '⤏',\n dblac: '˝',\n dcaron: 'ď',\n dcy: 'д',\n dd: 'ⅆ',\n ddagger: '‡',\n ddarr: '⇊',\n ddotseq: '⩷',\n deg: '°',\n delta: 'δ',\n demptyv: '⦱',\n dfisht: '⥿',\n dfr: '𝔡',\n dharl: '⇃',\n dharr: '⇂',\n diam: '⋄',\n diamond: '⋄',\n diamondsuit: '♦',\n diams: '♦',\n die: '¨',\n digamma: 'ϝ',\n disin: '⋲',\n div: '÷',\n divide: '÷',\n divideontimes: '⋇',\n divonx: '⋇',\n djcy: 'ђ',\n dlcorn: '⌞',\n dlcrop: '⌍',\n dollar: '$',\n dopf: '𝕕',\n dot: '˙',\n doteq: '≐',\n doteqdot: '≑',\n dotminus: '∸',\n dotplus: '∔',\n dotsquare: '⊡',\n doublebarwedge: '⌆',\n downarrow: '↓',\n downdownarrows: '⇊',\n downharpoonleft: '⇃',\n downharpoonright: '⇂',\n drbkarow: '⤐',\n drcorn: '⌟',\n drcrop: '⌌',\n dscr: '𝒹',\n dscy: 'ѕ',\n dsol: '⧶',\n dstrok: 'đ',\n dtdot: '⋱',\n dtri: '▿',\n dtrif: '▾',\n duarr: '⇵',\n duhar: '⥯',\n dwangle: '⦦',\n dzcy: 'џ',\n dzigrarr: '⟿',\n eDDot: '⩷',\n eDot: '≑',\n eacute: 'é',\n easter: '⩮',\n ecaron: 'ě',\n ecir: '≖',\n ecirc: 'ê',\n ecolon: '≕',\n ecy: 'э',\n edot: 'ė',\n ee: 'ⅇ',\n efDot: '≒',\n efr: '𝔢',\n eg: '⪚',\n egrave: 'è',\n egs: '⪖',\n egsdot: '⪘',\n el: '⪙',\n elinters: '⏧',\n ell: 'ℓ',\n els: '⪕',\n elsdot: '⪗',\n emacr: 'ē',\n empty: '∅',\n emptyset: '∅',\n emptyv: '∅',\n emsp13: ' ',\n emsp14: ' ',\n emsp: ' ',\n eng: 'ŋ',\n ensp: ' ',\n eogon: 'ę',\n eopf: '𝕖',\n epar: '⋕',\n eparsl: '⧣',\n eplus: '⩱',\n epsi: 'ε',\n epsilon: 'ε',\n epsiv: 'ϵ',\n eqcirc: '≖',\n eqcolon: '≕',\n eqsim: '≂',\n eqslantgtr: '⪖',\n eqslantless: '⪕',\n equals: '=',\n equest: '≟',\n equiv: '≡',\n equivDD: '⩸',\n eqvparsl: '⧥',\n erDot: '≓',\n erarr: '⥱',\n escr: 'ℯ',\n esdot: '≐',\n esim: '≂',\n eta: 'η',\n eth: 'ð',\n euml: 'ë',\n euro: '€',\n excl: '!',\n exist: '∃',\n expectation: 'ℰ',\n exponentiale: 'ⅇ',\n fallingdotseq: '≒',\n fcy: 'ф',\n female: '♀',\n ffilig: 'ffi',\n fflig: 'ff',\n ffllig: 'ffl',\n ffr: '𝔣',\n filig: 'fi',\n fjlig: 'fj',\n flat: '♭',\n fllig: 'fl',\n fltns: '▱',\n fnof: 'ƒ',\n fopf: '𝕗',\n forall: '∀',\n fork: '⋔',\n forkv: '⫙',\n fpartint: '⨍',\n frac12: '½',\n frac13: '⅓',\n frac14: '¼',\n frac15: '⅕',\n frac16: '⅙',\n frac18: '⅛',\n frac23: '⅔',\n frac25: '⅖',\n frac34: '¾',\n frac35: '⅗',\n frac38: '⅜',\n frac45: '⅘',\n frac56: '⅚',\n frac58: '⅝',\n frac78: '⅞',\n frasl: '⁄',\n frown: '⌢',\n fscr: '𝒻',\n gE: '≧',\n gEl: '⪌',\n gacute: 'ǵ',\n gamma: 'γ',\n gammad: 'ϝ',\n gap: '⪆',\n gbreve: 'ğ',\n gcirc: 'ĝ',\n gcy: 'г',\n gdot: 'ġ',\n ge: '≥',\n gel: '⋛',\n geq: '≥',\n geqq: '≧',\n geqslant: '⩾',\n ges: '⩾',\n gescc: '⪩',\n gesdot: '⪀',\n gesdoto: '⪂',\n gesdotol: '⪄',\n gesl: '⋛︀',\n gesles: '⪔',\n gfr: '𝔤',\n gg: '≫',\n ggg: '⋙',\n gimel: 'ℷ',\n gjcy: 'ѓ',\n gl: '≷',\n glE: '⪒',\n gla: '⪥',\n glj: '⪤',\n gnE: '≩',\n gnap: '⪊',\n gnapprox: '⪊',\n gne: '⪈',\n gneq: '⪈',\n gneqq: '≩',\n gnsim: '⋧',\n gopf: '𝕘',\n grave: '`',\n gscr: 'ℊ',\n gsim: '≳',\n gsime: '⪎',\n gsiml: '⪐',\n gt: '>',\n gtcc: '⪧',\n gtcir: '⩺',\n gtdot: '⋗',\n gtlPar: '⦕',\n gtquest: '⩼',\n gtrapprox: '⪆',\n gtrarr: '⥸',\n gtrdot: '⋗',\n gtreqless: '⋛',\n gtreqqless: '⪌',\n gtrless: '≷',\n gtrsim: '≳',\n gvertneqq: '≩︀',\n gvnE: '≩︀',\n hArr: '⇔',\n hairsp: ' ',\n half: '½',\n hamilt: 'ℋ',\n hardcy: 'ъ',\n harr: '↔',\n harrcir: '⥈',\n harrw: '↭',\n hbar: 'ℏ',\n hcirc: 'ĥ',\n hearts: '♥',\n heartsuit: '♥',\n hellip: '…',\n hercon: '⊹',\n hfr: '𝔥',\n hksearow: '⤥',\n hkswarow: '⤦',\n hoarr: '⇿',\n homtht: '∻',\n hookleftarrow: '↩',\n hookrightarrow: '↪',\n hopf: '𝕙',\n horbar: '―',\n hscr: '𝒽',\n hslash: 'ℏ',\n hstrok: 'ħ',\n hybull: '⁃',\n hyphen: '‐',\n iacute: 'í',\n ic: '⁣',\n icirc: 'î',\n icy: 'и',\n iecy: 'е',\n iexcl: '¡',\n iff: '⇔',\n ifr: '𝔦',\n igrave: 'ì',\n ii: 'ⅈ',\n iiiint: '⨌',\n iiint: '∭',\n iinfin: '⧜',\n iiota: '℩',\n ijlig: 'ij',\n imacr: 'ī',\n image: 'ℑ',\n imagline: 'ℐ',\n imagpart: 'ℑ',\n imath: 'ı',\n imof: '⊷',\n imped: 'Ƶ',\n in: '∈',\n incare: '℅',\n infin: '∞',\n infintie: '⧝',\n inodot: 'ı',\n int: '∫',\n intcal: '⊺',\n integers: 'ℤ',\n intercal: '⊺',\n intlarhk: '⨗',\n intprod: '⨼',\n iocy: 'ё',\n iogon: 'į',\n iopf: '𝕚',\n iota: 'ι',\n iprod: '⨼',\n iquest: '¿',\n iscr: '𝒾',\n isin: '∈',\n isinE: '⋹',\n isindot: '⋵',\n isins: '⋴',\n isinsv: '⋳',\n isinv: '∈',\n it: '⁢',\n itilde: 'ĩ',\n iukcy: 'і',\n iuml: 'ï',\n jcirc: 'ĵ',\n jcy: 'й',\n jfr: '𝔧',\n jmath: 'ȷ',\n jopf: '𝕛',\n jscr: '𝒿',\n jsercy: 'ј',\n jukcy: 'є',\n kappa: 'κ',\n kappav: 'ϰ',\n kcedil: 'ķ',\n kcy: 'к',\n kfr: '𝔨',\n kgreen: 'ĸ',\n khcy: 'х',\n kjcy: 'ќ',\n kopf: '𝕜',\n kscr: '𝓀',\n lAarr: '⇚',\n lArr: '⇐',\n lAtail: '⤛',\n lBarr: '⤎',\n lE: '≦',\n lEg: '⪋',\n lHar: '⥢',\n lacute: 'ĺ',\n laemptyv: '⦴',\n lagran: 'ℒ',\n lambda: 'λ',\n lang: '⟨',\n langd: '⦑',\n langle: '⟨',\n lap: '⪅',\n laquo: '«',\n larr: '←',\n larrb: '⇤',\n larrbfs: '⤟',\n larrfs: '⤝',\n larrhk: '↩',\n larrlp: '↫',\n larrpl: '⤹',\n larrsim: '⥳',\n larrtl: '↢',\n lat: '⪫',\n latail: '⤙',\n late: '⪭',\n lates: '⪭︀',\n lbarr: '⤌',\n lbbrk: '❲',\n lbrace: '{',\n lbrack: '[',\n lbrke: '⦋',\n lbrksld: '⦏',\n lbrkslu: '⦍',\n lcaron: 'ľ',\n lcedil: 'ļ',\n lceil: '⌈',\n lcub: '{',\n lcy: 'л',\n ldca: '⤶',\n ldquo: '“',\n ldquor: '„',\n ldrdhar: '⥧',\n ldrushar: '⥋',\n ldsh: '↲',\n le: '≤',\n leftarrow: '←',\n leftarrowtail: '↢',\n leftharpoondown: '↽',\n leftharpoonup: '↼',\n leftleftarrows: '⇇',\n leftrightarrow: '↔',\n leftrightarrows: '⇆',\n leftrightharpoons: '⇋',\n leftrightsquigarrow: '↭',\n leftthreetimes: '⋋',\n leg: '⋚',\n leq: '≤',\n leqq: '≦',\n leqslant: '⩽',\n les: '⩽',\n lescc: '⪨',\n lesdot: '⩿',\n lesdoto: '⪁',\n lesdotor: '⪃',\n lesg: '⋚︀',\n lesges: '⪓',\n lessapprox: '⪅',\n lessdot: '⋖',\n lesseqgtr: '⋚',\n lesseqqgtr: '⪋',\n lessgtr: '≶',\n lesssim: '≲',\n lfisht: '⥼',\n lfloor: '⌊',\n lfr: '𝔩',\n lg: '≶',\n lgE: '⪑',\n lhard: '↽',\n lharu: '↼',\n lharul: '⥪',\n lhblk: '▄',\n ljcy: 'љ',\n ll: '≪',\n llarr: '⇇',\n llcorner: '⌞',\n llhard: '⥫',\n lltri: '◺',\n lmidot: 'ŀ',\n lmoust: '⎰',\n lmoustache: '⎰',\n lnE: '≨',\n lnap: '⪉',\n lnapprox: '⪉',\n lne: '⪇',\n lneq: '⪇',\n lneqq: '≨',\n lnsim: '⋦',\n loang: '⟬',\n loarr: '⇽',\n lobrk: '⟦',\n longleftarrow: '⟵',\n longleftrightarrow: '⟷',\n longmapsto: '⟼',\n longrightarrow: '⟶',\n looparrowleft: '↫',\n looparrowright: '↬',\n lopar: '⦅',\n lopf: '𝕝',\n loplus: '⨭',\n lotimes: '⨴',\n lowast: '∗',\n lowbar: '_',\n loz: '◊',\n lozenge: '◊',\n lozf: '⧫',\n lpar: '(',\n lparlt: '⦓',\n lrarr: '⇆',\n lrcorner: '⌟',\n lrhar: '⇋',\n lrhard: '⥭',\n lrm: '‎',\n lrtri: '⊿',\n lsaquo: '‹',\n lscr: '𝓁',\n lsh: '↰',\n lsim: '≲',\n lsime: '⪍',\n lsimg: '⪏',\n lsqb: '[',\n lsquo: '‘',\n lsquor: '‚',\n lstrok: 'ł',\n lt: '<',\n ltcc: '⪦',\n ltcir: '⩹',\n ltdot: '⋖',\n lthree: '⋋',\n ltimes: '⋉',\n ltlarr: '⥶',\n ltquest: '⩻',\n ltrPar: '⦖',\n ltri: '◃',\n ltrie: '⊴',\n ltrif: '◂',\n lurdshar: '⥊',\n luruhar: '⥦',\n lvertneqq: '≨︀',\n lvnE: '≨︀',\n mDDot: '∺',\n macr: '¯',\n male: '♂',\n malt: '✠',\n maltese: '✠',\n map: '↦',\n mapsto: '↦',\n mapstodown: '↧',\n mapstoleft: '↤',\n mapstoup: '↥',\n marker: '▮',\n mcomma: '⨩',\n mcy: 'м',\n mdash: '—',\n measuredangle: '∡',\n mfr: '𝔪',\n mho: '℧',\n micro: 'µ',\n mid: '∣',\n midast: '*',\n midcir: '⫰',\n middot: '·',\n minus: '−',\n minusb: '⊟',\n minusd: '∸',\n minusdu: '⨪',\n mlcp: '⫛',\n mldr: '…',\n mnplus: '∓',\n models: '⊧',\n mopf: '𝕞',\n mp: '∓',\n mscr: '𝓂',\n mstpos: '∾',\n mu: 'μ',\n multimap: '⊸',\n mumap: '⊸',\n nGg: '⋙̸',\n nGt: '≫⃒',\n nGtv: '≫̸',\n nLeftarrow: '⇍',\n nLeftrightarrow: '⇎',\n nLl: '⋘̸',\n nLt: '≪⃒',\n nLtv: '≪̸',\n nRightarrow: '⇏',\n nVDash: '⊯',\n nVdash: '⊮',\n nabla: '∇',\n nacute: 'ń',\n nang: '∠⃒',\n nap: '≉',\n napE: '⩰̸',\n napid: '≋̸',\n napos: 'ʼn',\n napprox: '≉',\n natur: '♮',\n natural: '♮',\n naturals: 'ℕ',\n nbsp: ' ',\n nbump: '≎̸',\n nbumpe: '≏̸',\n ncap: '⩃',\n ncaron: 'ň',\n ncedil: 'ņ',\n ncong: '≇',\n ncongdot: '⩭̸',\n ncup: '⩂',\n ncy: 'н',\n ndash: '–',\n ne: '≠',\n neArr: '⇗',\n nearhk: '⤤',\n nearr: '↗',\n nearrow: '↗',\n nedot: '≐̸',\n nequiv: '≢',\n nesear: '⤨',\n nesim: '≂̸',\n nexist: '∄',\n nexists: '∄',\n nfr: '𝔫',\n ngE: '≧̸',\n nge: '≱',\n ngeq: '≱',\n ngeqq: '≧̸',\n ngeqslant: '⩾̸',\n nges: '⩾̸',\n ngsim: '≵',\n ngt: '≯',\n ngtr: '≯',\n nhArr: '⇎',\n nharr: '↮',\n nhpar: '⫲',\n ni: '∋',\n nis: '⋼',\n nisd: '⋺',\n niv: '∋',\n njcy: 'њ',\n nlArr: '⇍',\n nlE: '≦̸',\n nlarr: '↚',\n nldr: '‥',\n nle: '≰',\n nleftarrow: '↚',\n nleftrightarrow: '↮',\n nleq: '≰',\n nleqq: '≦̸',\n nleqslant: '⩽̸',\n nles: '⩽̸',\n nless: '≮',\n nlsim: '≴',\n nlt: '≮',\n nltri: '⋪',\n nltrie: '⋬',\n nmid: '∤',\n nopf: '𝕟',\n not: '¬',\n notin: '∉',\n notinE: '⋹̸',\n notindot: '⋵̸',\n notinva: '∉',\n notinvb: '⋷',\n notinvc: '⋶',\n notni: '∌',\n notniva: '∌',\n notnivb: '⋾',\n notnivc: '⋽',\n npar: '∦',\n nparallel: '∦',\n nparsl: '⫽⃥',\n npart: '∂̸',\n npolint: '⨔',\n npr: '⊀',\n nprcue: '⋠',\n npre: '⪯̸',\n nprec: '⊀',\n npreceq: '⪯̸',\n nrArr: '⇏',\n nrarr: '↛',\n nrarrc: '⤳̸',\n nrarrw: '↝̸',\n nrightarrow: '↛',\n nrtri: '⋫',\n nrtrie: '⋭',\n nsc: '⊁',\n nsccue: '⋡',\n nsce: '⪰̸',\n nscr: '𝓃',\n nshortmid: '∤',\n nshortparallel: '∦',\n nsim: '≁',\n nsime: '≄',\n nsimeq: '≄',\n nsmid: '∤',\n nspar: '∦',\n nsqsube: '⋢',\n nsqsupe: '⋣',\n nsub: '⊄',\n nsubE: '⫅̸',\n nsube: '⊈',\n nsubset: '⊂⃒',\n nsubseteq: '⊈',\n nsubseteqq: '⫅̸',\n nsucc: '⊁',\n nsucceq: '⪰̸',\n nsup: '⊅',\n nsupE: '⫆̸',\n nsupe: '⊉',\n nsupset: '⊃⃒',\n nsupseteq: '⊉',\n nsupseteqq: '⫆̸',\n ntgl: '≹',\n ntilde: 'ñ',\n ntlg: '≸',\n ntriangleleft: '⋪',\n ntrianglelefteq: '⋬',\n ntriangleright: '⋫',\n ntrianglerighteq: '⋭',\n nu: 'ν',\n num: '#',\n numero: '№',\n numsp: ' ',\n nvDash: '⊭',\n nvHarr: '⤄',\n nvap: '≍⃒',\n nvdash: '⊬',\n nvge: '≥⃒',\n nvgt: '>⃒',\n nvinfin: '⧞',\n nvlArr: '⤂',\n nvle: '≤⃒',\n nvlt: '<⃒',\n nvltrie: '⊴⃒',\n nvrArr: '⤃',\n nvrtrie: '⊵⃒',\n nvsim: '∼⃒',\n nwArr: '⇖',\n nwarhk: '⤣',\n nwarr: '↖',\n nwarrow: '↖',\n nwnear: '⤧',\n oS: 'Ⓢ',\n oacute: 'ó',\n oast: '⊛',\n ocir: '⊚',\n ocirc: 'ô',\n ocy: 'о',\n odash: '⊝',\n odblac: 'ő',\n odiv: '⨸',\n odot: '⊙',\n odsold: '⦼',\n oelig: 'œ',\n ofcir: '⦿',\n ofr: '𝔬',\n ogon: '˛',\n ograve: 'ò',\n ogt: '⧁',\n ohbar: '⦵',\n ohm: 'Ω',\n oint: '∮',\n olarr: '↺',\n olcir: '⦾',\n olcross: '⦻',\n oline: '‾',\n olt: '⧀',\n omacr: 'ō',\n omega: 'ω',\n omicron: 'ο',\n omid: '⦶',\n ominus: '⊖',\n oopf: '𝕠',\n opar: '⦷',\n operp: '⦹',\n oplus: '⊕',\n or: '∨',\n orarr: '↻',\n ord: '⩝',\n order: 'ℴ',\n orderof: 'ℴ',\n ordf: 'ª',\n ordm: 'º',\n origof: '⊶',\n oror: '⩖',\n orslope: '⩗',\n orv: '⩛',\n oscr: 'ℴ',\n oslash: 'ø',\n osol: '⊘',\n otilde: 'õ',\n otimes: '⊗',\n otimesas: '⨶',\n ouml: 'ö',\n ovbar: '⌽',\n par: '∥',\n para: '¶',\n parallel: '∥',\n parsim: '⫳',\n parsl: '⫽',\n part: '∂',\n pcy: 'п',\n percnt: '%',\n period: '.',\n permil: '‰',\n perp: '⊥',\n pertenk: '‱',\n pfr: '𝔭',\n phi: 'φ',\n phiv: 'ϕ',\n phmmat: 'ℳ',\n phone: '☎',\n pi: 'π',\n pitchfork: '⋔',\n piv: 'ϖ',\n planck: 'ℏ',\n planckh: 'ℎ',\n plankv: 'ℏ',\n plus: '+',\n plusacir: '⨣',\n plusb: '⊞',\n pluscir: '⨢',\n plusdo: '∔',\n plusdu: '⨥',\n pluse: '⩲',\n plusmn: '±',\n plussim: '⨦',\n plustwo: '⨧',\n pm: '±',\n pointint: '⨕',\n popf: '𝕡',\n pound: '£',\n pr: '≺',\n prE: '⪳',\n prap: '⪷',\n prcue: '≼',\n pre: '⪯',\n prec: '≺',\n precapprox: '⪷',\n preccurlyeq: '≼',\n preceq: '⪯',\n precnapprox: '⪹',\n precneqq: '⪵',\n precnsim: '⋨',\n precsim: '≾',\n prime: '′',\n primes: 'ℙ',\n prnE: '⪵',\n prnap: '⪹',\n prnsim: '⋨',\n prod: '∏',\n profalar: '⌮',\n profline: '⌒',\n profsurf: '⌓',\n prop: '∝',\n propto: '∝',\n prsim: '≾',\n prurel: '⊰',\n pscr: '𝓅',\n psi: 'ψ',\n puncsp: ' ',\n qfr: '𝔮',\n qint: '⨌',\n qopf: '𝕢',\n qprime: '⁗',\n qscr: '𝓆',\n quaternions: 'ℍ',\n quatint: '⨖',\n quest: '?',\n questeq: '≟',\n quot: '\"',\n rAarr: '⇛',\n rArr: '⇒',\n rAtail: '⤜',\n rBarr: '⤏',\n rHar: '⥤',\n race: '∽̱',\n racute: 'ŕ',\n radic: '√',\n raemptyv: '⦳',\n rang: '⟩',\n rangd: '⦒',\n range: '⦥',\n rangle: '⟩',\n raquo: '»',\n rarr: '→',\n rarrap: '⥵',\n rarrb: '⇥',\n rarrbfs: '⤠',\n rarrc: '⤳',\n rarrfs: '⤞',\n rarrhk: '↪',\n rarrlp: '↬',\n rarrpl: '⥅',\n rarrsim: '⥴',\n rarrtl: '↣',\n rarrw: '↝',\n ratail: '⤚',\n ratio: '∶',\n rationals: 'ℚ',\n rbarr: '⤍',\n rbbrk: '❳',\n rbrace: '}',\n rbrack: ']',\n rbrke: '⦌',\n rbrksld: '⦎',\n rbrkslu: '⦐',\n rcaron: 'ř',\n rcedil: 'ŗ',\n rceil: '⌉',\n rcub: '}',\n rcy: 'р',\n rdca: '⤷',\n rdldhar: '⥩',\n rdquo: '”',\n rdquor: '”',\n rdsh: '↳',\n real: 'ℜ',\n realine: 'ℛ',\n realpart: 'ℜ',\n reals: 'ℝ',\n rect: '▭',\n reg: '®',\n rfisht: '⥽',\n rfloor: '⌋',\n rfr: '𝔯',\n rhard: '⇁',\n rharu: '⇀',\n rharul: '⥬',\n rho: 'ρ',\n rhov: 'ϱ',\n rightarrow: '→',\n rightarrowtail: '↣',\n rightharpoondown: '⇁',\n rightharpoonup: '⇀',\n rightleftarrows: '⇄',\n rightleftharpoons: '⇌',\n rightrightarrows: '⇉',\n rightsquigarrow: '↝',\n rightthreetimes: '⋌',\n ring: '˚',\n risingdotseq: '≓',\n rlarr: '⇄',\n rlhar: '⇌',\n rlm: '‏',\n rmoust: '⎱',\n rmoustache: '⎱',\n rnmid: '⫮',\n roang: '⟭',\n roarr: '⇾',\n robrk: '⟧',\n ropar: '⦆',\n ropf: '𝕣',\n roplus: '⨮',\n rotimes: '⨵',\n rpar: ')',\n rpargt: '⦔',\n rppolint: '⨒',\n rrarr: '⇉',\n rsaquo: '›',\n rscr: '𝓇',\n rsh: '↱',\n rsqb: ']',\n rsquo: '’',\n rsquor: '’',\n rthree: '⋌',\n rtimes: '⋊',\n rtri: '▹',\n rtrie: '⊵',\n rtrif: '▸',\n rtriltri: '⧎',\n ruluhar: '⥨',\n rx: '℞',\n sacute: 'ś',\n sbquo: '‚',\n sc: '≻',\n scE: '⪴',\n scap: '⪸',\n scaron: 'š',\n sccue: '≽',\n sce: '⪰',\n scedil: 'ş',\n scirc: 'ŝ',\n scnE: '⪶',\n scnap: '⪺',\n scnsim: '⋩',\n scpolint: '⨓',\n scsim: '≿',\n scy: 'с',\n sdot: '⋅',\n sdotb: '⊡',\n sdote: '⩦',\n seArr: '⇘',\n searhk: '⤥',\n searr: '↘',\n searrow: '↘',\n sect: '§',\n semi: ';',\n seswar: '⤩',\n setminus: '∖',\n setmn: '∖',\n sext: '✶',\n sfr: '𝔰',\n sfrown: '⌢',\n sharp: '♯',\n shchcy: 'щ',\n shcy: 'ш',\n shortmid: '∣',\n shortparallel: '∥',\n shy: '­',\n sigma: 'σ',\n sigmaf: 'ς',\n sigmav: 'ς',\n sim: '∼',\n simdot: '⩪',\n sime: '≃',\n simeq: '≃',\n simg: '⪞',\n simgE: '⪠',\n siml: '⪝',\n simlE: '⪟',\n simne: '≆',\n simplus: '⨤',\n simrarr: '⥲',\n slarr: '←',\n smallsetminus: '∖',\n smashp: '⨳',\n smeparsl: '⧤',\n smid: '∣',\n smile: '⌣',\n smt: '⪪',\n smte: '⪬',\n smtes: '⪬︀',\n softcy: 'ь',\n sol: '/',\n solb: '⧄',\n solbar: '⌿',\n sopf: '𝕤',\n spades: '♠',\n spadesuit: '♠',\n spar: '∥',\n sqcap: '⊓',\n sqcaps: '⊓︀',\n sqcup: '⊔',\n sqcups: '⊔︀',\n sqsub: '⊏',\n sqsube: '⊑',\n sqsubset: '⊏',\n sqsubseteq: '⊑',\n sqsup: '⊐',\n sqsupe: '⊒',\n sqsupset: '⊐',\n sqsupseteq: '⊒',\n squ: '□',\n square: '□',\n squarf: '▪',\n squf: '▪',\n srarr: '→',\n sscr: '𝓈',\n ssetmn: '∖',\n ssmile: '⌣',\n sstarf: '⋆',\n star: '☆',\n starf: '★',\n straightepsilon: 'ϵ',\n straightphi: 'ϕ',\n strns: '¯',\n sub: '⊂',\n subE: '⫅',\n subdot: '⪽',\n sube: '⊆',\n subedot: '⫃',\n submult: '⫁',\n subnE: '⫋',\n subne: '⊊',\n subplus: '⪿',\n subrarr: '⥹',\n subset: '⊂',\n subseteq: '⊆',\n subseteqq: '⫅',\n subsetneq: '⊊',\n subsetneqq: '⫋',\n subsim: '⫇',\n subsub: '⫕',\n subsup: '⫓',\n succ: '≻',\n succapprox: '⪸',\n succcurlyeq: '≽',\n succeq: '⪰',\n succnapprox: '⪺',\n succneqq: '⪶',\n succnsim: '⋩',\n succsim: '≿',\n sum: '∑',\n sung: '♪',\n sup1: '¹',\n sup2: '²',\n sup3: '³',\n sup: '⊃',\n supE: '⫆',\n supdot: '⪾',\n supdsub: '⫘',\n supe: '⊇',\n supedot: '⫄',\n suphsol: '⟉',\n suphsub: '⫗',\n suplarr: '⥻',\n supmult: '⫂',\n supnE: '⫌',\n supne: '⊋',\n supplus: '⫀',\n supset: '⊃',\n supseteq: '⊇',\n supseteqq: '⫆',\n supsetneq: '⊋',\n supsetneqq: '⫌',\n supsim: '⫈',\n supsub: '⫔',\n supsup: '⫖',\n swArr: '⇙',\n swarhk: '⤦',\n swarr: '↙',\n swarrow: '↙',\n swnwar: '⤪',\n szlig: 'ß',\n target: '⌖',\n tau: 'τ',\n tbrk: '⎴',\n tcaron: 'ť',\n tcedil: 'ţ',\n tcy: 'т',\n tdot: '⃛',\n telrec: '⌕',\n tfr: '𝔱',\n there4: '∴',\n therefore: '∴',\n theta: 'θ',\n thetasym: 'ϑ',\n thetav: 'ϑ',\n thickapprox: '≈',\n thicksim: '∼',\n thinsp: ' ',\n thkap: '≈',\n thksim: '∼',\n thorn: 'þ',\n tilde: '˜',\n times: '×',\n timesb: '⊠',\n timesbar: '⨱',\n timesd: '⨰',\n tint: '∭',\n toea: '⤨',\n top: '⊤',\n topbot: '⌶',\n topcir: '⫱',\n topf: '𝕥',\n topfork: '⫚',\n tosa: '⤩',\n tprime: '‴',\n trade: '™',\n triangle: '▵',\n triangledown: '▿',\n triangleleft: '◃',\n trianglelefteq: '⊴',\n triangleq: '≜',\n triangleright: '▹',\n trianglerighteq: '⊵',\n tridot: '◬',\n trie: '≜',\n triminus: '⨺',\n triplus: '⨹',\n trisb: '⧍',\n tritime: '⨻',\n trpezium: '⏢',\n tscr: '𝓉',\n tscy: 'ц',\n tshcy: 'ћ',\n tstrok: 'ŧ',\n twixt: '≬',\n twoheadleftarrow: '↞',\n twoheadrightarrow: '↠',\n uArr: '⇑',\n uHar: '⥣',\n uacute: 'ú',\n uarr: '↑',\n ubrcy: 'ў',\n ubreve: 'ŭ',\n ucirc: 'û',\n ucy: 'у',\n udarr: '⇅',\n udblac: 'ű',\n udhar: '⥮',\n ufisht: '⥾',\n ufr: '𝔲',\n ugrave: 'ù',\n uharl: '↿',\n uharr: '↾',\n uhblk: '▀',\n ulcorn: '⌜',\n ulcorner: '⌜',\n ulcrop: '⌏',\n ultri: '◸',\n umacr: 'ū',\n uml: '¨',\n uogon: 'ų',\n uopf: '𝕦',\n uparrow: '↑',\n updownarrow: '↕',\n upharpoonleft: '↿',\n upharpoonright: '↾',\n uplus: '⊎',\n upsi: 'υ',\n upsih: 'ϒ',\n upsilon: 'υ',\n upuparrows: '⇈',\n urcorn: '⌝',\n urcorner: '⌝',\n urcrop: '⌎',\n uring: 'ů',\n urtri: '◹',\n uscr: '𝓊',\n utdot: '⋰',\n utilde: 'ũ',\n utri: '▵',\n utrif: '▴',\n uuarr: '⇈',\n uuml: 'ü',\n uwangle: '⦧',\n vArr: '⇕',\n vBar: '⫨',\n vBarv: '⫩',\n vDash: '⊨',\n vangrt: '⦜',\n varepsilon: 'ϵ',\n varkappa: 'ϰ',\n varnothing: '∅',\n varphi: 'ϕ',\n varpi: 'ϖ',\n varpropto: '∝',\n varr: '↕',\n varrho: 'ϱ',\n varsigma: 'ς',\n varsubsetneq: '⊊︀',\n varsubsetneqq: '⫋︀',\n varsupsetneq: '⊋︀',\n varsupsetneqq: '⫌︀',\n vartheta: 'ϑ',\n vartriangleleft: '⊲',\n vartriangleright: '⊳',\n vcy: 'в',\n vdash: '⊢',\n vee: '∨',\n veebar: '⊻',\n veeeq: '≚',\n vellip: '⋮',\n verbar: '|',\n vert: '|',\n vfr: '𝔳',\n vltri: '⊲',\n vnsub: '⊂⃒',\n vnsup: '⊃⃒',\n vopf: '𝕧',\n vprop: '∝',\n vrtri: '⊳',\n vscr: '𝓋',\n vsubnE: '⫋︀',\n vsubne: '⊊︀',\n vsupnE: '⫌︀',\n vsupne: '⊋︀',\n vzigzag: '⦚',\n wcirc: 'ŵ',\n wedbar: '⩟',\n wedge: '∧',\n wedgeq: '≙',\n weierp: '℘',\n wfr: '𝔴',\n wopf: '𝕨',\n wp: '℘',\n wr: '≀',\n wreath: '≀',\n wscr: '𝓌',\n xcap: '⋂',\n xcirc: '◯',\n xcup: '⋃',\n xdtri: '▽',\n xfr: '𝔵',\n xhArr: '⟺',\n xharr: '⟷',\n xi: 'ξ',\n xlArr: '⟸',\n xlarr: '⟵',\n xmap: '⟼',\n xnis: '⋻',\n xodot: '⨀',\n xopf: '𝕩',\n xoplus: '⨁',\n xotime: '⨂',\n xrArr: '⟹',\n xrarr: '⟶',\n xscr: '𝓍',\n xsqcup: '⨆',\n xuplus: '⨄',\n xutri: '△',\n xvee: '⋁',\n xwedge: '⋀',\n yacute: 'ý',\n yacy: 'я',\n ycirc: 'ŷ',\n ycy: 'ы',\n yen: '¥',\n yfr: '𝔶',\n yicy: 'ї',\n yopf: '𝕪',\n yscr: '𝓎',\n yucy: 'ю',\n yuml: 'ÿ',\n zacute: 'ź',\n zcaron: 'ž',\n zcy: 'з',\n zdot: 'ż',\n zeetrf: 'ℨ',\n zeta: 'ζ',\n zfr: '𝔷',\n zhcy: 'ж',\n zigrarr: '⇝',\n zopf: '𝕫',\n zscr: '𝓏',\n zwj: '‍',\n zwnj: '‌'\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/character-entities/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/decode-named-character-reference/index.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/decode-named-character-reference/index.js ***! + \*********************************************************************************/ +/*! exports provided: decodeNamedCharacterReference */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeNamedCharacterReference\", function() { return decodeNamedCharacterReference; });\n/* harmony import */ var character_entities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! character-entities */ \"../simple-mind-map/node_modules/character-entities/index.js\");\n\n\n// To do: next major: use `Object.hasOwn`.\nconst own = {}.hasOwnProperty\n\n/**\n * Decode a single character reference (without the `&` or `;`).\n * You probably only need this when you’re building parsers yourself that follow\n * different rules compared to HTML.\n * This is optimized to be tiny in browsers.\n *\n * @param {string} value\n * `notin` (named), `#123` (deci), `#x123` (hexa).\n * @returns {string|false}\n * Decoded reference.\n */\nfunction decodeNamedCharacterReference(value) {\n return own.call(character_entities__WEBPACK_IMPORTED_MODULE_0__[\"characterEntities\"], value) ? character_entities__WEBPACK_IMPORTED_MODULE_0__[\"characterEntities\"][value] : false\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/decode-named-character-reference/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/deepmerge/dist/cjs.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/deepmerge/dist/cjs.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/deepmerge/dist/cjs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/eventemitter3/index.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/eventemitter3/index.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif (true) {\n module.exports = EventEmitter;\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/eventemitter3/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/fast-diff/diff.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/fast-diff/diff.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @param {boolean} [cleanup] Apply semantic cleanup before returning.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, cleanup, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n if (cleanup) {\n diff_cleanupSemantic(diffs);\n }\n return diffs;\n}\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)],\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n}\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = delta % 2 !== 0;\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length &&\n y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length &&\n y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ===\n text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n}\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n}\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n * string and the start of the second string.\n * @private\n */\nfunction diff_commonOverlap_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n // Eliminate the null case.\n if (text1_length == 0 || text2_length == 0) {\n return 0;\n }\n // Truncate the longer string.\n if (text1_length > text2_length) {\n text1 = text1.substring(text1_length - text2_length);\n } else if (text1_length < text2_length) {\n text2 = text2.substring(0, text1_length);\n }\n var text_length = Math.min(text1_length, text2_length);\n // Quick check for the worst case.\n if (text1 == text2) {\n return text_length;\n }\n\n // Start by looking for a single character match\n // and increase length until no match is found.\n // Performance analysis: http://neil.fraser.name/news/2010/11/04/\n var best = 0;\n var length = 1;\n while (true) {\n var pattern = text1.substring(text_length - length);\n var found = text2.indexOf(pattern);\n if (found == -1) {\n return best;\n }\n length += found;\n if (\n found == 0 ||\n text1.substring(text_length - length) == text2.substring(0, length)\n ) {\n best = length;\n length++;\n }\n }\n}\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = \"\";\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i),\n shorttext.substring(j)\n );\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i),\n shorttext.substring(0, j)\n );\n if (best_common.length < suffixLength + prefixLength) {\n best_common =\n shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a,\n best_longtext_b,\n best_shorttext_a,\n best_shorttext_b,\n best_common,\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 4)\n );\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 2)\n );\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n}\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemantic(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastequality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Number of characters that changed prior to the equality.\n var length_insertions1 = 0;\n var length_deletions1 = 0;\n // Number of characters that changed after the equality.\n var length_insertions2 = 0;\n var length_deletions2 = 0;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) {\n // Equality found.\n equalities[equalitiesLength++] = pointer;\n length_insertions1 = length_insertions2;\n length_deletions1 = length_deletions2;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = diffs[pointer][1];\n } else {\n // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_INSERT) {\n length_insertions2 += diffs[pointer][1].length;\n } else {\n length_deletions2 += diffs[pointer][1].length;\n }\n // Eliminate an equality that is smaller or equal to the edits on both\n // sides of it.\n if (\n lastequality &&\n lastequality.length <=\n Math.max(length_insertions1, length_deletions1) &&\n lastequality.length <= Math.max(length_insertions2, length_deletions2)\n ) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0, [\n DIFF_DELETE,\n lastequality,\n ]);\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n // Throw away the equality we just deleted.\n equalitiesLength--;\n // Throw away the previous equality (it needs to be reevaluated).\n equalitiesLength--;\n pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n length_insertions1 = 0; // Reset the counters.\n length_deletions1 = 0;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = null;\n changes = true;\n }\n }\n pointer++;\n }\n\n // Normalize the diff.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n diff_cleanupSemanticLossless(diffs);\n\n // Find any overlaps between deletions and insertions.\n // e.g: abcxxxxxxdef\n // -> abcxxxdef\n // e.g: xxxabcdefxxx\n // -> defxxxabc\n // Only extract an overlap if it is as big as the edit ahead or behind it.\n pointer = 1;\n while (pointer < diffs.length) {\n if (\n diffs[pointer - 1][0] == DIFF_DELETE &&\n diffs[pointer][0] == DIFF_INSERT\n ) {\n var deletion = diffs[pointer - 1][1];\n var insertion = diffs[pointer][1];\n var overlap_length1 = diff_commonOverlap_(deletion, insertion);\n var overlap_length2 = diff_commonOverlap_(insertion, deletion);\n if (overlap_length1 >= overlap_length2) {\n if (\n overlap_length1 >= deletion.length / 2 ||\n overlap_length1 >= insertion.length / 2\n ) {\n // Overlap found. Insert an equality and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n insertion.substring(0, overlap_length1),\n ]);\n diffs[pointer - 1][1] = deletion.substring(\n 0,\n deletion.length - overlap_length1\n );\n diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n pointer++;\n }\n } else {\n if (\n overlap_length2 >= deletion.length / 2 ||\n overlap_length2 >= insertion.length / 2\n ) {\n // Reverse overlap found.\n // Insert an equality and swap and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n deletion.substring(0, overlap_length2),\n ]);\n diffs[pointer - 1][0] = DIFF_INSERT;\n diffs[pointer - 1][1] = insertion.substring(\n 0,\n insertion.length - overlap_length2\n );\n diffs[pointer + 1][0] = DIFF_DELETE;\n diffs[pointer + 1][1] = deletion.substring(overlap_length2);\n pointer++;\n }\n }\n pointer++;\n }\n pointer++;\n }\n}\n\nvar nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\nvar whitespaceRegex_ = /\\s/;\nvar linebreakRegex_ = /[\\r\\n]/;\nvar blanklineEndRegex_ = /\\n\\r?\\n$/;\nvar blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The cat came. -> The cat came.\n * @param {!Array.} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemanticLossless(diffs) {\n /**\n * Given two strings, compute a score representing whether the internal\n * boundary falls on logical boundaries.\n * Scores range from 6 (best) to 0 (worst).\n * Closure, but does not reference any external variables.\n * @param {string} one First string.\n * @param {string} two Second string.\n * @return {number} The score.\n * @private\n */\n function diff_cleanupSemanticScore_(one, two) {\n if (!one || !two) {\n // Edges are the best.\n return 6;\n }\n\n // Each port of this function behaves slightly differently due to\n // subtle differences in each language's definition of things like\n // 'whitespace'. Since this function's purpose is largely cosmetic,\n // the choice has been made to use each language's native features\n // rather than force total conformity.\n var char1 = one.charAt(one.length - 1);\n var char2 = two.charAt(0);\n var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);\n var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);\n var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);\n var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);\n var lineBreak1 = whitespace1 && char1.match(linebreakRegex_);\n var lineBreak2 = whitespace2 && char2.match(linebreakRegex_);\n var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);\n var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);\n\n if (blankLine1 || blankLine2) {\n // Five points for blank lines.\n return 5;\n } else if (lineBreak1 || lineBreak2) {\n // Four points for line breaks.\n return 4;\n } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n // Three points for end of sentences.\n return 3;\n } else if (whitespace1 || whitespace2) {\n // Two points for whitespace.\n return 2;\n } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n // One point for non-alphanumeric.\n return 1;\n }\n return 0;\n }\n\n var pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n var equality1 = diffs[pointer - 1][1];\n var edit = diffs[pointer][1];\n var equality2 = diffs[pointer + 1][1];\n\n // First, shift the edit as far left as possible.\n var commonOffset = diff_commonSuffix(equality1, edit);\n if (commonOffset) {\n var commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset);\n edit = commonString + edit.substring(0, edit.length - commonOffset);\n equality2 = commonString + equality2;\n }\n\n // Second, step character by character right, looking for the best fit.\n var bestEquality1 = equality1;\n var bestEdit = edit;\n var bestEquality2 = equality2;\n var bestScore =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n while (edit.charAt(0) === equality2.charAt(0)) {\n equality1 += edit.charAt(0);\n edit = edit.substring(1) + equality2.charAt(0);\n equality2 = equality2.substring(1);\n var score =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n // The >= encourages trailing rather than leading whitespace on edits.\n if (score >= bestScore) {\n bestScore = score;\n bestEquality1 = equality1;\n bestEdit = edit;\n bestEquality2 = equality2;\n }\n }\n\n if (diffs[pointer - 1][1] != bestEquality1) {\n // We have an improvement, save it back to the diff.\n if (bestEquality1) {\n diffs[pointer - 1][1] = bestEquality1;\n } else {\n diffs.splice(pointer - 1, 1);\n pointer--;\n }\n diffs[pointer][1] = bestEdit;\n if (bestEquality2) {\n diffs[pointer + 1][1] = bestEquality2;\n } else {\n diffs.splice(pointer + 1, 1);\n pointer--;\n }\n }\n }\n pointer++;\n }\n}\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, \"\"]); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = \"\";\n var text_insert = \"\";\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (\n previous_equality >= 0 &&\n ends_with_pair_start(diffs[previous_equality][1])\n ) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(\n 0,\n -1\n );\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(\n 0,\n commonlength\n );\n } else {\n diffs.splice(0, 0, [\n DIFF_EQUAL,\n text_insert.substring(0, commonlength),\n ]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) +\n diffs[pointer][1];\n text_insert = text_insert.substring(\n 0,\n text_insert.length - commonlength\n );\n text_delete = text_delete.substring(\n 0,\n text_delete.length - commonlength\n );\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(\n pointer - n,\n n,\n [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]\n );\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = \"\";\n text_insert = \"\";\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === \"\") {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n if (\n diffs[pointer][1].substring(\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n ) === diffs[pointer - 1][1]\n ) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] =\n diffs[pointer - 1][1] +\n diffs[pointer][1].substring(\n 0,\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n );\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (\n diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]\n ) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n}\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xd800 && charCode <= 0xdbff;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xdc00 && charCode <= 0xdfff;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after],\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange =\n typeof cursor_pos === \"number\"\n ? { index: cursor_pos, length: 0 }\n : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === \"number\" ? null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos, cleanup) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, cleanup, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/fast-diff/diff.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/jszip/dist/jszip.min.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/jszip/dist/jszip.min.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var require;var require;/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n\n\n(c) 2009-2016 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r 15) {\n left = \"…\" + input.slice(start - 15, start);\n } else {\n left = input.slice(0, start);\n }\n\n let right;\n\n if (end + 15 < input.length) {\n right = input.slice(end, end + 15) + \"…\";\n } else {\n right = input.slice(end);\n }\n\n error += left + underlined + right;\n } // Some hackery to make ParseError a prototype of Error\n // See http://stackoverflow.com/a/8460753\n // $FlowFixMe\n\n\n const self = new Error(error);\n self.name = \"ParseError\"; // $FlowFixMe\n\n self.__proto__ = ParseError.prototype;\n self.position = start;\n\n if (start != null && end != null) {\n self.length = end - start;\n }\n\n self.rawMessage = message;\n return self;\n }\n\n} // $FlowFixMe More hackery\n\n\nParseError.prototype.__proto__ = Error.prototype;\n/* harmony default export */ var src_ParseError = (ParseError);\n;// CONCATENATED MODULE: ./src/utils.js\n/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Return whether an element is contained in a list\n */\nconst contains = function (list, elem) {\n return list.indexOf(elem) !== -1;\n};\n/**\n * Provide a default value if a setting is undefined\n * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022.\n */\n\n\nconst deflt = function (setting, defaultIfUndefined) {\n return setting === undefined ? defaultIfUndefined : setting;\n}; // hyphenate and escape adapted from Facebook's React under Apache 2 license\n\n\nconst uppercase = /([A-Z])/g;\n\nconst hyphenate = function (str) {\n return str.replace(uppercase, \"-$1\").toLowerCase();\n};\n\nconst ESCAPE_LOOKUP = {\n \"&\": \"&\",\n \">\": \">\",\n \"<\": \"<\",\n \"\\\"\": \""\",\n \"'\": \"'\"\n};\nconst ESCAPE_REGEX = /[&><\"']/g;\n/**\n * Escapes text to prevent scripting attacks.\n */\n\nfunction utils_escape(text) {\n return String(text).replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]);\n}\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\n\n\nconst getBaseElem = function (group) {\n if (group.type === \"ordgroup\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"color\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"font\") {\n return getBaseElem(group.body);\n } else {\n return group;\n }\n};\n/**\n * TeXbook algorithms often reference \"character boxes\", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\n\n\nconst isCharacterBox = function (group) {\n const baseElem = getBaseElem(group); // These are all they types of groups which hold single characters\n\n return baseElem.type === \"mathord\" || baseElem.type === \"textord\" || baseElem.type === \"atom\";\n};\n\nconst assert = function (value) {\n if (!value) {\n throw new Error('Expected non-null, but got ' + String(value));\n }\n\n return value;\n};\n/**\n * Return the protocol of a URL, or \"_relative\" if the URL does not specify a\n * protocol (and thus is relative), or `null` if URL has invalid protocol\n * (so should be outright rejected).\n */\n\nconst protocolFromUrl = function (url) {\n // Check for possible leading protocol.\n // https://url.spec.whatwg.org/#url-parsing strips leading whitespace\n // (U+20) or C0 control (U+00-U+1F) characters.\n // eslint-disable-next-line no-control-regex\n const protocol = /^[\\x00-\\x20]*([^\\\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(url);\n\n if (!protocol) {\n return \"_relative\";\n } // Reject weird colons\n\n\n if (protocol[2] !== \":\") {\n return null;\n } // Reject invalid characters in scheme according to\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.1\n\n\n if (!/^[a-zA-Z][a-zA-Z0-9+\\-.]*$/.test(protocol[1])) {\n return null;\n } // Lowercase the protocol\n\n\n return protocol[1].toLowerCase();\n};\n/* harmony default export */ var utils = ({\n contains,\n deflt,\n escape: utils_escape,\n hyphenate,\n getBaseElem,\n isCharacterBox,\n protocolFromUrl\n});\n;// CONCATENATED MODULE: ./src/Settings.js\n/* eslint no-console:0 */\n\n/**\n * This is a module for storing settings passed into KaTeX. It correctly handles\n * default settings.\n */\n\n\n\n// TODO: automatically generate documentation\n// TODO: check all properties on Settings exist\n// TODO: check the type of a property on Settings matches\nconst SETTINGS_SCHEMA = {\n displayMode: {\n type: \"boolean\",\n description: \"Render math in display mode, which puts the math in \" + \"display style (so \\\\int and \\\\sum are large, for example), and \" + \"centers the math on the page on its own line.\",\n cli: \"-d, --display-mode\"\n },\n output: {\n type: {\n enum: [\"htmlAndMathml\", \"html\", \"mathml\"]\n },\n description: \"Determines the markup language of the output.\",\n cli: \"-F, --format \"\n },\n leqno: {\n type: \"boolean\",\n description: \"Render display math in leqno style (left-justified tags).\"\n },\n fleqn: {\n type: \"boolean\",\n description: \"Render display math flush left.\"\n },\n throwOnError: {\n type: \"boolean\",\n default: true,\n cli: \"-t, --no-throw-on-error\",\n cliDescription: \"Render errors (in the color given by --error-color) ins\" + \"tead of throwing a ParseError exception when encountering an error.\"\n },\n errorColor: {\n type: \"string\",\n default: \"#cc0000\",\n cli: \"-c, --error-color \",\n cliDescription: \"A color string given in the format 'rgb' or 'rrggbb' \" + \"(no #). This option determines the color of errors rendered by the \" + \"-t option.\",\n cliProcessor: color => \"#\" + color\n },\n macros: {\n type: \"object\",\n cli: \"-m, --macro \",\n cliDescription: \"Define custom macro of the form '\\\\foo:expansion' (use \" + \"multiple -m arguments for multiple macros).\",\n cliDefault: [],\n cliProcessor: (def, defs) => {\n defs.push(def);\n return defs;\n }\n },\n minRuleThickness: {\n type: \"number\",\n description: \"Specifies a minimum thickness, in ems, for fraction lines,\" + \" `\\\\sqrt` top lines, `{array}` vertical lines, `\\\\hline`, \" + \"`\\\\hdashline`, `\\\\underline`, `\\\\overline`, and the borders of \" + \"`\\\\fbox`, `\\\\boxed`, and `\\\\fcolorbox`.\",\n processor: t => Math.max(0, t),\n cli: \"--min-rule-thickness \",\n cliProcessor: parseFloat\n },\n colorIsTextColor: {\n type: \"boolean\",\n description: \"Makes \\\\color behave like LaTeX's 2-argument \\\\textcolor, \" + \"instead of LaTeX's one-argument \\\\color mode change.\",\n cli: \"-b, --color-is-text-color\"\n },\n strict: {\n type: [{\n enum: [\"warn\", \"ignore\", \"error\"]\n }, \"boolean\", \"function\"],\n description: \"Turn on strict / LaTeX faithfulness mode, which throws an \" + \"error if the input uses features that are not supported by LaTeX.\",\n cli: \"-S, --strict\",\n cliDefault: false\n },\n trust: {\n type: [\"boolean\", \"function\"],\n description: \"Trust the input, enabling all HTML features such as \\\\url.\",\n cli: \"-T, --trust\"\n },\n maxSize: {\n type: \"number\",\n default: Infinity,\n description: \"If non-zero, all user-specified sizes, e.g. in \" + \"\\\\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, \" + \"elements and spaces can be arbitrarily large\",\n processor: s => Math.max(0, s),\n cli: \"-s, --max-size \",\n cliProcessor: parseInt\n },\n maxExpand: {\n type: \"number\",\n default: 1000,\n description: \"Limit the number of macro expansions to the specified \" + \"number, to prevent e.g. infinite macro loops. If set to Infinity, \" + \"the macro expander will try to fully expand as in LaTeX.\",\n processor: n => Math.max(0, n),\n cli: \"-e, --max-expand \",\n cliProcessor: n => n === \"Infinity\" ? Infinity : parseInt(n)\n },\n globalGroup: {\n type: \"boolean\",\n cli: false\n }\n};\n\nfunction getDefaultValue(schema) {\n if (schema.default) {\n return schema.default;\n }\n\n const type = schema.type;\n const defaultType = Array.isArray(type) ? type[0] : type;\n\n if (typeof defaultType !== 'string') {\n return defaultType.enum[0];\n }\n\n switch (defaultType) {\n case 'boolean':\n return false;\n\n case 'string':\n return '';\n\n case 'number':\n return 0;\n\n case 'object':\n return {};\n }\n}\n/**\n * The main Settings object\n *\n * The current options stored are:\n * - displayMode: Whether the expression should be typeset as inline math\n * (false, the default), meaning that the math starts in\n * \\textstyle and is placed in an inline-block); or as display\n * math (true), meaning that the math starts in \\displaystyle\n * and is placed in a block with vertical margin.\n */\n\n\nclass Settings {\n constructor(options) {\n this.displayMode = void 0;\n this.output = void 0;\n this.leqno = void 0;\n this.fleqn = void 0;\n this.throwOnError = void 0;\n this.errorColor = void 0;\n this.macros = void 0;\n this.minRuleThickness = void 0;\n this.colorIsTextColor = void 0;\n this.strict = void 0;\n this.trust = void 0;\n this.maxSize = void 0;\n this.maxExpand = void 0;\n this.globalGroup = void 0;\n // allow null options\n options = options || {};\n\n for (const prop in SETTINGS_SCHEMA) {\n if (SETTINGS_SCHEMA.hasOwnProperty(prop)) {\n // $FlowFixMe\n const schema = SETTINGS_SCHEMA[prop]; // TODO: validate options\n // $FlowFixMe\n\n this[prop] = options[prop] !== undefined ? schema.processor ? schema.processor(options[prop]) : options[prop] : getDefaultValue(schema);\n }\n }\n }\n /**\n * Report nonstrict (non-LaTeX-compatible) input.\n * Can safely not be called if `this.strict` is false in JavaScript.\n */\n\n\n reportNonstrict(errorCode, errorMsg, token) {\n let strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n strict = strict(errorCode, errorMsg, token);\n }\n\n if (!strict || strict === \"ignore\") {\n return;\n } else if (strict === true || strict === \"error\") {\n throw new src_ParseError(\"LaTeX-incompatible input and strict mode is set to 'error': \" + (errorMsg + \" [\" + errorCode + \"]\"), token);\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n }\n }\n /**\n * Check whether to apply strict (LaTeX-adhering) behavior for unusual\n * input (like `\\\\`). Unlike `nonstrict`, will not throw an error;\n * instead, \"error\" translates to a return value of `true`, while \"ignore\"\n * translates to a return value of `false`. May still print a warning:\n * \"warn\" prints a warning and returns `false`.\n * This is for the second category of `errorCode`s listed in the README.\n */\n\n\n useStrictBehavior(errorCode, errorMsg, token) {\n let strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n // But catch any exceptions thrown by function, treating them\n // like \"error\".\n try {\n strict = strict(errorCode, errorMsg, token);\n } catch (error) {\n strict = \"error\";\n }\n }\n\n if (!strict || strict === \"ignore\") {\n return false;\n } else if (strict === true || strict === \"error\") {\n return true;\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n }\n }\n /**\n * Check whether to test potentially dangerous input, and return\n * `true` (trusted) or `false` (untrusted). The sole argument `context`\n * should be an object with `command` field specifying the relevant LaTeX\n * command (as a string starting with `\\`), and any other arguments, etc.\n * If `context` has a `url` field, a `protocol` field will automatically\n * get added by this function (changing the specified object).\n */\n\n\n isTrusted(context) {\n if (context.url && !context.protocol) {\n const protocol = utils.protocolFromUrl(context.url);\n\n if (protocol == null) {\n return false;\n }\n\n context.protocol = protocol;\n }\n\n const trust = typeof this.trust === \"function\" ? this.trust(context) : this.trust;\n return Boolean(trust);\n }\n\n}\n;// CONCATENATED MODULE: ./src/Style.js\n/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), and a cramped flag.\n */\nclass Style {\n constructor(id, size, cramped) {\n this.id = void 0;\n this.size = void 0;\n this.cramped = void 0;\n this.id = id;\n this.size = size;\n this.cramped = cramped;\n }\n /**\n * Get the style of a superscript given a base in the current style.\n */\n\n\n sup() {\n return styles[sup[this.id]];\n }\n /**\n * Get the style of a subscript given a base in the current style.\n */\n\n\n sub() {\n return styles[sub[this.id]];\n }\n /**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\n\n\n fracNum() {\n return styles[fracNum[this.id]];\n }\n /**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\n\n\n fracDen() {\n return styles[fracDen[this.id]];\n }\n /**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn't change the style).\n */\n\n\n cramp() {\n return styles[cramp[this.id]];\n }\n /**\n * Get a text or display version of this style.\n */\n\n\n text() {\n return styles[Style_text[this.id]];\n }\n /**\n * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle)\n */\n\n\n isTight() {\n return this.size >= 2;\n }\n\n} // Export an interface for type checking, but don't expose the implementation.\n// This way, no more styles can be generated.\n\n\n// IDs of the different styles\nconst D = 0;\nconst Dc = 1;\nconst T = 2;\nconst Tc = 3;\nconst S = 4;\nconst Sc = 5;\nconst SS = 6;\nconst SSc = 7; // Instances of the different styles\n\nconst styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another\n\nconst sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nconst sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nconst fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nconst fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nconst cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\nconst Style_text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles.\n\n/* harmony default export */ var src_Style = ({\n DISPLAY: styles[D],\n TEXT: styles[T],\n SCRIPT: styles[S],\n SCRIPTSCRIPT: styles[SS]\n});\n;// CONCATENATED MODULE: ./src/unicodeScripts.js\n/*\n * This file defines the Unicode scripts and script families that we\n * support. To add new scripts or families, just add a new entry to the\n * scriptData array below. Adding scripts to the scriptData array allows\n * characters from that script to appear in \\text{} environments.\n */\n\n/**\n * Each script or script family has a name and an array of blocks.\n * Each block is an array of two numbers which specify the start and\n * end points (inclusive) of a block of Unicode codepoints.\n */\n\n/**\n * Unicode block data for the families of scripts we support in \\text{}.\n * Scripts only need to appear here if they do not have font metrics.\n */\nconst scriptData = [{\n // Latin characters beyond the Latin-1 characters we have metrics for.\n // Needed for Czech, Hungarian and Turkish text, for example.\n name: 'latin',\n blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B\n [0x0300, 0x036f] // Combining Diacritical marks\n ]\n}, {\n // The Cyrillic script used by Russian and related languages.\n // A Cyrillic subset used to be supported as explicitly defined\n // symbols in symbols.js\n name: 'cyrillic',\n blocks: [[0x0400, 0x04ff]]\n}, {\n // Armenian\n name: 'armenian',\n blocks: [[0x0530, 0x058F]]\n}, {\n // The Brahmic scripts of South and Southeast Asia\n // Devanagari (0900–097F)\n // Bengali (0980–09FF)\n // Gurmukhi (0A00–0A7F)\n // Gujarati (0A80–0AFF)\n // Oriya (0B00–0B7F)\n // Tamil (0B80–0BFF)\n // Telugu (0C00–0C7F)\n // Kannada (0C80–0CFF)\n // Malayalam (0D00–0D7F)\n // Sinhala (0D80–0DFF)\n // Thai (0E00–0E7F)\n // Lao (0E80–0EFF)\n // Tibetan (0F00–0FFF)\n // Myanmar (1000–109F)\n name: 'brahmic',\n blocks: [[0x0900, 0x109F]]\n}, {\n name: 'georgian',\n blocks: [[0x10A0, 0x10ff]]\n}, {\n // Chinese and Japanese.\n // The \"k\" in cjk is for Korean, but we've separated Korean out\n name: \"cjk\",\n blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana\n [0x4E00, 0x9FAF], // CJK ideograms\n [0xFF00, 0xFF60] // Fullwidth punctuation\n // TODO: add halfwidth Katakana and Romanji glyphs\n ]\n}, {\n // Korean\n name: 'hangul',\n blocks: [[0xAC00, 0xD7AF]]\n}];\n/**\n * Given a codepoint, return the name of the script or script family\n * it is from, or null if it is not part of a known block\n */\n\nfunction scriptFromCodepoint(codepoint) {\n for (let i = 0; i < scriptData.length; i++) {\n const script = scriptData[i];\n\n for (let i = 0; i < script.blocks.length; i++) {\n const block = script.blocks[i];\n\n if (codepoint >= block[0] && codepoint <= block[1]) {\n return script.name;\n }\n }\n }\n\n return null;\n}\n/**\n * A flattened version of all the supported blocks in a single array.\n * This is an optimization to make supportedCodepoint() fast.\n */\n\nconst allBlocks = [];\nscriptData.forEach(s => s.blocks.forEach(b => allBlocks.push(...b)));\n/**\n * Given a codepoint, return true if it falls within one of the\n * scripts or script families defined above and false otherwise.\n *\n * Micro benchmarks shows that this is faster than\n * /[\\u3000-\\u30FF\\u4E00-\\u9FAF\\uFF00-\\uFF60\\uAC00-\\uD7AF\\u0900-\\u109F]/.test()\n * in Firefox, Chrome and Node.\n */\n\nfunction supportedCodepoint(codepoint) {\n for (let i = 0; i < allBlocks.length; i += 2) {\n if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) {\n return true;\n }\n }\n\n return false;\n}\n;// CONCATENATED MODULE: ./src/svgGeometry.js\n/**\n * This file provides support to domTree.js and delimiter.js.\n * It's a storehouse of path geometry for SVG images.\n */\n// In all paths below, the viewBox-to-em scale is 1000:1.\nconst hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping.\n// The vinculum of a \\sqrt can be made thicker by a KaTeX rendering option.\n// Think of variable extraVinculum as two detours in the SVG path.\n// The detour begins at the lower left of the area labeled extraVinculum below.\n// The detour proceeds one extraVinculum distance up and slightly to the right,\n// displacing the radiused corner between surd and vinculum. The radius is\n// traversed as usual, then the detour resumes. It goes right, to the end of\n// the very long vinculum, then down one extraVinculum distance,\n// after which it resumes regular path geometry for the radical.\n\n/* vinculum\n /\n /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum\n / █████████████████████←0.04em (40 unit) std vinculum thickness\n / /\n / /\n / /\\\n / / surd\n*/\n\nconst sqrtMain = function (extraVinculum, hLinePad) {\n // sqrtMain path geometry is from glyph U221A in the font KaTeX Main\n return \"M95,\" + (622 + extraVinculum + hLinePad) + \"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\" + extraVinculum / 2.075 + \" -\" + extraVinculum + \"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\" + (40 + extraVinculum) + \"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\" + (834 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize1 = function (extraVinculum, hLinePad) {\n // size1 is from glyph U221A in the font KaTeX_Size1-Regular\n return \"M263,\" + (601 + extraVinculum + hLinePad) + \"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\" + extraVinculum / 2.084 + \" -\" + extraVinculum + \"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\" + (40 + extraVinculum) + \"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize2 = function (extraVinculum, hLinePad) {\n // size2 is from glyph U221A in the font KaTeX_Size2-Regular\n return \"M983 \" + (10 + extraVinculum + hLinePad) + \"\\nl\" + extraVinculum / 3.13 + \" -\" + extraVinculum + \"\\nc4,-6.7,10,-10,18,-10 H400000v\" + (40 + extraVinculum) + \"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize3 = function (extraVinculum, hLinePad) {\n // size3 is from glyph U221A in the font KaTeX_Size3-Regular\n return \"M424,\" + (2398 + extraVinculum + hLinePad) + \"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\" + extraVinculum / 4.223 + \" -\" + extraVinculum + \"c4,-6.7,10,-10,18,-10 H400000\\nv\" + (40 + extraVinculum) + \"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\" + (1001 + extraVinculum) + \" \" + hLinePad + \"\\nh400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nconst sqrtSize4 = function (extraVinculum, hLinePad) {\n // size4 is from glyph U221A in the font KaTeX_Size4-Regular\n return \"M473,\" + (2713 + extraVinculum + hLinePad) + \"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\" + extraVinculum / 5.298 + \" -\" + extraVinculum + \"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\" + (40 + extraVinculum) + \"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"H1017.7z\";\n};\n\nconst phasePath = function (y) {\n const x = y / 2; // x coordinate at top of angle\n\n return \"M400000 \" + y + \" H0 L\" + x + \" 0 l65 45 L145 \" + (y - 80) + \" H400000z\";\n};\n\nconst sqrtTall = function (extraVinculum, hLinePad, viewBoxHeight) {\n // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular\n // One path edge has a variable length. It runs vertically from the vinculum\n // to a point near (14 units) the bottom of the surd. The vinculum\n // is normally 40 units thick. So the length of the line in question is:\n const vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum;\n return \"M702 \" + (extraVinculum + hLinePad) + \"H400000\" + (40 + extraVinculum) + \"\\nH742v\" + vertSegment + \"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \" + hLinePad + \"H400000v\" + (40 + extraVinculum) + \"H742z\";\n};\n\nconst sqrtPath = function (size, extraVinculum, viewBoxHeight) {\n extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox.\n\n let path = \"\";\n\n switch (size) {\n case \"sqrtMain\":\n path = sqrtMain(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize1\":\n path = sqrtSize1(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize2\":\n path = sqrtSize2(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize3\":\n path = sqrtSize3(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize4\":\n path = sqrtSize4(extraVinculum, hLinePad);\n break;\n\n case \"sqrtTall\":\n path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight);\n }\n\n return path;\n};\nconst innerPath = function (name, height) {\n // The inner part of stretchy tall delimiters\n switch (name) {\n case \"\\u239c\":\n return \"M291 0 H417 V\" + height + \" H291z M291 0 H417 V\" + height + \" H291z\";\n\n case \"\\u2223\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\";\n\n case \"\\u2225\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\" + (\"M367 0 H410 V\" + height + \" H367z M367 0 H410 V\" + height + \" H367z\");\n\n case \"\\u239f\":\n return \"M457 0 H583 V\" + height + \" H457z M457 0 H583 V\" + height + \" H457z\";\n\n case \"\\u23a2\":\n return \"M319 0 H403 V\" + height + \" H319z M319 0 H403 V\" + height + \" H319z\";\n\n case \"\\u23a5\":\n return \"M263 0 H347 V\" + height + \" H263z M263 0 H347 V\" + height + \" H263z\";\n\n case \"\\u23aa\":\n return \"M384 0 H504 V\" + height + \" H384z M384 0 H504 V\" + height + \" H384z\";\n\n case \"\\u23d0\":\n return \"M312 0 H355 V\" + height + \" H312z M312 0 H355 V\" + height + \" H312z\";\n\n case \"\\u2016\":\n return \"M257 0 H300 V\" + height + \" H257z M257 0 H300 V\" + height + \" H257z\" + (\"M478 0 H521 V\" + height + \" H478z M478 0 H521 V\" + height + \" H478z\");\n\n default:\n return \"\";\n }\n};\nconst path = {\n // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main\n doubleleftarrow: \"M262 157\\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\\nm8 0v40h399730v-40zm0 194v40h399730v-40z\",\n // doublerightarrow is from glyph U+21D2 in font KaTeX Main\n doublerightarrow: \"M399738 392l\\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z\",\n // leftarrow is from glyph U+2190 in font KaTeX Main\n leftarrow: \"M400000 241H110l3-3c68.7-52.7 113.7-120\\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\\n l-3-3h399890zM100 241v40h399900v-40z\",\n // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular\n leftbrace: \"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z\",\n leftbraceunder: \"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z\",\n // overgroup is from the MnSymbol package (public domain)\n leftgroup: \"M400000 80\\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\\n 435 0h399565z\",\n leftgroupunder: \"M400000 262\\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\\n 435 219h399565z\",\n // Harpoons are from glyph U+21BD in font KaTeX Main\n leftharpoon: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z\",\n leftharpoonplus: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\\nm0 0v40h400000v-40z\",\n leftharpoondown: \"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z\",\n leftharpoondownplus: \"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z\",\n // hook is from glyph U+21A9 in font KaTeX Main\n lefthook: \"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\\n 71.5 23h399859zM103 281v-40h399897v40z\",\n leftlinesegment: \"M40 281 V428 H0 V94 H40 V241 H400000 v40z\\nM40 281 V428 H0 V94 H40 V241 H400000 v40z\",\n leftmapsto: \"M40 281 V448H0V74H40V241H400000v40z\\nM40 281 V448H0V74H40V241H400000v40z\",\n // tofrom is from glyph U+21C4 in font KaTeX AMS Regular\n leftToFrom: \"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z\",\n longequal: \"M0 50 h400000 v40H0z m0 194h40000v40H0z\\nM0 50 h400000 v40H0z m0 194h40000v40H0z\",\n midbrace: \"M200428 334\\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z\",\n midbraceunder: \"M199572 214\\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z\",\n oiintSize1: \"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z\",\n oiintSize2: \"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\\nc0 110 84 276 504 276s502.4-166 502.4-276z\",\n oiiintSize1: \"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z\",\n oiiintSize2: \"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z\",\n rightarrow: \"M0 241v40h399891c-47.3 35.3-84 78-110 128\\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n 151.7 139 205zm0 0v40h399900v-40z\",\n rightbrace: \"M400000 542l\\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z\",\n rightbraceunder: \"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z\",\n rightgroup: \"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\\n 3-1 3-3v-38c-76-158-257-219-435-219H0z\",\n rightgroupunder: \"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z\",\n rightharpoon: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\\n 69.2 92 94.5zm0 0v40h399900v-40z\",\n rightharpoonplus: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z\",\n rightharpoondown: \"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z\",\n rightharpoondownplus: \"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\\nm0-194v40h400000v-40zm0 0v40h400000v-40z\",\n righthook: \"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z\",\n rightlinesegment: \"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z\",\n rightToFrom: \"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z\",\n // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular\n twoheadleftarrow: \"M0 167c68 40\\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z\",\n twoheadrightarrow: \"M400000 167\\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z\",\n // tilde1 is a modified version of a glyph from the MnSymbol package\n tilde1: \"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\\n-68.267.847-113-73.952-191-73.952z\",\n // ditto tilde2, tilde3, & tilde4\n tilde2: \"M344 55.266c-142 0-300.638 81.316-311.5 86.418\\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z\",\n tilde3: \"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\\n -338 0-409-156.573-744-156.573z\",\n tilde4: \"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\\n -175.236-744-175.236z\",\n // vec is from glyph U+20D7 in font KaTeX Main\n vec: \"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\\nc-16-25.333-24-45-24-59z\",\n // widehat1 is a modified version of a glyph from the MnSymbol package\n widehat1: \"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z\",\n // ditto widehat2, widehat3, & widehat4\n widehat2: \"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat3: \"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat4: \"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n // widecheck paths are all inverted versions of widehat\n widecheck1: \"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z\",\n widecheck2: \"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck3: \"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck4: \"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n // The next ten paths support reaction arrows from the mhchem package.\n // Arrows for \\ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX\n // baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main\n baraboveleftarrow: \"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z\",\n // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main\n rightarrowabovebar: \"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z\",\n // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end.\n // Ref from mhchem.sty: \\rlap{\\raisebox{-.22ex}{$\\kern0.5em\n baraboveshortleftharpoon: \"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z\",\n rightharpoonaboveshortbar: \"M0,241 l0,40c399126,0,399993,0,399993,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z\",\n shortbaraboveleftharpoon: \"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z\",\n shortrightharpoonabovebar: \"M53,241l0,40c398570,0,399437,0,399437,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z\"\n};\nconst tallDelim = function (label, midHeight) {\n switch (label) {\n case \"lbrack\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v1759 h347 v-84\\nH403z M403 1759 V0 H319 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"rbrack\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v1759 H0 v84 H347z\\nM347 1759 V0 H263 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"vert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"doublevert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\\nM367 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"lfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1715 h263 v84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"rfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1799 H0 v-84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"lceil\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v602 h84z\\nM403 1759 V0 H319 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"rceil\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v602 h84z\\nM347 1759 V0 h-84 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"lparen\":\n return \"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\\n-36,557 l0,\" + (midHeight + 84) + \"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\\nl0,-\" + (midHeight + 92) + \"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z\";\n\n case \"rparen\":\n return \"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,\" + (midHeight + 9) + \"\\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\\nl0,-\" + (midHeight + 144) + \"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z\";\n\n default:\n // We should not ever get here.\n throw new Error(\"Unknown stretchy delimiter.\");\n }\n};\n;// CONCATENATED MODULE: ./src/tree.js\n\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn't have any representation itself. It only contains\n * children and doesn't have any DOM node properties.\n */\nclass DocumentFragment {\n // HtmlDomNode\n // Never used; needed for satisfying interface.\n constructor(children) {\n this.children = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.children = children;\n this.classes = [];\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = {};\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /** Convert the fragment into a node. */\n\n\n toNode() {\n const frag = document.createDocumentFragment();\n\n for (let i = 0; i < this.children.length; i++) {\n frag.appendChild(this.children[i].toNode());\n }\n\n return frag;\n }\n /** Convert the fragment into HTML markup. */\n\n\n toMarkup() {\n let markup = \"\"; // Simply concatenate the markup for the children together.\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText. Applies to\n * MathDomNode's only.\n */\n\n\n toText() {\n // To avoid this, we would subclass documentFragment separately for\n // MathML, but polyfills for subclassing is expensive per PR 1469.\n // $FlowFixMe: Only works for ChildType = MathDomNode.\n const toText = child => child.toText();\n\n return this.children.map(toText).join(\"\");\n }\n\n}\n;// CONCATENATED MODULE: ./src/fontMetricsData.js\n// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY.\n/* harmony default export */ var fontMetricsData = ({\n \"AMS-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68889, 0, 0, 0.72222],\n \"66\": [0, 0.68889, 0, 0, 0.66667],\n \"67\": [0, 0.68889, 0, 0, 0.72222],\n \"68\": [0, 0.68889, 0, 0, 0.72222],\n \"69\": [0, 0.68889, 0, 0, 0.66667],\n \"70\": [0, 0.68889, 0, 0, 0.61111],\n \"71\": [0, 0.68889, 0, 0, 0.77778],\n \"72\": [0, 0.68889, 0, 0, 0.77778],\n \"73\": [0, 0.68889, 0, 0, 0.38889],\n \"74\": [0.16667, 0.68889, 0, 0, 0.5],\n \"75\": [0, 0.68889, 0, 0, 0.77778],\n \"76\": [0, 0.68889, 0, 0, 0.66667],\n \"77\": [0, 0.68889, 0, 0, 0.94445],\n \"78\": [0, 0.68889, 0, 0, 0.72222],\n \"79\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"80\": [0, 0.68889, 0, 0, 0.61111],\n \"81\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"82\": [0, 0.68889, 0, 0, 0.72222],\n \"83\": [0, 0.68889, 0, 0, 0.55556],\n \"84\": [0, 0.68889, 0, 0, 0.66667],\n \"85\": [0, 0.68889, 0, 0, 0.72222],\n \"86\": [0, 0.68889, 0, 0, 0.72222],\n \"87\": [0, 0.68889, 0, 0, 1.0],\n \"88\": [0, 0.68889, 0, 0, 0.72222],\n \"89\": [0, 0.68889, 0, 0, 0.72222],\n \"90\": [0, 0.68889, 0, 0, 0.66667],\n \"107\": [0, 0.68889, 0, 0, 0.55556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"165\": [0, 0.675, 0.025, 0, 0.75],\n \"174\": [0.15559, 0.69224, 0, 0, 0.94666],\n \"240\": [0, 0.68889, 0, 0, 0.55556],\n \"295\": [0, 0.68889, 0, 0, 0.54028],\n \"710\": [0, 0.825, 0, 0, 2.33334],\n \"732\": [0, 0.9, 0, 0, 2.33334],\n \"770\": [0, 0.825, 0, 0, 2.33334],\n \"771\": [0, 0.9, 0, 0, 2.33334],\n \"989\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"1008\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"8245\": [0, 0.54986, 0, 0, 0.275],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8487\": [0, 0.68889, 0, 0, 0.72222],\n \"8498\": [0, 0.68889, 0, 0, 0.55556],\n \"8502\": [0, 0.68889, 0, 0, 0.66667],\n \"8503\": [0, 0.68889, 0, 0, 0.44445],\n \"8504\": [0, 0.68889, 0, 0, 0.66667],\n \"8513\": [0, 0.68889, 0, 0, 0.63889],\n \"8592\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8594\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8602\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8603\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8606\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8608\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8610\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8611\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8619\": [0, 0.54986, 0, 0, 1.0],\n \"8620\": [0, 0.54986, 0, 0, 1.0],\n \"8621\": [-0.13313, 0.37788, 0, 0, 1.38889],\n \"8622\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8624\": [0, 0.69224, 0, 0, 0.5],\n \"8625\": [0, 0.69224, 0, 0, 0.5],\n \"8630\": [0, 0.43056, 0, 0, 1.0],\n \"8631\": [0, 0.43056, 0, 0, 1.0],\n \"8634\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8635\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8638\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8639\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8642\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8643\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8644\": [0.1808, 0.675, 0, 0, 1.0],\n \"8646\": [0.1808, 0.675, 0, 0, 1.0],\n \"8647\": [0.1808, 0.675, 0, 0, 1.0],\n \"8648\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8649\": [0.1808, 0.675, 0, 0, 1.0],\n \"8650\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8651\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8652\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8653\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8654\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8655\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8666\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8667\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8669\": [-0.13313, 0.37788, 0, 0, 1.0],\n \"8672\": [-0.064, 0.437, 0, 0, 1.334],\n \"8674\": [-0.064, 0.437, 0, 0, 1.334],\n \"8705\": [0, 0.825, 0, 0, 0.5],\n \"8708\": [0, 0.68889, 0, 0, 0.55556],\n \"8709\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8717\": [0, 0.43056, 0, 0, 0.42917],\n \"8722\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8724\": [0.08198, 0.69224, 0, 0, 0.77778],\n \"8726\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8733\": [0, 0.69224, 0, 0, 0.77778],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8737\": [0, 0.69224, 0, 0, 0.72222],\n \"8738\": [0.03517, 0.52239, 0, 0, 0.72222],\n \"8739\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"8740\": [0.25142, 0.74111, 0, 0, 0.27778],\n \"8741\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"8742\": [0.25142, 0.74111, 0, 0, 0.5],\n \"8756\": [0, 0.69224, 0, 0, 0.66667],\n \"8757\": [0, 0.69224, 0, 0, 0.66667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8765\": [-0.13313, 0.37788, 0, 0, 0.77778],\n \"8769\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8770\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8774\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8778\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8782\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8783\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8785\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8786\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8787\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8790\": [0, 0.69224, 0, 0, 0.77778],\n \"8791\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8796\": [0.08198, 0.91667, 0, 0, 0.77778],\n \"8806\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8807\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8808\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8809\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8812\": [0.25583, 0.75583, 0, 0, 0.5],\n \"8814\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8815\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8816\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8817\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8818\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8819\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8822\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8823\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8828\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8829\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8830\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8831\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8832\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8833\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8840\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8841\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8842\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8843\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8847\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8848\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8858\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8859\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8861\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8862\": [0, 0.675, 0, 0, 0.77778],\n \"8863\": [0, 0.675, 0, 0, 0.77778],\n \"8864\": [0, 0.675, 0, 0, 0.77778],\n \"8865\": [0, 0.675, 0, 0, 0.77778],\n \"8872\": [0, 0.69224, 0, 0, 0.61111],\n \"8873\": [0, 0.69224, 0, 0, 0.72222],\n \"8874\": [0, 0.69224, 0, 0, 0.88889],\n \"8876\": [0, 0.68889, 0, 0, 0.61111],\n \"8877\": [0, 0.68889, 0, 0, 0.61111],\n \"8878\": [0, 0.68889, 0, 0, 0.72222],\n \"8879\": [0, 0.68889, 0, 0, 0.72222],\n \"8882\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8883\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8884\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8885\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8888\": [0, 0.54986, 0, 0, 1.11111],\n \"8890\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"8891\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8892\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8901\": [0, 0.54986, 0, 0, 0.27778],\n \"8903\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8905\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8906\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8907\": [0, 0.69224, 0, 0, 0.77778],\n \"8908\": [0, 0.69224, 0, 0, 0.77778],\n \"8909\": [-0.03598, 0.46402, 0, 0, 0.77778],\n \"8910\": [0, 0.54986, 0, 0, 0.76042],\n \"8911\": [0, 0.54986, 0, 0, 0.76042],\n \"8912\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8913\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8914\": [0, 0.54986, 0, 0, 0.66667],\n \"8915\": [0, 0.54986, 0, 0, 0.66667],\n \"8916\": [0, 0.69224, 0, 0, 0.66667],\n \"8918\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8919\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8920\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8921\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8922\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8923\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8926\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8927\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8928\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8929\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8934\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8935\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8936\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8937\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8938\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8939\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8940\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8941\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8994\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"8995\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"9416\": [0.15559, 0.69224, 0, 0, 0.90222],\n \"9484\": [0, 0.69224, 0, 0, 0.5],\n \"9488\": [0, 0.69224, 0, 0, 0.5],\n \"9492\": [0, 0.37788, 0, 0, 0.5],\n \"9496\": [0, 0.37788, 0, 0, 0.5],\n \"9585\": [0.19444, 0.68889, 0, 0, 0.88889],\n \"9586\": [0.19444, 0.74111, 0, 0, 0.88889],\n \"9632\": [0, 0.675, 0, 0, 0.77778],\n \"9633\": [0, 0.675, 0, 0, 0.77778],\n \"9650\": [0, 0.54986, 0, 0, 0.72222],\n \"9651\": [0, 0.54986, 0, 0, 0.72222],\n \"9654\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9660\": [0, 0.54986, 0, 0, 0.72222],\n \"9661\": [0, 0.54986, 0, 0, 0.72222],\n \"9664\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9674\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"9733\": [0.19444, 0.69224, 0, 0, 0.94445],\n \"10003\": [0, 0.69224, 0, 0, 0.83334],\n \"10016\": [0, 0.69224, 0, 0, 0.83334],\n \"10731\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"10846\": [0.19444, 0.75583, 0, 0, 0.61111],\n \"10877\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10878\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10885\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10886\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10887\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10888\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10889\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10890\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10891\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10892\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10901\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10902\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10933\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10934\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10935\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10936\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10937\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10938\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10949\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10950\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10955\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"10956\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"57350\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"57351\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"57352\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"57353\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"57356\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57357\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57358\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57359\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57360\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57361\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57366\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57367\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57368\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57369\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57370\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57371\": [0.13597, 0.63597, 0, 0, 0.77778]\n },\n \"Caligraphic-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68333, 0, 0.19445, 0.79847],\n \"66\": [0, 0.68333, 0.03041, 0.13889, 0.65681],\n \"67\": [0, 0.68333, 0.05834, 0.13889, 0.52653],\n \"68\": [0, 0.68333, 0.02778, 0.08334, 0.77139],\n \"69\": [0, 0.68333, 0.08944, 0.11111, 0.52778],\n \"70\": [0, 0.68333, 0.09931, 0.11111, 0.71875],\n \"71\": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],\n \"72\": [0, 0.68333, 0.00965, 0.11111, 0.84452],\n \"73\": [0, 0.68333, 0.07382, 0, 0.54452],\n \"74\": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],\n \"75\": [0, 0.68333, 0.01445, 0.05556, 0.76195],\n \"76\": [0, 0.68333, 0, 0.13889, 0.68972],\n \"77\": [0, 0.68333, 0, 0.13889, 1.2009],\n \"78\": [0, 0.68333, 0.14736, 0.08334, 0.82049],\n \"79\": [0, 0.68333, 0.02778, 0.11111, 0.79611],\n \"80\": [0, 0.68333, 0.08222, 0.08334, 0.69556],\n \"81\": [0.09722, 0.68333, 0, 0.11111, 0.81667],\n \"82\": [0, 0.68333, 0, 0.08334, 0.8475],\n \"83\": [0, 0.68333, 0.075, 0.13889, 0.60556],\n \"84\": [0, 0.68333, 0.25417, 0, 0.54464],\n \"85\": [0, 0.68333, 0.09931, 0.08334, 0.62583],\n \"86\": [0, 0.68333, 0.08222, 0, 0.61278],\n \"87\": [0, 0.68333, 0.08222, 0.08334, 0.98778],\n \"88\": [0, 0.68333, 0.14643, 0.13889, 0.7133],\n \"89\": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],\n \"90\": [0, 0.68333, 0.07944, 0.13889, 0.72473],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Fraktur-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69141, 0, 0, 0.29574],\n \"34\": [0, 0.69141, 0, 0, 0.21471],\n \"38\": [0, 0.69141, 0, 0, 0.73786],\n \"39\": [0, 0.69141, 0, 0, 0.21201],\n \"40\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"41\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"42\": [0, 0.62119, 0, 0, 0.27764],\n \"43\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"44\": [0, 0.10803, 0, 0, 0.27764],\n \"45\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"46\": [0, 0.10803, 0, 0, 0.27764],\n \"47\": [0.24982, 0.74947, 0, 0, 0.50181],\n \"48\": [0, 0.47534, 0, 0, 0.50181],\n \"49\": [0, 0.47534, 0, 0, 0.50181],\n \"50\": [0, 0.47534, 0, 0, 0.50181],\n \"51\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"52\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"53\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"54\": [0, 0.69141, 0, 0, 0.50181],\n \"55\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"56\": [0, 0.69141, 0, 0, 0.50181],\n \"57\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"58\": [0, 0.47534, 0, 0, 0.21606],\n \"59\": [0.12604, 0.47534, 0, 0, 0.21606],\n \"61\": [-0.13099, 0.36866, 0, 0, 0.75623],\n \"63\": [0, 0.69141, 0, 0, 0.36245],\n \"65\": [0, 0.69141, 0, 0, 0.7176],\n \"66\": [0, 0.69141, 0, 0, 0.88397],\n \"67\": [0, 0.69141, 0, 0, 0.61254],\n \"68\": [0, 0.69141, 0, 0, 0.83158],\n \"69\": [0, 0.69141, 0, 0, 0.66278],\n \"70\": [0.12604, 0.69141, 0, 0, 0.61119],\n \"71\": [0, 0.69141, 0, 0, 0.78539],\n \"72\": [0.06302, 0.69141, 0, 0, 0.7203],\n \"73\": [0, 0.69141, 0, 0, 0.55448],\n \"74\": [0.12604, 0.69141, 0, 0, 0.55231],\n \"75\": [0, 0.69141, 0, 0, 0.66845],\n \"76\": [0, 0.69141, 0, 0, 0.66602],\n \"77\": [0, 0.69141, 0, 0, 1.04953],\n \"78\": [0, 0.69141, 0, 0, 0.83212],\n \"79\": [0, 0.69141, 0, 0, 0.82699],\n \"80\": [0.18906, 0.69141, 0, 0, 0.82753],\n \"81\": [0.03781, 0.69141, 0, 0, 0.82699],\n \"82\": [0, 0.69141, 0, 0, 0.82807],\n \"83\": [0, 0.69141, 0, 0, 0.82861],\n \"84\": [0, 0.69141, 0, 0, 0.66899],\n \"85\": [0, 0.69141, 0, 0, 0.64576],\n \"86\": [0, 0.69141, 0, 0, 0.83131],\n \"87\": [0, 0.69141, 0, 0, 1.04602],\n \"88\": [0, 0.69141, 0, 0, 0.71922],\n \"89\": [0.18906, 0.69141, 0, 0, 0.83293],\n \"90\": [0.12604, 0.69141, 0, 0, 0.60201],\n \"91\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"93\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"94\": [0, 0.69141, 0, 0, 0.49965],\n \"97\": [0, 0.47534, 0, 0, 0.50046],\n \"98\": [0, 0.69141, 0, 0, 0.51315],\n \"99\": [0, 0.47534, 0, 0, 0.38946],\n \"100\": [0, 0.62119, 0, 0, 0.49857],\n \"101\": [0, 0.47534, 0, 0, 0.40053],\n \"102\": [0.18906, 0.69141, 0, 0, 0.32626],\n \"103\": [0.18906, 0.47534, 0, 0, 0.5037],\n \"104\": [0.18906, 0.69141, 0, 0, 0.52126],\n \"105\": [0, 0.69141, 0, 0, 0.27899],\n \"106\": [0, 0.69141, 0, 0, 0.28088],\n \"107\": [0, 0.69141, 0, 0, 0.38946],\n \"108\": [0, 0.69141, 0, 0, 0.27953],\n \"109\": [0, 0.47534, 0, 0, 0.76676],\n \"110\": [0, 0.47534, 0, 0, 0.52666],\n \"111\": [0, 0.47534, 0, 0, 0.48885],\n \"112\": [0.18906, 0.52396, 0, 0, 0.50046],\n \"113\": [0.18906, 0.47534, 0, 0, 0.48912],\n \"114\": [0, 0.47534, 0, 0, 0.38919],\n \"115\": [0, 0.47534, 0, 0, 0.44266],\n \"116\": [0, 0.62119, 0, 0, 0.33301],\n \"117\": [0, 0.47534, 0, 0, 0.5172],\n \"118\": [0, 0.52396, 0, 0, 0.5118],\n \"119\": [0, 0.52396, 0, 0, 0.77351],\n \"120\": [0.18906, 0.47534, 0, 0, 0.38865],\n \"121\": [0.18906, 0.47534, 0, 0, 0.49884],\n \"122\": [0.18906, 0.47534, 0, 0, 0.39054],\n \"160\": [0, 0, 0, 0, 0.25],\n \"8216\": [0, 0.69141, 0, 0, 0.21471],\n \"8217\": [0, 0.69141, 0, 0, 0.21471],\n \"58112\": [0, 0.62119, 0, 0, 0.49749],\n \"58113\": [0, 0.62119, 0, 0, 0.4983],\n \"58114\": [0.18906, 0.69141, 0, 0, 0.33328],\n \"58115\": [0.18906, 0.69141, 0, 0, 0.32923],\n \"58116\": [0.18906, 0.47534, 0, 0, 0.50343],\n \"58117\": [0, 0.69141, 0, 0, 0.33301],\n \"58118\": [0, 0.62119, 0, 0, 0.33409],\n \"58119\": [0, 0.47534, 0, 0, 0.50073]\n },\n \"Main-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.35],\n \"34\": [0, 0.69444, 0, 0, 0.60278],\n \"35\": [0.19444, 0.69444, 0, 0, 0.95833],\n \"36\": [0.05556, 0.75, 0, 0, 0.575],\n \"37\": [0.05556, 0.75, 0, 0, 0.95833],\n \"38\": [0, 0.69444, 0, 0, 0.89444],\n \"39\": [0, 0.69444, 0, 0, 0.31944],\n \"40\": [0.25, 0.75, 0, 0, 0.44722],\n \"41\": [0.25, 0.75, 0, 0, 0.44722],\n \"42\": [0, 0.75, 0, 0, 0.575],\n \"43\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"44\": [0.19444, 0.15556, 0, 0, 0.31944],\n \"45\": [0, 0.44444, 0, 0, 0.38333],\n \"46\": [0, 0.15556, 0, 0, 0.31944],\n \"47\": [0.25, 0.75, 0, 0, 0.575],\n \"48\": [0, 0.64444, 0, 0, 0.575],\n \"49\": [0, 0.64444, 0, 0, 0.575],\n \"50\": [0, 0.64444, 0, 0, 0.575],\n \"51\": [0, 0.64444, 0, 0, 0.575],\n \"52\": [0, 0.64444, 0, 0, 0.575],\n \"53\": [0, 0.64444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0, 0.64444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0, 0.64444, 0, 0, 0.575],\n \"58\": [0, 0.44444, 0, 0, 0.31944],\n \"59\": [0.19444, 0.44444, 0, 0, 0.31944],\n \"60\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"61\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"62\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"63\": [0, 0.69444, 0, 0, 0.54305],\n \"64\": [0, 0.69444, 0, 0, 0.89444],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0, 0, 0.81805],\n \"67\": [0, 0.68611, 0, 0, 0.83055],\n \"68\": [0, 0.68611, 0, 0, 0.88194],\n \"69\": [0, 0.68611, 0, 0, 0.75555],\n \"70\": [0, 0.68611, 0, 0, 0.72361],\n \"71\": [0, 0.68611, 0, 0, 0.90416],\n \"72\": [0, 0.68611, 0, 0, 0.9],\n \"73\": [0, 0.68611, 0, 0, 0.43611],\n \"74\": [0, 0.68611, 0, 0, 0.59444],\n \"75\": [0, 0.68611, 0, 0, 0.90138],\n \"76\": [0, 0.68611, 0, 0, 0.69166],\n \"77\": [0, 0.68611, 0, 0, 1.09166],\n \"78\": [0, 0.68611, 0, 0, 0.9],\n \"79\": [0, 0.68611, 0, 0, 0.86388],\n \"80\": [0, 0.68611, 0, 0, 0.78611],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86388],\n \"82\": [0, 0.68611, 0, 0, 0.8625],\n \"83\": [0, 0.68611, 0, 0, 0.63889],\n \"84\": [0, 0.68611, 0, 0, 0.8],\n \"85\": [0, 0.68611, 0, 0, 0.88472],\n \"86\": [0, 0.68611, 0.01597, 0, 0.86944],\n \"87\": [0, 0.68611, 0.01597, 0, 1.18888],\n \"88\": [0, 0.68611, 0, 0, 0.86944],\n \"89\": [0, 0.68611, 0.02875, 0, 0.86944],\n \"90\": [0, 0.68611, 0, 0, 0.70277],\n \"91\": [0.25, 0.75, 0, 0, 0.31944],\n \"92\": [0.25, 0.75, 0, 0, 0.575],\n \"93\": [0.25, 0.75, 0, 0, 0.31944],\n \"94\": [0, 0.69444, 0, 0, 0.575],\n \"95\": [0.31, 0.13444, 0.03194, 0, 0.575],\n \"97\": [0, 0.44444, 0, 0, 0.55902],\n \"98\": [0, 0.69444, 0, 0, 0.63889],\n \"99\": [0, 0.44444, 0, 0, 0.51111],\n \"100\": [0, 0.69444, 0, 0, 0.63889],\n \"101\": [0, 0.44444, 0, 0, 0.52708],\n \"102\": [0, 0.69444, 0.10903, 0, 0.35139],\n \"103\": [0.19444, 0.44444, 0.01597, 0, 0.575],\n \"104\": [0, 0.69444, 0, 0, 0.63889],\n \"105\": [0, 0.69444, 0, 0, 0.31944],\n \"106\": [0.19444, 0.69444, 0, 0, 0.35139],\n \"107\": [0, 0.69444, 0, 0, 0.60694],\n \"108\": [0, 0.69444, 0, 0, 0.31944],\n \"109\": [0, 0.44444, 0, 0, 0.95833],\n \"110\": [0, 0.44444, 0, 0, 0.63889],\n \"111\": [0, 0.44444, 0, 0, 0.575],\n \"112\": [0.19444, 0.44444, 0, 0, 0.63889],\n \"113\": [0.19444, 0.44444, 0, 0, 0.60694],\n \"114\": [0, 0.44444, 0, 0, 0.47361],\n \"115\": [0, 0.44444, 0, 0, 0.45361],\n \"116\": [0, 0.63492, 0, 0, 0.44722],\n \"117\": [0, 0.44444, 0, 0, 0.63889],\n \"118\": [0, 0.44444, 0.01597, 0, 0.60694],\n \"119\": [0, 0.44444, 0.01597, 0, 0.83055],\n \"120\": [0, 0.44444, 0, 0, 0.60694],\n \"121\": [0.19444, 0.44444, 0.01597, 0, 0.60694],\n \"122\": [0, 0.44444, 0, 0, 0.51111],\n \"123\": [0.25, 0.75, 0, 0, 0.575],\n \"124\": [0.25, 0.75, 0, 0, 0.31944],\n \"125\": [0.25, 0.75, 0, 0, 0.575],\n \"126\": [0.35, 0.34444, 0, 0, 0.575],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.86853],\n \"168\": [0, 0.69444, 0, 0, 0.575],\n \"172\": [0, 0.44444, 0, 0, 0.76666],\n \"176\": [0, 0.69444, 0, 0, 0.86944],\n \"177\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"184\": [0.17014, 0, 0, 0, 0.51111],\n \"198\": [0, 0.68611, 0, 0, 1.04166],\n \"215\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"216\": [0.04861, 0.73472, 0, 0, 0.89444],\n \"223\": [0, 0.69444, 0, 0, 0.59722],\n \"230\": [0, 0.44444, 0, 0, 0.83055],\n \"247\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"248\": [0.09722, 0.54167, 0, 0, 0.575],\n \"305\": [0, 0.44444, 0, 0, 0.31944],\n \"338\": [0, 0.68611, 0, 0, 1.16944],\n \"339\": [0, 0.44444, 0, 0, 0.89444],\n \"567\": [0.19444, 0.44444, 0, 0, 0.35139],\n \"710\": [0, 0.69444, 0, 0, 0.575],\n \"711\": [0, 0.63194, 0, 0, 0.575],\n \"713\": [0, 0.59611, 0, 0, 0.575],\n \"714\": [0, 0.69444, 0, 0, 0.575],\n \"715\": [0, 0.69444, 0, 0, 0.575],\n \"728\": [0, 0.69444, 0, 0, 0.575],\n \"729\": [0, 0.69444, 0, 0, 0.31944],\n \"730\": [0, 0.69444, 0, 0, 0.86944],\n \"732\": [0, 0.69444, 0, 0, 0.575],\n \"733\": [0, 0.69444, 0, 0, 0.575],\n \"915\": [0, 0.68611, 0, 0, 0.69166],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0, 0, 0.89444],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0, 0, 0.76666],\n \"928\": [0, 0.68611, 0, 0, 0.9],\n \"931\": [0, 0.68611, 0, 0, 0.83055],\n \"933\": [0, 0.68611, 0, 0, 0.89444],\n \"934\": [0, 0.68611, 0, 0, 0.83055],\n \"936\": [0, 0.68611, 0, 0, 0.89444],\n \"937\": [0, 0.68611, 0, 0, 0.83055],\n \"8211\": [0, 0.44444, 0.03194, 0, 0.575],\n \"8212\": [0, 0.44444, 0.03194, 0, 1.14999],\n \"8216\": [0, 0.69444, 0, 0, 0.31944],\n \"8217\": [0, 0.69444, 0, 0, 0.31944],\n \"8220\": [0, 0.69444, 0, 0, 0.60278],\n \"8221\": [0, 0.69444, 0, 0, 0.60278],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8242\": [0, 0.55556, 0, 0, 0.34444],\n \"8407\": [0, 0.72444, 0.15486, 0, 0.575],\n \"8463\": [0, 0.69444, 0, 0, 0.66759],\n \"8465\": [0, 0.69444, 0, 0, 0.83055],\n \"8467\": [0, 0.69444, 0, 0, 0.47361],\n \"8472\": [0.19444, 0.44444, 0, 0, 0.74027],\n \"8476\": [0, 0.69444, 0, 0, 0.83055],\n \"8501\": [0, 0.69444, 0, 0, 0.70277],\n \"8592\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8594\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8596\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8597\": [0.25, 0.75, 0, 0, 0.575],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8636\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8637\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8640\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8641\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8656\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8658\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8660\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8661\": [0.25, 0.75, 0, 0, 0.70277],\n \"8704\": [0, 0.69444, 0, 0, 0.63889],\n \"8706\": [0, 0.69444, 0.06389, 0, 0.62847],\n \"8707\": [0, 0.69444, 0, 0, 0.63889],\n \"8709\": [0.05556, 0.75, 0, 0, 0.575],\n \"8711\": [0, 0.68611, 0, 0, 0.95833],\n \"8712\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8715\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8722\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8723\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8725\": [0.25, 0.75, 0, 0, 0.575],\n \"8726\": [0.25, 0.75, 0, 0, 0.575],\n \"8727\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8728\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8729\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8730\": [0.18, 0.82, 0, 0, 0.95833],\n \"8733\": [0, 0.44444, 0, 0, 0.89444],\n \"8734\": [0, 0.44444, 0, 0, 1.14999],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.31944],\n \"8741\": [0.25, 0.75, 0, 0, 0.575],\n \"8743\": [0, 0.55556, 0, 0, 0.76666],\n \"8744\": [0, 0.55556, 0, 0, 0.76666],\n \"8745\": [0, 0.55556, 0, 0, 0.76666],\n \"8746\": [0, 0.55556, 0, 0, 0.76666],\n \"8747\": [0.19444, 0.69444, 0.12778, 0, 0.56875],\n \"8764\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.31944],\n \"8771\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8773\": [0.027, 0.638, 0, 0, 0.894],\n \"8776\": [0.02444, 0.52444, 0, 0, 0.89444],\n \"8781\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8801\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8804\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8805\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8810\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8811\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8826\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8827\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8834\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8835\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8838\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8839\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8846\": [0, 0.55556, 0, 0, 0.76666],\n \"8849\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8850\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8851\": [0, 0.55556, 0, 0, 0.76666],\n \"8852\": [0, 0.55556, 0, 0, 0.76666],\n \"8853\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8854\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8855\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8856\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8857\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8866\": [0, 0.69444, 0, 0, 0.70277],\n \"8867\": [0, 0.69444, 0, 0, 0.70277],\n \"8868\": [0, 0.69444, 0, 0, 0.89444],\n \"8869\": [0, 0.69444, 0, 0, 0.89444],\n \"8900\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8901\": [-0.02639, 0.47361, 0, 0, 0.31944],\n \"8902\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8968\": [0.25, 0.75, 0, 0, 0.51111],\n \"8969\": [0.25, 0.75, 0, 0, 0.51111],\n \"8970\": [0.25, 0.75, 0, 0, 0.51111],\n \"8971\": [0.25, 0.75, 0, 0, 0.51111],\n \"8994\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"8995\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"9651\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9657\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9661\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9667\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9837\": [0, 0.75, 0, 0, 0.44722],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"10216\": [0.25, 0.75, 0, 0, 0.44722],\n \"10217\": [0.25, 0.75, 0, 0, 0.44722],\n \"10815\": [0, 0.68611, 0, 0, 0.9],\n \"10927\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"10928\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Main-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.11417, 0, 0.38611],\n \"34\": [0, 0.69444, 0.07939, 0, 0.62055],\n \"35\": [0.19444, 0.69444, 0.06833, 0, 0.94444],\n \"37\": [0.05556, 0.75, 0.12861, 0, 0.94444],\n \"38\": [0, 0.69444, 0.08528, 0, 0.88555],\n \"39\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"40\": [0.25, 0.75, 0.15806, 0, 0.47333],\n \"41\": [0.25, 0.75, 0.03306, 0, 0.47333],\n \"42\": [0, 0.75, 0.14333, 0, 0.59111],\n \"43\": [0.10333, 0.60333, 0.03306, 0, 0.88555],\n \"44\": [0.19444, 0.14722, 0, 0, 0.35555],\n \"45\": [0, 0.44444, 0.02611, 0, 0.41444],\n \"46\": [0, 0.14722, 0, 0, 0.35555],\n \"47\": [0.25, 0.75, 0.15806, 0, 0.59111],\n \"48\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"49\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"50\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"51\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"52\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"53\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"54\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"55\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"56\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"57\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"58\": [0, 0.44444, 0.06695, 0, 0.35555],\n \"59\": [0.19444, 0.44444, 0.06695, 0, 0.35555],\n \"61\": [-0.10889, 0.39111, 0.06833, 0, 0.88555],\n \"63\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"64\": [0, 0.69444, 0.09208, 0, 0.88555],\n \"65\": [0, 0.68611, 0, 0, 0.86555],\n \"66\": [0, 0.68611, 0.0992, 0, 0.81666],\n \"67\": [0, 0.68611, 0.14208, 0, 0.82666],\n \"68\": [0, 0.68611, 0.09062, 0, 0.87555],\n \"69\": [0, 0.68611, 0.11431, 0, 0.75666],\n \"70\": [0, 0.68611, 0.12903, 0, 0.72722],\n \"71\": [0, 0.68611, 0.07347, 0, 0.89527],\n \"72\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"73\": [0, 0.68611, 0.15681, 0, 0.47166],\n \"74\": [0, 0.68611, 0.145, 0, 0.61055],\n \"75\": [0, 0.68611, 0.14208, 0, 0.89499],\n \"76\": [0, 0.68611, 0, 0, 0.69777],\n \"77\": [0, 0.68611, 0.17208, 0, 1.07277],\n \"78\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"79\": [0, 0.68611, 0.09062, 0, 0.85499],\n \"80\": [0, 0.68611, 0.0992, 0, 0.78721],\n \"81\": [0.19444, 0.68611, 0.09062, 0, 0.85499],\n \"82\": [0, 0.68611, 0.02559, 0, 0.85944],\n \"83\": [0, 0.68611, 0.11264, 0, 0.64999],\n \"84\": [0, 0.68611, 0.12903, 0, 0.7961],\n \"85\": [0, 0.68611, 0.17208, 0, 0.88083],\n \"86\": [0, 0.68611, 0.18625, 0, 0.86555],\n \"87\": [0, 0.68611, 0.18625, 0, 1.15999],\n \"88\": [0, 0.68611, 0.15681, 0, 0.86555],\n \"89\": [0, 0.68611, 0.19803, 0, 0.86555],\n \"90\": [0, 0.68611, 0.14208, 0, 0.70888],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.35611],\n \"93\": [0.25, 0.75, 0.09972, 0, 0.35611],\n \"94\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"95\": [0.31, 0.13444, 0.09811, 0, 0.59111],\n \"97\": [0, 0.44444, 0.09426, 0, 0.59111],\n \"98\": [0, 0.69444, 0.07861, 0, 0.53222],\n \"99\": [0, 0.44444, 0.05222, 0, 0.53222],\n \"100\": [0, 0.69444, 0.10861, 0, 0.59111],\n \"101\": [0, 0.44444, 0.085, 0, 0.53222],\n \"102\": [0.19444, 0.69444, 0.21778, 0, 0.4],\n \"103\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"104\": [0, 0.69444, 0.09426, 0, 0.59111],\n \"105\": [0, 0.69326, 0.11387, 0, 0.35555],\n \"106\": [0.19444, 0.69326, 0.1672, 0, 0.35555],\n \"107\": [0, 0.69444, 0.11111, 0, 0.53222],\n \"108\": [0, 0.69444, 0.10861, 0, 0.29666],\n \"109\": [0, 0.44444, 0.09426, 0, 0.94444],\n \"110\": [0, 0.44444, 0.09426, 0, 0.64999],\n \"111\": [0, 0.44444, 0.07861, 0, 0.59111],\n \"112\": [0.19444, 0.44444, 0.07861, 0, 0.59111],\n \"113\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"114\": [0, 0.44444, 0.11111, 0, 0.50167],\n \"115\": [0, 0.44444, 0.08167, 0, 0.48694],\n \"116\": [0, 0.63492, 0.09639, 0, 0.385],\n \"117\": [0, 0.44444, 0.09426, 0, 0.62055],\n \"118\": [0, 0.44444, 0.11111, 0, 0.53222],\n \"119\": [0, 0.44444, 0.11111, 0, 0.76777],\n \"120\": [0, 0.44444, 0.12583, 0, 0.56055],\n \"121\": [0.19444, 0.44444, 0.105, 0, 0.56166],\n \"122\": [0, 0.44444, 0.13889, 0, 0.49055],\n \"126\": [0.35, 0.34444, 0.11472, 0, 0.59111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0.11473, 0, 0.59111],\n \"176\": [0, 0.69444, 0, 0, 0.94888],\n \"184\": [0.17014, 0, 0, 0, 0.53222],\n \"198\": [0, 0.68611, 0.11431, 0, 1.02277],\n \"216\": [0.04861, 0.73472, 0.09062, 0, 0.88555],\n \"223\": [0.19444, 0.69444, 0.09736, 0, 0.665],\n \"230\": [0, 0.44444, 0.085, 0, 0.82666],\n \"248\": [0.09722, 0.54167, 0.09458, 0, 0.59111],\n \"305\": [0, 0.44444, 0.09426, 0, 0.35555],\n \"338\": [0, 0.68611, 0.11431, 0, 1.14054],\n \"339\": [0, 0.44444, 0.085, 0, 0.82666],\n \"567\": [0.19444, 0.44444, 0.04611, 0, 0.385],\n \"710\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"711\": [0, 0.63194, 0.08271, 0, 0.59111],\n \"713\": [0, 0.59444, 0.10444, 0, 0.59111],\n \"714\": [0, 0.69444, 0.08528, 0, 0.59111],\n \"715\": [0, 0.69444, 0, 0, 0.59111],\n \"728\": [0, 0.69444, 0.10333, 0, 0.59111],\n \"729\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"730\": [0, 0.69444, 0, 0, 0.94888],\n \"732\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"733\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"915\": [0, 0.68611, 0.12903, 0, 0.69777],\n \"916\": [0, 0.68611, 0, 0, 0.94444],\n \"920\": [0, 0.68611, 0.09062, 0, 0.88555],\n \"923\": [0, 0.68611, 0, 0, 0.80666],\n \"926\": [0, 0.68611, 0.15092, 0, 0.76777],\n \"928\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"931\": [0, 0.68611, 0.11431, 0, 0.82666],\n \"933\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"934\": [0, 0.68611, 0.05632, 0, 0.82666],\n \"936\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"937\": [0, 0.68611, 0.0992, 0, 0.82666],\n \"8211\": [0, 0.44444, 0.09811, 0, 0.59111],\n \"8212\": [0, 0.44444, 0.09811, 0, 1.18221],\n \"8216\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8217\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8220\": [0, 0.69444, 0.16772, 0, 0.62055],\n \"8221\": [0, 0.69444, 0.07939, 0, 0.62055]\n },\n \"Main-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"34\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"35\": [0.19444, 0.69444, 0.06616, 0, 0.81777],\n \"37\": [0.05556, 0.75, 0.13639, 0, 0.81777],\n \"38\": [0, 0.69444, 0.09694, 0, 0.76666],\n \"39\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"40\": [0.25, 0.75, 0.16194, 0, 0.40889],\n \"41\": [0.25, 0.75, 0.03694, 0, 0.40889],\n \"42\": [0, 0.75, 0.14917, 0, 0.51111],\n \"43\": [0.05667, 0.56167, 0.03694, 0, 0.76666],\n \"44\": [0.19444, 0.10556, 0, 0, 0.30667],\n \"45\": [0, 0.43056, 0.02826, 0, 0.35778],\n \"46\": [0, 0.10556, 0, 0, 0.30667],\n \"47\": [0.25, 0.75, 0.16194, 0, 0.51111],\n \"48\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"49\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"50\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"51\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"52\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"53\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"54\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"55\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"56\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"57\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"58\": [0, 0.43056, 0.0582, 0, 0.30667],\n \"59\": [0.19444, 0.43056, 0.0582, 0, 0.30667],\n \"61\": [-0.13313, 0.36687, 0.06616, 0, 0.76666],\n \"63\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"64\": [0, 0.69444, 0.09597, 0, 0.76666],\n \"65\": [0, 0.68333, 0, 0, 0.74333],\n \"66\": [0, 0.68333, 0.10257, 0, 0.70389],\n \"67\": [0, 0.68333, 0.14528, 0, 0.71555],\n \"68\": [0, 0.68333, 0.09403, 0, 0.755],\n \"69\": [0, 0.68333, 0.12028, 0, 0.67833],\n \"70\": [0, 0.68333, 0.13305, 0, 0.65277],\n \"71\": [0, 0.68333, 0.08722, 0, 0.77361],\n \"72\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"73\": [0, 0.68333, 0.15806, 0, 0.38555],\n \"74\": [0, 0.68333, 0.14028, 0, 0.525],\n \"75\": [0, 0.68333, 0.14528, 0, 0.76888],\n \"76\": [0, 0.68333, 0, 0, 0.62722],\n \"77\": [0, 0.68333, 0.16389, 0, 0.89666],\n \"78\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"79\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"80\": [0, 0.68333, 0.10257, 0, 0.67833],\n \"81\": [0.19444, 0.68333, 0.09403, 0, 0.76666],\n \"82\": [0, 0.68333, 0.03868, 0, 0.72944],\n \"83\": [0, 0.68333, 0.11972, 0, 0.56222],\n \"84\": [0, 0.68333, 0.13305, 0, 0.71555],\n \"85\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"86\": [0, 0.68333, 0.18361, 0, 0.74333],\n \"87\": [0, 0.68333, 0.18361, 0, 0.99888],\n \"88\": [0, 0.68333, 0.15806, 0, 0.74333],\n \"89\": [0, 0.68333, 0.19383, 0, 0.74333],\n \"90\": [0, 0.68333, 0.14528, 0, 0.61333],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.30667],\n \"93\": [0.25, 0.75, 0.10528, 0, 0.30667],\n \"94\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"95\": [0.31, 0.12056, 0.09208, 0, 0.51111],\n \"97\": [0, 0.43056, 0.07671, 0, 0.51111],\n \"98\": [0, 0.69444, 0.06312, 0, 0.46],\n \"99\": [0, 0.43056, 0.05653, 0, 0.46],\n \"100\": [0, 0.69444, 0.10333, 0, 0.51111],\n \"101\": [0, 0.43056, 0.07514, 0, 0.46],\n \"102\": [0.19444, 0.69444, 0.21194, 0, 0.30667],\n \"103\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"104\": [0, 0.69444, 0.07671, 0, 0.51111],\n \"105\": [0, 0.65536, 0.1019, 0, 0.30667],\n \"106\": [0.19444, 0.65536, 0.14467, 0, 0.30667],\n \"107\": [0, 0.69444, 0.10764, 0, 0.46],\n \"108\": [0, 0.69444, 0.10333, 0, 0.25555],\n \"109\": [0, 0.43056, 0.07671, 0, 0.81777],\n \"110\": [0, 0.43056, 0.07671, 0, 0.56222],\n \"111\": [0, 0.43056, 0.06312, 0, 0.51111],\n \"112\": [0.19444, 0.43056, 0.06312, 0, 0.51111],\n \"113\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"114\": [0, 0.43056, 0.10764, 0, 0.42166],\n \"115\": [0, 0.43056, 0.08208, 0, 0.40889],\n \"116\": [0, 0.61508, 0.09486, 0, 0.33222],\n \"117\": [0, 0.43056, 0.07671, 0, 0.53666],\n \"118\": [0, 0.43056, 0.10764, 0, 0.46],\n \"119\": [0, 0.43056, 0.10764, 0, 0.66444],\n \"120\": [0, 0.43056, 0.12042, 0, 0.46389],\n \"121\": [0.19444, 0.43056, 0.08847, 0, 0.48555],\n \"122\": [0, 0.43056, 0.12292, 0, 0.40889],\n \"126\": [0.35, 0.31786, 0.11585, 0, 0.51111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.66786, 0.10474, 0, 0.51111],\n \"176\": [0, 0.69444, 0, 0, 0.83129],\n \"184\": [0.17014, 0, 0, 0, 0.46],\n \"198\": [0, 0.68333, 0.12028, 0, 0.88277],\n \"216\": [0.04861, 0.73194, 0.09403, 0, 0.76666],\n \"223\": [0.19444, 0.69444, 0.10514, 0, 0.53666],\n \"230\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"248\": [0.09722, 0.52778, 0.09194, 0, 0.51111],\n \"338\": [0, 0.68333, 0.12028, 0, 0.98499],\n \"339\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"710\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"711\": [0, 0.62847, 0.08295, 0, 0.51111],\n \"713\": [0, 0.56167, 0.10333, 0, 0.51111],\n \"714\": [0, 0.69444, 0.09694, 0, 0.51111],\n \"715\": [0, 0.69444, 0, 0, 0.51111],\n \"728\": [0, 0.69444, 0.10806, 0, 0.51111],\n \"729\": [0, 0.66786, 0.11752, 0, 0.30667],\n \"730\": [0, 0.69444, 0, 0, 0.83129],\n \"732\": [0, 0.66786, 0.11585, 0, 0.51111],\n \"733\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"915\": [0, 0.68333, 0.13305, 0, 0.62722],\n \"916\": [0, 0.68333, 0, 0, 0.81777],\n \"920\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"923\": [0, 0.68333, 0, 0, 0.69222],\n \"926\": [0, 0.68333, 0.15294, 0, 0.66444],\n \"928\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"931\": [0, 0.68333, 0.12028, 0, 0.71555],\n \"933\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"934\": [0, 0.68333, 0.05986, 0, 0.71555],\n \"936\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"937\": [0, 0.68333, 0.10257, 0, 0.71555],\n \"8211\": [0, 0.43056, 0.09208, 0, 0.51111],\n \"8212\": [0, 0.43056, 0.09208, 0, 1.02222],\n \"8216\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8217\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8220\": [0, 0.69444, 0.1685, 0, 0.51444],\n \"8221\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"8463\": [0, 0.68889, 0, 0, 0.54028]\n },\n \"Main-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.27778],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.77778],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.19444, 0.10556, 0, 0, 0.27778],\n \"45\": [0, 0.43056, 0, 0, 0.33333],\n \"46\": [0, 0.10556, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.64444, 0, 0, 0.5],\n \"49\": [0, 0.64444, 0, 0, 0.5],\n \"50\": [0, 0.64444, 0, 0, 0.5],\n \"51\": [0, 0.64444, 0, 0, 0.5],\n \"52\": [0, 0.64444, 0, 0, 0.5],\n \"53\": [0, 0.64444, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0, 0.64444, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0, 0.64444, 0, 0, 0.5],\n \"58\": [0, 0.43056, 0, 0, 0.27778],\n \"59\": [0.19444, 0.43056, 0, 0, 0.27778],\n \"60\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"61\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"62\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.77778],\n \"65\": [0, 0.68333, 0, 0, 0.75],\n \"66\": [0, 0.68333, 0, 0, 0.70834],\n \"67\": [0, 0.68333, 0, 0, 0.72222],\n \"68\": [0, 0.68333, 0, 0, 0.76389],\n \"69\": [0, 0.68333, 0, 0, 0.68056],\n \"70\": [0, 0.68333, 0, 0, 0.65278],\n \"71\": [0, 0.68333, 0, 0, 0.78472],\n \"72\": [0, 0.68333, 0, 0, 0.75],\n \"73\": [0, 0.68333, 0, 0, 0.36111],\n \"74\": [0, 0.68333, 0, 0, 0.51389],\n \"75\": [0, 0.68333, 0, 0, 0.77778],\n \"76\": [0, 0.68333, 0, 0, 0.625],\n \"77\": [0, 0.68333, 0, 0, 0.91667],\n \"78\": [0, 0.68333, 0, 0, 0.75],\n \"79\": [0, 0.68333, 0, 0, 0.77778],\n \"80\": [0, 0.68333, 0, 0, 0.68056],\n \"81\": [0.19444, 0.68333, 0, 0, 0.77778],\n \"82\": [0, 0.68333, 0, 0, 0.73611],\n \"83\": [0, 0.68333, 0, 0, 0.55556],\n \"84\": [0, 0.68333, 0, 0, 0.72222],\n \"85\": [0, 0.68333, 0, 0, 0.75],\n \"86\": [0, 0.68333, 0.01389, 0, 0.75],\n \"87\": [0, 0.68333, 0.01389, 0, 1.02778],\n \"88\": [0, 0.68333, 0, 0, 0.75],\n \"89\": [0, 0.68333, 0.025, 0, 0.75],\n \"90\": [0, 0.68333, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.27778],\n \"92\": [0.25, 0.75, 0, 0, 0.5],\n \"93\": [0.25, 0.75, 0, 0, 0.27778],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.31, 0.12056, 0.02778, 0, 0.5],\n \"97\": [0, 0.43056, 0, 0, 0.5],\n \"98\": [0, 0.69444, 0, 0, 0.55556],\n \"99\": [0, 0.43056, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.55556],\n \"101\": [0, 0.43056, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.07778, 0, 0.30556],\n \"103\": [0.19444, 0.43056, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.55556],\n \"105\": [0, 0.66786, 0, 0, 0.27778],\n \"106\": [0.19444, 0.66786, 0, 0, 0.30556],\n \"107\": [0, 0.69444, 0, 0, 0.52778],\n \"108\": [0, 0.69444, 0, 0, 0.27778],\n \"109\": [0, 0.43056, 0, 0, 0.83334],\n \"110\": [0, 0.43056, 0, 0, 0.55556],\n \"111\": [0, 0.43056, 0, 0, 0.5],\n \"112\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"113\": [0.19444, 0.43056, 0, 0, 0.52778],\n \"114\": [0, 0.43056, 0, 0, 0.39167],\n \"115\": [0, 0.43056, 0, 0, 0.39445],\n \"116\": [0, 0.61508, 0, 0, 0.38889],\n \"117\": [0, 0.43056, 0, 0, 0.55556],\n \"118\": [0, 0.43056, 0.01389, 0, 0.52778],\n \"119\": [0, 0.43056, 0.01389, 0, 0.72222],\n \"120\": [0, 0.43056, 0, 0, 0.52778],\n \"121\": [0.19444, 0.43056, 0.01389, 0, 0.52778],\n \"122\": [0, 0.43056, 0, 0, 0.44445],\n \"123\": [0.25, 0.75, 0, 0, 0.5],\n \"124\": [0.25, 0.75, 0, 0, 0.27778],\n \"125\": [0.25, 0.75, 0, 0, 0.5],\n \"126\": [0.35, 0.31786, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.76909],\n \"167\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"168\": [0, 0.66786, 0, 0, 0.5],\n \"172\": [0, 0.43056, 0, 0, 0.66667],\n \"176\": [0, 0.69444, 0, 0, 0.75],\n \"177\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"182\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"198\": [0, 0.68333, 0, 0, 0.90278],\n \"215\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"216\": [0.04861, 0.73194, 0, 0, 0.77778],\n \"223\": [0, 0.69444, 0, 0, 0.5],\n \"230\": [0, 0.43056, 0, 0, 0.72222],\n \"247\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"248\": [0.09722, 0.52778, 0, 0, 0.5],\n \"305\": [0, 0.43056, 0, 0, 0.27778],\n \"338\": [0, 0.68333, 0, 0, 1.01389],\n \"339\": [0, 0.43056, 0, 0, 0.77778],\n \"567\": [0.19444, 0.43056, 0, 0, 0.30556],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.62847, 0, 0, 0.5],\n \"713\": [0, 0.56778, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.66786, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.75],\n \"732\": [0, 0.66786, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.68333, 0, 0, 0.625],\n \"916\": [0, 0.68333, 0, 0, 0.83334],\n \"920\": [0, 0.68333, 0, 0, 0.77778],\n \"923\": [0, 0.68333, 0, 0, 0.69445],\n \"926\": [0, 0.68333, 0, 0, 0.66667],\n \"928\": [0, 0.68333, 0, 0, 0.75],\n \"931\": [0, 0.68333, 0, 0, 0.72222],\n \"933\": [0, 0.68333, 0, 0, 0.77778],\n \"934\": [0, 0.68333, 0, 0, 0.72222],\n \"936\": [0, 0.68333, 0, 0, 0.77778],\n \"937\": [0, 0.68333, 0, 0, 0.72222],\n \"8211\": [0, 0.43056, 0.02778, 0, 0.5],\n \"8212\": [0, 0.43056, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8230\": [0, 0.123, 0, 0, 1.172],\n \"8242\": [0, 0.55556, 0, 0, 0.275],\n \"8407\": [0, 0.71444, 0.15382, 0, 0.5],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8465\": [0, 0.69444, 0, 0, 0.72222],\n \"8467\": [0, 0.69444, 0, 0.11111, 0.41667],\n \"8472\": [0.19444, 0.43056, 0, 0.11111, 0.63646],\n \"8476\": [0, 0.69444, 0, 0, 0.72222],\n \"8501\": [0, 0.69444, 0, 0, 0.61111],\n \"8592\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8594\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8596\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8597\": [0.25, 0.75, 0, 0, 0.5],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8614\": [0.011, 0.511, 0, 0, 1.0],\n \"8617\": [0.011, 0.511, 0, 0, 1.126],\n \"8618\": [0.011, 0.511, 0, 0, 1.126],\n \"8636\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8637\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8640\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8641\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8652\": [0.011, 0.671, 0, 0, 1.0],\n \"8656\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8658\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8660\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8661\": [0.25, 0.75, 0, 0, 0.61111],\n \"8704\": [0, 0.69444, 0, 0, 0.55556],\n \"8706\": [0, 0.69444, 0.05556, 0.08334, 0.5309],\n \"8707\": [0, 0.69444, 0, 0, 0.55556],\n \"8709\": [0.05556, 0.75, 0, 0, 0.5],\n \"8711\": [0, 0.68333, 0, 0, 0.83334],\n \"8712\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8715\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8722\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8723\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8725\": [0.25, 0.75, 0, 0, 0.5],\n \"8726\": [0.25, 0.75, 0, 0, 0.5],\n \"8727\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8728\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8729\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8730\": [0.2, 0.8, 0, 0, 0.83334],\n \"8733\": [0, 0.43056, 0, 0, 0.77778],\n \"8734\": [0, 0.43056, 0, 0, 1.0],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.27778],\n \"8741\": [0.25, 0.75, 0, 0, 0.5],\n \"8743\": [0, 0.55556, 0, 0, 0.66667],\n \"8744\": [0, 0.55556, 0, 0, 0.66667],\n \"8745\": [0, 0.55556, 0, 0, 0.66667],\n \"8746\": [0, 0.55556, 0, 0, 0.66667],\n \"8747\": [0.19444, 0.69444, 0.11111, 0, 0.41667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.27778],\n \"8771\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8773\": [-0.022, 0.589, 0, 0, 0.778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8781\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8784\": [-0.133, 0.673, 0, 0, 0.778],\n \"8801\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8804\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8805\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8810\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8811\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8826\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8827\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8834\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8835\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8838\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8839\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8846\": [0, 0.55556, 0, 0, 0.66667],\n \"8849\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8850\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8851\": [0, 0.55556, 0, 0, 0.66667],\n \"8852\": [0, 0.55556, 0, 0, 0.66667],\n \"8853\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8854\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8855\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8856\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8857\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8866\": [0, 0.69444, 0, 0, 0.61111],\n \"8867\": [0, 0.69444, 0, 0, 0.61111],\n \"8868\": [0, 0.69444, 0, 0, 0.77778],\n \"8869\": [0, 0.69444, 0, 0, 0.77778],\n \"8872\": [0.249, 0.75, 0, 0, 0.867],\n \"8900\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8901\": [-0.05555, 0.44445, 0, 0, 0.27778],\n \"8902\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8904\": [0.005, 0.505, 0, 0, 0.9],\n \"8942\": [0.03, 0.903, 0, 0, 0.278],\n \"8943\": [-0.19, 0.313, 0, 0, 1.172],\n \"8945\": [-0.1, 0.823, 0, 0, 1.282],\n \"8968\": [0.25, 0.75, 0, 0, 0.44445],\n \"8969\": [0.25, 0.75, 0, 0, 0.44445],\n \"8970\": [0.25, 0.75, 0, 0, 0.44445],\n \"8971\": [0.25, 0.75, 0, 0, 0.44445],\n \"8994\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"8995\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"9136\": [0.244, 0.744, 0, 0, 0.412],\n \"9137\": [0.244, 0.745, 0, 0, 0.412],\n \"9651\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9657\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9661\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9667\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.0],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9837\": [0, 0.75, 0, 0, 0.38889],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"10216\": [0.25, 0.75, 0, 0, 0.38889],\n \"10217\": [0.25, 0.75, 0, 0, 0.38889],\n \"10222\": [0.244, 0.744, 0, 0, 0.412],\n \"10223\": [0.244, 0.745, 0, 0, 0.412],\n \"10229\": [0.011, 0.511, 0, 0, 1.609],\n \"10230\": [0.011, 0.511, 0, 0, 1.638],\n \"10231\": [0.011, 0.511, 0, 0, 1.859],\n \"10232\": [0.024, 0.525, 0, 0, 1.609],\n \"10233\": [0.024, 0.525, 0, 0, 1.638],\n \"10234\": [0.024, 0.525, 0, 0, 1.858],\n \"10236\": [0.011, 0.511, 0, 0, 1.638],\n \"10815\": [0, 0.68333, 0, 0, 0.75],\n \"10927\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10928\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Math-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.44444, 0, 0, 0.575],\n \"49\": [0, 0.44444, 0, 0, 0.575],\n \"50\": [0, 0.44444, 0, 0, 0.575],\n \"51\": [0.19444, 0.44444, 0, 0, 0.575],\n \"52\": [0.19444, 0.44444, 0, 0, 0.575],\n \"53\": [0.19444, 0.44444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0.19444, 0.44444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0.19444, 0.44444, 0, 0, 0.575],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0.04835, 0, 0.8664],\n \"67\": [0, 0.68611, 0.06979, 0, 0.81694],\n \"68\": [0, 0.68611, 0.03194, 0, 0.93812],\n \"69\": [0, 0.68611, 0.05451, 0, 0.81007],\n \"70\": [0, 0.68611, 0.15972, 0, 0.68889],\n \"71\": [0, 0.68611, 0, 0, 0.88673],\n \"72\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"73\": [0, 0.68611, 0.07778, 0, 0.51111],\n \"74\": [0, 0.68611, 0.10069, 0, 0.63125],\n \"75\": [0, 0.68611, 0.06979, 0, 0.97118],\n \"76\": [0, 0.68611, 0, 0, 0.75555],\n \"77\": [0, 0.68611, 0.11424, 0, 1.14201],\n \"78\": [0, 0.68611, 0.11424, 0, 0.95034],\n \"79\": [0, 0.68611, 0.03194, 0, 0.83666],\n \"80\": [0, 0.68611, 0.15972, 0, 0.72309],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86861],\n \"82\": [0, 0.68611, 0.00421, 0, 0.87235],\n \"83\": [0, 0.68611, 0.05382, 0, 0.69271],\n \"84\": [0, 0.68611, 0.15972, 0, 0.63663],\n \"85\": [0, 0.68611, 0.11424, 0, 0.80027],\n \"86\": [0, 0.68611, 0.25555, 0, 0.67778],\n \"87\": [0, 0.68611, 0.15972, 0, 1.09305],\n \"88\": [0, 0.68611, 0.07778, 0, 0.94722],\n \"89\": [0, 0.68611, 0.25555, 0, 0.67458],\n \"90\": [0, 0.68611, 0.06979, 0, 0.77257],\n \"97\": [0, 0.44444, 0, 0, 0.63287],\n \"98\": [0, 0.69444, 0, 0, 0.52083],\n \"99\": [0, 0.44444, 0, 0, 0.51342],\n \"100\": [0, 0.69444, 0, 0, 0.60972],\n \"101\": [0, 0.44444, 0, 0, 0.55361],\n \"102\": [0.19444, 0.69444, 0.11042, 0, 0.56806],\n \"103\": [0.19444, 0.44444, 0.03704, 0, 0.5449],\n \"104\": [0, 0.69444, 0, 0, 0.66759],\n \"105\": [0, 0.69326, 0, 0, 0.4048],\n \"106\": [0.19444, 0.69326, 0.0622, 0, 0.47083],\n \"107\": [0, 0.69444, 0.01852, 0, 0.6037],\n \"108\": [0, 0.69444, 0.0088, 0, 0.34815],\n \"109\": [0, 0.44444, 0, 0, 1.0324],\n \"110\": [0, 0.44444, 0, 0, 0.71296],\n \"111\": [0, 0.44444, 0, 0, 0.58472],\n \"112\": [0.19444, 0.44444, 0, 0, 0.60092],\n \"113\": [0.19444, 0.44444, 0.03704, 0, 0.54213],\n \"114\": [0, 0.44444, 0.03194, 0, 0.5287],\n \"115\": [0, 0.44444, 0, 0, 0.53125],\n \"116\": [0, 0.63492, 0, 0, 0.41528],\n \"117\": [0, 0.44444, 0, 0, 0.68102],\n \"118\": [0, 0.44444, 0.03704, 0, 0.56666],\n \"119\": [0, 0.44444, 0.02778, 0, 0.83148],\n \"120\": [0, 0.44444, 0, 0, 0.65903],\n \"121\": [0.19444, 0.44444, 0.03704, 0, 0.59028],\n \"122\": [0, 0.44444, 0.04213, 0, 0.55509],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68611, 0.15972, 0, 0.65694],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0.03194, 0, 0.86722],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0.07458, 0, 0.84125],\n \"928\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"931\": [0, 0.68611, 0.05451, 0, 0.88507],\n \"933\": [0, 0.68611, 0.15972, 0, 0.67083],\n \"934\": [0, 0.68611, 0, 0, 0.76666],\n \"936\": [0, 0.68611, 0.11653, 0, 0.71402],\n \"937\": [0, 0.68611, 0.04835, 0, 0.8789],\n \"945\": [0, 0.44444, 0, 0, 0.76064],\n \"946\": [0.19444, 0.69444, 0.03403, 0, 0.65972],\n \"947\": [0.19444, 0.44444, 0.06389, 0, 0.59003],\n \"948\": [0, 0.69444, 0.03819, 0, 0.52222],\n \"949\": [0, 0.44444, 0, 0, 0.52882],\n \"950\": [0.19444, 0.69444, 0.06215, 0, 0.50833],\n \"951\": [0.19444, 0.44444, 0.03704, 0, 0.6],\n \"952\": [0, 0.69444, 0.03194, 0, 0.5618],\n \"953\": [0, 0.44444, 0, 0, 0.41204],\n \"954\": [0, 0.44444, 0, 0, 0.66759],\n \"955\": [0, 0.69444, 0, 0, 0.67083],\n \"956\": [0.19444, 0.44444, 0, 0, 0.70787],\n \"957\": [0, 0.44444, 0.06898, 0, 0.57685],\n \"958\": [0.19444, 0.69444, 0.03021, 0, 0.50833],\n \"959\": [0, 0.44444, 0, 0, 0.58472],\n \"960\": [0, 0.44444, 0.03704, 0, 0.68241],\n \"961\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"962\": [0.09722, 0.44444, 0.07917, 0, 0.42361],\n \"963\": [0, 0.44444, 0.03704, 0, 0.68588],\n \"964\": [0, 0.44444, 0.13472, 0, 0.52083],\n \"965\": [0, 0.44444, 0.03704, 0, 0.63055],\n \"966\": [0.19444, 0.44444, 0, 0, 0.74722],\n \"967\": [0.19444, 0.44444, 0, 0, 0.71805],\n \"968\": [0.19444, 0.69444, 0.03704, 0, 0.75833],\n \"969\": [0, 0.44444, 0.03704, 0, 0.71782],\n \"977\": [0, 0.69444, 0, 0, 0.69155],\n \"981\": [0.19444, 0.69444, 0, 0, 0.7125],\n \"982\": [0, 0.44444, 0.03194, 0, 0.975],\n \"1009\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"1013\": [0, 0.44444, 0, 0, 0.48333],\n \"57649\": [0, 0.44444, 0, 0, 0.39352],\n \"57911\": [0.19444, 0.44444, 0, 0, 0.43889]\n },\n \"Math-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.43056, 0, 0, 0.5],\n \"49\": [0, 0.43056, 0, 0, 0.5],\n \"50\": [0, 0.43056, 0, 0, 0.5],\n \"51\": [0.19444, 0.43056, 0, 0, 0.5],\n \"52\": [0.19444, 0.43056, 0, 0, 0.5],\n \"53\": [0.19444, 0.43056, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0.19444, 0.43056, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0.19444, 0.43056, 0, 0, 0.5],\n \"65\": [0, 0.68333, 0, 0.13889, 0.75],\n \"66\": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n \"67\": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n \"68\": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n \"69\": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n \"70\": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n \"71\": [0, 0.68333, 0, 0.08334, 0.78625],\n \"72\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"73\": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n \"74\": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n \"75\": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n \"76\": [0, 0.68333, 0, 0.02778, 0.68056],\n \"77\": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n \"78\": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n \"79\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"80\": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n \"81\": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n \"82\": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n \"83\": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n \"84\": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n \"85\": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n \"86\": [0, 0.68333, 0.22222, 0, 0.58333],\n \"87\": [0, 0.68333, 0.13889, 0, 0.94445],\n \"88\": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n \"89\": [0, 0.68333, 0.22222, 0, 0.58056],\n \"90\": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n \"97\": [0, 0.43056, 0, 0, 0.52859],\n \"98\": [0, 0.69444, 0, 0, 0.42917],\n \"99\": [0, 0.43056, 0, 0.05556, 0.43276],\n \"100\": [0, 0.69444, 0, 0.16667, 0.52049],\n \"101\": [0, 0.43056, 0, 0.05556, 0.46563],\n \"102\": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n \"103\": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n \"104\": [0, 0.69444, 0, 0, 0.57616],\n \"105\": [0, 0.65952, 0, 0, 0.34451],\n \"106\": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n \"107\": [0, 0.69444, 0.03148, 0, 0.5206],\n \"108\": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n \"109\": [0, 0.43056, 0, 0, 0.87801],\n \"110\": [0, 0.43056, 0, 0, 0.60023],\n \"111\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"112\": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n \"113\": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n \"114\": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n \"115\": [0, 0.43056, 0, 0.05556, 0.46875],\n \"116\": [0, 0.61508, 0, 0.08334, 0.36111],\n \"117\": [0, 0.43056, 0, 0.02778, 0.57246],\n \"118\": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n \"119\": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n \"120\": [0, 0.43056, 0, 0.02778, 0.57153],\n \"121\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n \"122\": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n \"916\": [0, 0.68333, 0, 0.16667, 0.83334],\n \"920\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"923\": [0, 0.68333, 0, 0.16667, 0.69445],\n \"926\": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n \"928\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"931\": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n \"933\": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n \"934\": [0, 0.68333, 0, 0.08334, 0.66667],\n \"936\": [0, 0.68333, 0.11, 0.05556, 0.61222],\n \"937\": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n \"945\": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n \"946\": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n \"947\": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n \"948\": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n \"949\": [0, 0.43056, 0, 0.08334, 0.46632],\n \"950\": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n \"951\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n \"952\": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n \"953\": [0, 0.43056, 0, 0.05556, 0.35394],\n \"954\": [0, 0.43056, 0, 0, 0.57616],\n \"955\": [0, 0.69444, 0, 0, 0.58334],\n \"956\": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n \"957\": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n \"958\": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n \"959\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"960\": [0, 0.43056, 0.03588, 0, 0.57003],\n \"961\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"962\": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n \"963\": [0, 0.43056, 0.03588, 0, 0.57141],\n \"964\": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n \"965\": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n \"966\": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n \"967\": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n \"968\": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n \"969\": [0, 0.43056, 0.03588, 0, 0.62245],\n \"977\": [0, 0.69444, 0, 0.08334, 0.59144],\n \"981\": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n \"982\": [0, 0.43056, 0.02778, 0, 0.82813],\n \"1009\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"1013\": [0, 0.43056, 0, 0.05556, 0.4059],\n \"57649\": [0, 0.43056, 0, 0.02778, 0.32246],\n \"57911\": [0.19444, 0.43056, 0, 0.08334, 0.38403]\n },\n \"SansSerif-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.36667],\n \"34\": [0, 0.69444, 0, 0, 0.55834],\n \"35\": [0.19444, 0.69444, 0, 0, 0.91667],\n \"36\": [0.05556, 0.75, 0, 0, 0.55],\n \"37\": [0.05556, 0.75, 0, 0, 1.02912],\n \"38\": [0, 0.69444, 0, 0, 0.83056],\n \"39\": [0, 0.69444, 0, 0, 0.30556],\n \"40\": [0.25, 0.75, 0, 0, 0.42778],\n \"41\": [0.25, 0.75, 0, 0, 0.42778],\n \"42\": [0, 0.75, 0, 0, 0.55],\n \"43\": [0.11667, 0.61667, 0, 0, 0.85556],\n \"44\": [0.10556, 0.13056, 0, 0, 0.30556],\n \"45\": [0, 0.45833, 0, 0, 0.36667],\n \"46\": [0, 0.13056, 0, 0, 0.30556],\n \"47\": [0.25, 0.75, 0, 0, 0.55],\n \"48\": [0, 0.69444, 0, 0, 0.55],\n \"49\": [0, 0.69444, 0, 0, 0.55],\n \"50\": [0, 0.69444, 0, 0, 0.55],\n \"51\": [0, 0.69444, 0, 0, 0.55],\n \"52\": [0, 0.69444, 0, 0, 0.55],\n \"53\": [0, 0.69444, 0, 0, 0.55],\n \"54\": [0, 0.69444, 0, 0, 0.55],\n \"55\": [0, 0.69444, 0, 0, 0.55],\n \"56\": [0, 0.69444, 0, 0, 0.55],\n \"57\": [0, 0.69444, 0, 0, 0.55],\n \"58\": [0, 0.45833, 0, 0, 0.30556],\n \"59\": [0.10556, 0.45833, 0, 0, 0.30556],\n \"61\": [-0.09375, 0.40625, 0, 0, 0.85556],\n \"63\": [0, 0.69444, 0, 0, 0.51945],\n \"64\": [0, 0.69444, 0, 0, 0.73334],\n \"65\": [0, 0.69444, 0, 0, 0.73334],\n \"66\": [0, 0.69444, 0, 0, 0.73334],\n \"67\": [0, 0.69444, 0, 0, 0.70278],\n \"68\": [0, 0.69444, 0, 0, 0.79445],\n \"69\": [0, 0.69444, 0, 0, 0.64167],\n \"70\": [0, 0.69444, 0, 0, 0.61111],\n \"71\": [0, 0.69444, 0, 0, 0.73334],\n \"72\": [0, 0.69444, 0, 0, 0.79445],\n \"73\": [0, 0.69444, 0, 0, 0.33056],\n \"74\": [0, 0.69444, 0, 0, 0.51945],\n \"75\": [0, 0.69444, 0, 0, 0.76389],\n \"76\": [0, 0.69444, 0, 0, 0.58056],\n \"77\": [0, 0.69444, 0, 0, 0.97778],\n \"78\": [0, 0.69444, 0, 0, 0.79445],\n \"79\": [0, 0.69444, 0, 0, 0.79445],\n \"80\": [0, 0.69444, 0, 0, 0.70278],\n \"81\": [0.10556, 0.69444, 0, 0, 0.79445],\n \"82\": [0, 0.69444, 0, 0, 0.70278],\n \"83\": [0, 0.69444, 0, 0, 0.61111],\n \"84\": [0, 0.69444, 0, 0, 0.73334],\n \"85\": [0, 0.69444, 0, 0, 0.76389],\n \"86\": [0, 0.69444, 0.01528, 0, 0.73334],\n \"87\": [0, 0.69444, 0.01528, 0, 1.03889],\n \"88\": [0, 0.69444, 0, 0, 0.73334],\n \"89\": [0, 0.69444, 0.0275, 0, 0.73334],\n \"90\": [0, 0.69444, 0, 0, 0.67223],\n \"91\": [0.25, 0.75, 0, 0, 0.34306],\n \"93\": [0.25, 0.75, 0, 0, 0.34306],\n \"94\": [0, 0.69444, 0, 0, 0.55],\n \"95\": [0.35, 0.10833, 0.03056, 0, 0.55],\n \"97\": [0, 0.45833, 0, 0, 0.525],\n \"98\": [0, 0.69444, 0, 0, 0.56111],\n \"99\": [0, 0.45833, 0, 0, 0.48889],\n \"100\": [0, 0.69444, 0, 0, 0.56111],\n \"101\": [0, 0.45833, 0, 0, 0.51111],\n \"102\": [0, 0.69444, 0.07639, 0, 0.33611],\n \"103\": [0.19444, 0.45833, 0.01528, 0, 0.55],\n \"104\": [0, 0.69444, 0, 0, 0.56111],\n \"105\": [0, 0.69444, 0, 0, 0.25556],\n \"106\": [0.19444, 0.69444, 0, 0, 0.28611],\n \"107\": [0, 0.69444, 0, 0, 0.53056],\n \"108\": [0, 0.69444, 0, 0, 0.25556],\n \"109\": [0, 0.45833, 0, 0, 0.86667],\n \"110\": [0, 0.45833, 0, 0, 0.56111],\n \"111\": [0, 0.45833, 0, 0, 0.55],\n \"112\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"113\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"114\": [0, 0.45833, 0.01528, 0, 0.37222],\n \"115\": [0, 0.45833, 0, 0, 0.42167],\n \"116\": [0, 0.58929, 0, 0, 0.40417],\n \"117\": [0, 0.45833, 0, 0, 0.56111],\n \"118\": [0, 0.45833, 0.01528, 0, 0.5],\n \"119\": [0, 0.45833, 0.01528, 0, 0.74445],\n \"120\": [0, 0.45833, 0, 0, 0.5],\n \"121\": [0.19444, 0.45833, 0.01528, 0, 0.5],\n \"122\": [0, 0.45833, 0, 0, 0.47639],\n \"126\": [0.35, 0.34444, 0, 0, 0.55],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0, 0, 0.55],\n \"176\": [0, 0.69444, 0, 0, 0.73334],\n \"180\": [0, 0.69444, 0, 0, 0.55],\n \"184\": [0.17014, 0, 0, 0, 0.48889],\n \"305\": [0, 0.45833, 0, 0, 0.25556],\n \"567\": [0.19444, 0.45833, 0, 0, 0.28611],\n \"710\": [0, 0.69444, 0, 0, 0.55],\n \"711\": [0, 0.63542, 0, 0, 0.55],\n \"713\": [0, 0.63778, 0, 0, 0.55],\n \"728\": [0, 0.69444, 0, 0, 0.55],\n \"729\": [0, 0.69444, 0, 0, 0.30556],\n \"730\": [0, 0.69444, 0, 0, 0.73334],\n \"732\": [0, 0.69444, 0, 0, 0.55],\n \"733\": [0, 0.69444, 0, 0, 0.55],\n \"915\": [0, 0.69444, 0, 0, 0.58056],\n \"916\": [0, 0.69444, 0, 0, 0.91667],\n \"920\": [0, 0.69444, 0, 0, 0.85556],\n \"923\": [0, 0.69444, 0, 0, 0.67223],\n \"926\": [0, 0.69444, 0, 0, 0.73334],\n \"928\": [0, 0.69444, 0, 0, 0.79445],\n \"931\": [0, 0.69444, 0, 0, 0.79445],\n \"933\": [0, 0.69444, 0, 0, 0.85556],\n \"934\": [0, 0.69444, 0, 0, 0.79445],\n \"936\": [0, 0.69444, 0, 0, 0.85556],\n \"937\": [0, 0.69444, 0, 0, 0.79445],\n \"8211\": [0, 0.45833, 0.03056, 0, 0.55],\n \"8212\": [0, 0.45833, 0.03056, 0, 1.10001],\n \"8216\": [0, 0.69444, 0, 0, 0.30556],\n \"8217\": [0, 0.69444, 0, 0, 0.30556],\n \"8220\": [0, 0.69444, 0, 0, 0.55834],\n \"8221\": [0, 0.69444, 0, 0, 0.55834]\n },\n \"SansSerif-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.05733, 0, 0.31945],\n \"34\": [0, 0.69444, 0.00316, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0.05087, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0.11156, 0, 0.5],\n \"37\": [0.05556, 0.75, 0.03126, 0, 0.83334],\n \"38\": [0, 0.69444, 0.03058, 0, 0.75834],\n \"39\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"40\": [0.25, 0.75, 0.13164, 0, 0.38889],\n \"41\": [0.25, 0.75, 0.02536, 0, 0.38889],\n \"42\": [0, 0.75, 0.11775, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0.02536, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0.01946, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0.13164, 0, 0.5],\n \"48\": [0, 0.65556, 0.11156, 0, 0.5],\n \"49\": [0, 0.65556, 0.11156, 0, 0.5],\n \"50\": [0, 0.65556, 0.11156, 0, 0.5],\n \"51\": [0, 0.65556, 0.11156, 0, 0.5],\n \"52\": [0, 0.65556, 0.11156, 0, 0.5],\n \"53\": [0, 0.65556, 0.11156, 0, 0.5],\n \"54\": [0, 0.65556, 0.11156, 0, 0.5],\n \"55\": [0, 0.65556, 0.11156, 0, 0.5],\n \"56\": [0, 0.65556, 0.11156, 0, 0.5],\n \"57\": [0, 0.65556, 0.11156, 0, 0.5],\n \"58\": [0, 0.44444, 0.02502, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0.02502, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0.05087, 0, 0.77778],\n \"63\": [0, 0.69444, 0.11809, 0, 0.47222],\n \"64\": [0, 0.69444, 0.07555, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0.08293, 0, 0.66667],\n \"67\": [0, 0.69444, 0.11983, 0, 0.63889],\n \"68\": [0, 0.69444, 0.07555, 0, 0.72223],\n \"69\": [0, 0.69444, 0.11983, 0, 0.59722],\n \"70\": [0, 0.69444, 0.13372, 0, 0.56945],\n \"71\": [0, 0.69444, 0.11983, 0, 0.66667],\n \"72\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"73\": [0, 0.69444, 0.13372, 0, 0.27778],\n \"74\": [0, 0.69444, 0.08094, 0, 0.47222],\n \"75\": [0, 0.69444, 0.11983, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0.08094, 0, 0.875],\n \"78\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"79\": [0, 0.69444, 0.07555, 0, 0.73611],\n \"80\": [0, 0.69444, 0.08293, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0.07555, 0, 0.73611],\n \"82\": [0, 0.69444, 0.08293, 0, 0.64584],\n \"83\": [0, 0.69444, 0.09205, 0, 0.55556],\n \"84\": [0, 0.69444, 0.13372, 0, 0.68056],\n \"85\": [0, 0.69444, 0.08094, 0, 0.6875],\n \"86\": [0, 0.69444, 0.1615, 0, 0.66667],\n \"87\": [0, 0.69444, 0.1615, 0, 0.94445],\n \"88\": [0, 0.69444, 0.13372, 0, 0.66667],\n \"89\": [0, 0.69444, 0.17261, 0, 0.66667],\n \"90\": [0, 0.69444, 0.11983, 0, 0.61111],\n \"91\": [0.25, 0.75, 0.15942, 0, 0.28889],\n \"93\": [0.25, 0.75, 0.08719, 0, 0.28889],\n \"94\": [0, 0.69444, 0.0799, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.08616, 0, 0.5],\n \"97\": [0, 0.44444, 0.00981, 0, 0.48056],\n \"98\": [0, 0.69444, 0.03057, 0, 0.51667],\n \"99\": [0, 0.44444, 0.08336, 0, 0.44445],\n \"100\": [0, 0.69444, 0.09483, 0, 0.51667],\n \"101\": [0, 0.44444, 0.06778, 0, 0.44445],\n \"102\": [0, 0.69444, 0.21705, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.10836, 0, 0.5],\n \"104\": [0, 0.69444, 0.01778, 0, 0.51667],\n \"105\": [0, 0.67937, 0.09718, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0.09162, 0, 0.26667],\n \"107\": [0, 0.69444, 0.08336, 0, 0.48889],\n \"108\": [0, 0.69444, 0.09483, 0, 0.23889],\n \"109\": [0, 0.44444, 0.01778, 0, 0.79445],\n \"110\": [0, 0.44444, 0.01778, 0, 0.51667],\n \"111\": [0, 0.44444, 0.06613, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0.0389, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0.04169, 0, 0.51667],\n \"114\": [0, 0.44444, 0.10836, 0, 0.34167],\n \"115\": [0, 0.44444, 0.0778, 0, 0.38333],\n \"116\": [0, 0.57143, 0.07225, 0, 0.36111],\n \"117\": [0, 0.44444, 0.04169, 0, 0.51667],\n \"118\": [0, 0.44444, 0.10836, 0, 0.46111],\n \"119\": [0, 0.44444, 0.10836, 0, 0.68334],\n \"120\": [0, 0.44444, 0.09169, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.10836, 0, 0.46111],\n \"122\": [0, 0.44444, 0.08752, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0.08826, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0.06385, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.73752],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0.04169, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0.04169, 0, 0.26667],\n \"710\": [0, 0.69444, 0.0799, 0, 0.5],\n \"711\": [0, 0.63194, 0.08432, 0, 0.5],\n \"713\": [0, 0.60889, 0.08776, 0, 0.5],\n \"714\": [0, 0.69444, 0.09205, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0.09483, 0, 0.5],\n \"729\": [0, 0.67937, 0.07774, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.73752],\n \"732\": [0, 0.67659, 0.08826, 0, 0.5],\n \"733\": [0, 0.69444, 0.09205, 0, 0.5],\n \"915\": [0, 0.69444, 0.13372, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0.07555, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0.12816, 0, 0.66667],\n \"928\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"931\": [0, 0.69444, 0.11983, 0, 0.72222],\n \"933\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"934\": [0, 0.69444, 0.04603, 0, 0.72222],\n \"936\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"937\": [0, 0.69444, 0.08293, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.08616, 0, 0.5],\n \"8212\": [0, 0.44444, 0.08616, 0, 1.0],\n \"8216\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8217\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8220\": [0, 0.69444, 0.14205, 0, 0.5],\n \"8221\": [0, 0.69444, 0.00316, 0, 0.5]\n },\n \"SansSerif-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.31945],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.75834],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.65556, 0, 0, 0.5],\n \"49\": [0, 0.65556, 0, 0, 0.5],\n \"50\": [0, 0.65556, 0, 0, 0.5],\n \"51\": [0, 0.65556, 0, 0, 0.5],\n \"52\": [0, 0.65556, 0, 0, 0.5],\n \"53\": [0, 0.65556, 0, 0, 0.5],\n \"54\": [0, 0.65556, 0, 0, 0.5],\n \"55\": [0, 0.65556, 0, 0, 0.5],\n \"56\": [0, 0.65556, 0, 0, 0.5],\n \"57\": [0, 0.65556, 0, 0, 0.5],\n \"58\": [0, 0.44444, 0, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0, 0, 0.66667],\n \"67\": [0, 0.69444, 0, 0, 0.63889],\n \"68\": [0, 0.69444, 0, 0, 0.72223],\n \"69\": [0, 0.69444, 0, 0, 0.59722],\n \"70\": [0, 0.69444, 0, 0, 0.56945],\n \"71\": [0, 0.69444, 0, 0, 0.66667],\n \"72\": [0, 0.69444, 0, 0, 0.70834],\n \"73\": [0, 0.69444, 0, 0, 0.27778],\n \"74\": [0, 0.69444, 0, 0, 0.47222],\n \"75\": [0, 0.69444, 0, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0, 0, 0.875],\n \"78\": [0, 0.69444, 0, 0, 0.70834],\n \"79\": [0, 0.69444, 0, 0, 0.73611],\n \"80\": [0, 0.69444, 0, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0, 0, 0.73611],\n \"82\": [0, 0.69444, 0, 0, 0.64584],\n \"83\": [0, 0.69444, 0, 0, 0.55556],\n \"84\": [0, 0.69444, 0, 0, 0.68056],\n \"85\": [0, 0.69444, 0, 0, 0.6875],\n \"86\": [0, 0.69444, 0.01389, 0, 0.66667],\n \"87\": [0, 0.69444, 0.01389, 0, 0.94445],\n \"88\": [0, 0.69444, 0, 0, 0.66667],\n \"89\": [0, 0.69444, 0.025, 0, 0.66667],\n \"90\": [0, 0.69444, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.28889],\n \"93\": [0.25, 0.75, 0, 0, 0.28889],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.02778, 0, 0.5],\n \"97\": [0, 0.44444, 0, 0, 0.48056],\n \"98\": [0, 0.69444, 0, 0, 0.51667],\n \"99\": [0, 0.44444, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.51667],\n \"101\": [0, 0.44444, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.06944, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.51667],\n \"105\": [0, 0.67937, 0, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0, 0, 0.26667],\n \"107\": [0, 0.69444, 0, 0, 0.48889],\n \"108\": [0, 0.69444, 0, 0, 0.23889],\n \"109\": [0, 0.44444, 0, 0, 0.79445],\n \"110\": [0, 0.44444, 0, 0, 0.51667],\n \"111\": [0, 0.44444, 0, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"114\": [0, 0.44444, 0.01389, 0, 0.34167],\n \"115\": [0, 0.44444, 0, 0, 0.38333],\n \"116\": [0, 0.57143, 0, 0, 0.36111],\n \"117\": [0, 0.44444, 0, 0, 0.51667],\n \"118\": [0, 0.44444, 0.01389, 0, 0.46111],\n \"119\": [0, 0.44444, 0.01389, 0, 0.68334],\n \"120\": [0, 0.44444, 0, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.01389, 0, 0.46111],\n \"122\": [0, 0.44444, 0, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.66667],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0, 0, 0.26667],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.63194, 0, 0, 0.5],\n \"713\": [0, 0.60889, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.67937, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.66667],\n \"732\": [0, 0.67659, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.69444, 0, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0, 0, 0.66667],\n \"928\": [0, 0.69444, 0, 0, 0.70834],\n \"931\": [0, 0.69444, 0, 0, 0.72222],\n \"933\": [0, 0.69444, 0, 0, 0.77778],\n \"934\": [0, 0.69444, 0, 0, 0.72222],\n \"936\": [0, 0.69444, 0, 0, 0.77778],\n \"937\": [0, 0.69444, 0, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.02778, 0, 0.5],\n \"8212\": [0, 0.44444, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5]\n },\n \"Script-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.7, 0.22925, 0, 0.80253],\n \"66\": [0, 0.7, 0.04087, 0, 0.90757],\n \"67\": [0, 0.7, 0.1689, 0, 0.66619],\n \"68\": [0, 0.7, 0.09371, 0, 0.77443],\n \"69\": [0, 0.7, 0.18583, 0, 0.56162],\n \"70\": [0, 0.7, 0.13634, 0, 0.89544],\n \"71\": [0, 0.7, 0.17322, 0, 0.60961],\n \"72\": [0, 0.7, 0.29694, 0, 0.96919],\n \"73\": [0, 0.7, 0.19189, 0, 0.80907],\n \"74\": [0.27778, 0.7, 0.19189, 0, 1.05159],\n \"75\": [0, 0.7, 0.31259, 0, 0.91364],\n \"76\": [0, 0.7, 0.19189, 0, 0.87373],\n \"77\": [0, 0.7, 0.15981, 0, 1.08031],\n \"78\": [0, 0.7, 0.3525, 0, 0.9015],\n \"79\": [0, 0.7, 0.08078, 0, 0.73787],\n \"80\": [0, 0.7, 0.08078, 0, 1.01262],\n \"81\": [0, 0.7, 0.03305, 0, 0.88282],\n \"82\": [0, 0.7, 0.06259, 0, 0.85],\n \"83\": [0, 0.7, 0.19189, 0, 0.86767],\n \"84\": [0, 0.7, 0.29087, 0, 0.74697],\n \"85\": [0, 0.7, 0.25815, 0, 0.79996],\n \"86\": [0, 0.7, 0.27523, 0, 0.62204],\n \"87\": [0, 0.7, 0.27523, 0, 0.80532],\n \"88\": [0, 0.7, 0.26006, 0, 0.94445],\n \"89\": [0, 0.7, 0.2939, 0, 0.70961],\n \"90\": [0, 0.7, 0.24037, 0, 0.8212],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Size1-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.35001, 0.85, 0, 0, 0.45834],\n \"41\": [0.35001, 0.85, 0, 0, 0.45834],\n \"47\": [0.35001, 0.85, 0, 0, 0.57778],\n \"91\": [0.35001, 0.85, 0, 0, 0.41667],\n \"92\": [0.35001, 0.85, 0, 0, 0.57778],\n \"93\": [0.35001, 0.85, 0, 0, 0.41667],\n \"123\": [0.35001, 0.85, 0, 0, 0.58334],\n \"125\": [0.35001, 0.85, 0, 0, 0.58334],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.72222, 0, 0, 0.55556],\n \"732\": [0, 0.72222, 0, 0, 0.55556],\n \"770\": [0, 0.72222, 0, 0, 0.55556],\n \"771\": [0, 0.72222, 0, 0, 0.55556],\n \"8214\": [-0.00099, 0.601, 0, 0, 0.77778],\n \"8593\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8595\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8657\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8659\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8719\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8720\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8721\": [0.25001, 0.75, 0, 0, 1.05556],\n \"8730\": [0.35001, 0.85, 0, 0, 1.0],\n \"8739\": [-0.00599, 0.606, 0, 0, 0.33333],\n \"8741\": [-0.00599, 0.606, 0, 0, 0.55556],\n \"8747\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8748\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8749\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8750\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8896\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8897\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8898\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8899\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8968\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8969\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8970\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8971\": [0.35001, 0.85, 0, 0, 0.47222],\n \"9168\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"10216\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10217\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10752\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10753\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10754\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10756\": [0.25001, 0.75, 0, 0, 0.83334],\n \"10758\": [0.25001, 0.75, 0, 0, 0.83334]\n },\n \"Size2-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.65002, 1.15, 0, 0, 0.59722],\n \"41\": [0.65002, 1.15, 0, 0, 0.59722],\n \"47\": [0.65002, 1.15, 0, 0, 0.81111],\n \"91\": [0.65002, 1.15, 0, 0, 0.47222],\n \"92\": [0.65002, 1.15, 0, 0, 0.81111],\n \"93\": [0.65002, 1.15, 0, 0, 0.47222],\n \"123\": [0.65002, 1.15, 0, 0, 0.66667],\n \"125\": [0.65002, 1.15, 0, 0, 0.66667],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.0],\n \"732\": [0, 0.75, 0, 0, 1.0],\n \"770\": [0, 0.75, 0, 0, 1.0],\n \"771\": [0, 0.75, 0, 0, 1.0],\n \"8719\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8720\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8721\": [0.55001, 1.05, 0, 0, 1.44445],\n \"8730\": [0.65002, 1.15, 0, 0, 1.0],\n \"8747\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8748\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8749\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8750\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8896\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8897\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8898\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8899\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8968\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8969\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8970\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8971\": [0.65002, 1.15, 0, 0, 0.52778],\n \"10216\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10217\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10752\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10753\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10754\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10756\": [0.55001, 1.05, 0, 0, 1.11111],\n \"10758\": [0.55001, 1.05, 0, 0, 1.11111]\n },\n \"Size3-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.95003, 1.45, 0, 0, 0.73611],\n \"41\": [0.95003, 1.45, 0, 0, 0.73611],\n \"47\": [0.95003, 1.45, 0, 0, 1.04445],\n \"91\": [0.95003, 1.45, 0, 0, 0.52778],\n \"92\": [0.95003, 1.45, 0, 0, 1.04445],\n \"93\": [0.95003, 1.45, 0, 0, 0.52778],\n \"123\": [0.95003, 1.45, 0, 0, 0.75],\n \"125\": [0.95003, 1.45, 0, 0, 0.75],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.44445],\n \"732\": [0, 0.75, 0, 0, 1.44445],\n \"770\": [0, 0.75, 0, 0, 1.44445],\n \"771\": [0, 0.75, 0, 0, 1.44445],\n \"8730\": [0.95003, 1.45, 0, 0, 1.0],\n \"8968\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8969\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8970\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8971\": [0.95003, 1.45, 0, 0, 0.58334],\n \"10216\": [0.95003, 1.45, 0, 0, 0.75],\n \"10217\": [0.95003, 1.45, 0, 0, 0.75]\n },\n \"Size4-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [1.25003, 1.75, 0, 0, 0.79167],\n \"41\": [1.25003, 1.75, 0, 0, 0.79167],\n \"47\": [1.25003, 1.75, 0, 0, 1.27778],\n \"91\": [1.25003, 1.75, 0, 0, 0.58334],\n \"92\": [1.25003, 1.75, 0, 0, 1.27778],\n \"93\": [1.25003, 1.75, 0, 0, 0.58334],\n \"123\": [1.25003, 1.75, 0, 0, 0.80556],\n \"125\": [1.25003, 1.75, 0, 0, 0.80556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.825, 0, 0, 1.8889],\n \"732\": [0, 0.825, 0, 0, 1.8889],\n \"770\": [0, 0.825, 0, 0, 1.8889],\n \"771\": [0, 0.825, 0, 0, 1.8889],\n \"8730\": [1.25003, 1.75, 0, 0, 1.0],\n \"8968\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8969\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8970\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8971\": [1.25003, 1.75, 0, 0, 0.63889],\n \"9115\": [0.64502, 1.155, 0, 0, 0.875],\n \"9116\": [1e-05, 0.6, 0, 0, 0.875],\n \"9117\": [0.64502, 1.155, 0, 0, 0.875],\n \"9118\": [0.64502, 1.155, 0, 0, 0.875],\n \"9119\": [1e-05, 0.6, 0, 0, 0.875],\n \"9120\": [0.64502, 1.155, 0, 0, 0.875],\n \"9121\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9122\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9123\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9124\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9125\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9126\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9127\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9128\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9129\": [0.90001, 0, 0, 0, 0.88889],\n \"9130\": [0, 0.3, 0, 0, 0.88889],\n \"9131\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9132\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9133\": [0.90001, 0, 0, 0, 0.88889],\n \"9143\": [0.88502, 0.915, 0, 0, 1.05556],\n \"10216\": [1.25003, 1.75, 0, 0, 0.80556],\n \"10217\": [1.25003, 1.75, 0, 0, 0.80556],\n \"57344\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57345\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57680\": [0, 0.12, 0, 0, 0.45],\n \"57681\": [0, 0.12, 0, 0, 0.45],\n \"57682\": [0, 0.12, 0, 0, 0.45],\n \"57683\": [0, 0.12, 0, 0, 0.45]\n },\n \"Typewriter-Regular\": {\n \"32\": [0, 0, 0, 0, 0.525],\n \"33\": [0, 0.61111, 0, 0, 0.525],\n \"34\": [0, 0.61111, 0, 0, 0.525],\n \"35\": [0, 0.61111, 0, 0, 0.525],\n \"36\": [0.08333, 0.69444, 0, 0, 0.525],\n \"37\": [0.08333, 0.69444, 0, 0, 0.525],\n \"38\": [0, 0.61111, 0, 0, 0.525],\n \"39\": [0, 0.61111, 0, 0, 0.525],\n \"40\": [0.08333, 0.69444, 0, 0, 0.525],\n \"41\": [0.08333, 0.69444, 0, 0, 0.525],\n \"42\": [0, 0.52083, 0, 0, 0.525],\n \"43\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"44\": [0.13889, 0.125, 0, 0, 0.525],\n \"45\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"46\": [0, 0.125, 0, 0, 0.525],\n \"47\": [0.08333, 0.69444, 0, 0, 0.525],\n \"48\": [0, 0.61111, 0, 0, 0.525],\n \"49\": [0, 0.61111, 0, 0, 0.525],\n \"50\": [0, 0.61111, 0, 0, 0.525],\n \"51\": [0, 0.61111, 0, 0, 0.525],\n \"52\": [0, 0.61111, 0, 0, 0.525],\n \"53\": [0, 0.61111, 0, 0, 0.525],\n \"54\": [0, 0.61111, 0, 0, 0.525],\n \"55\": [0, 0.61111, 0, 0, 0.525],\n \"56\": [0, 0.61111, 0, 0, 0.525],\n \"57\": [0, 0.61111, 0, 0, 0.525],\n \"58\": [0, 0.43056, 0, 0, 0.525],\n \"59\": [0.13889, 0.43056, 0, 0, 0.525],\n \"60\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"61\": [-0.19549, 0.41562, 0, 0, 0.525],\n \"62\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"63\": [0, 0.61111, 0, 0, 0.525],\n \"64\": [0, 0.61111, 0, 0, 0.525],\n \"65\": [0, 0.61111, 0, 0, 0.525],\n \"66\": [0, 0.61111, 0, 0, 0.525],\n \"67\": [0, 0.61111, 0, 0, 0.525],\n \"68\": [0, 0.61111, 0, 0, 0.525],\n \"69\": [0, 0.61111, 0, 0, 0.525],\n \"70\": [0, 0.61111, 0, 0, 0.525],\n \"71\": [0, 0.61111, 0, 0, 0.525],\n \"72\": [0, 0.61111, 0, 0, 0.525],\n \"73\": [0, 0.61111, 0, 0, 0.525],\n \"74\": [0, 0.61111, 0, 0, 0.525],\n \"75\": [0, 0.61111, 0, 0, 0.525],\n \"76\": [0, 0.61111, 0, 0, 0.525],\n \"77\": [0, 0.61111, 0, 0, 0.525],\n \"78\": [0, 0.61111, 0, 0, 0.525],\n \"79\": [0, 0.61111, 0, 0, 0.525],\n \"80\": [0, 0.61111, 0, 0, 0.525],\n \"81\": [0.13889, 0.61111, 0, 0, 0.525],\n \"82\": [0, 0.61111, 0, 0, 0.525],\n \"83\": [0, 0.61111, 0, 0, 0.525],\n \"84\": [0, 0.61111, 0, 0, 0.525],\n \"85\": [0, 0.61111, 0, 0, 0.525],\n \"86\": [0, 0.61111, 0, 0, 0.525],\n \"87\": [0, 0.61111, 0, 0, 0.525],\n \"88\": [0, 0.61111, 0, 0, 0.525],\n \"89\": [0, 0.61111, 0, 0, 0.525],\n \"90\": [0, 0.61111, 0, 0, 0.525],\n \"91\": [0.08333, 0.69444, 0, 0, 0.525],\n \"92\": [0.08333, 0.69444, 0, 0, 0.525],\n \"93\": [0.08333, 0.69444, 0, 0, 0.525],\n \"94\": [0, 0.61111, 0, 0, 0.525],\n \"95\": [0.09514, 0, 0, 0, 0.525],\n \"96\": [0, 0.61111, 0, 0, 0.525],\n \"97\": [0, 0.43056, 0, 0, 0.525],\n \"98\": [0, 0.61111, 0, 0, 0.525],\n \"99\": [0, 0.43056, 0, 0, 0.525],\n \"100\": [0, 0.61111, 0, 0, 0.525],\n \"101\": [0, 0.43056, 0, 0, 0.525],\n \"102\": [0, 0.61111, 0, 0, 0.525],\n \"103\": [0.22222, 0.43056, 0, 0, 0.525],\n \"104\": [0, 0.61111, 0, 0, 0.525],\n \"105\": [0, 0.61111, 0, 0, 0.525],\n \"106\": [0.22222, 0.61111, 0, 0, 0.525],\n \"107\": [0, 0.61111, 0, 0, 0.525],\n \"108\": [0, 0.61111, 0, 0, 0.525],\n \"109\": [0, 0.43056, 0, 0, 0.525],\n \"110\": [0, 0.43056, 0, 0, 0.525],\n \"111\": [0, 0.43056, 0, 0, 0.525],\n \"112\": [0.22222, 0.43056, 0, 0, 0.525],\n \"113\": [0.22222, 0.43056, 0, 0, 0.525],\n \"114\": [0, 0.43056, 0, 0, 0.525],\n \"115\": [0, 0.43056, 0, 0, 0.525],\n \"116\": [0, 0.55358, 0, 0, 0.525],\n \"117\": [0, 0.43056, 0, 0, 0.525],\n \"118\": [0, 0.43056, 0, 0, 0.525],\n \"119\": [0, 0.43056, 0, 0, 0.525],\n \"120\": [0, 0.43056, 0, 0, 0.525],\n \"121\": [0.22222, 0.43056, 0, 0, 0.525],\n \"122\": [0, 0.43056, 0, 0, 0.525],\n \"123\": [0.08333, 0.69444, 0, 0, 0.525],\n \"124\": [0.08333, 0.69444, 0, 0, 0.525],\n \"125\": [0.08333, 0.69444, 0, 0, 0.525],\n \"126\": [0, 0.61111, 0, 0, 0.525],\n \"127\": [0, 0.61111, 0, 0, 0.525],\n \"160\": [0, 0, 0, 0, 0.525],\n \"176\": [0, 0.61111, 0, 0, 0.525],\n \"184\": [0.19445, 0, 0, 0, 0.525],\n \"305\": [0, 0.43056, 0, 0, 0.525],\n \"567\": [0.22222, 0.43056, 0, 0, 0.525],\n \"711\": [0, 0.56597, 0, 0, 0.525],\n \"713\": [0, 0.56555, 0, 0, 0.525],\n \"714\": [0, 0.61111, 0, 0, 0.525],\n \"715\": [0, 0.61111, 0, 0, 0.525],\n \"728\": [0, 0.61111, 0, 0, 0.525],\n \"730\": [0, 0.61111, 0, 0, 0.525],\n \"770\": [0, 0.61111, 0, 0, 0.525],\n \"771\": [0, 0.61111, 0, 0, 0.525],\n \"776\": [0, 0.61111, 0, 0, 0.525],\n \"915\": [0, 0.61111, 0, 0, 0.525],\n \"916\": [0, 0.61111, 0, 0, 0.525],\n \"920\": [0, 0.61111, 0, 0, 0.525],\n \"923\": [0, 0.61111, 0, 0, 0.525],\n \"926\": [0, 0.61111, 0, 0, 0.525],\n \"928\": [0, 0.61111, 0, 0, 0.525],\n \"931\": [0, 0.61111, 0, 0, 0.525],\n \"933\": [0, 0.61111, 0, 0, 0.525],\n \"934\": [0, 0.61111, 0, 0, 0.525],\n \"936\": [0, 0.61111, 0, 0, 0.525],\n \"937\": [0, 0.61111, 0, 0, 0.525],\n \"8216\": [0, 0.61111, 0, 0, 0.525],\n \"8217\": [0, 0.61111, 0, 0, 0.525],\n \"8242\": [0, 0.61111, 0, 0, 0.525],\n \"9251\": [0.11111, 0.21944, 0, 0, 0.525]\n }\n});\n;// CONCATENATED MODULE: ./src/fontMetrics.js\n\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n// In TeX, there are actually three sets of dimensions, one for each of\n// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:\n// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are\n// provided in the arrays below, in that order.\n//\n// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively.\n// This was determined by running the following script:\n//\n// latex -interaction=nonstopmode \\\n// '\\documentclass{article}\\usepackage{amsmath}\\begin{document}' \\\n// '$a$ \\expandafter\\show\\the\\textfont2' \\\n// '\\expandafter\\show\\the\\scriptfont2' \\\n// '\\expandafter\\show\\the\\scriptscriptfont2' \\\n// '\\stop'\n//\n// The metrics themselves were retrieved using the following commands:\n//\n// tftopl cmsy10\n// tftopl cmsy7\n// tftopl cmsy5\n//\n// The output of each of these commands is quite lengthy. The only part we\n// care about is the FONTDIMEN section. Each value is measured in EMs.\nconst sigmasAndXis = {\n slant: [0.250, 0.250, 0.250],\n // sigma1\n space: [0.000, 0.000, 0.000],\n // sigma2\n stretch: [0.000, 0.000, 0.000],\n // sigma3\n shrink: [0.000, 0.000, 0.000],\n // sigma4\n xHeight: [0.431, 0.431, 0.431],\n // sigma5\n quad: [1.000, 1.171, 1.472],\n // sigma6\n extraSpace: [0.000, 0.000, 0.000],\n // sigma7\n num1: [0.677, 0.732, 0.925],\n // sigma8\n num2: [0.394, 0.384, 0.387],\n // sigma9\n num3: [0.444, 0.471, 0.504],\n // sigma10\n denom1: [0.686, 0.752, 1.025],\n // sigma11\n denom2: [0.345, 0.344, 0.532],\n // sigma12\n sup1: [0.413, 0.503, 0.504],\n // sigma13\n sup2: [0.363, 0.431, 0.404],\n // sigma14\n sup3: [0.289, 0.286, 0.294],\n // sigma15\n sub1: [0.150, 0.143, 0.200],\n // sigma16\n sub2: [0.247, 0.286, 0.400],\n // sigma17\n supDrop: [0.386, 0.353, 0.494],\n // sigma18\n subDrop: [0.050, 0.071, 0.100],\n // sigma19\n delim1: [2.390, 1.700, 1.980],\n // sigma20\n delim2: [1.010, 1.157, 1.420],\n // sigma21\n axisHeight: [0.250, 0.250, 0.250],\n // sigma22\n // These font metrics are extracted from TeX by using tftopl on cmex10.tfm;\n // they correspond to the font parameters of the extension fonts (family 3).\n // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to\n // match cmex7, we'd use cmex7.tfm values for script and scriptscript\n // values.\n defaultRuleThickness: [0.04, 0.049, 0.049],\n // xi8; cmex7: 0.049\n bigOpSpacing1: [0.111, 0.111, 0.111],\n // xi9\n bigOpSpacing2: [0.166, 0.166, 0.166],\n // xi10\n bigOpSpacing3: [0.2, 0.2, 0.2],\n // xi11\n bigOpSpacing4: [0.6, 0.611, 0.611],\n // xi12; cmex7: 0.611\n bigOpSpacing5: [0.1, 0.143, 0.143],\n // xi13; cmex7: 0.143\n // The \\sqrt rule width is taken from the height of the surd character.\n // Since we use the same font at all sizes, this thickness doesn't scale.\n sqrtRuleThickness: [0.04, 0.04, 0.04],\n // This value determines how large a pt is, for metrics which are defined\n // in terms of pts.\n // This value is also used in katex.scss; if you change it make sure the\n // values match.\n ptPerEm: [10.0, 10.0, 10.0],\n // The space between adjacent `|` columns in an array definition. From\n // `\\showthe\\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm.\n doubleRuleSep: [0.2, 0.2, 0.2],\n // The width of separator lines in {array} environments. From\n // `\\showthe\\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm.\n arrayRuleWidth: [0.04, 0.04, 0.04],\n // Two values from LaTeX source2e:\n fboxsep: [0.3, 0.3, 0.3],\n // 3 pt / ptPerEm\n fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm\n\n}; // This map contains a mapping from font name and character code to character\n// metrics, including height, depth, italic correction, and skew (kern from the\n// character to the corresponding \\skewchar)\n// This map is generated via `make metrics`. It should not be changed manually.\n\n // These are very rough approximations. We default to Times New Roman which\n// should have Latin-1 and Cyrillic characters, but may not depending on the\n// operating system. The metrics do not account for extra height from the\n// accents. In the case of Cyrillic characters which have both ascenders and\n// descenders we prefer approximations with ascenders, primarily to prevent\n// the fraction bar or root line from intersecting the glyph.\n// TODO(kevinb) allow union of multiple glyph metrics for better accuracy.\n\nconst extraCharacterMap = {\n // Latin-1\n 'Å': 'A',\n 'Ð': 'D',\n 'Þ': 'o',\n 'å': 'a',\n 'ð': 'd',\n 'þ': 'o',\n // Cyrillic\n 'А': 'A',\n 'Б': 'B',\n 'В': 'B',\n 'Г': 'F',\n 'Д': 'A',\n 'Е': 'E',\n 'Ж': 'K',\n 'З': '3',\n 'И': 'N',\n 'Й': 'N',\n 'К': 'K',\n 'Л': 'N',\n 'М': 'M',\n 'Н': 'H',\n 'О': 'O',\n 'П': 'N',\n 'Р': 'P',\n 'С': 'C',\n 'Т': 'T',\n 'У': 'y',\n 'Ф': 'O',\n 'Х': 'X',\n 'Ц': 'U',\n 'Ч': 'h',\n 'Ш': 'W',\n 'Щ': 'W',\n 'Ъ': 'B',\n 'Ы': 'X',\n 'Ь': 'B',\n 'Э': '3',\n 'Ю': 'X',\n 'Я': 'R',\n 'а': 'a',\n 'б': 'b',\n 'в': 'a',\n 'г': 'r',\n 'д': 'y',\n 'е': 'e',\n 'ж': 'm',\n 'з': 'e',\n 'и': 'n',\n 'й': 'n',\n 'к': 'n',\n 'л': 'n',\n 'м': 'm',\n 'н': 'n',\n 'о': 'o',\n 'п': 'n',\n 'р': 'p',\n 'с': 'c',\n 'т': 'o',\n 'у': 'y',\n 'ф': 'b',\n 'х': 'x',\n 'ц': 'n',\n 'ч': 'n',\n 'ш': 'w',\n 'щ': 'w',\n 'ъ': 'a',\n 'ы': 'm',\n 'ь': 'a',\n 'э': 'e',\n 'ю': 'm',\n 'я': 'r'\n};\n\n/**\n * This function adds new font metrics to default metricMap\n * It can also override existing metrics\n */\nfunction setFontMetrics(fontName, metrics) {\n fontMetricsData[fontName] = metrics;\n}\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a font.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn't\n * built using `Make extended_metrics`.\n */\n\nfunction getCharacterMetrics(character, font, mode) {\n if (!fontMetricsData[font]) {\n throw new Error(\"Font metrics not found for font: \" + font + \".\");\n }\n\n let ch = character.charCodeAt(0);\n let metrics = fontMetricsData[font][ch];\n\n if (!metrics && character[0] in extraCharacterMap) {\n ch = extraCharacterMap[character[0]].charCodeAt(0);\n metrics = fontMetricsData[font][ch];\n }\n\n if (!metrics && mode === 'text') {\n // We don't typically have font metrics for Asian scripts.\n // But since we support them in text mode, we need to return\n // some sort of metrics.\n // So if the character is in a script we support but we\n // don't have metrics for it, just use the metrics for\n // the Latin capital letter M. This is close enough because\n // we (currently) only care about the height of the glyph\n // not its width.\n if (supportedCodepoint(ch)) {\n metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M'\n }\n }\n\n if (metrics) {\n return {\n depth: metrics[0],\n height: metrics[1],\n italic: metrics[2],\n skew: metrics[3],\n width: metrics[4]\n };\n }\n}\nconst fontMetricsBySizeIndex = {};\n/**\n * Get the font metrics for a given size.\n */\n\nfunction getGlobalMetrics(size) {\n let sizeIndex;\n\n if (size >= 5) {\n sizeIndex = 0;\n } else if (size >= 3) {\n sizeIndex = 1;\n } else {\n sizeIndex = 2;\n }\n\n if (!fontMetricsBySizeIndex[sizeIndex]) {\n const metrics = fontMetricsBySizeIndex[sizeIndex] = {\n cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18\n };\n\n for (const key in sigmasAndXis) {\n if (sigmasAndXis.hasOwnProperty(key)) {\n metrics[key] = sigmasAndXis[key][sizeIndex];\n }\n }\n }\n\n return fontMetricsBySizeIndex[sizeIndex];\n}\n;// CONCATENATED MODULE: ./src/Options.js\n/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\n\nconst sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize].\n// The size mappings are taken from TeX with \\normalsize=10pt.\n[1, 1, 1], // size1: [5, 5, 5] \\tiny\n[2, 1, 1], // size2: [6, 5, 5]\n[3, 1, 1], // size3: [7, 5, 5] \\scriptsize\n[4, 2, 1], // size4: [8, 6, 5] \\footnotesize\n[5, 2, 1], // size5: [9, 6, 5] \\small\n[6, 3, 1], // size6: [10, 7, 5] \\normalsize\n[7, 4, 2], // size7: [12, 8, 6] \\large\n[8, 6, 3], // size8: [14.4, 10, 7] \\Large\n[9, 7, 6], // size9: [17.28, 12, 10] \\LARGE\n[10, 8, 7], // size10: [20.74, 14.4, 12] \\huge\n[11, 10, 9] // size11: [24.88, 20.74, 17.28] \\HUGE\n];\nconst sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if\n// you change size indexes, change that function.\n0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488];\n\nconst sizeAtStyle = function (size, style) {\n return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1];\n}; // In these types, \"\" (empty string) means \"no change\".\n\n\n/**\n * This is the main options class. It contains the current style, size, color,\n * and font.\n *\n * Options objects should not be modified. To create a new Options with\n * different properties, call a `.having*` method.\n */\nclass Options {\n // A font family applies to a group of fonts (i.e. SansSerif), while a font\n // represents a specific font (i.e. SansSerif Bold).\n // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm\n\n /**\n * The base size index.\n */\n constructor(data) {\n this.style = void 0;\n this.color = void 0;\n this.size = void 0;\n this.textSize = void 0;\n this.phantom = void 0;\n this.font = void 0;\n this.fontFamily = void 0;\n this.fontWeight = void 0;\n this.fontShape = void 0;\n this.sizeMultiplier = void 0;\n this.maxSize = void 0;\n this.minRuleThickness = void 0;\n this._fontMetrics = void 0;\n this.style = data.style;\n this.color = data.color;\n this.size = data.size || Options.BASESIZE;\n this.textSize = data.textSize || this.size;\n this.phantom = !!data.phantom;\n this.font = data.font || \"\";\n this.fontFamily = data.fontFamily || \"\";\n this.fontWeight = data.fontWeight || '';\n this.fontShape = data.fontShape || '';\n this.sizeMultiplier = sizeMultipliers[this.size - 1];\n this.maxSize = data.maxSize;\n this.minRuleThickness = data.minRuleThickness;\n this._fontMetrics = undefined;\n }\n /**\n * Returns a new options object with the same properties as \"this\". Properties\n * from \"extension\" will be copied to the new options object.\n */\n\n\n extend(extension) {\n const data = {\n style: this.style,\n size: this.size,\n textSize: this.textSize,\n color: this.color,\n phantom: this.phantom,\n font: this.font,\n fontFamily: this.fontFamily,\n fontWeight: this.fontWeight,\n fontShape: this.fontShape,\n maxSize: this.maxSize,\n minRuleThickness: this.minRuleThickness\n };\n\n for (const key in extension) {\n if (extension.hasOwnProperty(key)) {\n data[key] = extension[key];\n }\n }\n\n return new Options(data);\n }\n /**\n * Return an options object with the given style. If `this.style === style`,\n * returns `this`.\n */\n\n\n havingStyle(style) {\n if (this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: sizeAtStyle(this.textSize, style)\n });\n }\n }\n /**\n * Return an options object with a cramped version of the current style. If\n * the current style is cramped, returns `this`.\n */\n\n\n havingCrampedStyle() {\n return this.havingStyle(this.style.cramp());\n }\n /**\n * Return an options object with the given size and in at least `\\textstyle`.\n * Returns `this` if appropriate.\n */\n\n\n havingSize(size) {\n if (this.size === size && this.textSize === size) {\n return this;\n } else {\n return this.extend({\n style: this.style.text(),\n size: size,\n textSize: size,\n sizeMultiplier: sizeMultipliers[size - 1]\n });\n }\n }\n /**\n * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,\n * changes to at least `\\textstyle`.\n */\n\n\n havingBaseStyle(style) {\n style = style || this.style.text();\n const wantSize = sizeAtStyle(Options.BASESIZE, style);\n\n if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: wantSize\n });\n }\n }\n /**\n * Remove the effect of sizing changes such as \\Huge.\n * Keep the effect of the current style, such as \\scriptstyle.\n */\n\n\n havingBaseSizing() {\n let size;\n\n switch (this.style.id) {\n case 4:\n case 5:\n size = 3; // normalsize in scriptstyle\n\n break;\n\n case 6:\n case 7:\n size = 1; // normalsize in scriptscriptstyle\n\n break;\n\n default:\n size = 6;\n // normalsize in textstyle or displaystyle\n }\n\n return this.extend({\n style: this.style.text(),\n size: size\n });\n }\n /**\n * Create a new options object with the given color.\n */\n\n\n withColor(color) {\n return this.extend({\n color: color\n });\n }\n /**\n * Create a new options object with \"phantom\" set to true.\n */\n\n\n withPhantom() {\n return this.extend({\n phantom: true\n });\n }\n /**\n * Creates a new options object with the given math font or old text font.\n * @type {[type]}\n */\n\n\n withFont(font) {\n return this.extend({\n font\n });\n }\n /**\n * Create a new options objects with the given fontFamily.\n */\n\n\n withTextFontFamily(fontFamily) {\n return this.extend({\n fontFamily,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontWeight(fontWeight) {\n return this.extend({\n fontWeight,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontShape(fontShape) {\n return this.extend({\n fontShape,\n font: \"\"\n });\n }\n /**\n * Return the CSS sizing classes required to switch from enclosing options\n * `oldOptions` to `this`. Returns an array of classes.\n */\n\n\n sizingClasses(oldOptions) {\n if (oldOptions.size !== this.size) {\n return [\"sizing\", \"reset-size\" + oldOptions.size, \"size\" + this.size];\n } else {\n return [];\n }\n }\n /**\n * Return the CSS sizing classes required to switch to the base size. Like\n * `this.havingSize(BASESIZE).sizingClasses(this)`.\n */\n\n\n baseSizingClasses() {\n if (this.size !== Options.BASESIZE) {\n return [\"sizing\", \"reset-size\" + this.size, \"size\" + Options.BASESIZE];\n } else {\n return [];\n }\n }\n /**\n * Return the font metrics for this size.\n */\n\n\n fontMetrics() {\n if (!this._fontMetrics) {\n this._fontMetrics = getGlobalMetrics(this.size);\n }\n\n return this._fontMetrics;\n }\n /**\n * Gets the CSS color of the current options object\n */\n\n\n getColor() {\n if (this.phantom) {\n return \"transparent\";\n } else {\n return this.color;\n }\n }\n\n}\n\nOptions.BASESIZE = 6;\n/* harmony default export */ var src_Options = (Options);\n;// CONCATENATED MODULE: ./src/units.js\n/**\n * This file does conversion between units. In particular, it provides\n * calculateSize to convert other units into ems.\n */\n\n // This table gives the number of TeX pts in one of each *absolute* TeX unit.\n// Thus, multiplying a length by this number converts the length from units\n// into pts. Dividing the result by ptPerEm gives the number of ems\n// *assuming* a font size of ptPerEm (normal size, normal style).\n\nconst ptPerUnit = {\n // https://en.wikibooks.org/wiki/LaTeX/Lengths and\n // https://tex.stackexchange.com/a/8263\n \"pt\": 1,\n // TeX point\n \"mm\": 7227 / 2540,\n // millimeter\n \"cm\": 7227 / 254,\n // centimeter\n \"in\": 72.27,\n // inch\n \"bp\": 803 / 800,\n // big (PostScript) points\n \"pc\": 12,\n // pica\n \"dd\": 1238 / 1157,\n // didot\n \"cc\": 14856 / 1157,\n // cicero (12 didot)\n \"nd\": 685 / 642,\n // new didot\n \"nc\": 1370 / 107,\n // new cicero (12 new didot)\n \"sp\": 1 / 65536,\n // scaled point (TeX's internal smallest unit)\n // https://tex.stackexchange.com/a/41371\n \"px\": 803 / 800 // \\pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX\n\n}; // Dictionary of relative units, for fast validity testing.\n\nconst relativeUnit = {\n \"ex\": true,\n \"em\": true,\n \"mu\": true\n};\n\n/**\n * Determine whether the specified unit (either a string defining the unit\n * or a \"size\" parse node containing a unit field) is valid.\n */\nconst validUnit = function (unit) {\n if (typeof unit !== \"string\") {\n unit = unit.unit;\n }\n\n return unit in ptPerUnit || unit in relativeUnit || unit === \"ex\";\n};\n/*\n * Convert a \"size\" parse node (with numeric \"number\" and string \"unit\" fields,\n * as parsed by functions.js argType \"size\") into a CSS em value for the\n * current style/scale. `options` gives the current options.\n */\n\nconst calculateSize = function (sizeValue, options) {\n let scale;\n\n if (sizeValue.unit in ptPerUnit) {\n // Absolute units\n scale = ptPerUnit[sizeValue.unit] // Convert unit to pt\n / options.fontMetrics().ptPerEm // Convert pt to CSS em\n / options.sizeMultiplier; // Unscale to make absolute units\n } else if (sizeValue.unit === \"mu\") {\n // `mu` units scale with scriptstyle/scriptscriptstyle.\n scale = options.fontMetrics().cssEmPerMu;\n } else {\n // Other relative units always refer to the *textstyle* font\n // in the current size.\n let unitOptions;\n\n if (options.style.isTight()) {\n // isTight() means current style is script/scriptscript.\n unitOptions = options.havingStyle(options.style.text());\n } else {\n unitOptions = options;\n } // TODO: In TeX these units are relative to the quad of the current\n // *text* font, e.g. cmr10. KaTeX instead uses values from the\n // comparably-sized *Computer Modern symbol* font. At 10pt, these\n // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641;\n // cmr5=1.361133, cmsy5=1.472241. Consider $\\scriptsize a\\kern1emb$.\n // TeX \\showlists shows a kern of 1.13889 * fontsize;\n // KaTeX shows a kern of 1.171 * fontsize.\n\n\n if (sizeValue.unit === \"ex\") {\n scale = unitOptions.fontMetrics().xHeight;\n } else if (sizeValue.unit === \"em\") {\n scale = unitOptions.fontMetrics().quad;\n } else {\n throw new src_ParseError(\"Invalid unit: '\" + sizeValue.unit + \"'\");\n }\n\n if (unitOptions !== options) {\n scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n return Math.min(sizeValue.number * scale, options.maxSize);\n};\n/**\n * Round `n` to 4 decimal places, or to the nearest 1/10,000th em. See\n * https://github.com/KaTeX/KaTeX/pull/2460.\n */\n\nconst makeEm = function (n) {\n return +n.toFixed(4) + \"em\";\n};\n;// CONCATENATED MODULE: ./src/domTree.js\n/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n *\n * TODO: refactor `span` and `anchor` into common superclass when\n * target environments support class inheritance\n */\n\n\n\n\n\n\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove empty classes.\n */\nconst createClass = function (classes) {\n return classes.filter(cls => cls).join(\" \");\n};\n\nconst initNode = function (classes, options, style) {\n this.classes = classes || [];\n this.attributes = {};\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = style || {};\n\n if (options) {\n if (options.style.isTight()) {\n this.classes.push(\"mtight\");\n }\n\n const color = options.getColor();\n\n if (color) {\n this.style.color = color;\n }\n }\n};\n/**\n * Convert into an HTML node\n */\n\n\nconst toNode = function (tagName) {\n const node = document.createElement(tagName); // Apply the class\n\n node.className = createClass(this.classes); // Apply inline styles\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe Flow doesn't seem to understand span.style's type.\n node.style[style] = this.style[style];\n }\n } // Apply attributes\n\n\n for (const attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n } // Append the children, also as HTML nodes\n\n\n for (let i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n};\n/**\n * https://w3c.github.io/html-reference/syntax.html#syntax-attributes\n *\n * > Attribute Names must consist of one or more characters\n * other than the space characters, U+0000 NULL,\n * '\"', \"'\", \">\", \"/\", \"=\", the control characters,\n * and any characters that are not defined by Unicode.\n */\n\n\nconst invalidAttributeNameRegex = /[\\s\"'>/=\\x00-\\x1f]/;\n/**\n * Convert into an HTML markup string\n */\n\nconst toMarkup = function (tagName) {\n let markup = \"<\" + tagName; // Add the class\n\n if (this.classes.length) {\n markup += \" class=\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n let styles = \"\"; // Add the styles, after hyphenation\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n } // Add the attributes\n\n\n for (const attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n if (invalidAttributeNameRegex.test(attr)) {\n throw new src_ParseError(\"Invalid attribute name '\" + attr + \"'\");\n }\n\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \">\"; // Add the markup of the children, also as markup\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n// This type does not include all CSS properties. Additional properties should\n// be added as needed.\n\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n *\n * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan\n * otherwise. This typesafety is important when HTML builders access a span's\n * children.\n */\nclass Span {\n constructor(classes, children, options, style) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options, style);\n this.children = children || [];\n }\n /**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not\n * all browsers support attributes the same, and having too many custom\n * attributes is probably bad.\n */\n\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"span\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"span\");\n }\n\n}\n/**\n * This node represents an anchor (
) element with a hyperlink. See `span`\n * for further details.\n */\n\nclass Anchor {\n constructor(href, classes, children, options) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options);\n this.children = children || [];\n this.setAttribute('href', href);\n }\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"a\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"a\");\n }\n\n}\n/**\n * This node represents an image embed () element.\n */\n\nclass Img {\n constructor(src, alt, style) {\n this.src = void 0;\n this.alt = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.alt = alt;\n this.src = src;\n this.classes = [\"mord\"];\n this.style = style;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n const node = document.createElement(\"img\");\n node.src = this.src;\n node.alt = this.alt;\n node.className = \"mord\"; // Apply inline styles\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe\n node.style[style] = this.style[style];\n }\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\\\"\"\";\n return markup;\n }\n\n}\nconst iCombinations = {\n 'î': '\\u0131\\u0302',\n 'ï': '\\u0131\\u0308',\n 'í': '\\u0131\\u0301',\n // 'ī': '\\u0131\\u0304', // enable when we add Extended Latin\n 'ì': '\\u0131\\u0300'\n};\n/**\n * A symbol node contains information about a single symbol. It either renders\n * to a single text node, or a span with a single text node in it, depending on\n * whether it has CSS classes, styles, or needs italic correction.\n */\n\nclass SymbolNode {\n constructor(text, height, depth, italic, skew, width, classes, style) {\n this.text = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.italic = void 0;\n this.skew = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.classes = void 0;\n this.style = void 0;\n this.text = text;\n this.height = height || 0;\n this.depth = depth || 0;\n this.italic = italic || 0;\n this.skew = skew || 0;\n this.width = width || 0;\n this.classes = classes || [];\n this.style = style || {};\n this.maxFontSize = 0; // Mark text from non-Latin scripts with specific classes so that we\n // can specify which fonts to use. This allows us to render these\n // characters with a serif font in situations where the browser would\n // either default to a sans serif or render a placeholder character.\n // We use CSS class names like cjk_fallback, hangul_fallback and\n // brahmic_fallback. See ./unicodeScripts.js for the set of possible\n // script names\n\n const script = scriptFromCodepoint(this.text.charCodeAt(0));\n\n if (script) {\n this.classes.push(script + \"_fallback\");\n }\n\n if (/[îïíì]/.test(this.text)) {\n // add ī when we add Extended Latin\n this.text = iCombinations[this.text];\n }\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /**\n * Creates a text node or span from a symbol node. Note that a span is only\n * created if it is needed.\n */\n\n\n toNode() {\n const node = document.createTextNode(this.text);\n let span = null;\n\n if (this.italic > 0) {\n span = document.createElement(\"span\");\n span.style.marginRight = makeEm(this.italic);\n }\n\n if (this.classes.length > 0) {\n span = span || document.createElement(\"span\");\n span.className = createClass(this.classes);\n }\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n span = span || document.createElement(\"span\"); // $FlowFixMe Flow doesn't seem to understand span.style's type.\n\n span.style[style] = this.style[style];\n }\n }\n\n if (span) {\n span.appendChild(node);\n return span;\n } else {\n return node;\n }\n }\n /**\n * Creates markup for a symbol node.\n */\n\n\n toMarkup() {\n // TODO(alpert): More duplication than I'd like from\n // span.prototype.toMarkup and symbolNode.prototype.toNode...\n let needsSpan = false;\n let markup = \" 0) {\n styles += \"margin-right:\" + this.italic + \"em;\";\n }\n\n for (const style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n needsSpan = true;\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n }\n\n const escaped = utils.escape(this.text);\n\n if (needsSpan) {\n markup += \">\";\n markup += escaped;\n markup += \"\";\n return markup;\n } else {\n return escaped;\n }\n }\n\n}\n/**\n * SVG nodes are used to render stretchy wide elements.\n */\n\nclass SvgNode {\n constructor(children, attributes) {\n this.children = void 0;\n this.attributes = void 0;\n this.children = children || [];\n this.attributes = attributes || {};\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"svg\"); // Apply attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (let i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\";\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n }\n\n}\nclass PathNode {\n constructor(pathName, alternate) {\n this.pathName = void 0;\n this.alternate = void 0;\n this.pathName = pathName;\n this.alternate = alternate; // Used only for \\sqrt, \\phase, & tall delims\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"path\");\n\n if (this.alternate) {\n node.setAttribute(\"d\", this.alternate);\n } else {\n node.setAttribute(\"d\", path[this.pathName]);\n }\n\n return node;\n }\n\n toMarkup() {\n if (this.alternate) {\n return \"\";\n } else {\n return \"\";\n }\n }\n\n}\nclass LineNode {\n constructor(attributes) {\n this.attributes = void 0;\n this.attributes = attributes || {};\n }\n\n toNode() {\n const svgNS = \"http://www.w3.org/2000/svg\";\n const node = document.createElementNS(svgNS, \"line\"); // Apply attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n return node;\n }\n\n toMarkup() {\n let markup = \"\";\n return markup;\n }\n\n}\nfunction assertSymbolDomNode(group) {\n if (group instanceof SymbolNode) {\n return group;\n } else {\n throw new Error(\"Expected symbolNode but got \" + String(group) + \".\");\n }\n}\nfunction assertSpan(group) {\n if (group instanceof Span) {\n return group;\n } else {\n throw new Error(\"Expected span but got \" + String(group) + \".\");\n }\n}\n;// CONCATENATED MODULE: ./src/symbols.js\n/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like 'a' or ';').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either \"main\" (the\n normal font), or \"ams\" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n \"textord\", \"mathord\", etc).\n See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n * replaced with (i.e. \"\\phi\" has a replace value of \"\\u03d5\", the phi\n * character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. \"math\" or \"text\").\n */\n// Some of these have a \"-token\" suffix since these are also used as `ParseNode`\n// types for raw text tokens, and we want to avoid conflicts with higher-level\n// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by\n// looking up the `symbols` map.\nconst ATOMS = {\n \"bin\": 1,\n \"close\": 1,\n \"inner\": 1,\n \"open\": 1,\n \"punct\": 1,\n \"rel\": 1\n};\nconst NON_ATOMS = {\n \"accent-token\": 1,\n \"mathord\": 1,\n \"op-token\": 1,\n \"spacing\": 1,\n \"textord\": 1\n};\nconst symbols = {\n \"math\": {},\n \"text\": {}\n};\n/* harmony default export */ var src_symbols = (symbols);\n/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */\n\nfunction defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) {\n symbols[mode][name] = {\n font,\n group,\n replace\n };\n\n if (acceptUnicodeChar && replace) {\n symbols[mode][replace] = symbols[mode][name];\n }\n} // Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n// modes:\n\nconst math = \"math\";\nconst symbols_text = \"text\"; // fonts:\n\nconst main = \"main\";\nconst ams = \"ams\"; // groups:\n\nconst accent = \"accent-token\";\nconst bin = \"bin\";\nconst symbols_close = \"close\";\nconst inner = \"inner\";\nconst mathord = \"mathord\";\nconst op = \"op-token\";\nconst symbols_open = \"open\";\nconst punct = \"punct\";\nconst rel = \"rel\";\nconst spacing = \"spacing\";\nconst textord = \"textord\"; // Now comes the symbol table\n// Relation Symbols\n\ndefineSymbol(math, main, rel, \"\\u2261\", \"\\\\equiv\", true);\ndefineSymbol(math, main, rel, \"\\u227a\", \"\\\\prec\", true);\ndefineSymbol(math, main, rel, \"\\u227b\", \"\\\\succ\", true);\ndefineSymbol(math, main, rel, \"\\u223c\", \"\\\\sim\", true);\ndefineSymbol(math, main, rel, \"\\u22a5\", \"\\\\perp\");\ndefineSymbol(math, main, rel, \"\\u2aaf\", \"\\\\preceq\", true);\ndefineSymbol(math, main, rel, \"\\u2ab0\", \"\\\\succeq\", true);\ndefineSymbol(math, main, rel, \"\\u2243\", \"\\\\simeq\", true);\ndefineSymbol(math, main, rel, \"\\u2223\", \"\\\\mid\", true);\ndefineSymbol(math, main, rel, \"\\u226a\", \"\\\\ll\", true);\ndefineSymbol(math, main, rel, \"\\u226b\", \"\\\\gg\", true);\ndefineSymbol(math, main, rel, \"\\u224d\", \"\\\\asymp\", true);\ndefineSymbol(math, main, rel, \"\\u2225\", \"\\\\parallel\");\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\bowtie\", true);\ndefineSymbol(math, main, rel, \"\\u2323\", \"\\\\smile\", true);\ndefineSymbol(math, main, rel, \"\\u2291\", \"\\\\sqsubseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2292\", \"\\\\sqsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2250\", \"\\\\doteq\", true);\ndefineSymbol(math, main, rel, \"\\u2322\", \"\\\\frown\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\ni\", true);\ndefineSymbol(math, main, rel, \"\\u221d\", \"\\\\propto\", true);\ndefineSymbol(math, main, rel, \"\\u22a2\", \"\\\\vdash\", true);\ndefineSymbol(math, main, rel, \"\\u22a3\", \"\\\\dashv\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\owns\"); // Punctuation\n\ndefineSymbol(math, main, punct, \"\\u002e\", \"\\\\ldotp\");\ndefineSymbol(math, main, punct, \"\\u22c5\", \"\\\\cdotp\"); // Misc Symbols\n\ndefineSymbol(math, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(symbols_text, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(math, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(symbols_text, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(math, main, textord, \"\\u2135\", \"\\\\aleph\", true);\ndefineSymbol(math, main, textord, \"\\u2200\", \"\\\\forall\", true);\ndefineSymbol(math, main, textord, \"\\u210f\", \"\\\\hbar\", true);\ndefineSymbol(math, main, textord, \"\\u2203\", \"\\\\exists\", true);\ndefineSymbol(math, main, textord, \"\\u2207\", \"\\\\nabla\", true);\ndefineSymbol(math, main, textord, \"\\u266d\", \"\\\\flat\", true);\ndefineSymbol(math, main, textord, \"\\u2113\", \"\\\\ell\", true);\ndefineSymbol(math, main, textord, \"\\u266e\", \"\\\\natural\", true);\ndefineSymbol(math, main, textord, \"\\u2663\", \"\\\\clubsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2118\", \"\\\\wp\", true);\ndefineSymbol(math, main, textord, \"\\u266f\", \"\\\\sharp\", true);\ndefineSymbol(math, main, textord, \"\\u2662\", \"\\\\diamondsuit\", true);\ndefineSymbol(math, main, textord, \"\\u211c\", \"\\\\Re\", true);\ndefineSymbol(math, main, textord, \"\\u2661\", \"\\\\heartsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2111\", \"\\\\Im\", true);\ndefineSymbol(math, main, textord, \"\\u2660\", \"\\\\spadesuit\", true);\ndefineSymbol(math, main, textord, \"\\u00a7\", \"\\\\S\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00a7\", \"\\\\S\");\ndefineSymbol(math, main, textord, \"\\u00b6\", \"\\\\P\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00b6\", \"\\\\P\"); // Math and Text\n\ndefineSymbol(math, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2020\", \"\\\\textdagger\");\ndefineSymbol(math, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(symbols_text, main, textord, \"\\u2021\", \"\\\\textdaggerdbl\"); // Large Delimiters\n\ndefineSymbol(math, main, symbols_close, \"\\u23b1\", \"\\\\rmoustache\", true);\ndefineSymbol(math, main, symbols_open, \"\\u23b0\", \"\\\\lmoustache\", true);\ndefineSymbol(math, main, symbols_close, \"\\u27ef\", \"\\\\rgroup\", true);\ndefineSymbol(math, main, symbols_open, \"\\u27ee\", \"\\\\lgroup\", true); // Binary Operators\n\ndefineSymbol(math, main, bin, \"\\u2213\", \"\\\\mp\", true);\ndefineSymbol(math, main, bin, \"\\u2296\", \"\\\\ominus\", true);\ndefineSymbol(math, main, bin, \"\\u228e\", \"\\\\uplus\", true);\ndefineSymbol(math, main, bin, \"\\u2293\", \"\\\\sqcap\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"\\\\ast\");\ndefineSymbol(math, main, bin, \"\\u2294\", \"\\\\sqcup\", true);\ndefineSymbol(math, main, bin, \"\\u25ef\", \"\\\\bigcirc\", true);\ndefineSymbol(math, main, bin, \"\\u2219\", \"\\\\bullet\", true);\ndefineSymbol(math, main, bin, \"\\u2021\", \"\\\\ddagger\");\ndefineSymbol(math, main, bin, \"\\u2240\", \"\\\\wr\", true);\ndefineSymbol(math, main, bin, \"\\u2a3f\", \"\\\\amalg\");\ndefineSymbol(math, main, bin, \"\\u0026\", \"\\\\And\"); // from amsmath\n// Arrow Symbols\n\ndefineSymbol(math, main, rel, \"\\u27f5\", \"\\\\longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d0\", \"\\\\Leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f8\", \"\\\\Longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f6\", \"\\\\longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d2\", \"\\\\Rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f9\", \"\\\\Longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2194\", \"\\\\leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f7\", \"\\\\longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d4\", \"\\\\Leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27fa\", \"\\\\Longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a6\", \"\\\\mapsto\", true);\ndefineSymbol(math, main, rel, \"\\u27fc\", \"\\\\longmapsto\", true);\ndefineSymbol(math, main, rel, \"\\u2197\", \"\\\\nearrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a9\", \"\\\\hookleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21aa\", \"\\\\hookrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2198\", \"\\\\searrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bc\", \"\\\\leftharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u21c0\", \"\\\\rightharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u2199\", \"\\\\swarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bd\", \"\\\\leftharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u21c1\", \"\\\\rightharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u2196\", \"\\\\nwarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21cc\", \"\\\\rightleftharpoons\", true); // AMS Negated Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u226e\", \"\\\\nless\", true); // Symbol names preceded by \"@\" each have a corresponding macro.\n\ndefineSymbol(math, ams, rel, \"\\ue010\", \"\\\\@nleqslant\");\ndefineSymbol(math, ams, rel, \"\\ue011\", \"\\\\@nleqq\");\ndefineSymbol(math, ams, rel, \"\\u2a87\", \"\\\\lneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2268\", \"\\\\lneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00c\", \"\\\\@lvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e6\", \"\\\\lnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a89\", \"\\\\lnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2280\", \"\\\\nprec\", true); // unicode-math maps \\u22e0 to \\npreccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e0\", \"\\\\npreceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e8\", \"\\\\precnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab9\", \"\\\\precnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2241\", \"\\\\nsim\", true);\ndefineSymbol(math, ams, rel, \"\\ue006\", \"\\\\@nshortmid\");\ndefineSymbol(math, ams, rel, \"\\u2224\", \"\\\\nmid\", true);\ndefineSymbol(math, ams, rel, \"\\u22ac\", \"\\\\nvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ad\", \"\\\\nvDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ea\", \"\\\\ntriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22ec\", \"\\\\ntrianglelefteq\", true);\ndefineSymbol(math, ams, rel, \"\\u228a\", \"\\\\subsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01a\", \"\\\\@varsubsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acb\", \"\\\\subsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue017\", \"\\\\@varsubsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u226f\", \"\\\\ngtr\", true);\ndefineSymbol(math, ams, rel, \"\\ue00f\", \"\\\\@ngeqslant\");\ndefineSymbol(math, ams, rel, \"\\ue00e\", \"\\\\@ngeqq\");\ndefineSymbol(math, ams, rel, \"\\u2a88\", \"\\\\gneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2269\", \"\\\\gneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00d\", \"\\\\@gvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e7\", \"\\\\gnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8a\", \"\\\\gnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2281\", \"\\\\nsucc\", true); // unicode-math maps \\u22e1 to \\nsucccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e1\", \"\\\\nsucceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e9\", \"\\\\succnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2aba\", \"\\\\succnapprox\", true); // unicode-math maps \\u2246 to \\simneqq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u2246\", \"\\\\ncong\", true);\ndefineSymbol(math, ams, rel, \"\\ue007\", \"\\\\@nshortparallel\");\ndefineSymbol(math, ams, rel, \"\\u2226\", \"\\\\nparallel\", true);\ndefineSymbol(math, ams, rel, \"\\u22af\", \"\\\\nVDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22eb\", \"\\\\ntriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22ed\", \"\\\\ntrianglerighteq\", true);\ndefineSymbol(math, ams, rel, \"\\ue018\", \"\\\\@nsupseteqq\");\ndefineSymbol(math, ams, rel, \"\\u228b\", \"\\\\supsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01b\", \"\\\\@varsupsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acc\", \"\\\\supsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue019\", \"\\\\@varsupsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u22ae\", \"\\\\nVdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab5\", \"\\\\precneqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab6\", \"\\\\succneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue016\", \"\\\\@nsubseteqq\");\ndefineSymbol(math, ams, bin, \"\\u22b4\", \"\\\\unlhd\");\ndefineSymbol(math, ams, bin, \"\\u22b5\", \"\\\\unrhd\"); // AMS Negated Arrows\n\ndefineSymbol(math, ams, rel, \"\\u219a\", \"\\\\nleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219b\", \"\\\\nrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cd\", \"\\\\nLeftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cf\", \"\\\\nRightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ae\", \"\\\\nleftrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ce\", \"\\\\nLeftrightarrow\", true); // AMS Misc\n\ndefineSymbol(math, ams, rel, \"\\u25b3\", \"\\\\vartriangle\");\ndefineSymbol(math, ams, textord, \"\\u210f\", \"\\\\hslash\");\ndefineSymbol(math, ams, textord, \"\\u25bd\", \"\\\\triangledown\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\lozenge\");\ndefineSymbol(math, ams, textord, \"\\u24c8\", \"\\\\circledS\");\ndefineSymbol(math, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(symbols_text, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(math, ams, textord, \"\\u2221\", \"\\\\measuredangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2204\", \"\\\\nexists\");\ndefineSymbol(math, ams, textord, \"\\u2127\", \"\\\\mho\");\ndefineSymbol(math, ams, textord, \"\\u2132\", \"\\\\Finv\", true);\ndefineSymbol(math, ams, textord, \"\\u2141\", \"\\\\Game\", true);\ndefineSymbol(math, ams, textord, \"\\u2035\", \"\\\\backprime\");\ndefineSymbol(math, ams, textord, \"\\u25b2\", \"\\\\blacktriangle\");\ndefineSymbol(math, ams, textord, \"\\u25bc\", \"\\\\blacktriangledown\");\ndefineSymbol(math, ams, textord, \"\\u25a0\", \"\\\\blacksquare\");\ndefineSymbol(math, ams, textord, \"\\u29eb\", \"\\\\blacklozenge\");\ndefineSymbol(math, ams, textord, \"\\u2605\", \"\\\\bigstar\");\ndefineSymbol(math, ams, textord, \"\\u2222\", \"\\\\sphericalangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2201\", \"\\\\complement\", true); // unicode-math maps U+F0 to \\matheth. We map to AMS function \\eth\n\ndefineSymbol(math, ams, textord, \"\\u00f0\", \"\\\\eth\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00f0\", \"\\u00f0\");\ndefineSymbol(math, ams, textord, \"\\u2571\", \"\\\\diagup\");\ndefineSymbol(math, ams, textord, \"\\u2572\", \"\\\\diagdown\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\square\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\Box\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\Diamond\"); // unicode-math maps U+A5 to \\mathyen. We map to AMS function \\yen\n\ndefineSymbol(math, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(math, ams, textord, \"\\u2713\", \"\\\\checkmark\", true);\ndefineSymbol(symbols_text, ams, textord, \"\\u2713\", \"\\\\checkmark\"); // AMS Hebrew\n\ndefineSymbol(math, ams, textord, \"\\u2136\", \"\\\\beth\", true);\ndefineSymbol(math, ams, textord, \"\\u2138\", \"\\\\daleth\", true);\ndefineSymbol(math, ams, textord, \"\\u2137\", \"\\\\gimel\", true); // AMS Greek\n\ndefineSymbol(math, ams, textord, \"\\u03dd\", \"\\\\digamma\", true);\ndefineSymbol(math, ams, textord, \"\\u03f0\", \"\\\\varkappa\"); // AMS Delimiters\n\ndefineSymbol(math, ams, symbols_open, \"\\u250c\", \"\\\\@ulcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2510\", \"\\\\@urcorner\", true);\ndefineSymbol(math, ams, symbols_open, \"\\u2514\", \"\\\\@llcorner\", true);\ndefineSymbol(math, ams, symbols_close, \"\\u2518\", \"\\\\@lrcorner\", true); // AMS Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u2266\", \"\\\\leqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7d\", \"\\\\leqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a95\", \"\\\\eqslantless\", true);\ndefineSymbol(math, ams, rel, \"\\u2272\", \"\\\\lesssim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a85\", \"\\\\lessapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u224a\", \"\\\\approxeq\", true);\ndefineSymbol(math, ams, bin, \"\\u22d6\", \"\\\\lessdot\");\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\lll\", true);\ndefineSymbol(math, ams, rel, \"\\u2276\", \"\\\\lessgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u22da\", \"\\\\lesseqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8b\", \"\\\\lesseqqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\doteqdot\");\ndefineSymbol(math, ams, rel, \"\\u2253\", \"\\\\risingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u2252\", \"\\\\fallingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u223d\", \"\\\\backsim\", true);\ndefineSymbol(math, ams, rel, \"\\u22cd\", \"\\\\backsimeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ac5\", \"\\\\subseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d0\", \"\\\\Subset\", true);\ndefineSymbol(math, ams, rel, \"\\u228f\", \"\\\\sqsubset\", true);\ndefineSymbol(math, ams, rel, \"\\u227c\", \"\\\\preccurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22de\", \"\\\\curlyeqprec\", true);\ndefineSymbol(math, ams, rel, \"\\u227e\", \"\\\\precsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab7\", \"\\\\precapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b2\", \"\\\\vartriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22b4\", \"\\\\trianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u22a8\", \"\\\\vDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22aa\", \"\\\\Vvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2323\", \"\\\\smallsmile\");\ndefineSymbol(math, ams, rel, \"\\u2322\", \"\\\\smallfrown\");\ndefineSymbol(math, ams, rel, \"\\u224f\", \"\\\\bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u224e\", \"\\\\Bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2267\", \"\\\\geqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7e\", \"\\\\geqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a96\", \"\\\\eqslantgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2273\", \"\\\\gtrsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a86\", \"\\\\gtrapprox\", true);\ndefineSymbol(math, ams, bin, \"\\u22d7\", \"\\\\gtrdot\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\ggg\", true);\ndefineSymbol(math, ams, rel, \"\\u2277\", \"\\\\gtrless\", true);\ndefineSymbol(math, ams, rel, \"\\u22db\", \"\\\\gtreqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8c\", \"\\\\gtreqqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2256\", \"\\\\eqcirc\", true);\ndefineSymbol(math, ams, rel, \"\\u2257\", \"\\\\circeq\", true);\ndefineSymbol(math, ams, rel, \"\\u225c\", \"\\\\triangleq\", true);\ndefineSymbol(math, ams, rel, \"\\u223c\", \"\\\\thicksim\");\ndefineSymbol(math, ams, rel, \"\\u2248\", \"\\\\thickapprox\");\ndefineSymbol(math, ams, rel, \"\\u2ac6\", \"\\\\supseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d1\", \"\\\\Supset\", true);\ndefineSymbol(math, ams, rel, \"\\u2290\", \"\\\\sqsupset\", true);\ndefineSymbol(math, ams, rel, \"\\u227d\", \"\\\\succcurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22df\", \"\\\\curlyeqsucc\", true);\ndefineSymbol(math, ams, rel, \"\\u227f\", \"\\\\succsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab8\", \"\\\\succapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b3\", \"\\\\vartriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22b5\", \"\\\\trianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\u22a9\", \"\\\\Vdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2223\", \"\\\\shortmid\");\ndefineSymbol(math, ams, rel, \"\\u2225\", \"\\\\shortparallel\");\ndefineSymbol(math, ams, rel, \"\\u226c\", \"\\\\between\", true);\ndefineSymbol(math, ams, rel, \"\\u22d4\", \"\\\\pitchfork\", true);\ndefineSymbol(math, ams, rel, \"\\u221d\", \"\\\\varpropto\");\ndefineSymbol(math, ams, rel, \"\\u25c0\", \"\\\\blacktriangleleft\"); // unicode-math says that \\therefore is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2234\", \"\\\\therefore\", true);\ndefineSymbol(math, ams, rel, \"\\u220d\", \"\\\\backepsilon\");\ndefineSymbol(math, ams, rel, \"\\u25b6\", \"\\\\blacktriangleright\"); // unicode-math says that \\because is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2235\", \"\\\\because\", true);\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\llless\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\gggtr\");\ndefineSymbol(math, ams, bin, \"\\u22b2\", \"\\\\lhd\");\ndefineSymbol(math, ams, bin, \"\\u22b3\", \"\\\\rhd\");\ndefineSymbol(math, ams, rel, \"\\u2242\", \"\\\\eqsim\", true);\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\Join\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\Doteq\", true); // AMS Binary Operators\n\ndefineSymbol(math, ams, bin, \"\\u2214\", \"\\\\dotplus\", true);\ndefineSymbol(math, ams, bin, \"\\u2216\", \"\\\\smallsetminus\");\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\Cap\", true);\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\Cup\", true);\ndefineSymbol(math, ams, bin, \"\\u2a5e\", \"\\\\doublebarwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u229f\", \"\\\\boxminus\", true);\ndefineSymbol(math, ams, bin, \"\\u229e\", \"\\\\boxplus\", true);\ndefineSymbol(math, ams, bin, \"\\u22c7\", \"\\\\divideontimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22c9\", \"\\\\ltimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22ca\", \"\\\\rtimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cb\", \"\\\\leftthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cc\", \"\\\\rightthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cf\", \"\\\\curlywedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22ce\", \"\\\\curlyvee\", true);\ndefineSymbol(math, ams, bin, \"\\u229d\", \"\\\\circleddash\", true);\ndefineSymbol(math, ams, bin, \"\\u229b\", \"\\\\circledast\", true);\ndefineSymbol(math, ams, bin, \"\\u22c5\", \"\\\\centerdot\");\ndefineSymbol(math, ams, bin, \"\\u22ba\", \"\\\\intercal\", true);\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\doublecap\");\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\doublecup\");\ndefineSymbol(math, ams, bin, \"\\u22a0\", \"\\\\boxtimes\", true); // AMS Arrows\n// Note: unicode-math maps \\u21e2 to their own function \\rightdasharrow.\n// We'll map it to AMS function \\dashrightarrow. It produces the same atom.\n\ndefineSymbol(math, ams, rel, \"\\u21e2\", \"\\\\dashrightarrow\", true); // unicode-math maps \\u21e0 to \\leftdasharrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21e0\", \"\\\\dashleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c7\", \"\\\\leftleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c6\", \"\\\\leftrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21da\", \"\\\\Lleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219e\", \"\\\\twoheadleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a2\", \"\\\\leftarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ab\", \"\\\\looparrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21cb\", \"\\\\leftrightharpoons\", true);\ndefineSymbol(math, ams, rel, \"\\u21b6\", \"\\\\curvearrowleft\", true); // unicode-math maps \\u21ba to \\acwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21ba\", \"\\\\circlearrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21b0\", \"\\\\Lsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21c8\", \"\\\\upuparrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21bf\", \"\\\\upharpoonleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21c3\", \"\\\\downharpoonleft\", true);\ndefineSymbol(math, main, rel, \"\\u22b6\", \"\\\\origof\", true); // not in font\n\ndefineSymbol(math, main, rel, \"\\u22b7\", \"\\\\imageof\", true); // not in font\n\ndefineSymbol(math, ams, rel, \"\\u22b8\", \"\\\\multimap\", true);\ndefineSymbol(math, ams, rel, \"\\u21ad\", \"\\\\leftrightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c9\", \"\\\\rightrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c4\", \"\\\\rightleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21a0\", \"\\\\twoheadrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a3\", \"\\\\rightarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ac\", \"\\\\looparrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b7\", \"\\\\curvearrowright\", true); // unicode-math maps \\u21bb to \\cwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21bb\", \"\\\\circlearrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b1\", \"\\\\Rsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21ca\", \"\\\\downdownarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\upharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21c2\", \"\\\\downharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\rightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\leadsto\");\ndefineSymbol(math, ams, rel, \"\\u21db\", \"\\\\Rrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\restriction\");\ndefineSymbol(math, main, textord, \"\\u2018\", \"`\");\ndefineSymbol(math, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(symbols_text, main, textord, \"$\", \"\\\\textdollar\");\ndefineSymbol(math, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(symbols_text, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(math, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(symbols_text, main, textord, \"_\", \"\\\\textunderscore\");\ndefineSymbol(math, main, textord, \"\\u2220\", \"\\\\angle\", true);\ndefineSymbol(math, main, textord, \"\\u221e\", \"\\\\infty\", true);\ndefineSymbol(math, main, textord, \"\\u2032\", \"\\\\prime\");\ndefineSymbol(math, main, textord, \"\\u25b3\", \"\\\\triangle\");\ndefineSymbol(math, main, textord, \"\\u0393\", \"\\\\Gamma\", true);\ndefineSymbol(math, main, textord, \"\\u0394\", \"\\\\Delta\", true);\ndefineSymbol(math, main, textord, \"\\u0398\", \"\\\\Theta\", true);\ndefineSymbol(math, main, textord, \"\\u039b\", \"\\\\Lambda\", true);\ndefineSymbol(math, main, textord, \"\\u039e\", \"\\\\Xi\", true);\ndefineSymbol(math, main, textord, \"\\u03a0\", \"\\\\Pi\", true);\ndefineSymbol(math, main, textord, \"\\u03a3\", \"\\\\Sigma\", true);\ndefineSymbol(math, main, textord, \"\\u03a5\", \"\\\\Upsilon\", true);\ndefineSymbol(math, main, textord, \"\\u03a6\", \"\\\\Phi\", true);\ndefineSymbol(math, main, textord, \"\\u03a8\", \"\\\\Psi\", true);\ndefineSymbol(math, main, textord, \"\\u03a9\", \"\\\\Omega\", true);\ndefineSymbol(math, main, textord, \"A\", \"\\u0391\");\ndefineSymbol(math, main, textord, \"B\", \"\\u0392\");\ndefineSymbol(math, main, textord, \"E\", \"\\u0395\");\ndefineSymbol(math, main, textord, \"Z\", \"\\u0396\");\ndefineSymbol(math, main, textord, \"H\", \"\\u0397\");\ndefineSymbol(math, main, textord, \"I\", \"\\u0399\");\ndefineSymbol(math, main, textord, \"K\", \"\\u039A\");\ndefineSymbol(math, main, textord, \"M\", \"\\u039C\");\ndefineSymbol(math, main, textord, \"N\", \"\\u039D\");\ndefineSymbol(math, main, textord, \"O\", \"\\u039F\");\ndefineSymbol(math, main, textord, \"P\", \"\\u03A1\");\ndefineSymbol(math, main, textord, \"T\", \"\\u03A4\");\ndefineSymbol(math, main, textord, \"X\", \"\\u03A7\");\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\neg\", true);\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\lnot\");\ndefineSymbol(math, main, textord, \"\\u22a4\", \"\\\\top\");\ndefineSymbol(math, main, textord, \"\\u22a5\", \"\\\\bot\");\ndefineSymbol(math, main, textord, \"\\u2205\", \"\\\\emptyset\");\ndefineSymbol(math, ams, textord, \"\\u2205\", \"\\\\varnothing\");\ndefineSymbol(math, main, mathord, \"\\u03b1\", \"\\\\alpha\", true);\ndefineSymbol(math, main, mathord, \"\\u03b2\", \"\\\\beta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b3\", \"\\\\gamma\", true);\ndefineSymbol(math, main, mathord, \"\\u03b4\", \"\\\\delta\", true);\ndefineSymbol(math, main, mathord, \"\\u03f5\", \"\\\\epsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03b6\", \"\\\\zeta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b7\", \"\\\\eta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b8\", \"\\\\theta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b9\", \"\\\\iota\", true);\ndefineSymbol(math, main, mathord, \"\\u03ba\", \"\\\\kappa\", true);\ndefineSymbol(math, main, mathord, \"\\u03bb\", \"\\\\lambda\", true);\ndefineSymbol(math, main, mathord, \"\\u03bc\", \"\\\\mu\", true);\ndefineSymbol(math, main, mathord, \"\\u03bd\", \"\\\\nu\", true);\ndefineSymbol(math, main, mathord, \"\\u03be\", \"\\\\xi\", true);\ndefineSymbol(math, main, mathord, \"\\u03bf\", \"\\\\omicron\", true);\ndefineSymbol(math, main, mathord, \"\\u03c0\", \"\\\\pi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c1\", \"\\\\rho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c3\", \"\\\\sigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c4\", \"\\\\tau\", true);\ndefineSymbol(math, main, mathord, \"\\u03c5\", \"\\\\upsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d5\", \"\\\\phi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c7\", \"\\\\chi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c8\", \"\\\\psi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c9\", \"\\\\omega\", true);\ndefineSymbol(math, main, mathord, \"\\u03b5\", \"\\\\varepsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d1\", \"\\\\vartheta\", true);\ndefineSymbol(math, main, mathord, \"\\u03d6\", \"\\\\varpi\", true);\ndefineSymbol(math, main, mathord, \"\\u03f1\", \"\\\\varrho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c2\", \"\\\\varsigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c6\", \"\\\\varphi\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"*\", true);\ndefineSymbol(math, main, bin, \"+\", \"+\");\ndefineSymbol(math, main, bin, \"\\u2212\", \"-\", true);\ndefineSymbol(math, main, bin, \"\\u22c5\", \"\\\\cdot\", true);\ndefineSymbol(math, main, bin, \"\\u2218\", \"\\\\circ\", true);\ndefineSymbol(math, main, bin, \"\\u00f7\", \"\\\\div\", true);\ndefineSymbol(math, main, bin, \"\\u00b1\", \"\\\\pm\", true);\ndefineSymbol(math, main, bin, \"\\u00d7\", \"\\\\times\", true);\ndefineSymbol(math, main, bin, \"\\u2229\", \"\\\\cap\", true);\ndefineSymbol(math, main, bin, \"\\u222a\", \"\\\\cup\", true);\ndefineSymbol(math, main, bin, \"\\u2216\", \"\\\\setminus\", true);\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\land\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\lor\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\wedge\", true);\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\vee\", true);\ndefineSymbol(math, main, textord, \"\\u221a\", \"\\\\surd\");\ndefineSymbol(math, main, symbols_open, \"\\u27e8\", \"\\\\langle\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2223\", \"\\\\lvert\");\ndefineSymbol(math, main, symbols_open, \"\\u2225\", \"\\\\lVert\");\ndefineSymbol(math, main, symbols_close, \"?\", \"?\");\ndefineSymbol(math, main, symbols_close, \"!\", \"!\");\ndefineSymbol(math, main, symbols_close, \"\\u27e9\", \"\\\\rangle\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2223\", \"\\\\rvert\");\ndefineSymbol(math, main, symbols_close, \"\\u2225\", \"\\\\rVert\");\ndefineSymbol(math, main, rel, \"=\", \"=\");\ndefineSymbol(math, main, rel, \":\", \":\");\ndefineSymbol(math, main, rel, \"\\u2248\", \"\\\\approx\", true);\ndefineSymbol(math, main, rel, \"\\u2245\", \"\\\\cong\", true);\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\ge\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\geq\", true);\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\gets\");\ndefineSymbol(math, main, rel, \">\", \"\\\\gt\", true);\ndefineSymbol(math, main, rel, \"\\u2208\", \"\\\\in\", true);\ndefineSymbol(math, main, rel, \"\\ue020\", \"\\\\@not\");\ndefineSymbol(math, main, rel, \"\\u2282\", \"\\\\subset\", true);\ndefineSymbol(math, main, rel, \"\\u2283\", \"\\\\supset\", true);\ndefineSymbol(math, main, rel, \"\\u2286\", \"\\\\subseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2287\", \"\\\\supseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2288\", \"\\\\nsubseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2289\", \"\\\\nsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u22a8\", \"\\\\models\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\le\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\leq\", true);\ndefineSymbol(math, main, rel, \"<\", \"\\\\lt\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\to\");\ndefineSymbol(math, ams, rel, \"\\u2271\", \"\\\\ngeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2270\", \"\\\\nleq\", true);\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\space\"); // Ref: LaTeX Source 2e: \\DeclareRobustCommand{\\nobreakspace}{%\n\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \" \");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\space\");\ndefineSymbol(symbols_text, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(math, main, spacing, null, \"\\\\nobreak\");\ndefineSymbol(math, main, spacing, null, \"\\\\allowbreak\");\ndefineSymbol(math, main, punct, \",\", \",\");\ndefineSymbol(math, main, punct, \";\", \";\");\ndefineSymbol(math, ams, bin, \"\\u22bc\", \"\\\\barwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22bb\", \"\\\\veebar\", true);\ndefineSymbol(math, main, bin, \"\\u2299\", \"\\\\odot\", true);\ndefineSymbol(math, main, bin, \"\\u2295\", \"\\\\oplus\", true);\ndefineSymbol(math, main, bin, \"\\u2297\", \"\\\\otimes\", true);\ndefineSymbol(math, main, textord, \"\\u2202\", \"\\\\partial\", true);\ndefineSymbol(math, main, bin, \"\\u2298\", \"\\\\oslash\", true);\ndefineSymbol(math, ams, bin, \"\\u229a\", \"\\\\circledcirc\", true);\ndefineSymbol(math, ams, bin, \"\\u22a1\", \"\\\\boxdot\", true);\ndefineSymbol(math, main, bin, \"\\u25b3\", \"\\\\bigtriangleup\");\ndefineSymbol(math, main, bin, \"\\u25bd\", \"\\\\bigtriangledown\");\ndefineSymbol(math, main, bin, \"\\u2020\", \"\\\\dagger\");\ndefineSymbol(math, main, bin, \"\\u22c4\", \"\\\\diamond\");\ndefineSymbol(math, main, bin, \"\\u22c6\", \"\\\\star\");\ndefineSymbol(math, main, bin, \"\\u25c3\", \"\\\\triangleleft\");\ndefineSymbol(math, main, bin, \"\\u25b9\", \"\\\\triangleright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\{\");\ndefineSymbol(symbols_text, main, textord, \"{\", \"\\\\textbraceleft\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\}\");\ndefineSymbol(symbols_text, main, textord, \"}\", \"\\\\textbraceright\");\ndefineSymbol(math, main, symbols_open, \"{\", \"\\\\lbrace\");\ndefineSymbol(math, main, symbols_close, \"}\", \"\\\\rbrace\");\ndefineSymbol(math, main, symbols_open, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(math, main, symbols_close, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(symbols_text, main, textord, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(math, main, symbols_open, \"(\", \"\\\\lparen\", true);\ndefineSymbol(math, main, symbols_close, \")\", \"\\\\rparen\", true);\ndefineSymbol(symbols_text, main, textord, \"<\", \"\\\\textless\", true); // in T1 fontenc\n\ndefineSymbol(symbols_text, main, textord, \">\", \"\\\\textgreater\", true); // in T1 fontenc\n\ndefineSymbol(math, main, symbols_open, \"\\u230a\", \"\\\\lfloor\", true);\ndefineSymbol(math, main, symbols_close, \"\\u230b\", \"\\\\rfloor\", true);\ndefineSymbol(math, main, symbols_open, \"\\u2308\", \"\\\\lceil\", true);\ndefineSymbol(math, main, symbols_close, \"\\u2309\", \"\\\\rceil\", true);\ndefineSymbol(math, main, textord, \"\\\\\", \"\\\\backslash\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"|\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"\\\\vert\");\ndefineSymbol(symbols_text, main, textord, \"|\", \"\\\\textbar\", true); // in T1 fontenc\n\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\|\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\Vert\");\ndefineSymbol(symbols_text, main, textord, \"\\u2225\", \"\\\\textbardbl\");\ndefineSymbol(symbols_text, main, textord, \"~\", \"\\\\textasciitilde\");\ndefineSymbol(symbols_text, main, textord, \"\\\\\", \"\\\\textbackslash\");\ndefineSymbol(symbols_text, main, textord, \"^\", \"\\\\textasciicircum\");\ndefineSymbol(math, main, rel, \"\\u2191\", \"\\\\uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d1\", \"\\\\Uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u2193\", \"\\\\downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d3\", \"\\\\Downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2195\", \"\\\\updownarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d5\", \"\\\\Updownarrow\", true);\ndefineSymbol(math, main, op, \"\\u2210\", \"\\\\coprod\");\ndefineSymbol(math, main, op, \"\\u22c1\", \"\\\\bigvee\");\ndefineSymbol(math, main, op, \"\\u22c0\", \"\\\\bigwedge\");\ndefineSymbol(math, main, op, \"\\u2a04\", \"\\\\biguplus\");\ndefineSymbol(math, main, op, \"\\u22c2\", \"\\\\bigcap\");\ndefineSymbol(math, main, op, \"\\u22c3\", \"\\\\bigcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\int\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\intop\");\ndefineSymbol(math, main, op, \"\\u222c\", \"\\\\iint\");\ndefineSymbol(math, main, op, \"\\u222d\", \"\\\\iiint\");\ndefineSymbol(math, main, op, \"\\u220f\", \"\\\\prod\");\ndefineSymbol(math, main, op, \"\\u2211\", \"\\\\sum\");\ndefineSymbol(math, main, op, \"\\u2a02\", \"\\\\bigotimes\");\ndefineSymbol(math, main, op, \"\\u2a01\", \"\\\\bigoplus\");\ndefineSymbol(math, main, op, \"\\u2a00\", \"\\\\bigodot\");\ndefineSymbol(math, main, op, \"\\u222e\", \"\\\\oint\");\ndefineSymbol(math, main, op, \"\\u222f\", \"\\\\oiint\");\ndefineSymbol(math, main, op, \"\\u2230\", \"\\\\oiiint\");\ndefineSymbol(math, main, op, \"\\u2a06\", \"\\\\bigsqcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\smallint\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\textellipsis\");\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\mathellipsis\");\ndefineSymbol(symbols_text, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u22ef\", \"\\\\@cdots\", true);\ndefineSymbol(math, main, inner, \"\\u22f1\", \"\\\\ddots\", true); // \\vdots is a macro that uses one of these two symbols (with made-up names):\n\ndefineSymbol(math, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(symbols_text, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(math, main, accent, \"\\u02ca\", \"\\\\acute\");\ndefineSymbol(math, main, accent, \"\\u02cb\", \"\\\\grave\");\ndefineSymbol(math, main, accent, \"\\u00a8\", \"\\\\ddot\");\ndefineSymbol(math, main, accent, \"\\u007e\", \"\\\\tilde\");\ndefineSymbol(math, main, accent, \"\\u02c9\", \"\\\\bar\");\ndefineSymbol(math, main, accent, \"\\u02d8\", \"\\\\breve\");\ndefineSymbol(math, main, accent, \"\\u02c7\", \"\\\\check\");\ndefineSymbol(math, main, accent, \"\\u005e\", \"\\\\hat\");\ndefineSymbol(math, main, accent, \"\\u20d7\", \"\\\\vec\");\ndefineSymbol(math, main, accent, \"\\u02d9\", \"\\\\dot\");\ndefineSymbol(math, main, accent, \"\\u02da\", \"\\\\mathring\"); // \\imath and \\jmath should be invariant to \\mathrm, \\mathbf, etc., so use PUA\n\ndefineSymbol(math, main, mathord, \"\\ue131\", \"\\\\@imath\");\ndefineSymbol(math, main, mathord, \"\\ue237\", \"\\\\@jmath\");\ndefineSymbol(math, main, textord, \"\\u0131\", \"\\u0131\");\ndefineSymbol(math, main, textord, \"\\u0237\", \"\\u0237\");\ndefineSymbol(symbols_text, main, textord, \"\\u0131\", \"\\\\i\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0237\", \"\\\\j\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00df\", \"\\\\ss\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00e6\", \"\\\\ae\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0153\", \"\\\\oe\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00f8\", \"\\\\o\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00c6\", \"\\\\AE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u0152\", \"\\\\OE\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00d8\", \"\\\\O\", true);\ndefineSymbol(symbols_text, main, accent, \"\\u02ca\", \"\\\\'\"); // acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u02cb\", \"\\\\`\"); // grave\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c6\", \"\\\\^\"); // circumflex\n\ndefineSymbol(symbols_text, main, accent, \"\\u02dc\", \"\\\\~\"); // tilde\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c9\", \"\\\\=\"); // macron\n\ndefineSymbol(symbols_text, main, accent, \"\\u02d8\", \"\\\\u\"); // breve\n\ndefineSymbol(symbols_text, main, accent, \"\\u02d9\", \"\\\\.\"); // dot above\n\ndefineSymbol(symbols_text, main, accent, \"\\u00b8\", \"\\\\c\"); // cedilla\n\ndefineSymbol(symbols_text, main, accent, \"\\u02da\", \"\\\\r\"); // ring above\n\ndefineSymbol(symbols_text, main, accent, \"\\u02c7\", \"\\\\v\"); // caron\n\ndefineSymbol(symbols_text, main, accent, \"\\u00a8\", '\\\\\"'); // diaeresis\n\ndefineSymbol(symbols_text, main, accent, \"\\u02dd\", \"\\\\H\"); // double acute\n\ndefineSymbol(symbols_text, main, accent, \"\\u25ef\", \"\\\\textcircled\"); // \\bigcirc glyph\n// These ligatures are detected and created in Parser.js's `formLigatures`.\n\nconst ligatures = {\n \"--\": true,\n \"---\": true,\n \"``\": true,\n \"''\": true\n};\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"--\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2013\", \"\\\\textendash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"---\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2014\", \"\\\\textemdash\");\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"`\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2018\", \"\\\\textquoteleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"'\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u2019\", \"\\\\textquoteright\");\ndefineSymbol(symbols_text, main, textord, \"\\u201c\", \"``\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201c\", \"\\\\textquotedblleft\");\ndefineSymbol(symbols_text, main, textord, \"\\u201d\", \"''\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u201d\", \"\\\\textquotedblright\"); // \\degree from gensymb package\n\ndefineSymbol(math, main, textord, \"\\u00b0\", \"\\\\degree\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00b0\", \"\\\\degree\"); // \\textdegree from inputenc package\n\ndefineSymbol(symbols_text, main, textord, \"\\u00b0\", \"\\\\textdegree\", true); // TODO: In LaTeX, \\pounds can generate a different character in text and math\n// mode, but among our fonts, only Main-Regular defines this character \"163\".\n\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\mathsterling\", true);\ndefineSymbol(symbols_text, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(symbols_text, main, textord, \"\\u00a3\", \"\\\\textsterling\", true);\ndefineSymbol(math, ams, textord, \"\\u2720\", \"\\\\maltese\");\ndefineSymbol(symbols_text, ams, textord, \"\\u2720\", \"\\\\maltese\"); // There are lots of symbols which are the same, so we add them in afterwards.\n// All of these are textords in math mode\n\nconst mathTextSymbols = \"0123456789/@.\\\"\";\n\nfor (let i = 0; i < mathTextSymbols.length; i++) {\n const ch = mathTextSymbols.charAt(i);\n defineSymbol(math, main, textord, ch, ch);\n} // All of these are textords in text mode\n\n\nconst textSymbols = \"0123456789!@*()-=+\\\";:?/.,\";\n\nfor (let i = 0; i < textSymbols.length; i++) {\n const ch = textSymbols.charAt(i);\n defineSymbol(symbols_text, main, textord, ch, ch);\n} // All of these are textords in text mode, and mathords in math mode\n\n\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\nfor (let i = 0; i < letters.length; i++) {\n const ch = letters.charAt(i);\n defineSymbol(math, main, mathord, ch, ch);\n defineSymbol(symbols_text, main, textord, ch, ch);\n} // Blackboard bold and script letters in Unicode range\n\n\ndefineSymbol(math, ams, textord, \"C\", \"\\u2102\"); // blackboard bold\n\ndefineSymbol(symbols_text, ams, textord, \"C\", \"\\u2102\");\ndefineSymbol(math, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(symbols_text, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(math, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(symbols_text, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(math, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(symbols_text, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(math, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(symbols_text, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(math, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(symbols_text, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(math, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(symbols_text, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(math, main, mathord, \"h\", \"\\u210E\"); // italic h, Planck constant\n\ndefineSymbol(symbols_text, main, mathord, \"h\", \"\\u210E\"); // The next loop loads wide (surrogate pair) characters.\n// We support some letters in the Unicode range U+1D400 to U+1D7FF,\n// Mathematical Alphanumeric Symbols.\n// Some editors do not deal well with wide characters. So don't write the\n// string into this file. Instead, create the string from the surrogate pair.\n\nlet wideChar = \"\";\n\nfor (let i = 0; i < letters.length; i++) {\n const ch = letters.charAt(i); // The hex numbers in the next line are a surrogate pair.\n // 0xD835 is the high surrogate for all letters in the range we support.\n // 0xDC00 is the low surrogate for bold A.\n\n wideChar = String.fromCharCode(0xD835, 0xDC00 + i); // A-Z a-z bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC34 + i); // A-Z a-z italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC68 + i); // A-Z a-z bold italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD04 + i); // A-Z a-z Fraktur\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD6C + i); // A-Z a-z bold Fraktur\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDA0 + i); // A-Z a-z sans-serif\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDD4 + i); // A-Z a-z sans bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE08 + i); // A-Z a-z sans italic\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE70 + i); // A-Z a-z monospace\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n\n if (i < 26) {\n // KaTeX fonts have only capital letters for blackboard bold and script.\n // See exception for k below.\n wideChar = String.fromCharCode(0xD835, 0xDD38 + i); // A-Z double struck\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC9C + i); // A-Z script\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n } // TODO: Add bold script when it is supported by a KaTeX font.\n\n} // \"k\" is the only double struck lower case letter in the KaTeX fonts.\n\n\nwideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck\n\ndefineSymbol(math, main, mathord, \"k\", wideChar);\ndefineSymbol(symbols_text, main, textord, \"k\", wideChar); // Next, some wide character numerals\n\nfor (let i = 0; i < 10; i++) {\n const ch = i.toString();\n wideChar = String.fromCharCode(0xD835, 0xDFCE + i); // 0-9 bold\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFE2 + i); // 0-9 sans serif\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFEC + i); // 0-9 bold sans\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFF6 + i); // 0-9 monospace\n\n defineSymbol(math, main, mathord, ch, wideChar);\n defineSymbol(symbols_text, main, textord, ch, wideChar);\n} // We add these Latin-1 letters as symbols for backwards-compatibility,\n// but they are not actually in the font, nor are they supported by the\n// Unicode accent mechanism, so they fall back to Times font and look ugly.\n// TODO(edemaine): Fix this.\n\n\nconst extraLatin = \"\\u00d0\\u00de\\u00fe\";\n\nfor (let i = 0; i < extraLatin.length; i++) {\n const ch = extraLatin.charAt(i);\n defineSymbol(math, main, mathord, ch, ch);\n defineSymbol(symbols_text, main, textord, ch, ch);\n}\n;// CONCATENATED MODULE: ./src/wide-character.js\n/**\n * This file provides support for Unicode range U+1D400 to U+1D7FF,\n * Mathematical Alphanumeric Symbols.\n *\n * Function wideCharacterFont takes a wide character as input and returns\n * the font information necessary to render it properly.\n */\n\n/**\n * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf\n * That document sorts characters into groups by font type, say bold or italic.\n *\n * In the arrays below, each subarray consists three elements:\n * * The CSS class of that group when in math mode.\n * * The CSS class of that group when in text mode.\n * * The font name, so that KaTeX can get font metrics.\n */\n\nconst wideLatinLetterData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // A-Z bold upright\n[\"mathbf\", \"textbf\", \"Main-Bold\"], // a-z bold upright\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // A-Z italic\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // a-z italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // A-Z bold italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // a-z bold italic\n// Map fancy A-Z letters to script, not calligraphic.\n// This aligns with unicode-math and math fonts (except Cambria Math).\n[\"mathscr\", \"textscr\", \"Script-Regular\"], // A-Z script\n[\"\", \"\", \"\"], // a-z script. No font\n[\"\", \"\", \"\"], // A-Z bold script. No font\n[\"\", \"\", \"\"], // a-z bold script. No font\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // A-Z Fraktur\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // a-z Fraktur\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // A-Z double-struck\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // k double-struck\n// Note that we are using a bold font, but font metrics for regular Fraktur.\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // A-Z bold Fraktur\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // a-z bold Fraktur\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // A-Z sans-serif\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // a-z sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // A-Z bold sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // a-z bold sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // A-Z italic sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // a-z italic sans-serif\n[\"\", \"\", \"\"], // A-Z bold italic sans. No font\n[\"\", \"\", \"\"], // a-z bold italic sans. No font\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"], // A-Z monospace\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // a-z monospace\n];\nconst wideNumeralData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // 0-9 bold\n[\"\", \"\", \"\"], // 0-9 double-struck. No KaTeX font.\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // 0-9 sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // 0-9 bold sans-serif\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // 0-9 monospace\n];\nconst wideCharacterFont = function (wideChar, mode) {\n // IE doesn't support codePointAt(). So work with the surrogate pair.\n const H = wideChar.charCodeAt(0); // high surrogate\n\n const L = wideChar.charCodeAt(1); // low surrogate\n\n const codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;\n const j = mode === \"math\" ? 0 : 1; // column index for CSS class.\n\n if (0x1D400 <= codePoint && codePoint < 0x1D6A4) {\n // wideLatinLetterData contains exactly 26 chars on each row.\n // So we can calculate the relevant row. No traverse necessary.\n const i = Math.floor((codePoint - 0x1D400) / 26);\n return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]];\n } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) {\n // Numerals, ten per row.\n const i = Math.floor((codePoint - 0x1D7CE) / 10);\n return [wideNumeralData[i][2], wideNumeralData[i][j]];\n } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) {\n // dotless i or j\n return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]];\n } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) {\n // Greek letters. Not supported, yet.\n return [\"\", \"\"];\n } else {\n // We don't support any wide characters outside 1D400–1D7FF.\n throw new src_ParseError(\"Unsupported character: \" + wideChar);\n }\n};\n;// CONCATENATED MODULE: ./src/buildCommon.js\n/* eslint no-console:0 */\n\n/**\n * This module contains general functions that can be used for building\n * different kinds of domTree nodes in a consistent manner.\n */\n\n\n\n\n\n\n\n/**\n * Looks up the given symbol in fontMetrics, after applying any symbol\n * replacements defined in symbol.js\n */\nconst lookupSymbol = function (value, // TODO(#963): Use a union type for this.\nfontName, mode) {\n // Replace the value with its replaced value from symbol.js\n if (src_symbols[mode][value] && src_symbols[mode][value].replace) {\n value = src_symbols[mode][value].replace;\n }\n\n return {\n value: value,\n metrics: getCharacterMetrics(value, fontName, mode)\n };\n};\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n *\n * TODO: make argument order closer to makeSpan\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n * TODO(#953): Make `options` mandatory and always pass it in.\n */\n\n\nconst makeSymbol = function (value, fontName, mode, options, classes) {\n const lookup = lookupSymbol(value, fontName, mode);\n const metrics = lookup.metrics;\n value = lookup.value;\n let symbolNode;\n\n if (metrics) {\n let italic = metrics.italic;\n\n if (mode === \"text\" || options && options.font === \"mathit\") {\n italic = 0;\n }\n\n symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes);\n } else {\n // TODO(emily): Figure out a good way to only print this in development\n typeof console !== \"undefined\" && console.warn(\"No character metrics \" + (\"for '\" + value + \"' in style '\" + fontName + \"' and mode '\" + mode + \"'\"));\n symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes);\n }\n\n if (options) {\n symbolNode.maxFontSize = options.sizeMultiplier;\n\n if (options.style.isTight()) {\n symbolNode.classes.push(\"mtight\");\n }\n\n const color = options.getColor();\n\n if (color) {\n symbolNode.style.color = color;\n }\n }\n\n return symbolNode;\n};\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\n\n\nconst mathsym = function (value, mode, options, classes) {\n if (classes === void 0) {\n classes = [];\n }\n\n // Decide what font to render the symbol in by its entry in the symbols\n // table.\n // Have a special case for when the value = \\ because the \\ is used as a\n // textord in unsupported command errors but cannot be parsed as a regular\n // text ordinal and is therefore not present as a symbol in the symbols\n // table for text, as well as a special case for boldsymbol because it\n // can be used for bold + and -\n if (options.font === \"boldsymbol\" && lookupSymbol(value, \"Main-Bold\", mode).metrics) {\n return makeSymbol(value, \"Main-Bold\", mode, options, classes.concat([\"mathbf\"]));\n } else if (value === \"\\\\\" || src_symbols[mode][value].font === \"main\") {\n return makeSymbol(value, \"Main-Regular\", mode, options, classes);\n } else {\n return makeSymbol(value, \"AMS-Regular\", mode, options, classes.concat([\"amsrm\"]));\n }\n};\n/**\n * Determines which of the two font names (Main-Bold and Math-BoldItalic) and\n * corresponding style tags (mathbf or boldsymbol) to use for font \"boldsymbol\",\n * depending on the symbol. Use this function instead of fontMap for font\n * \"boldsymbol\".\n */\n\n\nconst boldsymbol = function (value, mode, options, classes, type) {\n if (type !== \"textord\" && lookupSymbol(value, \"Math-BoldItalic\", mode).metrics) {\n return {\n fontName: \"Math-BoldItalic\",\n fontClass: \"boldsymbol\"\n };\n } else {\n // Some glyphs do not exist in Math-BoldItalic so we need to use\n // Main-Bold instead.\n return {\n fontName: \"Main-Bold\",\n fontClass: \"mathbf\"\n };\n }\n};\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\n\n\nconst makeOrd = function (group, options, type) {\n const mode = group.mode;\n const text = group.text;\n const classes = [\"mord\"]; // Math mode or Old font (i.e. \\rm)\n\n const isFont = mode === \"math\" || mode === \"text\" && options.font;\n const fontOrFamily = isFont ? options.font : options.fontFamily;\n let wideFontName = \"\";\n let wideFontClass = \"\";\n\n if (text.charCodeAt(0) === 0xD835) {\n [wideFontName, wideFontClass] = wideCharacterFont(text, mode);\n }\n\n if (wideFontName.length > 0) {\n // surrogate pairs get special treatment\n return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass));\n } else if (fontOrFamily) {\n let fontName;\n let fontClasses;\n\n if (fontOrFamily === \"boldsymbol\") {\n const fontData = boldsymbol(text, mode, options, classes, type);\n fontName = fontData.fontName;\n fontClasses = [fontData.fontClass];\n } else if (isFont) {\n fontName = fontMap[fontOrFamily].fontName;\n fontClasses = [fontOrFamily];\n } else {\n fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape);\n fontClasses = [fontOrFamily, options.fontWeight, options.fontShape];\n }\n\n if (lookupSymbol(text, fontName, mode).metrics) {\n return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses));\n } else if (ligatures.hasOwnProperty(text) && fontName.slice(0, 10) === \"Typewriter\") {\n // Deconstruct ligatures in monospace fonts (\\texttt, \\tt).\n const parts = [];\n\n for (let i = 0; i < text.length; i++) {\n parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses)));\n }\n\n return makeFragment(parts);\n }\n } // Makes a symbol in the default font for mathords and textords.\n\n\n if (type === \"mathord\") {\n return makeSymbol(text, \"Math-Italic\", mode, options, classes.concat([\"mathnormal\"]));\n } else if (type === \"textord\") {\n const font = src_symbols[mode][text] && src_symbols[mode][text].font;\n\n if (font === \"ams\") {\n const fontName = retrieveTextFontName(\"amsrm\", options.fontWeight, options.fontShape);\n return makeSymbol(text, fontName, mode, options, classes.concat(\"amsrm\", options.fontWeight, options.fontShape));\n } else if (font === \"main\" || !font) {\n const fontName = retrieveTextFontName(\"textrm\", options.fontWeight, options.fontShape);\n return makeSymbol(text, fontName, mode, options, classes.concat(options.fontWeight, options.fontShape));\n } else {\n // fonts added by plugins\n const fontName = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class\n\n return makeSymbol(text, fontName, mode, options, classes.concat(fontName, options.fontWeight, options.fontShape));\n }\n } else {\n throw new Error(\"unexpected type: \" + type + \" in makeOrd\");\n }\n};\n/**\n * Returns true if subsequent symbolNodes have the same classes, skew, maxFont,\n * and styles.\n */\n\n\nconst canCombine = (prev, next) => {\n if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) {\n return false;\n } // If prev and next both are just \"mbin\"s or \"mord\"s we don't combine them\n // so that the proper spacing can be preserved.\n\n\n if (prev.classes.length === 1) {\n const cls = prev.classes[0];\n\n if (cls === \"mbin\" || cls === \"mord\") {\n return false;\n }\n }\n\n for (const style in prev.style) {\n if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n for (const style in next.style) {\n if (next.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Combine consecutive domTree.symbolNodes into a single symbolNode.\n * Note: this function mutates the argument.\n */\n\n\nconst tryCombineChars = chars => {\n for (let i = 0; i < chars.length - 1; i++) {\n const prev = chars[i];\n const next = chars[i + 1];\n\n if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) {\n prev.text += next.text;\n prev.height = Math.max(prev.height, next.height);\n prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use\n // it to add padding to the right of the span created from\n // the combined characters.\n\n prev.italic = next.italic;\n chars.splice(i + 1, 1);\n i--;\n }\n }\n\n return chars;\n};\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\n\n\nconst sizeElementFromChildren = function (elem) {\n let height = 0;\n let depth = 0;\n let maxFontSize = 0;\n\n for (let i = 0; i < elem.children.length; i++) {\n const child = elem.children[i];\n\n if (child.height > height) {\n height = child.height;\n }\n\n if (child.depth > depth) {\n depth = child.depth;\n }\n\n if (child.maxFontSize > maxFontSize) {\n maxFontSize = child.maxFontSize;\n }\n }\n\n elem.height = height;\n elem.depth = depth;\n elem.maxFontSize = maxFontSize;\n};\n/**\n * Makes a span with the given list of classes, list of children, and options.\n *\n * TODO(#953): Ensure that `options` is always provided (currently some call\n * sites don't pass it) and make the type below mandatory.\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n */\n\n\nconst makeSpan = function (classes, children, options, style) {\n const span = new Span(classes, children, options, style);\n sizeElementFromChildren(span);\n return span;\n}; // SVG one is simpler -- doesn't require height, depth, max-font setting.\n// This is also a separate method for typesafety.\n\n\nconst makeSvgSpan = (classes, children, options, style) => new Span(classes, children, options, style);\n\nconst makeLineSpan = function (className, options, thickness) {\n const line = makeSpan([className], [], options);\n line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n line.style.borderBottomWidth = makeEm(line.height);\n line.maxFontSize = 1.0;\n return line;\n};\n/**\n * Makes an anchor with the given href, list of classes, list of children,\n * and options.\n */\n\n\nconst makeAnchor = function (href, classes, children, options) {\n const anchor = new Anchor(href, classes, children, options);\n sizeElementFromChildren(anchor);\n return anchor;\n};\n/**\n * Makes a document fragment with the given list of children.\n */\n\n\nconst makeFragment = function (children) {\n const fragment = new DocumentFragment(children);\n sizeElementFromChildren(fragment);\n return fragment;\n};\n/**\n * Wraps group in a span if it's a document fragment, allowing to apply classes\n * and styles\n */\n\n\nconst wrapFragment = function (group, options) {\n if (group instanceof DocumentFragment) {\n return makeSpan([], [group], options);\n }\n\n return group;\n}; // These are exact object types to catch typos in the names of the optional fields.\n\n\n// Computes the updated `children` list and the overall depth.\n//\n// This helper function for makeVList makes it easier to enforce type safety by\n// allowing early exits (returns) in the logic.\nconst getVListChildrenAndDepth = function (params) {\n if (params.positionType === \"individualShift\") {\n const oldChildren = params.children;\n const children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be\n // shifted to the correct specified shift\n\n const depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n let currPos = depth;\n\n for (let i = 1; i < oldChildren.length; i++) {\n const diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth;\n const size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth);\n currPos = currPos + diff;\n children.push({\n type: \"kern\",\n size\n });\n children.push(oldChildren[i]);\n }\n\n return {\n children,\n depth\n };\n }\n\n let depth;\n\n if (params.positionType === \"top\") {\n // We always start at the bottom, so calculate the bottom by adding up\n // all the sizes\n let bottom = params.positionData;\n\n for (let i = 0; i < params.children.length; i++) {\n const child = params.children[i];\n bottom -= child.type === \"kern\" ? child.size : child.elem.height + child.elem.depth;\n }\n\n depth = bottom;\n } else if (params.positionType === \"bottom\") {\n depth = -params.positionData;\n } else {\n const firstChild = params.children[0];\n\n if (firstChild.type !== \"elem\") {\n throw new Error('First child must have type \"elem\".');\n }\n\n if (params.positionType === \"shift\") {\n depth = -firstChild.elem.depth - params.positionData;\n } else if (params.positionType === \"firstBaseline\") {\n depth = -firstChild.elem.depth;\n } else {\n throw new Error(\"Invalid positionType \" + params.positionType + \".\");\n }\n }\n\n return {\n children: params.children,\n depth\n };\n};\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * See VListParam documentation above.\n */\n\n\nconst makeVList = function (params, options) {\n const {\n children,\n depth\n } = getVListChildrenAndDepth(params); // Create a strut that is taller than any list item. The strut is added to\n // each item, where it will determine the item's baseline. Since it has\n // `overflow:hidden`, the strut's top edge will sit on the item's line box's\n // top edge and the strut's bottom edge will sit on the item's baseline,\n // with no additional line-height spacing. This allows the item baseline to\n // be positioned precisely without worrying about font ascent and\n // line-height.\n\n let pstrutSize = 0;\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child.type === \"elem\") {\n const elem = child.elem;\n pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height);\n }\n }\n\n pstrutSize += 2;\n const pstrut = makeSpan([\"pstrut\"], []);\n pstrut.style.height = makeEm(pstrutSize); // Create a new list of actual children at the correct offsets\n\n const realChildren = [];\n let minPos = depth;\n let maxPos = depth;\n let currPos = depth;\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child.type === \"kern\") {\n currPos += child.size;\n } else {\n const elem = child.elem;\n const classes = child.wrapperClasses || [];\n const style = child.wrapperStyle || {};\n const childWrap = makeSpan(classes, [pstrut, elem], undefined, style);\n childWrap.style.top = makeEm(-pstrutSize - currPos - elem.depth);\n\n if (child.marginLeft) {\n childWrap.style.marginLeft = child.marginLeft;\n }\n\n if (child.marginRight) {\n childWrap.style.marginRight = child.marginRight;\n }\n\n realChildren.push(childWrap);\n currPos += elem.height + elem.depth;\n }\n\n minPos = Math.min(minPos, currPos);\n maxPos = Math.max(maxPos, currPos);\n } // The vlist contents go in a table-cell with `vertical-align:bottom`.\n // This cell's bottom edge will determine the containing table's baseline\n // without overly expanding the containing line-box.\n\n\n const vlist = makeSpan([\"vlist\"], realChildren);\n vlist.style.height = makeEm(maxPos); // A second row is used if necessary to represent the vlist's depth.\n\n let rows;\n\n if (minPos < 0) {\n // We will define depth in an empty span with display: table-cell.\n // It should render with the height that we define. But Chrome, in\n // contenteditable mode only, treats that span as if it contains some\n // text content. And that min-height over-rides our desired height.\n // So we put another empty span inside the depth strut span.\n const emptySpan = makeSpan([], []);\n const depthStrut = makeSpan([\"vlist\"], [emptySpan]);\n depthStrut.style.height = makeEm(-minPos); // Safari wants the first row to have inline content; otherwise it\n // puts the bottom of the *second* row on the baseline.\n\n const topStrut = makeSpan([\"vlist-s\"], [new SymbolNode(\"\\u200b\")]);\n rows = [makeSpan([\"vlist-r\"], [vlist, topStrut]), makeSpan([\"vlist-r\"], [depthStrut])];\n } else {\n rows = [makeSpan([\"vlist-r\"], [vlist])];\n }\n\n const vtable = makeSpan([\"vlist-t\"], rows);\n\n if (rows.length === 2) {\n vtable.classes.push(\"vlist-t2\");\n }\n\n vtable.height = maxPos;\n vtable.depth = -minPos;\n return vtable;\n}; // Glue is a concept from TeX which is a flexible space between elements in\n// either a vertical or horizontal list. In KaTeX, at least for now, it's\n// static space between elements in a horizontal layout.\n\n\nconst makeGlue = (measurement, options) => {\n // Make an empty span for the space\n const rule = makeSpan([\"mspace\"], [], options);\n const size = calculateSize(measurement, options);\n rule.style.marginRight = makeEm(size);\n return rule;\n}; // Takes font options, and returns the appropriate fontLookup name\n\n\nconst retrieveTextFontName = function (fontFamily, fontWeight, fontShape) {\n let baseFontName = \"\";\n\n switch (fontFamily) {\n case \"amsrm\":\n baseFontName = \"AMS\";\n break;\n\n case \"textrm\":\n baseFontName = \"Main\";\n break;\n\n case \"textsf\":\n baseFontName = \"SansSerif\";\n break;\n\n case \"texttt\":\n baseFontName = \"Typewriter\";\n break;\n\n default:\n baseFontName = fontFamily;\n // use fonts added by a plugin\n }\n\n let fontStylesName;\n\n if (fontWeight === \"textbf\" && fontShape === \"textit\") {\n fontStylesName = \"BoldItalic\";\n } else if (fontWeight === \"textbf\") {\n fontStylesName = \"Bold\";\n } else if (fontWeight === \"textit\") {\n fontStylesName = \"Italic\";\n } else {\n fontStylesName = \"Regular\";\n }\n\n return baseFontName + \"-\" + fontStylesName;\n};\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for \"mathvariant\" attribute in buildMathML.js\n * - fontName: the \"style\" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\n\n\nconst fontMap = {\n // styles\n \"mathbf\": {\n variant: \"bold\",\n fontName: \"Main-Bold\"\n },\n \"mathrm\": {\n variant: \"normal\",\n fontName: \"Main-Regular\"\n },\n \"textit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathnormal\": {\n variant: \"italic\",\n fontName: \"Math-Italic\"\n },\n \"mathsfit\": {\n variant: \"sans-serif-italic\",\n fontName: \"SansSerif-Italic\"\n },\n // \"boldsymbol\" is missing because they require the use of multiple fonts:\n // Math-BoldItalic and Main-Bold. This is handled by a special case in\n // makeOrd which ends up calling boldsymbol.\n // families\n \"mathbb\": {\n variant: \"double-struck\",\n fontName: \"AMS-Regular\"\n },\n \"mathcal\": {\n variant: \"script\",\n fontName: \"Caligraphic-Regular\"\n },\n \"mathfrak\": {\n variant: \"fraktur\",\n fontName: \"Fraktur-Regular\"\n },\n \"mathscr\": {\n variant: \"script\",\n fontName: \"Script-Regular\"\n },\n \"mathsf\": {\n variant: \"sans-serif\",\n fontName: \"SansSerif-Regular\"\n },\n \"mathtt\": {\n variant: \"monospace\",\n fontName: \"Typewriter-Regular\"\n }\n};\nconst svgData = {\n // path, width, height\n vec: [\"vec\", 0.471, 0.714],\n // values from the font glyph\n oiintSize1: [\"oiintSize1\", 0.957, 0.499],\n // oval to overlay the integrand\n oiintSize2: [\"oiintSize2\", 1.472, 0.659],\n oiiintSize1: [\"oiiintSize1\", 1.304, 0.499],\n oiiintSize2: [\"oiiintSize2\", 1.98, 0.659]\n};\n\nconst staticSvg = function (value, options) {\n // Create a span with inline SVG for the element.\n const [pathName, width, height] = svgData[value];\n const path = new PathNode(pathName);\n const svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + 1000 * height,\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n const span = makeSvgSpan([\"overlay\"], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return span;\n};\n\n/* harmony default export */ var buildCommon = ({\n fontMap,\n makeSymbol,\n mathsym,\n makeSpan,\n makeSvgSpan,\n makeLineSpan,\n makeAnchor,\n makeFragment,\n wrapFragment,\n makeVList,\n makeOrd,\n makeGlue,\n staticSvg,\n svgData,\n tryCombineChars\n});\n;// CONCATENATED MODULE: ./src/spacingData.js\n/**\n * Describes spaces between different classes of atoms.\n */\nconst thinspace = {\n number: 3,\n unit: \"mu\"\n};\nconst mediumspace = {\n number: 4,\n unit: \"mu\"\n};\nconst thickspace = {\n number: 5,\n unit: \"mu\"\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n\n// Spacing relationships for display and text styles\nconst spacings = {\n mord: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n minner: thinspace\n },\n mbin: {\n mord: mediumspace,\n mop: mediumspace,\n mopen: mediumspace,\n minner: mediumspace\n },\n mrel: {\n mord: thickspace,\n mop: thickspace,\n mopen: thickspace,\n minner: thickspace\n },\n mopen: {},\n mclose: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mpunct: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n mopen: thinspace,\n mclose: thinspace,\n mpunct: thinspace,\n minner: thinspace\n },\n minner: {\n mord: thinspace,\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n mopen: thinspace,\n mpunct: thinspace,\n minner: thinspace\n }\n}; // Spacing relationships for script and scriptscript styles\n\nconst tightSpacings = {\n mord: {\n mop: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace\n },\n mbin: {},\n mrel: {},\n mopen: {},\n mclose: {\n mop: thinspace\n },\n mpunct: {},\n minner: {\n mop: thinspace\n }\n};\n;// CONCATENATED MODULE: ./src/defineFunction.js\n/** Context provided to function handlers for error messages. */\n// Note: reverse the order of the return type union will cause a flow error.\n// See https://github.com/facebook/flow/issues/3663.\n// More general version of `HtmlBuilder` for nodes (e.g. \\sum, accent types)\n// whose presence impacts super/subscripting. In this case, ParseNode<\"supsub\">\n// delegates its HTML building to the HtmlBuilder corresponding to these nodes.\n\n/**\n * Final function spec for use at parse time.\n * This is almost identical to `FunctionPropSpec`, except it\n * 1. includes the function handler, and\n * 2. requires all arguments except argTypes.\n * It is generated by `defineFunction()` below.\n */\n\n/**\n * All registered functions.\n * `functions.js` just exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary.\n */\nconst _functions = {};\n/**\n * All HTML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nconst _htmlGroupBuilders = {};\n/**\n * All MathML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nconst _mathmlGroupBuilders = {};\nfunction defineFunction(_ref) {\n let {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of functions\n const data = {\n type,\n numArgs: props.numArgs,\n argTypes: props.argTypes,\n allowedInArgument: !!props.allowedInArgument,\n allowedInText: !!props.allowedInText,\n allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath,\n numOptionalArgs: props.numOptionalArgs || 0,\n infix: !!props.infix,\n primitive: !!props.primitive,\n handler: handler\n };\n\n for (let i = 0; i < names.length; ++i) {\n _functions[names[i]] = data;\n }\n\n if (type) {\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n }\n}\n/**\n * Use this to register only the HTML and MathML builders for a function (e.g.\n * if the function's ParseNode is generated in Parser.js rather than via a\n * stand-alone handler provided to `defineFunction`).\n */\n\nfunction defineFunctionBuilders(_ref2) {\n let {\n type,\n htmlBuilder,\n mathmlBuilder\n } = _ref2;\n defineFunction({\n type,\n names: [],\n props: {\n numArgs: 0\n },\n\n handler() {\n throw new Error('Should never be called.');\n },\n\n htmlBuilder,\n mathmlBuilder\n });\n}\nconst normalizeArgument = function (arg) {\n return arg.type === \"ordgroup\" && arg.body.length === 1 ? arg.body[0] : arg;\n}; // Since the corresponding buildHTML/buildMathML function expects a\n// list of elements, we normalize for different kinds of arguments\n\nconst ordargument = function (arg) {\n return arg.type === \"ordgroup\" ? arg.body : [arg];\n};\n;// CONCATENATED MODULE: ./src/buildHTML.js\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupBuilders functions\n * are called, to produce a final HTML tree.\n */\n\n\n\n\n\n\n\n\n\nconst buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`)\n// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6,\n// and the text before Rule 19.\n\nconst binLeftCanceller = [\"leftmost\", \"mbin\", \"mopen\", \"mrel\", \"mop\", \"mpunct\"];\nconst binRightCanceller = [\"rightmost\", \"mrel\", \"mclose\", \"mpunct\"];\nconst styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\nconst DomEnum = {\n mord: \"mord\",\n mop: \"mop\",\n mbin: \"mbin\",\n mrel: \"mrel\",\n mopen: \"mopen\",\n mclose: \"mclose\",\n mpunct: \"mpunct\",\n minner: \"minner\"\n};\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. documentFragments are flattened into their contents, so the\n * returned list contains no fragments. `isRealGroup` is true if `expression`\n * is a real group (no atoms will be added on either side), as opposed to\n * a partial group (e.g. one created by \\color). `surrounding` is an array\n * consisting type of nodes that will be added to the left and right.\n */\nconst buildExpression = function (expression, options, isRealGroup, surrounding) {\n if (surrounding === void 0) {\n surrounding = [null, null];\n }\n\n // Parse expressions into `groups`.\n const groups = [];\n\n for (let i = 0; i < expression.length; i++) {\n const output = buildGroup(expression[i], options);\n\n if (output instanceof DocumentFragment) {\n const children = output.children;\n groups.push(...children);\n } else {\n groups.push(output);\n }\n } // Combine consecutive domTree.symbolNodes into a single symbolNode.\n\n\n buildCommon.tryCombineChars(groups); // If `expression` is a partial group, let the parent handle spacings\n // to avoid processing groups multiple times.\n\n if (!isRealGroup) {\n return groups;\n }\n\n let glueOptions = options;\n\n if (expression.length === 1) {\n const node = expression[0];\n\n if (node.type === \"sizing\") {\n glueOptions = options.havingSize(node.size);\n } else if (node.type === \"styling\") {\n glueOptions = options.havingStyle(styleMap[node.style]);\n }\n } // Dummy spans for determining spacings between surrounding atoms.\n // If `expression` has no atoms on the left or right, class \"leftmost\"\n // or \"rightmost\", respectively, is used to indicate it.\n\n\n const dummyPrev = buildHTML_makeSpan([surrounding[0] || \"leftmost\"], [], options);\n const dummyNext = buildHTML_makeSpan([surrounding[1] || \"rightmost\"], [], options); // TODO: These code assumes that a node's math class is the first element\n // of its `classes` array. A later cleanup should ensure this, for\n // instance by changing the signature of `makeSpan`.\n // Before determining what spaces to insert, perform bin cancellation.\n // Binary operators change to ordinary symbols in some contexts.\n\n const isRoot = isRealGroup === \"root\";\n traverseNonSpaceNodes(groups, (node, prev) => {\n const prevType = prev.classes[0];\n const type = node.classes[0];\n\n if (prevType === \"mbin\" && utils.contains(binRightCanceller, type)) {\n prev.classes[0] = \"mord\";\n } else if (type === \"mbin\" && utils.contains(binLeftCanceller, prevType)) {\n node.classes[0] = \"mord\";\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n traverseNonSpaceNodes(groups, (node, prev) => {\n const prevType = getTypeOfDomTree(prev);\n const type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style.\n\n const space = prevType && type ? node.hasClass(\"mtight\") ? tightSpacings[prevType][type] : spacings[prevType][type] : null;\n\n if (space) {\n // Insert glue (spacing) after the `prev`.\n return buildCommon.makeGlue(space, glueOptions);\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n return groups;\n}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and\n// previous node as arguments, optionally returning a node to insert after the\n// previous node. `prev` is an object with the previous node and `insertAfter`\n// function to insert after it. `next` is a node that will be added to the right.\n// Used for bin cancellation and inserting spacings.\n\nconst traverseNonSpaceNodes = function (nodes, callback, prev, next, isRoot) {\n if (next) {\n // temporarily append the right node, if exists\n nodes.push(next);\n }\n\n let i = 0;\n\n for (; i < nodes.length; i++) {\n const node = nodes[i];\n const partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n // Recursive DFS\n // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array\n traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot);\n continue;\n } // Ignore explicit spaces (e.g., \\;, \\,) when determining what implicit\n // spacing should go between atoms of different classes\n\n\n const nonspace = !node.hasClass(\"mspace\");\n\n if (nonspace) {\n const result = callback(node, prev.node);\n\n if (result) {\n if (prev.insertAfter) {\n prev.insertAfter(result);\n } else {\n // insert at front\n nodes.unshift(result);\n i++;\n }\n }\n }\n\n if (nonspace) {\n prev.node = node;\n } else if (isRoot && node.hasClass(\"newline\")) {\n prev.node = buildHTML_makeSpan([\"leftmost\"]); // treat like beginning of line\n }\n\n prev.insertAfter = (index => n => {\n nodes.splice(index + 1, 0, n);\n i++;\n })(i);\n }\n\n if (next) {\n nodes.pop();\n }\n}; // Check if given node is a partial group, i.e., does not affect spacing around.\n\n\nconst checkPartialGroup = function (node) {\n if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass(\"enclosing\")) {\n return node;\n }\n\n return null;\n}; // Return the outermost node of a domTree.\n\n\nconst getOutermostNode = function (node, side) {\n const partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n const children = partialGroup.children;\n\n if (children.length) {\n if (side === \"right\") {\n return getOutermostNode(children[children.length - 1], \"right\");\n } else if (side === \"left\") {\n return getOutermostNode(children[0], \"left\");\n }\n }\n }\n\n return node;\n}; // Return math atom class (mclass) of a domTree.\n// If `side` is given, it will get the type of the outermost node at given side.\n\n\nconst getTypeOfDomTree = function (node, side) {\n if (!node) {\n return null;\n }\n\n if (side) {\n node = getOutermostNode(node, side);\n } // This makes a lot of assumptions as to where the type of atom\n // appears. We should do a better job of enforcing this.\n\n\n return DomEnum[node.classes[0]] || null;\n};\nconst makeNullDelimiter = function (options, classes) {\n const moreClasses = [\"nulldelimiter\"].concat(options.baseSizingClasses());\n return buildHTML_makeSpan(classes.concat(moreClasses));\n};\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\n\nconst buildGroup = function (group, options, baseOptions) {\n if (!group) {\n return buildHTML_makeSpan();\n }\n\n if (_htmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n let groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account\n // for that size difference.\n\n if (baseOptions && options.size !== baseOptions.size) {\n groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options);\n const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;\n groupNode.height *= multiplier;\n groupNode.depth *= multiplier;\n }\n\n return groupNode;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`)\n * into an unbreakable HTML node of class .base, with proper struts to\n * guarantee correct vertical extent. `buildHTML` calls this repeatedly to\n * make up the entire expression as a sequence of unbreakable units.\n */\n\nfunction buildHTMLUnbreakable(children, options) {\n // Compute height and depth of this chunk.\n const body = buildHTML_makeSpan([\"base\"], children, options); // Add strut, which ensures that the top of the HTML element falls at\n // the height of the expression, and the bottom of the HTML element\n // falls at the depth of the expression.\n\n const strut = buildHTML_makeSpan([\"strut\"]);\n strut.style.height = makeEm(body.height + body.depth);\n\n if (body.depth) {\n strut.style.verticalAlign = makeEm(-body.depth);\n }\n\n body.children.unshift(strut);\n return body;\n}\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\n\n\nfunction buildHTML(tree, options) {\n // Strip off outer tag wrapper for processing below.\n let tag = null;\n\n if (tree.length === 1 && tree[0].type === \"tag\") {\n tag = tree[0].tag;\n tree = tree[0].body;\n } // Build the expression contained in the tree\n\n\n const expression = buildExpression(tree, options, \"root\");\n let eqnNum;\n\n if (expression.length === 2 && expression[1].hasClass(\"tag\")) {\n // An environment with automatic equation numbers, e.g. {gather}.\n eqnNum = expression.pop();\n }\n\n const children = []; // Create one base node for each chunk between potential line breaks.\n // The TeXBook [p.173] says \"A formula will be broken only after a\n // relation symbol like $=$ or $<$ or $\\rightarrow$, or after a binary\n // operation symbol like $+$ or $-$ or $\\times$, where the relation or\n // binary operation is on the ``outer level'' of the formula (i.e., not\n // enclosed in {...} and not part of an \\over construction).\"\n\n let parts = [];\n\n for (let i = 0; i < expression.length; i++) {\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"mbin\") || expression[i].hasClass(\"mrel\") || expression[i].hasClass(\"allowbreak\")) {\n // Put any post-operator glue on same line as operator.\n // Watch for \\nobreak along the way, and stop at \\newline.\n let nobreak = false;\n\n while (i < expression.length - 1 && expression[i + 1].hasClass(\"mspace\") && !expression[i + 1].hasClass(\"newline\")) {\n i++;\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"nobreak\")) {\n nobreak = true;\n }\n } // Don't allow break if \\nobreak among the post-operator glue.\n\n\n if (!nobreak) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n }\n } else if (expression[i].hasClass(\"newline\")) {\n // Write the line except the newline\n parts.pop();\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n } // Put the newline at the top level\n\n\n children.push(expression[i]);\n }\n }\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n } // Now, if there was a tag, build it too and append it as a final child.\n\n\n let tagChild;\n\n if (tag) {\n tagChild = buildHTMLUnbreakable(buildExpression(tag, options, true));\n tagChild.classes = [\"tag\"];\n children.push(tagChild);\n } else if (eqnNum) {\n children.push(eqnNum);\n }\n\n const htmlNode = buildHTML_makeSpan([\"katex-html\"], children);\n htmlNode.setAttribute(\"aria-hidden\", \"true\"); // Adjust the strut of the tag to be the maximum height of all children\n // (the height of the enclosing htmlNode) for proper vertical alignment.\n\n if (tagChild) {\n const strut = tagChild.children[0];\n strut.style.height = makeEm(htmlNode.height + htmlNode.depth);\n\n if (htmlNode.depth) {\n strut.style.verticalAlign = makeEm(-htmlNode.depth);\n }\n }\n\n return htmlNode;\n}\n;// CONCATENATED MODULE: ./src/mathMLTree.js\n/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we're mainly using MathML to improve accessibility, we don't manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work similarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\n\n\n\n\nfunction newDocumentFragment(children) {\n return new DocumentFragment(children);\n}\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `\"mo\"` or\n * `\"mspace\"`, corresponding to `` and `` tags).\n */\n\nclass MathNode {\n constructor(type, children, classes) {\n this.type = void 0;\n this.attributes = void 0;\n this.children = void 0;\n this.classes = void 0;\n this.type = type;\n this.attributes = {};\n this.children = children || [];\n this.classes = classes || [];\n }\n /**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\n\n\n setAttribute(name, value) {\n this.attributes[name] = value;\n }\n /**\n * Gets an attribute on a MathML node.\n */\n\n\n getAttribute(name) {\n return this.attributes[name];\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n const node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", this.type);\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n if (this.classes.length > 0) {\n node.className = createClass(this.classes);\n }\n\n for (let i = 0; i < this.children.length; i++) {\n // Combine multiple TextNodes into one TextNode, to prevent\n // screen readers from reading each as a separate word [#3995]\n if (this.children[i] instanceof TextNode && this.children[i + 1] instanceof TextNode) {\n let text = this.children[i].toText() + this.children[++i].toText();\n\n while (this.children[i + 1] instanceof TextNode) {\n text += this.children[++i].toText();\n }\n\n node.appendChild(new TextNode(text).toNode());\n } else {\n node.appendChild(this.children[i].toNode());\n }\n }\n\n return node;\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n let markup = \"<\" + this.type; // Add the attributes\n\n for (const attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\";\n markup += utils.escape(this.attributes[attr]);\n markup += \"\\\"\";\n }\n }\n\n if (this.classes.length > 0) {\n markup += \" class =\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n markup += \">\";\n\n for (let i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"\";\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText, but escaped.\n */\n\n\n toText() {\n return this.children.map(child => child.toText()).join(\"\");\n }\n\n}\n/**\n * This node represents a piece of text.\n */\n\nclass TextNode {\n constructor(text) {\n this.text = void 0;\n this.text = text;\n }\n /**\n * Converts the text node into a DOM text node.\n */\n\n\n toNode() {\n return document.createTextNode(this.text);\n }\n /**\n * Converts the text node into escaped HTML markup\n * (representing the text itself).\n */\n\n\n toMarkup() {\n return utils.escape(this.toText());\n }\n /**\n * Converts the text node into a string\n * (representing the text itself).\n */\n\n\n toText() {\n return this.text;\n }\n\n}\n/**\n * This node represents a space, but may render as or as text,\n * depending on the width.\n */\n\nclass SpaceNode {\n /**\n * Create a Space node with width given in CSS ems.\n */\n constructor(width) {\n this.width = void 0;\n this.character = void 0;\n this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html\n // for a table of space-like characters. We use Unicode\n // representations instead of &LongNames; as it's not clear how to\n // make the latter via document.createTextNode.\n\n if (width >= 0.05555 && width <= 0.05556) {\n this.character = \"\\u200a\"; //  \n } else if (width >= 0.1666 && width <= 0.1667) {\n this.character = \"\\u2009\"; //  \n } else if (width >= 0.2222 && width <= 0.2223) {\n this.character = \"\\u2005\"; //  \n } else if (width >= 0.2777 && width <= 0.2778) {\n this.character = \"\\u2005\\u200a\"; //   \n } else if (width >= -0.05556 && width <= -0.05555) {\n this.character = \"\\u200a\\u2063\"; // ​\n } else if (width >= -0.1667 && width <= -0.1666) {\n this.character = \"\\u2009\\u2063\"; // ​\n } else if (width >= -0.2223 && width <= -0.2222) {\n this.character = \"\\u205f\\u2063\"; // ​\n } else if (width >= -0.2778 && width <= -0.2777) {\n this.character = \"\\u2005\\u2063\"; // ​\n } else {\n this.character = null;\n }\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n if (this.character) {\n return document.createTextNode(this.character);\n } else {\n const node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"mspace\");\n node.setAttribute(\"width\", makeEm(this.width));\n return node;\n }\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n if (this.character) {\n return \"\" + this.character + \"\";\n } else {\n return \"\";\n }\n }\n /**\n * Converts the math node into a string, similar to innerText.\n */\n\n\n toText() {\n if (this.character) {\n return this.character;\n } else {\n return \" \";\n }\n }\n\n}\n\n/* harmony default export */ var mathMLTree = ({\n MathNode,\n TextNode,\n SpaceNode,\n newDocumentFragment\n});\n;// CONCATENATED MODULE: ./src/buildMathML.js\n/**\n * This file converts a parse tree into a corresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\n\n\n\n\n\n\n\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nconst makeText = function (text, mode, options) {\n if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.slice(4, 6) === \"tt\" || options.font && options.font.slice(4, 6) === \"tt\"))) {\n text = src_symbols[mode][text].replace;\n }\n\n return new mathMLTree.TextNode(text);\n};\n/**\n * Wrap the given array of nodes in an node if needed, i.e.,\n * unless the array has length 1. Always returns a single node.\n */\n\nconst makeRow = function (body) {\n if (body.length === 1) {\n return body[0];\n } else {\n return new mathMLTree.MathNode(\"mrow\", body);\n }\n};\n/**\n * Returns the math variant as a string or null if none is required.\n */\n\nconst getVariant = function (group, options) {\n // Handle \\text... font specifiers as best we can.\n // MathML has a limited list of allowable mathvariant specifiers; see\n // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt\n if (options.fontFamily === \"texttt\") {\n return \"monospace\";\n } else if (options.fontFamily === \"textsf\") {\n if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"sans-serif-bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"sans-serif-italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold-sans-serif\";\n } else {\n return \"sans-serif\";\n }\n } else if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold\";\n }\n\n const font = options.font;\n\n if (!font || font === \"mathnormal\") {\n return null;\n }\n\n const mode = group.mode;\n\n if (font === \"mathit\") {\n return \"italic\";\n } else if (font === \"boldsymbol\") {\n return group.type === \"textord\" ? \"bold\" : \"bold-italic\";\n } else if (font === \"mathbf\") {\n return \"bold\";\n } else if (font === \"mathbb\") {\n return \"double-struck\";\n } else if (font === \"mathsfit\") {\n return \"sans-serif-italic\";\n } else if (font === \"mathfrak\") {\n return \"fraktur\";\n } else if (font === \"mathscr\" || font === \"mathcal\") {\n // MathML makes no distinction between script and calligraphic\n return \"script\";\n } else if (font === \"mathsf\") {\n return \"sans-serif\";\n } else if (font === \"mathtt\") {\n return \"monospace\";\n }\n\n let text = group.text;\n\n if (utils.contains([\"\\\\imath\", \"\\\\jmath\"], text)) {\n return null;\n }\n\n if (src_symbols[mode][text] && src_symbols[mode][text].replace) {\n text = src_symbols[mode][text].replace;\n }\n\n const fontName = buildCommon.fontMap[font].fontName;\n\n if (getCharacterMetrics(text, fontName, mode)) {\n return buildCommon.fontMap[font].variant;\n }\n\n return null;\n};\n/**\n * Check for . which is how a dot renders in MathML,\n * or ,\n * which is how a braced comma {,} renders in MathML\n */\n\nfunction isNumberPunctuation(group) {\n if (!group) {\n return false;\n }\n\n if (group.type === 'mi' && group.children.length === 1) {\n const child = group.children[0];\n return child instanceof TextNode && child.text === '.';\n } else if (group.type === 'mo' && group.children.length === 1 && group.getAttribute('separator') === 'true' && group.getAttribute('lspace') === '0em' && group.getAttribute('rspace') === '0em') {\n const child = group.children[0];\n return child instanceof TextNode && child.text === ',';\n } else {\n return false;\n }\n}\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. Also combine consecutive outputs into a single\n * tag.\n */\n\n\nconst buildMathML_buildExpression = function (expression, options, isOrdgroup) {\n if (expression.length === 1) {\n const group = buildMathML_buildGroup(expression[0], options);\n\n if (isOrdgroup && group instanceof MathNode && group.type === \"mo\") {\n // When TeX writers want to suppress spacing on an operator,\n // they often put the operator by itself inside braces.\n group.setAttribute(\"lspace\", \"0em\");\n group.setAttribute(\"rspace\", \"0em\");\n }\n\n return [group];\n }\n\n const groups = [];\n let lastGroup;\n\n for (let i = 0; i < expression.length; i++) {\n const group = buildMathML_buildGroup(expression[i], options);\n\n if (group instanceof MathNode && lastGroup instanceof MathNode) {\n // Concatenate adjacent s\n if (group.type === 'mtext' && lastGroup.type === 'mtext' && group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) {\n lastGroup.children.push(...group.children);\n continue; // Concatenate adjacent s\n } else if (group.type === 'mn' && lastGroup.type === 'mn') {\n lastGroup.children.push(...group.children);\n continue; // Concatenate ... followed by .\n } else if (isNumberPunctuation(group) && lastGroup.type === 'mn') {\n lastGroup.children.push(...group.children);\n continue; // Concatenate . followed by ...\n } else if (group.type === 'mn' && isNumberPunctuation(lastGroup)) {\n group.children = [...lastGroup.children, ...group.children];\n groups.pop(); // Put preceding ... or . inside base of\n // ...base......exponent... (or )\n } else if ((group.type === 'msup' || group.type === 'msub') && group.children.length >= 1 && (lastGroup.type === 'mn' || isNumberPunctuation(lastGroup))) {\n const base = group.children[0];\n\n if (base instanceof MathNode && base.type === 'mn') {\n base.children = [...lastGroup.children, ...base.children];\n groups.pop();\n } // \\not\n\n } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) {\n const lastChild = lastGroup.children[0];\n\n if (lastChild instanceof TextNode && lastChild.text === '\\u0338' && (group.type === 'mo' || group.type === 'mi' || group.type === 'mn')) {\n const child = group.children[0];\n\n if (child instanceof TextNode && child.text.length > 0) {\n // Overlay with combining character long solidus\n child.text = child.text.slice(0, 1) + \"\\u0338\" + child.text.slice(1);\n groups.pop();\n }\n }\n }\n }\n\n groups.push(group);\n lastGroup = group;\n }\n\n return groups;\n};\n/**\n * Equivalent to buildExpression, but wraps the elements in an \n * if there's more than one. Returns a single node instead of an array.\n */\n\nconst buildExpressionRow = function (expression, options, isOrdgroup) {\n return makeRow(buildMathML_buildExpression(expression, options, isOrdgroup));\n};\n/**\n * Takes a group from the parser and calls the appropriate groupBuilders function\n * on it to produce a MathML node.\n */\n\nconst buildMathML_buildGroup = function (group, options) {\n if (!group) {\n return new mathMLTree.MathNode(\"mrow\");\n }\n\n if (_mathmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n const result = _mathmlGroupBuilders[group.type](group, options); // $FlowFixMe\n\n return result;\n } else {\n throw new src_ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `` inside it so\n * we can do appropriate styling.\n */\n\nfunction buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) {\n const expression = buildMathML_buildExpression(tree, options); // TODO: Make a pass thru the MathML similar to buildHTML.traverseNonSpaceNodes\n // and add spacing nodes. This is necessary only adjacent to math operators\n // like \\sin or \\lim or to subsup elements that contain math operators.\n // MathML takes care of the other spacing issues.\n // Wrap up the expression in an mrow so it is presented in the semantics\n // tag correctly, unless it's a single or .\n\n let wrapper;\n\n if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains([\"mrow\", \"mtable\"], expression[0].type)) {\n wrapper = expression[0];\n } else {\n wrapper = new mathMLTree.MathNode(\"mrow\", expression);\n } // Build a TeX annotation of the source\n\n\n const annotation = new mathMLTree.MathNode(\"annotation\", [new mathMLTree.TextNode(texExpression)]);\n annotation.setAttribute(\"encoding\", \"application/x-tex\");\n const semantics = new mathMLTree.MathNode(\"semantics\", [wrapper, annotation]);\n const math = new mathMLTree.MathNode(\"math\", [semantics]);\n math.setAttribute(\"xmlns\", \"http://www.w3.org/1998/Math/MathML\");\n\n if (isDisplayMode) {\n math.setAttribute(\"display\", \"block\");\n } // You can't style nodes, so we wrap the node in a span.\n // NOTE: The span class is not typed to have nodes as children, and\n // we don't want to make the children type more generic since the children\n // of span are expected to have more fields in `buildHtml` contexts.\n\n\n const wrapperClass = forMathmlOnly ? \"katex\" : \"katex-mathml\"; // $FlowFixMe\n\n return buildCommon.makeSpan([wrapperClass], [math]);\n}\n;// CONCATENATED MODULE: ./src/buildTree.js\n\n\n\n\n\n\n\nconst optionsFromSettings = function (settings) {\n return new src_Options({\n style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT,\n maxSize: settings.maxSize,\n minRuleThickness: settings.minRuleThickness\n });\n};\n\nconst displayWrap = function (node, settings) {\n if (settings.displayMode) {\n const classes = [\"katex-display\"];\n\n if (settings.leqno) {\n classes.push(\"leqno\");\n }\n\n if (settings.fleqn) {\n classes.push(\"fleqn\");\n }\n\n node = buildCommon.makeSpan(classes, [node]);\n }\n\n return node;\n};\n\nconst buildTree = function (tree, expression, settings) {\n const options = optionsFromSettings(settings);\n let katexNode;\n\n if (settings.output === \"mathml\") {\n return buildMathML(tree, expression, options, settings.displayMode, true);\n } else if (settings.output === \"html\") {\n const htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n } else {\n const mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false);\n const htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [mathMLNode, htmlNode]);\n }\n\n return displayWrap(katexNode, settings);\n};\nconst buildHTMLTree = function (tree, expression, settings) {\n const options = optionsFromSettings(settings);\n const htmlNode = buildHTML(tree, options);\n const katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n return displayWrap(katexNode, settings);\n};\n/* harmony default export */ var src_buildTree = ((/* unused pure expression or super */ null && (false)));\n;// CONCATENATED MODULE: ./src/stretchy.js\n/**\n * This file provides support to buildMathML.js and buildHTML.js\n * for stretchy wide elements rendered from SVG files\n * and other CSS trickery.\n */\n\n\n\n\n\nconst stretchyCodePoint = {\n widehat: \"^\",\n widecheck: \"ˇ\",\n widetilde: \"~\",\n utilde: \"~\",\n overleftarrow: \"\\u2190\",\n underleftarrow: \"\\u2190\",\n xleftarrow: \"\\u2190\",\n overrightarrow: \"\\u2192\",\n underrightarrow: \"\\u2192\",\n xrightarrow: \"\\u2192\",\n underbrace: \"\\u23df\",\n overbrace: \"\\u23de\",\n overgroup: \"\\u23e0\",\n undergroup: \"\\u23e1\",\n overleftrightarrow: \"\\u2194\",\n underleftrightarrow: \"\\u2194\",\n xleftrightarrow: \"\\u2194\",\n Overrightarrow: \"\\u21d2\",\n xRightarrow: \"\\u21d2\",\n overleftharpoon: \"\\u21bc\",\n xleftharpoonup: \"\\u21bc\",\n overrightharpoon: \"\\u21c0\",\n xrightharpoonup: \"\\u21c0\",\n xLeftarrow: \"\\u21d0\",\n xLeftrightarrow: \"\\u21d4\",\n xhookleftarrow: \"\\u21a9\",\n xhookrightarrow: \"\\u21aa\",\n xmapsto: \"\\u21a6\",\n xrightharpoondown: \"\\u21c1\",\n xleftharpoondown: \"\\u21bd\",\n xrightleftharpoons: \"\\u21cc\",\n xleftrightharpoons: \"\\u21cb\",\n xtwoheadleftarrow: \"\\u219e\",\n xtwoheadrightarrow: \"\\u21a0\",\n xlongequal: \"=\",\n xtofrom: \"\\u21c4\",\n xrightleftarrows: \"\\u21c4\",\n xrightequilibrium: \"\\u21cc\",\n // Not a perfect match.\n xleftequilibrium: \"\\u21cb\",\n // None better available.\n \"\\\\cdrightarrow\": \"\\u2192\",\n \"\\\\cdleftarrow\": \"\\u2190\",\n \"\\\\cdlongequal\": \"=\"\n};\n\nconst mathMLnode = function (label) {\n const node = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(stretchyCodePoint[label.replace(/^\\\\/, '')])]);\n node.setAttribute(\"stretchy\", \"true\");\n return node;\n}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts.\n// Copyright (c) 2009-2010, Design Science, Inc. ()\n// Copyright (c) 2014-2017 Khan Academy ()\n// Licensed under the SIL Open Font License, Version 1.1.\n// See \\nhttp://scripts.sil.org/OFL\n// Very Long SVGs\n// Many of the KaTeX stretchy wide elements use a long SVG image and an\n// overflow: hidden tactic to achieve a stretchy image while avoiding\n// distortion of arrowheads or brace corners.\n// The SVG typically contains a very long (400 em) arrow.\n// The SVG is in a container span that has overflow: hidden, so the span\n// acts like a window that exposes only part of the SVG.\n// The SVG always has a longer, thinner aspect ratio than the container span.\n// After the SVG fills 100% of the height of the container span,\n// there is a long arrow shaft left over. That left-over shaft is not shown.\n// Instead, it is sliced off because the span's CSS has overflow: hidden.\n// Thus, the reader sees an arrow that matches the subject matter width\n// without distortion.\n// Some functions, such as \\cancel, need to vary their aspect ratio. These\n// functions do not get the overflow SVG treatment.\n// Second Brush Stroke\n// Low resolution monitors struggle to display images in fine detail.\n// So browsers apply anti-aliasing. A long straight arrow shaft therefore\n// will sometimes appear as if it has a blurred edge.\n// To mitigate this, these SVG files contain a second \"brush-stroke\" on the\n// arrow shafts. That is, a second long thin rectangular SVG path has been\n// written directly on top of each arrow shaft. This reinforcement causes\n// some of the screen pixels to display as black instead of the anti-aliased\n// gray pixel that a single path would generate. So we get arrow shafts\n// whose edges appear to be sharper.\n// In the katexImagesData object just below, the dimensions all\n// correspond to path geometry inside the relevant SVG.\n// For example, \\overrightarrow uses the same arrowhead as glyph U+2192\n// from the KaTeX Main font. The scaling factor is 1000.\n// That is, inside the font, that arrowhead is 522 units tall, which\n// corresponds to 0.522 em inside the document.\n\n\nconst katexImagesData = {\n // path(s), minWidth, height, align\n overrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n overleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n underrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n underleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n xrightarrow: [[\"rightarrow\"], 1.469, 522, \"xMaxYMin\"],\n \"\\\\cdrightarrow\": [[\"rightarrow\"], 3.0, 522, \"xMaxYMin\"],\n // CD minwwidth2.5pc\n xleftarrow: [[\"leftarrow\"], 1.469, 522, \"xMinYMin\"],\n \"\\\\cdleftarrow\": [[\"leftarrow\"], 3.0, 522, \"xMinYMin\"],\n Overrightarrow: [[\"doublerightarrow\"], 0.888, 560, \"xMaxYMin\"],\n xRightarrow: [[\"doublerightarrow\"], 1.526, 560, \"xMaxYMin\"],\n xLeftarrow: [[\"doubleleftarrow\"], 1.526, 560, \"xMinYMin\"],\n overleftharpoon: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoonup: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoondown: [[\"leftharpoondown\"], 0.888, 522, \"xMinYMin\"],\n overrightharpoon: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoonup: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoondown: [[\"rightharpoondown\"], 0.888, 522, \"xMaxYMin\"],\n xlongequal: [[\"longequal\"], 0.888, 334, \"xMinYMin\"],\n \"\\\\cdlongequal\": [[\"longequal\"], 3.0, 334, \"xMinYMin\"],\n xtwoheadleftarrow: [[\"twoheadleftarrow\"], 0.888, 334, \"xMinYMin\"],\n xtwoheadrightarrow: [[\"twoheadrightarrow\"], 0.888, 334, \"xMaxYMin\"],\n overleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n overbrace: [[\"leftbrace\", \"midbrace\", \"rightbrace\"], 1.6, 548],\n underbrace: [[\"leftbraceunder\", \"midbraceunder\", \"rightbraceunder\"], 1.6, 548],\n underleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n xleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 1.75, 522],\n xLeftrightarrow: [[\"doubleleftarrow\", \"doublerightarrow\"], 1.75, 560],\n xrightleftharpoons: [[\"leftharpoondownplus\", \"rightharpoonplus\"], 1.75, 716],\n xleftrightharpoons: [[\"leftharpoonplus\", \"rightharpoondownplus\"], 1.75, 716],\n xhookleftarrow: [[\"leftarrow\", \"righthook\"], 1.08, 522],\n xhookrightarrow: [[\"lefthook\", \"rightarrow\"], 1.08, 522],\n overlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n underlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n overgroup: [[\"leftgroup\", \"rightgroup\"], 0.888, 342],\n undergroup: [[\"leftgroupunder\", \"rightgroupunder\"], 0.888, 342],\n xmapsto: [[\"leftmapsto\", \"rightarrow\"], 1.5, 522],\n xtofrom: [[\"leftToFrom\", \"rightToFrom\"], 1.75, 528],\n // The next three arrows are from the mhchem package.\n // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the\n // document as \\xrightarrow or \\xrightleftharpoons. Those have\n // min-length = 1.75em, so we set min-length on these next three to match.\n xrightleftarrows: [[\"baraboveleftarrow\", \"rightarrowabovebar\"], 1.75, 901],\n xrightequilibrium: [[\"baraboveshortleftharpoon\", \"rightharpoonaboveshortbar\"], 1.75, 716],\n xleftequilibrium: [[\"shortbaraboveleftharpoon\", \"shortrightharpoonabovebar\"], 1.75, 716]\n};\n\nconst groupLength = function (arg) {\n if (arg.type === \"ordgroup\") {\n return arg.body.length;\n } else {\n return 1;\n }\n};\n\nconst svgSpan = function (group, options) {\n // Create a span with inline SVG for the element.\n function buildSvgSpan_() {\n let viewBoxWidth = 400000; // default\n\n const label = group.label.slice(1);\n\n if (utils.contains([\"widehat\", \"widecheck\", \"widetilde\", \"utilde\"], label)) {\n // Each type in the `if` statement corresponds to one of the ParseNode\n // types below. This narrowing is required to access `grp.base`.\n // $FlowFixMe\n const grp = group; // There are four SVG images available for each function.\n // Choose a taller image when there are more characters.\n\n const numChars = groupLength(grp.base);\n let viewBoxHeight;\n let pathName;\n let height;\n\n if (numChars > 5) {\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxHeight = 420;\n viewBoxWidth = 2364;\n height = 0.42;\n pathName = label + \"4\";\n } else {\n viewBoxHeight = 312;\n viewBoxWidth = 2340;\n height = 0.34;\n pathName = \"tilde4\";\n }\n } else {\n const imgIndex = [1, 1, 2, 2, 3, 3][numChars];\n\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex];\n viewBoxHeight = [0, 239, 300, 360, 420][imgIndex];\n height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex];\n pathName = label + imgIndex;\n } else {\n viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex];\n viewBoxHeight = [0, 260, 286, 306, 312][imgIndex];\n height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex];\n pathName = \"tilde\" + imgIndex;\n }\n }\n\n const path = new PathNode(pathName);\n const svgNode = new SvgNode([path], {\n \"width\": \"100%\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": \"none\"\n });\n return {\n span: buildCommon.makeSvgSpan([], [svgNode], options),\n minWidth: 0,\n height\n };\n } else {\n const spans = [];\n const data = katexImagesData[label];\n const [paths, minWidth, viewBoxHeight] = data;\n const height = viewBoxHeight / 1000;\n const numSvgChildren = paths.length;\n let widthClasses;\n let aligns;\n\n if (numSvgChildren === 1) {\n // $FlowFixMe: All these cases must be of the 4-tuple type.\n const align1 = data[3];\n widthClasses = [\"hide-tail\"];\n aligns = [align1];\n } else if (numSvgChildren === 2) {\n widthClasses = [\"halfarrow-left\", \"halfarrow-right\"];\n aligns = [\"xMinYMin\", \"xMaxYMin\"];\n } else if (numSvgChildren === 3) {\n widthClasses = [\"brace-left\", \"brace-center\", \"brace-right\"];\n aligns = [\"xMinYMin\", \"xMidYMin\", \"xMaxYMin\"];\n } else {\n throw new Error(\"Correct katexImagesData or update code here to support\\n \" + numSvgChildren + \" children.\");\n }\n\n for (let i = 0; i < numSvgChildren; i++) {\n const path = new PathNode(paths[i]);\n const svgNode = new SvgNode([path], {\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": aligns[i] + \" slice\"\n });\n const span = buildCommon.makeSvgSpan([widthClasses[i]], [svgNode], options);\n\n if (numSvgChildren === 1) {\n return {\n span,\n minWidth,\n height\n };\n } else {\n span.style.height = makeEm(height);\n spans.push(span);\n }\n }\n\n return {\n span: buildCommon.makeSpan([\"stretchy\"], spans, options),\n minWidth,\n height\n };\n }\n } // buildSvgSpan_()\n\n\n const {\n span,\n minWidth,\n height\n } = buildSvgSpan_(); // Note that we are returning span.depth = 0.\n // Any adjustments relative to the baseline must be done in buildHTML.\n\n span.height = height;\n span.style.height = makeEm(height);\n\n if (minWidth > 0) {\n span.style.minWidth = makeEm(minWidth);\n }\n\n return span;\n};\n\nconst encloseSpan = function (inner, label, topPad, bottomPad, options) {\n // Return an image span for \\cancel, \\bcancel, \\xcancel, \\fbox, or \\angl\n let img;\n const totalHeight = inner.height + inner.depth + topPad + bottomPad;\n\n if (/fbox|color|angl/.test(label)) {\n img = buildCommon.makeSpan([\"stretchy\", label], [], options);\n\n if (label === \"fbox\") {\n const color = options.color && options.getColor();\n\n if (color) {\n img.style.borderColor = color;\n }\n }\n } else {\n // \\cancel, \\bcancel, or \\xcancel\n // Since \\cancel's SVG is inline and it omits the viewBox attribute,\n // its stroke-width will not vary with span area.\n const lines = [];\n\n if (/^[bx]cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"0\",\n \"x2\": \"100%\",\n \"y2\": \"100%\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n if (/^x?cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n const svgNode = new SvgNode(lines, {\n \"width\": \"100%\",\n \"height\": makeEm(totalHeight)\n });\n img = buildCommon.makeSvgSpan([], [svgNode], options);\n }\n\n img.height = totalHeight;\n img.style.height = makeEm(totalHeight);\n return img;\n};\n\n/* harmony default export */ var stretchy = ({\n encloseSpan,\n mathMLnode,\n svgSpan\n});\n;// CONCATENATED MODULE: ./src/parseNode.js\n\n\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node's type does not match.\n */\nfunction assertNodeType(node, type) {\n if (!node || node.type !== type) {\n throw new Error(\"Expected node of type \" + type + \", but got \" + (node ? \"node of type \" + node.type : String(node)));\n } // $FlowFixMe, >=0.125\n\n\n return node;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction assertSymbolNodeType(node) {\n const typedNode = checkSymbolNodeType(node);\n\n if (!typedNode) {\n throw new Error(\"Expected node of symbol group type, but got \" + (node ? \"node of type \" + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkSymbolNodeType(node) {\n if (node && (node.type === \"atom\" || NON_ATOMS.hasOwnProperty(node.type))) {\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n;// CONCATENATED MODULE: ./src/functions/accent.js\n\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"accent\", but\n// also \"supsub\" since an accent can affect super/subscripting.\nconst htmlBuilder = (grp, options) => {\n // Accents are handled in the TeXbook pg. 443, rule 12.\n let base;\n let group;\n let supSubGroup;\n\n if (grp && grp.type === \"supsub\") {\n // If our base is a character box, and we have superscripts and\n // subscripts, the supsub will defer to us. In particular, we want\n // to attach the superscripts and subscripts to the inner body (so\n // that the position of the superscripts and subscripts won't be\n // affected by the height of the accent). We accomplish this by\n // sticking the base of the accent into the base of the supsub, and\n // rendering that, while keeping track of where the accent is.\n // The real accent group is the base of the supsub group\n group = assertNodeType(grp.base, \"accent\"); // The character box is the base of the accent group\n\n base = group.base; // Stick the character box into the base of the supsub group\n\n grp.base = base; // Rerender the supsub group with its new base, and store that\n // result.\n\n supSubGroup = assertSpan(buildGroup(grp, options)); // reset original base\n\n grp.base = group;\n } else {\n group = assertNodeType(grp, \"accent\");\n base = group.base;\n } // Build the base group\n\n\n const body = buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character?\n\n const mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line \"If the\n // nucleus is not a single character, let s = 0; otherwise set s to the\n // kern amount for the nucleus followed by the \\skewchar of its font.\"\n // Note that our skew metrics are just the kern between each character\n // and the skewchar.\n\n let skew = 0;\n\n if (mustShift) {\n // If the base is a character box, then we want the skew of the\n // innermost character. To do that, we find the innermost character:\n const baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it\n\n const baseGroup = buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol.\n\n skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we\n // removed with getBaseElem might contain things like \\color which\n // we can't get rid of.\n // TODO(emily): Find a better way to get the skew\n }\n\n const accentBelow = group.label === \"\\\\c\"; // calculate the amount of space between the body and the accent\n\n let clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight); // Build the accent\n\n let accentBody;\n\n if (!group.isStretchy) {\n let accent;\n let width;\n\n if (group.label === \"\\\\vec\") {\n // Before version 0.9, \\vec used the combining font glyph U+20D7.\n // But browsers, especially Safari, are not consistent in how they\n // render combining characters when not preceded by a character.\n // So now we use an SVG.\n // If Safari reforms, we should consider reverting to the glyph.\n accent = buildCommon.staticSvg(\"vec\", options);\n width = buildCommon.svgData.vec[1];\n } else {\n accent = buildCommon.makeOrd({\n mode: group.mode,\n text: group.label\n }, options, \"textord\");\n accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to\n // shift the accent over to a place we don't want.\n\n accent.italic = 0;\n width = accent.width;\n\n if (accentBelow) {\n clearance += accent.depth;\n }\n }\n\n accentBody = buildCommon.makeSpan([\"accent-body\"], [accent]); // \"Full\" accents expand the width of the resulting symbol to be\n // at least the width of the accent, and overlap directly onto the\n // character without any vertical offset.\n\n const accentFull = group.label === \"\\\\textcircled\";\n\n if (accentFull) {\n accentBody.classes.push('accent-full');\n clearance = body.height;\n } // Shift the accent over by the skew.\n\n\n let left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }`\n // so that the accent doesn't contribute to the bounding box.\n // We need to shift the character by its width (effectively half\n // its width) to compensate.\n\n if (!accentFull) {\n left -= width / 2;\n }\n\n accentBody.style.left = makeEm(left); // \\textcircled uses the \\bigcirc glyph, so it needs some\n // vertical adjustment to match LaTeX.\n\n if (group.label === \"\\\\textcircled\") {\n accentBody.style.top = \".2em\";\n }\n\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: -clearance\n }, {\n type: \"elem\",\n elem: accentBody\n }]\n }, options);\n } else {\n accentBody = stretchy.svgSpan(group, options);\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"],\n wrapperStyle: skew > 0 ? {\n width: \"calc(100% - \" + makeEm(2 * skew) + \")\",\n marginLeft: makeEm(2 * skew)\n } : undefined\n }]\n }, options);\n }\n\n const accentWrap = buildCommon.makeSpan([\"mord\", \"accent\"], [accentBody], options);\n\n if (supSubGroup) {\n // Here, we replace the \"base\" child of the supsub with our newly\n // generated accent.\n supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the\n // accent, we manually recalculate height.\n\n supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not.\n\n supSubGroup.classes[0] = \"mord\";\n return supSubGroup;\n } else {\n return accentWrap;\n }\n};\n\nconst mathmlBuilder = (group, options) => {\n const accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode(\"mo\", [makeText(group.label, group.mode)]);\n const node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n};\n\nconst NON_STRETCHY_ACCENT_REGEX = new RegExp([\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\"].map(accent => \"\\\\\" + accent).join(\"|\")); // Accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\", \"\\\\widecheck\", \"\\\\widehat\", \"\\\\widetilde\", \"\\\\overrightarrow\", \"\\\\overleftarrow\", \"\\\\Overrightarrow\", \"\\\\overleftrightarrow\", \"\\\\overgroup\", \"\\\\overlinesegment\", \"\\\\overleftharpoon\", \"\\\\overrightharpoon\"],\n props: {\n numArgs: 1\n },\n handler: (context, args) => {\n const base = normalizeArgument(args[0]);\n const isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);\n const isShifty = !isStretchy || context.funcName === \"\\\\widehat\" || context.funcName === \"\\\\widetilde\" || context.funcName === \"\\\\widecheck\";\n return {\n type: \"accent\",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: isStretchy,\n isShifty: isShifty,\n base: base\n };\n },\n htmlBuilder,\n mathmlBuilder\n}); // Text-mode accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\'\", \"\\\\`\", \"\\\\^\", \"\\\\~\", \"\\\\=\", \"\\\\u\", \"\\\\.\", '\\\\\"', \"\\\\c\", \"\\\\r\", \"\\\\H\", \"\\\\v\", \"\\\\textcircled\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n // unless in strict mode\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n const base = args[0];\n let mode = context.parser.mode;\n\n if (mode === \"math\") {\n context.parser.settings.reportNonstrict(\"mathVsTextAccents\", \"LaTeX's accent \" + context.funcName + \" works only in text mode\");\n mode = \"text\";\n }\n\n return {\n type: \"accent\",\n mode: mode,\n label: context.funcName,\n isStretchy: false,\n isShifty: true,\n base: base\n };\n },\n htmlBuilder,\n mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/accentunder.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"accentUnder\",\n names: [\"\\\\underleftarrow\", \"\\\\underrightarrow\", \"\\\\underleftrightarrow\", \"\\\\undergroup\", \"\\\\underlinesegment\", \"\\\\utilde\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const base = args[0];\n return {\n type: \"accentUnder\",\n mode: parser.mode,\n label: funcName,\n base: base\n };\n },\n htmlBuilder: (group, options) => {\n // Treat under accents much like underlines.\n const innerGroup = buildGroup(group.base, options);\n const accentBody = stretchy.svgSpan(group, options);\n const kern = group.label === \"\\\\utilde\" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns\n\n const vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: kern\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"accentunder\"], [vlist], options);\n },\n mathmlBuilder: (group, options) => {\n const accentNode = stretchy.mathMLnode(group.label);\n const node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/arrow.js\n\n\n\n\n\n\n\n// Helper function\nconst paddedNode = group => {\n const node = new mathMLTree.MathNode(\"mpadded\", group ? [group] : []);\n node.setAttribute(\"width\", \"+0.6em\");\n node.setAttribute(\"lspace\", \"0.3em\");\n return node;\n}; // Stretchy arrows with an optional argument\n\n\ndefineFunction({\n type: \"xArrow\",\n names: [\"\\\\xleftarrow\", \"\\\\xrightarrow\", \"\\\\xLeftarrow\", \"\\\\xRightarrow\", \"\\\\xleftrightarrow\", \"\\\\xLeftrightarrow\", \"\\\\xhookleftarrow\", \"\\\\xhookrightarrow\", \"\\\\xmapsto\", \"\\\\xrightharpoondown\", \"\\\\xrightharpoonup\", \"\\\\xleftharpoondown\", \"\\\\xleftharpoonup\", \"\\\\xrightleftharpoons\", \"\\\\xleftrightharpoons\", \"\\\\xlongequal\", \"\\\\xtwoheadrightarrow\", \"\\\\xtwoheadleftarrow\", \"\\\\xtofrom\", // The next 3 functions are here to support the mhchem extension.\n // Direct use of these functions is discouraged and may break someday.\n \"\\\\xrightleftarrows\", \"\\\\xrightequilibrium\", \"\\\\xleftequilibrium\", // The next 3 functions are here only to support the {CD} environment.\n \"\\\\\\\\cdrightarrow\", \"\\\\\\\\cdleftarrow\", \"\\\\\\\\cdlongequal\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"xArrow\",\n mode: parser.mode,\n label: funcName,\n body: args[0],\n below: optArgs[0]\n };\n },\n\n // Flow is unable to correctly infer the type of `group`, even though it's\n // unambiguously determined from the passed-in `type` above.\n htmlBuilder(group, options) {\n const style = options.style; // Build the argument groups in the appropriate style.\n // Ref: amsmath.dtx: \\hbox{$\\scriptstyle\\mkern#3mu{#6}\\mkern#4mu$}%\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n let newOptions = options.havingStyle(style.sup());\n const upperGroup = buildCommon.wrapFragment(buildGroup(group.body, newOptions, options), options);\n const arrowPrefix = group.label.slice(0, 2) === \"\\\\x\" ? \"x\" : \"cd\";\n upperGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n let lowerGroup;\n\n if (group.below) {\n // Build the lower group\n newOptions = options.havingStyle(style.sub());\n lowerGroup = buildCommon.wrapFragment(buildGroup(group.below, newOptions, options), options);\n lowerGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n }\n\n const arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0.\n // The point we want on the math axis is at 0.5 * arrowBody.height.\n\n const arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\\if0#2\\else\\mkern#2mu\\fi\n\n let upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu\n\n if (upperGroup.depth > 0.25 || group.label === \"\\\\xleftequilibrium\") {\n upperShift -= upperGroup.depth; // shift up if depth encroaches\n } // Generate the vlist\n\n\n let vlist;\n\n if (lowerGroup) {\n const lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111;\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }, {\n type: \"elem\",\n elem: lowerGroup,\n shift: lowerShift\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }]\n }, options);\n } // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n return buildCommon.makeSpan([\"mrel\", \"x-arrow\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const arrowNode = stretchy.mathMLnode(group.label);\n arrowNode.setAttribute(\"minsize\", group.label.charAt(0) === \"x\" ? \"1.75em\" : \"3.0em\");\n let node;\n\n if (group.body) {\n const upperNode = paddedNode(buildMathML_buildGroup(group.body, options));\n\n if (group.below) {\n const lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munderover\", [arrowNode, lowerNode, upperNode]);\n } else {\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, upperNode]);\n }\n } else if (group.below) {\n const lowerNode = paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munder\", [arrowNode, lowerNode]);\n } else {\n // This should never happen.\n // Parser.js throws an error if there is no argument.\n node = paddedNode();\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, node]);\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/mclass.js\n\n\n\n\n\n\nconst mclass_makeSpan = buildCommon.makeSpan;\n\nfunction mclass_htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, true);\n return mclass_makeSpan([group.mclass], elements, options);\n}\n\nfunction mclass_mathmlBuilder(group, options) {\n let node;\n const inner = buildMathML_buildExpression(group.body, options);\n\n if (group.mclass === \"minner\") {\n node = new mathMLTree.MathNode(\"mpadded\", inner);\n } else if (group.mclass === \"mord\") {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mi\";\n } else {\n node = new mathMLTree.MathNode(\"mi\", inner);\n }\n } else {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mo\";\n } else {\n node = new mathMLTree.MathNode(\"mo\", inner);\n } // Set spacing based on what is the most likely adjacent atom type.\n // See TeXbook p170.\n\n\n if (group.mclass === \"mbin\") {\n node.attributes.lspace = \"0.22em\"; // medium space\n\n node.attributes.rspace = \"0.22em\";\n } else if (group.mclass === \"mpunct\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0.17em\"; // thinspace\n } else if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0em\";\n } else if (group.mclass === \"minner\") {\n node.attributes.lspace = \"0.0556em\"; // 1 mu is the most likely option\n\n node.attributes.width = \"+0.1111em\";\n } // MathML default space is 5/18 em, so needs no action.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo\n\n }\n\n return node;\n} // Math class commands except \\mathop\n\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\mathord\", \"\\\\mathbin\", \"\\\\mathrel\", \"\\\\mathopen\", \"\\\\mathclose\", \"\\\\mathpunct\", \"\\\\mathinner\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: \"m\" + funcName.slice(5),\n // TODO(kevinb): don't prefix with 'm'\n body: ordargument(body),\n isCharacterBox: utils.isCharacterBox(body)\n };\n },\n\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\nconst binrelClass = arg => {\n // \\binrel@ spacing varies with (bin|rel|ord) of the atom in the argument.\n // (by rendering separately and with {}s before and after, and measuring\n // the change in spacing). We'll do roughly the same by detecting the\n // atom type directly.\n const atom = arg.type === \"ordgroup\" && arg.body.length ? arg.body[0] : arg;\n\n if (atom.type === \"atom\" && (atom.family === \"bin\" || atom.family === \"rel\")) {\n return \"m\" + atom.family;\n } else {\n return \"mord\";\n }\n}; // \\@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord.\n// This is equivalent to \\binrel@{x}\\binrel@@{y} in AMSTeX.\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\@binrel\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref2, args) {\n let {\n parser\n } = _ref2;\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[1]),\n isCharacterBox: utils.isCharacterBox(args[1])\n };\n }\n\n}); // Build a relation or stacked op by placing one symbol on top of another\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\stackrel\", \"\\\\overset\", \"\\\\underset\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref3, args) {\n let {\n parser,\n funcName\n } = _ref3;\n const baseArg = args[1];\n const shiftedArg = args[0];\n let mclass;\n\n if (funcName !== \"\\\\stackrel\") {\n // LaTeX applies \\binrel spacing to \\overset and \\underset.\n mclass = binrelClass(baseArg);\n } else {\n mclass = \"mrel\"; // for \\stackrel\n }\n\n const baseOp = {\n type: \"op\",\n mode: baseArg.mode,\n limits: true,\n alwaysHandleSupSub: true,\n parentIsSupSub: false,\n symbol: false,\n suppressBaseShift: funcName !== \"\\\\stackrel\",\n body: ordargument(baseArg)\n };\n const supsub = {\n type: \"supsub\",\n mode: shiftedArg.mode,\n base: baseOp,\n sup: funcName === \"\\\\underset\" ? null : shiftedArg,\n sub: funcName === \"\\\\underset\" ? shiftedArg : null\n };\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass,\n body: [supsub],\n isCharacterBox: utils.isCharacterBox(supsub)\n };\n },\n\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/pmb.js\n\n\n\n\n\n\n// \\pmb is a simulation of bold font.\n// The version of \\pmb in ambsy.sty works by typesetting three copies\n// with small offsets. We use CSS text-shadow.\n// It's a hack. Not as good as a real bold font. Better than nothing.\ndefineFunction({\n type: \"pmb\",\n names: [\"\\\\pmb\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"pmb\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, true);\n const node = buildCommon.makeSpan([group.mclass], elements, options);\n node.style.textShadow = \"0.02em 0.01em 0.04px\";\n return node;\n },\n\n mathmlBuilder(group, style) {\n const inner = buildMathML_buildExpression(group.body, style); // Wrap with an element.\n\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"style\", \"text-shadow: 0.02em 0.01em 0.04px\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/environments/cd.js\n\n\n\n\n\n\n\n\nconst cdArrowFunctionName = {\n \">\": \"\\\\\\\\cdrightarrow\",\n \"<\": \"\\\\\\\\cdleftarrow\",\n \"=\": \"\\\\\\\\cdlongequal\",\n \"A\": \"\\\\uparrow\",\n \"V\": \"\\\\downarrow\",\n \"|\": \"\\\\Vert\",\n \".\": \"no arrow\"\n};\n\nconst newCell = () => {\n // Create an empty cell, to be filled below with parse nodes.\n // The parseTree from this module must be constructed like the\n // one created by parseArray(), so an empty CD cell must\n // be a ParseNode<\"styling\">. And CD is always displaystyle.\n // So these values are fixed and flow can do implicit typing.\n return {\n type: \"styling\",\n body: [],\n mode: \"math\",\n style: \"display\"\n };\n};\n\nconst isStartOfArrow = node => {\n return node.type === \"textord\" && node.text === \"@\";\n};\n\nconst isLabelEnd = (node, endChar) => {\n return (node.type === \"mathord\" || node.type === \"atom\") && node.text === endChar;\n};\n\nfunction cdArrow(arrowChar, labels, parser) {\n // Return a parse tree of an arrow and its labels.\n // This acts in a way similar to a macro expansion.\n const funcName = cdArrowFunctionName[arrowChar];\n\n switch (funcName) {\n case \"\\\\\\\\cdrightarrow\":\n case \"\\\\\\\\cdleftarrow\":\n return parser.callFunction(funcName, [labels[0]], [labels[1]]);\n\n case \"\\\\uparrow\":\n case \"\\\\downarrow\":\n {\n const leftLabel = parser.callFunction(\"\\\\\\\\cdleft\", [labels[0]], []);\n const bareArrow = {\n type: \"atom\",\n text: funcName,\n mode: \"math\",\n family: \"rel\"\n };\n const sizedArrow = parser.callFunction(\"\\\\Big\", [bareArrow], []);\n const rightLabel = parser.callFunction(\"\\\\\\\\cdright\", [labels[1]], []);\n const arrowGroup = {\n type: \"ordgroup\",\n mode: \"math\",\n body: [leftLabel, sizedArrow, rightLabel]\n };\n return parser.callFunction(\"\\\\\\\\cdparent\", [arrowGroup], []);\n }\n\n case \"\\\\\\\\cdlongequal\":\n return parser.callFunction(\"\\\\\\\\cdlongequal\", [], []);\n\n case \"\\\\Vert\":\n {\n const arrow = {\n type: \"textord\",\n text: \"\\\\Vert\",\n mode: \"math\"\n };\n return parser.callFunction(\"\\\\Big\", [arrow], []);\n }\n\n default:\n return {\n type: \"textord\",\n text: \" \",\n mode: \"math\"\n };\n }\n}\n\nfunction parseCD(parser) {\n // Get the array's parse nodes with \\\\ temporarily mapped to \\cr.\n const parsedRows = [];\n parser.gullet.beginGroup();\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n parser.gullet.beginGroup();\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Get the parse nodes for the next row.\n parsedRows.push(parser.parseExpression(false, \"\\\\\\\\\"));\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n const next = parser.fetch().text;\n\n if (next === \"&\" || next === \"\\\\\\\\\") {\n parser.consume();\n } else if (next === \"\\\\end\") {\n if (parsedRows[parsedRows.length - 1].length === 0) {\n parsedRows.pop(); // final row ended in \\\\\n }\n\n break;\n } else {\n throw new src_ParseError(\"Expected \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n }\n\n let row = [];\n const body = [row]; // Loop thru the parse nodes. Collect them into cells and arrows.\n\n for (let i = 0; i < parsedRows.length; i++) {\n // Start a new row.\n const rowNodes = parsedRows[i]; // Create the first cell.\n\n let cell = newCell();\n\n for (let j = 0; j < rowNodes.length; j++) {\n if (!isStartOfArrow(rowNodes[j])) {\n // If a parseNode is not an arrow, it goes into a cell.\n cell.body.push(rowNodes[j]);\n } else {\n // Parse node j is an \"@\", the start of an arrow.\n // Before starting on the arrow, push the cell into `row`.\n row.push(cell); // Now collect parseNodes into an arrow.\n // The character after \"@\" defines the arrow type.\n\n j += 1;\n const arrowChar = assertSymbolNodeType(rowNodes[j]).text; // Create two empty label nodes. We may or may not use them.\n\n const labels = new Array(2);\n labels[0] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n };\n labels[1] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n }; // Process the arrow.\n\n if (\"=|.\".indexOf(arrowChar) > -1) {// Three \"arrows\", ``@=`, `@|`, and `@.`, do not take labels.\n // Do nothing here.\n } else if (\"<>AV\".indexOf(arrowChar) > -1) {\n // Four arrows, `@>>>`, `@<<<`, `@AAA`, and `@VVV`, each take\n // two optional labels. E.g. the right-point arrow syntax is\n // really: @>{optional label}>{optional label}>\n // Collect parseNodes into labels.\n for (let labelNum = 0; labelNum < 2; labelNum++) {\n let inLabel = true;\n\n for (let k = j + 1; k < rowNodes.length; k++) {\n if (isLabelEnd(rowNodes[k], arrowChar)) {\n inLabel = false;\n j = k;\n break;\n }\n\n if (isStartOfArrow(rowNodes[k])) {\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[k]);\n }\n\n labels[labelNum].body.push(rowNodes[k]);\n }\n\n if (inLabel) {\n // isLabelEnd never returned a true.\n throw new src_ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[j]);\n }\n }\n } else {\n throw new src_ParseError(\"Expected one of \\\"<>AV=|.\\\" after @\", rowNodes[j]);\n } // Now join the arrow to its labels.\n\n\n const arrow = cdArrow(arrowChar, labels, parser); // Wrap the arrow in ParseNode<\"styling\">.\n // This is done to match parseArray() behavior.\n\n const wrappedArrow = {\n type: \"styling\",\n body: [arrow],\n mode: \"math\",\n style: \"display\" // CD is always displaystyle.\n\n };\n row.push(wrappedArrow); // In CD's syntax, cells are implicit. That is, everything that\n // is not an arrow gets collected into a cell. So create an empty\n // cell now. It will collect upcoming parseNodes.\n\n cell = newCell();\n }\n }\n\n if (i % 2 === 0) {\n // Even-numbered rows consist of: cell, arrow, cell, arrow, ... cell\n // The last cell is not yet pushed into `row`, so:\n row.push(cell);\n } else {\n // Odd-numbered rows consist of: vert arrow, empty cell, ... vert arrow\n // Remove the empty cell that was placed at the beginning of `row`.\n row.shift();\n }\n\n row = [];\n body.push(row);\n } // End row group\n\n\n parser.gullet.endGroup(); // End array group defining \\\\\n\n parser.gullet.endGroup(); // define column separation.\n\n const cols = new Array(body[0].length).fill({\n type: \"align\",\n align: \"c\",\n pregap: 0.25,\n // CD package sets \\enskip between columns.\n postgap: 0.25 // So pre and post each get half an \\enskip, i.e. 0.25em.\n\n });\n return {\n type: \"array\",\n mode: \"math\",\n body,\n arraystretch: 1,\n addJot: true,\n rowGaps: [null],\n cols,\n colSeparationType: \"CD\",\n hLinesBeforeRow: new Array(body.length + 1).fill([])\n };\n} // The functions below are not available for general use.\n// They are here only for internal use by the {CD} environment in placing labels\n// next to vertical arrows.\n// We don't need any such functions for horizontal arrows because we can reuse\n// the functionality that already exists for extensible arrows.\n\ndefineFunction({\n type: \"cdlabel\",\n names: [\"\\\\\\\\cdleft\", \"\\\\\\\\cdright\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"cdlabel\",\n mode: parser.mode,\n side: funcName.slice(4),\n label: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n const newOptions = options.havingStyle(options.style.sup());\n const label = buildCommon.wrapFragment(buildGroup(group.label, newOptions, options), options);\n label.classes.push(\"cd-label-\" + group.side);\n label.style.bottom = makeEm(0.8 - label.depth); // Zero out label height & depth, so vertical align of arrow is set\n // by the arrow height, not by the label.\n\n label.height = 0;\n label.depth = 0;\n return label;\n },\n\n mathmlBuilder(group, options) {\n let label = new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.label, options)]);\n label = new mathMLTree.MathNode(\"mpadded\", [label]);\n label.setAttribute(\"width\", \"0\");\n\n if (group.side === \"left\") {\n label.setAttribute(\"lspace\", \"-1width\");\n } // We have to guess at vertical alignment. We know the arrow is 1.8em tall,\n // But we don't know the height or depth of the label.\n\n\n label.setAttribute(\"voffset\", \"0.7em\");\n label = new mathMLTree.MathNode(\"mstyle\", [label]);\n label.setAttribute(\"displaystyle\", \"false\");\n label.setAttribute(\"scriptlevel\", \"1\");\n return label;\n }\n\n});\ndefineFunction({\n type: \"cdlabelparent\",\n names: [\"\\\\\\\\cdparent\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref2, args) {\n let {\n parser\n } = _ref2;\n return {\n type: \"cdlabelparent\",\n mode: parser.mode,\n fragment: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Wrap the vertical arrow and its labels.\n // The parent gets position: relative. The child gets position: absolute.\n // So CSS can locate the label correctly.\n const parent = buildCommon.wrapFragment(buildGroup(group.fragment, options), options);\n parent.classes.push(\"cd-vert-arrow\");\n return parent;\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", [buildMathML_buildGroup(group.fragment, options)]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/char.js\n\n\n // \\@char is an internal function that takes a grouped decimal argument like\n// {123} and converts into symbol with code 123. It is used by the *macro*\n// \\char defined in macros.js.\n\ndefineFunction({\n type: \"textord\",\n names: [\"\\\\@char\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const arg = assertNodeType(args[0], \"ordgroup\");\n const group = arg.body;\n let number = \"\";\n\n for (let i = 0; i < group.length; i++) {\n const node = assertNodeType(group[i], \"textord\");\n number += node.text;\n }\n\n let code = parseInt(number);\n let text;\n\n if (isNaN(code)) {\n throw new src_ParseError(\"\\\\@char has non-numeric argument \" + number); // If we drop IE support, the following code could be replaced with\n // text = String.fromCodePoint(code)\n } else if (code < 0 || code >= 0x10ffff) {\n throw new src_ParseError(\"\\\\@char with invalid code point \" + number);\n } else if (code <= 0xffff) {\n text = String.fromCharCode(code);\n } else {\n // Astral code point; split into surrogate halves\n code -= 0x10000;\n text = String.fromCharCode((code >> 10) + 0xd800, (code & 0x3ff) + 0xdc00);\n }\n\n return {\n type: \"textord\",\n mode: parser.mode,\n text: text\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/color.js\n\n\n\n\n\n\n\nconst color_htmlBuilder = (group, options) => {\n const elements = buildExpression(group.body, options.withColor(group.color), false); // \\color isn't supposed to affect the type of the elements it contains.\n // To accomplish this, we wrap the results in a fragment, so the inner\n // elements will be able to directly interact with their neighbors. For\n // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n\n return buildCommon.makeFragment(elements);\n};\n\nconst color_mathmlBuilder = (group, options) => {\n const inner = buildMathML_buildExpression(group.body, options.withColor(group.color));\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"mathcolor\", group.color);\n return node;\n};\n\ndefineFunction({\n type: \"color\",\n names: [\"\\\\textcolor\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"original\"]\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const color = assertNodeType(args[0], \"color-token\").color;\n const body = args[1];\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body: ordargument(body)\n };\n },\n\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\ndefineFunction({\n type: \"color\",\n names: [\"\\\\color\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n argTypes: [\"color\"]\n },\n\n handler(_ref2, args) {\n let {\n parser,\n breakOnTokenText\n } = _ref2;\n const color = assertNodeType(args[0], \"color-token\").color; // Set macro \\current@color in current namespace to store the current\n // color, mimicking the behavior of color.sty.\n // This is currently used just to correctly color a \\right\n // that follows a \\color command.\n\n parser.gullet.macros.set(\"\\\\current@color\", color); // Parse out the implicit body that should be colored.\n\n const body = parser.parseExpression(true, breakOnTokenText);\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body\n };\n },\n\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/cr.js\n// Row breaks within tabular environments, and line breaks at top level\n\n\n\n\n // \\DeclareRobustCommand\\\\{...\\@xnewline}\n\ndefineFunction({\n type: \"cr\",\n names: [\"\\\\\\\\\"],\n props: {\n numArgs: 0,\n numOptionalArgs: 0,\n allowedInText: true\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const size = parser.gullet.future().text === \"[\" ? parser.parseSizeGroup(true) : null;\n const newLine = !parser.settings.displayMode || !parser.settings.useStrictBehavior(\"newLineInDisplayMode\", \"In LaTeX, \\\\\\\\ or \\\\newline \" + \"does nothing in display mode\");\n return {\n type: \"cr\",\n mode: parser.mode,\n newLine,\n size: size && assertNodeType(size, \"size\").value\n };\n },\n\n // The following builders are called only at the top level,\n // not within tabular/array environments.\n htmlBuilder(group, options) {\n const span = buildCommon.makeSpan([\"mspace\"], [], options);\n\n if (group.newLine) {\n span.classes.push(\"newline\");\n\n if (group.size) {\n span.style.marginTop = makeEm(calculateSize(group.size, options));\n }\n }\n\n return span;\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mspace\");\n\n if (group.newLine) {\n node.setAttribute(\"linebreak\", \"newline\");\n\n if (group.size) {\n node.setAttribute(\"height\", makeEm(calculateSize(group.size, options)));\n }\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/def.js\n\n\n\nconst globalMap = {\n \"\\\\global\": \"\\\\global\",\n \"\\\\long\": \"\\\\\\\\globallong\",\n \"\\\\\\\\globallong\": \"\\\\\\\\globallong\",\n \"\\\\def\": \"\\\\gdef\",\n \"\\\\gdef\": \"\\\\gdef\",\n \"\\\\edef\": \"\\\\xdef\",\n \"\\\\xdef\": \"\\\\xdef\",\n \"\\\\let\": \"\\\\\\\\globallet\",\n \"\\\\futurelet\": \"\\\\\\\\globalfuture\"\n};\n\nconst checkControlSequence = tok => {\n const name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n return name;\n};\n\nconst getRHS = parser => {\n let tok = parser.gullet.popToken();\n\n if (tok.text === \"=\") {\n // consume optional equals\n tok = parser.gullet.popToken();\n\n if (tok.text === \" \") {\n // consume one optional space\n tok = parser.gullet.popToken();\n }\n }\n\n return tok;\n};\n\nconst letCommand = (parser, name, tok, global) => {\n let macro = parser.gullet.macros.get(tok.text);\n\n if (macro == null) {\n // don't expand it later even if a macro with the same name is defined\n // e.g., \\let\\foo=\\frac \\def\\frac{\\relax} \\frac12\n tok.noexpand = true;\n macro = {\n tokens: [tok],\n numArgs: 0,\n // reproduce the same behavior in expansion\n unexpandable: !parser.gullet.isExpandable(tok.text)\n };\n }\n\n parser.gullet.macros.set(name, macro, global);\n}; // -> |\n// -> |\\global\n// -> |\n// -> \\global|\\long|\\outer\n\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\global\", \"\\\\long\", \"\\\\\\\\globallong\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(_ref) {\n let {\n parser,\n funcName\n } = _ref;\n parser.consumeSpaces();\n const token = parser.fetch();\n\n if (globalMap[token.text]) {\n // KaTeX doesn't have \\par, so ignore \\long\n if (funcName === \"\\\\global\" || funcName === \"\\\\\\\\globallong\") {\n token.text = globalMap[token.text];\n }\n\n return assertNodeType(parser.parseFunction(), \"internal\");\n }\n\n throw new src_ParseError(\"Invalid token after macro prefix\", token);\n }\n\n}); // Basic support for macro definitions: \\def, \\gdef, \\edef, \\xdef\n// -> \n// -> \\def|\\gdef|\\edef|\\xdef\n// -> \n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\def\", \"\\\\gdef\", \"\\\\edef\", \"\\\\xdef\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref2) {\n let {\n parser,\n funcName\n } = _ref2;\n let tok = parser.gullet.popToken();\n const name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new src_ParseError(\"Expected a control sequence\", tok);\n }\n\n let numArgs = 0;\n let insert;\n const delimiters = [[]]; // contains no braces\n\n while (parser.gullet.future().text !== \"{\") {\n tok = parser.gullet.popToken();\n\n if (tok.text === \"#\") {\n // If the very last character of the is #, so that\n // this # is immediately followed by {, TeX will behave as if the {\n // had been inserted at the right end of both the parameter text\n // and the replacement text.\n if (parser.gullet.future().text === \"{\") {\n insert = parser.gullet.future();\n delimiters[numArgs].push(\"{\");\n break;\n } // A parameter, the first appearance of # must be followed by 1,\n // the next by 2, and so on; up to nine #’s are allowed\n\n\n tok = parser.gullet.popToken();\n\n if (!/^[1-9]$/.test(tok.text)) {\n throw new src_ParseError(\"Invalid argument number \\\"\" + tok.text + \"\\\"\");\n }\n\n if (parseInt(tok.text) !== numArgs + 1) {\n throw new src_ParseError(\"Argument number \\\"\" + tok.text + \"\\\" out of order\");\n }\n\n numArgs++;\n delimiters.push([]);\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Expected a macro definition\");\n } else {\n delimiters[numArgs].push(tok.text);\n }\n } // replacement text, enclosed in '{' and '}' and properly nested\n\n\n let {\n tokens\n } = parser.gullet.consumeArg();\n\n if (insert) {\n tokens.unshift(insert);\n }\n\n if (funcName === \"\\\\edef\" || funcName === \"\\\\xdef\") {\n tokens = parser.gullet.expandTokens(tokens);\n tokens.reverse(); // to fit in with stack order\n } // Final arg is the expansion of the macro\n\n\n parser.gullet.macros.set(name, {\n tokens,\n numArgs,\n delimiters\n }, funcName === globalMap[funcName]);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // -> \n// -> \\futurelet\n// | \\let\n// -> |=\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\let\", \"\\\\\\\\globallet\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName\n } = _ref3;\n const name = checkControlSequence(parser.gullet.popToken());\n parser.gullet.consumeSpaces();\n const tok = getRHS(parser);\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globallet\");\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\futurelet\", \"\\\\\\\\globalfuture\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref4) {\n let {\n parser,\n funcName\n } = _ref4;\n const name = checkControlSequence(parser.gullet.popToken());\n const middle = parser.gullet.popToken();\n const tok = parser.gullet.popToken();\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globalfuture\");\n parser.gullet.pushToken(tok);\n parser.gullet.pushToken(middle);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/delimiter.js\n/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the \"Another subroutine sets box\n * x to a specified variable delimiter\" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nconst getMetrics = function (symbol, font, mode) {\n const replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace;\n const metrics = getCharacterMetrics(replace || symbol, font, mode);\n\n if (!metrics) {\n throw new Error(\"Unsupported symbol \" + symbol + \" and font size \" + font + \".\");\n }\n\n return metrics;\n};\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\n\n\nconst styleWrap = function (delim, toStyle, options, classes) {\n const newOptions = options.havingBaseStyle(toStyle);\n const span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options);\n const delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier;\n span.height *= delimSizeMultiplier;\n span.depth *= delimSizeMultiplier;\n span.maxFontSize = newOptions.sizeMultiplier;\n return span;\n};\n\nconst centerSpan = function (span, options, style) {\n const newOptions = options.havingBaseStyle(style);\n const shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight;\n span.classes.push(\"delimcenter\");\n span.style.top = makeEm(shift);\n span.height -= shift;\n span.depth += shift;\n};\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\n\n\nconst makeSmallDelim = function (delim, style, center, options, mode, classes) {\n const text = buildCommon.makeSymbol(delim, \"Main-Regular\", mode, options);\n const span = styleWrap(text, style, options, classes);\n\n if (center) {\n centerSpan(span, options, style);\n }\n\n return span;\n};\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\n\n\nconst mathrmSize = function (value, size, mode, options) {\n return buildCommon.makeSymbol(value, \"Size\" + size + \"-Regular\", mode, options);\n};\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\n\n\nconst makeLargeDelim = function (delim, size, center, options, mode, classes) {\n const inner = mathrmSize(delim, size, mode, options);\n const span = styleWrap(buildCommon.makeSpan([\"delimsizing\", \"size\" + size], [inner], options), src_Style.TEXT, options, classes);\n\n if (center) {\n centerSpan(span, options, src_Style.TEXT);\n }\n\n return span;\n};\n/**\n * Make a span from a font glyph with the given offset and in the given font.\n * This is used in makeStackedDelim to make the stacking pieces for the delimiter.\n */\n\n\nconst makeGlyphSpan = function (symbol, font, mode) {\n let sizeClass; // Apply the correct CSS class to choose the right font.\n\n if (font === \"Size1-Regular\") {\n sizeClass = \"delim-size1\";\n } else\n /* if (font === \"Size4-Regular\") */\n {\n sizeClass = \"delim-size4\";\n }\n\n const corner = buildCommon.makeSpan([\"delimsizinginner\", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element\n // in the appropriate tag that VList uses.\n\n return {\n type: \"elem\",\n elem: corner\n };\n};\n\nconst makeInner = function (ch, height, options) {\n // Create a span with inline SVG for the inner part of a tall stacked delimiter.\n const width = fontMetricsData['Size4-Regular'][ch.charCodeAt(0)] ? fontMetricsData['Size4-Regular'][ch.charCodeAt(0)][4] : fontMetricsData['Size1-Regular'][ch.charCodeAt(0)][4];\n const path = new PathNode(\"inner\", innerPath(ch, Math.round(1000 * height)));\n const svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + Math.round(1000 * height),\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n const span = buildCommon.makeSvgSpan([], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return {\n type: \"elem\",\n elem: span\n };\n}; // Helpers for makeStackedDelim\n\n\nconst lapInEms = 0.008;\nconst lap = {\n type: \"kern\",\n size: -1 * lapInEms\n};\nconst verts = [\"|\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\vert\"];\nconst doubleVerts = [\"\\\\|\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\Vert\"];\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\n\nconst makeStackedDelim = function (delim, heightTotal, center, options, mode, classes) {\n // There are four parts, the top, an optional middle, a repeated part, and a\n // bottom.\n let top;\n let middle;\n let repeat;\n let bottom;\n let svgLabel = \"\";\n let viewBoxWidth = 0;\n top = repeat = bottom = delim;\n middle = null; // Also keep track of what font the delimiters are in\n\n let font = \"Size1-Regular\"; // We set the parts and font based on the symbol. Note that we use\n // '\\u23d0' instead of '|' and '\\u2016' instead of '\\\\|' for the\n // repeats of the arrows\n\n if (delim === \"\\\\uparrow\") {\n repeat = bottom = \"\\u23d0\";\n } else if (delim === \"\\\\Uparrow\") {\n repeat = bottom = \"\\u2016\";\n } else if (delim === \"\\\\downarrow\") {\n top = repeat = \"\\u23d0\";\n } else if (delim === \"\\\\Downarrow\") {\n top = repeat = \"\\u2016\";\n } else if (delim === \"\\\\updownarrow\") {\n top = \"\\\\uparrow\";\n repeat = \"\\u23d0\";\n bottom = \"\\\\downarrow\";\n } else if (delim === \"\\\\Updownarrow\") {\n top = \"\\\\Uparrow\";\n repeat = \"\\u2016\";\n bottom = \"\\\\Downarrow\";\n } else if (utils.contains(verts, delim)) {\n repeat = \"\\u2223\";\n svgLabel = \"vert\";\n viewBoxWidth = 333;\n } else if (utils.contains(doubleVerts, delim)) {\n repeat = \"\\u2225\";\n svgLabel = \"doublevert\";\n viewBoxWidth = 556;\n } else if (delim === \"[\" || delim === \"\\\\lbrack\") {\n top = \"\\u23a1\";\n repeat = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"]\" || delim === \"\\\\rbrack\") {\n top = \"\\u23a4\";\n repeat = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lfloor\" || delim === \"\\u230a\") {\n repeat = top = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lceil\" || delim === \"\\u2308\") {\n top = \"\\u23a1\";\n repeat = bottom = \"\\u23a2\";\n font = \"Size4-Regular\";\n svgLabel = \"lceil\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rfloor\" || delim === \"\\u230b\") {\n repeat = top = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rceil\" || delim === \"\\u2309\") {\n top = \"\\u23a4\";\n repeat = bottom = \"\\u23a5\";\n font = \"Size4-Regular\";\n svgLabel = \"rceil\";\n viewBoxWidth = 667;\n } else if (delim === \"(\" || delim === \"\\\\lparen\") {\n top = \"\\u239b\";\n repeat = \"\\u239c\";\n bottom = \"\\u239d\";\n font = \"Size4-Regular\";\n svgLabel = \"lparen\";\n viewBoxWidth = 875;\n } else if (delim === \")\" || delim === \"\\\\rparen\") {\n top = \"\\u239e\";\n repeat = \"\\u239f\";\n bottom = \"\\u23a0\";\n font = \"Size4-Regular\";\n svgLabel = \"rparen\";\n viewBoxWidth = 875;\n } else if (delim === \"\\\\{\" || delim === \"\\\\lbrace\") {\n top = \"\\u23a7\";\n middle = \"\\u23a8\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\}\" || delim === \"\\\\rbrace\") {\n top = \"\\u23ab\";\n middle = \"\\u23ac\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lgroup\" || delim === \"\\u27ee\") {\n top = \"\\u23a7\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rgroup\" || delim === \"\\u27ef\") {\n top = \"\\u23ab\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lmoustache\" || delim === \"\\u23b0\") {\n top = \"\\u23a7\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rmoustache\" || delim === \"\\u23b1\") {\n top = \"\\u23ab\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } // Get the metrics of the four sections\n\n\n const topMetrics = getMetrics(top, font, mode);\n const topHeightTotal = topMetrics.height + topMetrics.depth;\n const repeatMetrics = getMetrics(repeat, font, mode);\n const repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n const bottomMetrics = getMetrics(bottom, font, mode);\n const bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n let middleHeightTotal = 0;\n let middleFactor = 1;\n\n if (middle !== null) {\n const middleMetrics = getMetrics(middle, font, mode);\n middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n middleFactor = 2; // repeat symmetrically above and below middle\n } // Calculate the minimal height that the delimiter can have.\n // It is at least the size of the top, bottom, and optional middle combined.\n\n\n const minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need\n\n const repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols\n\n const realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note\n // that in this context, \"center\" means that the delimiter should be\n // centered around the axis in the current style, while normally it is\n // centered around the axis in textstyle.\n\n let axisHeight = options.fontMetrics().axisHeight;\n\n if (center) {\n axisHeight *= options.sizeMultiplier;\n } // Calculate the depth\n\n\n const depth = realHeightTotal / 2 - axisHeight; // Now, we start building the pieces that will go into the vlist\n // Keep a list of the pieces of the stacked delimiter\n\n const stack = [];\n\n if (svgLabel.length > 0) {\n // Instead of stacking glyphs, create a single SVG.\n // This evades browser problems with imprecise positioning of spans.\n const midHeight = realHeightTotal - topHeightTotal - bottomHeightTotal;\n const viewBoxHeight = Math.round(realHeightTotal * 1000);\n const pathStr = tallDelim(svgLabel, Math.round(midHeight * 1000));\n const path = new PathNode(svgLabel, pathStr);\n const width = (viewBoxWidth / 1000).toFixed(3) + \"em\";\n const height = (viewBoxHeight / 1000).toFixed(3) + \"em\";\n const svg = new SvgNode([path], {\n \"width\": width,\n \"height\": height,\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight\n });\n const wrapper = buildCommon.makeSvgSpan([], [svg], options);\n wrapper.height = viewBoxHeight / 1000;\n wrapper.style.width = width;\n wrapper.style.height = height;\n stack.push({\n type: \"elem\",\n elem: wrapper\n });\n } else {\n // Stack glyphs\n // Start by adding the bottom symbol\n stack.push(makeGlyphSpan(bottom, font, mode));\n stack.push(lap); // overlap\n\n if (middle === null) {\n // The middle section will be an SVG. Make it an extra 0.016em tall.\n // We'll overlap by 0.008em at top and bottom.\n const innerHeight = realHeightTotal - topHeightTotal - bottomHeightTotal + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options));\n } else {\n // When there is a middle bit, we need the middle part and two repeated\n // sections\n const innerHeight = (realHeightTotal - topHeightTotal - bottomHeightTotal - middleHeightTotal) / 2 + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options)); // Now insert the middle of the brace.\n\n stack.push(lap);\n stack.push(makeGlyphSpan(middle, font, mode));\n stack.push(lap);\n stack.push(makeInner(repeat, innerHeight, options));\n } // Add the top symbol\n\n\n stack.push(lap);\n stack.push(makeGlyphSpan(top, font, mode));\n } // Finally, build the vlist\n\n\n const newOptions = options.havingBaseStyle(src_Style.TEXT);\n const inner = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: depth,\n children: stack\n }, newOptions);\n return styleWrap(buildCommon.makeSpan([\"delimsizing\", \"mult\"], [inner], newOptions), src_Style.TEXT, options, classes);\n}; // All surds have 0.08em padding above the vinculum inside the SVG.\n// That keeps browser span height rounding error from pinching the line.\n\n\nconst vbPad = 80; // padding above the surd, measured inside the viewBox.\n\nconst emPad = 0.08; // padding, in ems, measured in the document.\n\nconst sqrtSvg = function (sqrtName, height, viewBoxHeight, extraVinculum, options) {\n const path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight);\n const pathNode = new PathNode(sqrtName, path);\n const svg = new SvgNode([pathNode], {\n // Note: 1000:1 ratio of viewBox to document em width.\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n });\n return buildCommon.makeSvgSpan([\"hide-tail\"], [svg], options);\n};\n/**\n * Make a sqrt image of the given height,\n */\n\n\nconst makeSqrtImage = function (height, options) {\n // Define a newOptions that removes the effect of size changes such as \\Huge.\n // We don't pick different a height surd for \\Huge. For it, we scale up.\n const newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds.\n\n const delim = traverseSequence(\"\\\\surd\", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);\n let sizeMultiplier = newOptions.sizeMultiplier; // default\n // The standard sqrt SVGs each have a 0.04em thick vinculum.\n // If Settings.minRuleThickness is larger than that, we add extraVinculum.\n\n const extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.\n\n let span;\n let spanHeight = 0;\n let texHeight = 0;\n let viewBoxHeight = 0;\n let advanceWidth; // We create viewBoxes with 80 units of \"padding\" above each surd.\n // Then browser rounding error on the parent span height will not\n // encroach on the ink of the vinculum. But that padding is not\n // included in the TeX-like `height` used for calculation of\n // vertical alignment. So texHeight = span.height < span.style.height.\n\n if (delim.type === \"small\") {\n // Get an SVG that is derived from glyph U+221A in font KaTeX-Main.\n // 1000 unit normal glyph height.\n viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad;\n\n if (height < 1.0) {\n sizeMultiplier = 1.0; // mimic a \\textfont radical\n } else if (height < 1.4) {\n sizeMultiplier = 0.7; // mimic a \\scriptfont radical\n }\n\n spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier;\n texHeight = (1.00 + extraVinculum) / sizeMultiplier;\n span = sqrtSvg(\"sqrtMain\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.853em\";\n advanceWidth = 0.833 / sizeMultiplier; // from the font.\n } else if (delim.type === \"large\") {\n // These SVGs come from fonts: KaTeX_Size1, _Size2, etc.\n viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];\n texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier;\n spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier;\n span = sqrtSvg(\"sqrtSize\" + delim.size, spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"1.02em\";\n advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.\n } else {\n // Tall sqrt. In TeX, this would be stacked using multiple glyphs.\n // We'll use a single SVG to accomplish the same thing.\n spanHeight = height + extraVinculum + emPad;\n texHeight = height + extraVinculum;\n viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad;\n span = sqrtSvg(\"sqrtTall\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.742em\";\n advanceWidth = 1.056;\n }\n\n span.height = texHeight;\n span.style.height = makeEm(spanHeight);\n return {\n span,\n advanceWidth,\n // Calculate the actual line width.\n // This actually should depend on the chosen font -- e.g. \\boldmath\n // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and\n // have thicker rules.\n ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier\n };\n}; // There are three kinds of delimiters, delimiters that stack when they become\n// too large\n\n\nconst stackLargeDelimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"\\\\surd\"]; // delimiters that always stack\n\nconst stackAlwaysDelimiters = [\"\\\\uparrow\", \"\\\\downarrow\", \"\\\\updownarrow\", \"\\\\Uparrow\", \"\\\\Downarrow\", \"\\\\Updownarrow\", \"|\", \"\\\\|\", \"\\\\vert\", \"\\\\Vert\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\"]; // and delimiters that never stack\n\nconst stackNeverDelimiters = [\"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"/\", \"\\\\backslash\", \"\\\\lt\", \"\\\\gt\"]; // Metrics of the different sizes. Found by looking at TeX's output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\n\nconst sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\n\nconst makeSizedDelim = function (delim, size, options, mode, classes) {\n // < and > turn into \\langle and \\rangle in delimiters\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Sized delimiters are never centered.\n\n\n if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) {\n return makeLargeDelim(delim, size, false, options, mode, classes);\n } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes);\n } else {\n throw new src_ParseError(\"Illegal delimiter: '\" + delim + \"'\");\n }\n};\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren't explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n\n// Delimiters that never stack try small delimiters and large delimiters only\nconst stackNeverDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}]; // Delimiters that always stack try the small delimiters first, then stack\n\nconst stackAlwaysDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"stack\"\n}]; // Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\n\nconst stackLargeDelimiterSequence = [{\n type: \"small\",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: src_Style.SCRIPT\n}, {\n type: \"small\",\n style: src_Style.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}, {\n type: \"stack\"\n}];\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n * TODO(#963) Use more specific font family return type once that is introduced.\n */\n\nconst delimTypeToFont = function (type) {\n if (type.type === \"small\") {\n return \"Main-Regular\";\n } else if (type.type === \"large\") {\n return \"Size\" + type.size + \"-Regular\";\n } else if (type.type === \"stack\") {\n return \"Size4-Regular\";\n } else {\n throw new Error(\"Add support for delim type '\" + type.type + \"' here.\");\n }\n};\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\n\n\nconst traverseSequence = function (delim, height, sequence, options) {\n // Here, we choose the index we should start at in the sequences. In smaller\n // sizes (which correspond to larger numbers in style.size) we start earlier\n // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n const start = Math.min(2, 3 - options.style.size);\n\n for (let i = start; i < sequence.length; i++) {\n if (sequence[i].type === \"stack\") {\n // This is always the last delimiter, so we just break the loop now.\n break;\n }\n\n const metrics = getMetrics(delim, delimTypeToFont(sequence[i]), \"math\");\n let heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we\n // account for the style change size.\n\n if (sequence[i].type === \"small\") {\n const newOptions = options.havingBaseStyle(sequence[i].style);\n heightDepth *= newOptions.sizeMultiplier;\n } // Check if the delimiter at this size works for the given height.\n\n\n if (heightDepth > height) {\n return sequence[i];\n }\n } // If we reached the end of the sequence, return the last sequence element.\n\n\n return sequence[sequence.length - 1];\n};\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\n\n\nconst makeCustomSizedDelim = function (delim, height, center, options, mode, classes) {\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Decide what sequence to use\n\n\n let sequence;\n\n if (utils.contains(stackNeverDelimiters, delim)) {\n sequence = stackNeverDelimiterSequence;\n } else if (utils.contains(stackLargeDelimiters, delim)) {\n sequence = stackLargeDelimiterSequence;\n } else {\n sequence = stackAlwaysDelimiterSequence;\n } // Look through the sequence\n\n\n const delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs.\n // Depending on the sequence element we decided on, call the\n // appropriate function.\n\n if (delimType.type === \"small\") {\n return makeSmallDelim(delim, delimType.style, center, options, mode, classes);\n } else if (delimType.type === \"large\") {\n return makeLargeDelim(delim, delimType.size, center, options, mode, classes);\n } else\n /* if (delimType.type === \"stack\") */\n {\n return makeStackedDelim(delim, height, center, options, mode, classes);\n }\n};\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\n\n\nconst makeLeftRightDelim = function (delim, height, depth, options, mode, classes) {\n // We always center \\left/\\right delimiters, so the axis is always shifted\n const axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right\n\n const delimiterFactor = 901;\n const delimiterExtend = 5.0 / options.fontMetrics().ptPerEm;\n const maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight);\n const totalHeight = Math.max( // In real TeX, calculations are done using integral values which are\n // 65536 per pt, or 655360 per em. So, the division here truncates in\n // TeX but doesn't here, producing different results. If we wanted to\n // exactly match TeX's calculation, we could do\n // Math.floor(655360 * maxDistFromAxis / 500) *\n // delimiterFactor / 655360\n // (To see the difference, compare\n // x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n // in TeX and KaTeX)\n maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n // height\n\n return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes);\n};\n\n/* harmony default export */ var delimiter = ({\n sqrtImage: makeSqrtImage,\n sizedDelim: makeSizedDelim,\n sizeToMaxHeight: sizeToMaxHeight,\n customSizedDelim: makeCustomSizedDelim,\n leftRightDelim: makeLeftRightDelim\n});\n;// CONCATENATED MODULE: ./src/functions/delimsizing.js\n\n\n\n\n\n\n\n\n\n\n// Extra data needed for the delimiter handler down below\nconst delimiterSizes = {\n \"\\\\bigl\": {\n mclass: \"mopen\",\n size: 1\n },\n \"\\\\Bigl\": {\n mclass: \"mopen\",\n size: 2\n },\n \"\\\\biggl\": {\n mclass: \"mopen\",\n size: 3\n },\n \"\\\\Biggl\": {\n mclass: \"mopen\",\n size: 4\n },\n \"\\\\bigr\": {\n mclass: \"mclose\",\n size: 1\n },\n \"\\\\Bigr\": {\n mclass: \"mclose\",\n size: 2\n },\n \"\\\\biggr\": {\n mclass: \"mclose\",\n size: 3\n },\n \"\\\\Biggr\": {\n mclass: \"mclose\",\n size: 4\n },\n \"\\\\bigm\": {\n mclass: \"mrel\",\n size: 1\n },\n \"\\\\Bigm\": {\n mclass: \"mrel\",\n size: 2\n },\n \"\\\\biggm\": {\n mclass: \"mrel\",\n size: 3\n },\n \"\\\\Biggm\": {\n mclass: \"mrel\",\n size: 4\n },\n \"\\\\big\": {\n mclass: \"mord\",\n size: 1\n },\n \"\\\\Big\": {\n mclass: \"mord\",\n size: 2\n },\n \"\\\\bigg\": {\n mclass: \"mord\",\n size: 3\n },\n \"\\\\Bigg\": {\n mclass: \"mord\",\n size: 4\n }\n};\nconst delimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"<\", \">\", \"\\\\langle\", \"\\u27e8\", \"\\\\rangle\", \"\\u27e9\", \"\\\\lt\", \"\\\\gt\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\", \"/\", \"\\\\backslash\", \"|\", \"\\\\vert\", \"\\\\|\", \"\\\\Vert\", \"\\\\uparrow\", \"\\\\Uparrow\", \"\\\\downarrow\", \"\\\\Downarrow\", \"\\\\updownarrow\", \"\\\\Updownarrow\", \".\"];\n\n// Delimiter functions\nfunction checkDelimiter(delim, context) {\n const symDelim = checkSymbolNodeType(delim);\n\n if (symDelim && utils.contains(delimiters, symDelim.text)) {\n return symDelim;\n } else if (symDelim) {\n throw new src_ParseError(\"Invalid delimiter '\" + symDelim.text + \"' after '\" + context.funcName + \"'\", delim);\n } else {\n throw new src_ParseError(\"Invalid delimiter type '\" + delim.type + \"'\", delim);\n }\n}\n\ndefineFunction({\n type: \"delimsizing\",\n names: [\"\\\\bigl\", \"\\\\Bigl\", \"\\\\biggl\", \"\\\\Biggl\", \"\\\\bigr\", \"\\\\Bigr\", \"\\\\biggr\", \"\\\\Biggr\", \"\\\\bigm\", \"\\\\Bigm\", \"\\\\biggm\", \"\\\\Biggm\", \"\\\\big\", \"\\\\Big\", \"\\\\bigg\", \"\\\\Bigg\"],\n props: {\n numArgs: 1,\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n return {\n type: \"delimsizing\",\n mode: context.parser.mode,\n size: delimiterSizes[context.funcName].size,\n mclass: delimiterSizes[context.funcName].mclass,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n if (group.delim === \".\") {\n // Empty delimiters still count as elements, even though they don't\n // show anything.\n return buildCommon.makeSpan([group.mclass]);\n } // Use delimiter.sizedDelim to generate the delimiter.\n\n\n return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]);\n },\n mathmlBuilder: group => {\n const children = [];\n\n if (group.delim !== \".\") {\n children.push(makeText(group.delim, group.mode));\n }\n\n const node = new mathMLTree.MathNode(\"mo\", children);\n\n if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n // Only some of the delimsizing functions act as fences, and they\n // return \"mopen\" or \"mclose\" mclass.\n node.setAttribute(\"fence\", \"true\");\n } else {\n // Explicitly disable fencing if it's not a fence, to override the\n // defaults.\n node.setAttribute(\"fence\", \"false\");\n }\n\n node.setAttribute(\"stretchy\", \"true\");\n const size = makeEm(delimiter.sizeToMaxHeight[group.size]);\n node.setAttribute(\"minsize\", size);\n node.setAttribute(\"maxsize\", size);\n return node;\n }\n});\n\nfunction assertParsed(group) {\n if (!group.body) {\n throw new Error(\"Bug: The leftright ParseNode wasn't fully parsed.\");\n }\n}\n\ndefineFunction({\n type: \"leftright-right\",\n names: [\"\\\\right\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n // \\left case below triggers parsing of \\right in\n // `const right = parser.parseFunction();`\n // uses this return value.\n const color = context.parser.gullet.macros.get(\"\\\\current@color\");\n\n if (color && typeof color !== \"string\") {\n throw new src_ParseError(\"\\\\current@color set to non-string in \\\\right\");\n }\n\n return {\n type: \"leftright-right\",\n mode: context.parser.mode,\n delim: checkDelimiter(args[0], context).text,\n color // undefined if not set via \\color\n\n };\n }\n});\ndefineFunction({\n type: \"leftright\",\n names: [\"\\\\left\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n const parser = context.parser; // Parse out the implicit body\n\n ++parser.leftrightDepth; // parseExpression stops before '\\\\right'\n\n const body = parser.parseExpression(false);\n --parser.leftrightDepth; // Check the next token\n\n parser.expect(\"\\\\right\", false);\n const right = assertNodeType(parser.parseFunction(), \"leftright-right\");\n return {\n type: \"leftright\",\n mode: parser.mode,\n body,\n left: delim.text,\n right: right.delim,\n rightColor: right.color\n };\n },\n htmlBuilder: (group, options) => {\n assertParsed(group); // Build the inner expression\n\n const inner = buildExpression(group.body, options, true, [\"mopen\", \"mclose\"]);\n let innerHeight = 0;\n let innerDepth = 0;\n let hadMiddle = false; // Calculate its height and depth\n\n for (let i = 0; i < inner.length; i++) {\n // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n if (inner[i].isMiddle) {\n hadMiddle = true;\n } else {\n innerHeight = Math.max(inner[i].height, innerHeight);\n innerDepth = Math.max(inner[i].depth, innerDepth);\n }\n } // The size of delimiters is the same, regardless of what style we are\n // in. Thus, to correctly calculate the size of delimiter we need around\n // a group, we scale down the inner size based on the size.\n\n\n innerHeight *= options.sizeMultiplier;\n innerDepth *= options.sizeMultiplier;\n let leftDelim;\n\n if (group.left === \".\") {\n // Empty delimiters in \\left and \\right make null delimiter spaces.\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n // Otherwise, use leftRightDelim to generate the correct sized\n // delimiter.\n leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, [\"mopen\"]);\n } // Add it to the beginning of the expression\n\n\n inner.unshift(leftDelim); // Handle middle delimiters\n\n if (hadMiddle) {\n for (let i = 1; i < inner.length; i++) {\n const middleDelim = inner[i]; // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n\n const isMiddle = middleDelim.isMiddle;\n\n if (isMiddle) {\n // Apply the options that were active when \\middle was called\n inner[i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []);\n }\n }\n }\n\n let rightDelim; // Same for the right delimiter, but using color specified by \\color\n\n if (group.right === \".\") {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n const colorOptions = group.rightColor ? options.withColor(group.rightColor) : options;\n rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, [\"mclose\"]);\n } // Add it to the end of the expression.\n\n\n inner.push(rightDelim);\n return buildCommon.makeSpan([\"minner\"], inner, options);\n },\n mathmlBuilder: (group, options) => {\n assertParsed(group);\n const inner = buildMathML_buildExpression(group.body, options);\n\n if (group.left !== \".\") {\n const leftNode = new mathMLTree.MathNode(\"mo\", [makeText(group.left, group.mode)]);\n leftNode.setAttribute(\"fence\", \"true\");\n inner.unshift(leftNode);\n }\n\n if (group.right !== \".\") {\n const rightNode = new mathMLTree.MathNode(\"mo\", [makeText(group.right, group.mode)]);\n rightNode.setAttribute(\"fence\", \"true\");\n\n if (group.rightColor) {\n rightNode.setAttribute(\"mathcolor\", group.rightColor);\n }\n\n inner.push(rightNode);\n }\n\n return makeRow(inner);\n }\n});\ndefineFunction({\n type: \"middle\",\n names: [\"\\\\middle\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n const delim = checkDelimiter(args[0], context);\n\n if (!context.parser.leftrightDepth) {\n throw new src_ParseError(\"\\\\middle without preceding \\\\left\", delim);\n }\n\n return {\n type: \"middle\",\n mode: context.parser.mode,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n let middleDelim;\n\n if (group.delim === \".\") {\n middleDelim = makeNullDelimiter(options, []);\n } else {\n middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []);\n const isMiddle = {\n delim: group.delim,\n options\n }; // Property `isMiddle` not defined on `span`. It is only used in\n // this file above.\n // TODO: Fix this violation of the `span` type and possibly rename\n // things since `isMiddle` sounds like a boolean, but is a struct.\n // $FlowFixMe\n\n middleDelim.isMiddle = isMiddle;\n }\n\n return middleDelim;\n },\n mathmlBuilder: (group, options) => {\n // A Firefox \\middle will stretch a character vertically only if it\n // is in the fence part of the operator dictionary at:\n // https://www.w3.org/TR/MathML3/appendixc.html.\n // So we need to avoid U+2223 and use plain \"|\" instead.\n const textNode = group.delim === \"\\\\vert\" || group.delim === \"|\" ? makeText(\"|\", \"text\") : makeText(group.delim, group.mode);\n const middleNode = new mathMLTree.MathNode(\"mo\", [textNode]);\n middleNode.setAttribute(\"fence\", \"true\"); // MathML gives 5/18em spacing to each element.\n // \\middle should get delimiter spacing instead.\n\n middleNode.setAttribute(\"lspace\", \"0.05em\");\n middleNode.setAttribute(\"rspace\", \"0.05em\");\n return middleNode;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/enclose.js\n\n\n\n\n\n\n\n\n\n\n\n\nconst enclose_htmlBuilder = (group, options) => {\n // \\cancel, \\bcancel, \\xcancel, \\sout, \\fbox, \\colorbox, \\fcolorbox, \\phase\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n const inner = buildCommon.wrapFragment(buildGroup(group.body, options), options);\n const label = group.label.slice(1);\n let scale = options.sizeMultiplier;\n let img;\n let imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different\n // depending on whether the subject is wider than it is tall, or vice versa.\n // We don't know the width of a group, so as a proxy, we test if\n // the subject is a single character. This captures most of the\n // subjects that should get the \"tall\" treatment.\n\n const isSingleChar = utils.isCharacterBox(group.body);\n\n if (label === \"sout\") {\n img = buildCommon.makeSpan([\"stretchy\", \"sout\"]);\n img.height = options.fontMetrics().defaultRuleThickness / scale;\n imgShift = -0.5 * options.fontMetrics().xHeight;\n } else if (label === \"phase\") {\n // Set a couple of dimensions from the steinmetz package.\n const lineWeight = calculateSize({\n number: 0.6,\n unit: \"pt\"\n }, options);\n const clearance = calculateSize({\n number: 0.35,\n unit: \"ex\"\n }, options); // Prevent size changes like \\Huge from affecting line thickness\n\n const newOptions = options.havingBaseSizing();\n scale = scale / newOptions.sizeMultiplier;\n const angleHeight = inner.height + inner.depth + lineWeight + clearance; // Reserve a left pad for the angle.\n\n inner.style.paddingLeft = makeEm(angleHeight / 2 + lineWeight); // Create an SVG\n\n const viewBoxHeight = Math.floor(1000 * angleHeight * scale);\n const path = phasePath(viewBoxHeight);\n const svgNode = new SvgNode([new PathNode(\"phase\", path)], {\n \"width\": \"400em\",\n \"height\": makeEm(viewBoxHeight / 1000),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n }); // Wrap it in a span with overflow: hidden.\n\n img = buildCommon.makeSvgSpan([\"hide-tail\"], [svgNode], options);\n img.style.height = makeEm(angleHeight);\n imgShift = inner.depth + lineWeight + clearance;\n } else {\n // Add horizontal padding\n if (/cancel/.test(label)) {\n if (!isSingleChar) {\n inner.classes.push(\"cancel-pad\");\n }\n } else if (label === \"angl\") {\n inner.classes.push(\"anglpad\");\n } else {\n inner.classes.push(\"boxpad\");\n } // Add vertical padding\n\n\n let topPad = 0;\n let bottomPad = 0;\n let ruleThickness = 0; // ref: cancel package: \\advance\\totalheight2\\p@ % \"+2\"\n\n if (/box/.test(label)) {\n ruleThickness = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // User override.\n );\n topPad = options.fontMetrics().fboxsep + (label === \"colorbox\" ? 0 : ruleThickness);\n bottomPad = topPad;\n } else if (label === \"angl\") {\n ruleThickness = Math.max(options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n topPad = 4 * ruleThickness; // gap = 3 × line, plus the line itself.\n\n bottomPad = Math.max(0, 0.25 - inner.depth);\n } else {\n topPad = isSingleChar ? 0.2 : 0;\n bottomPad = topPad;\n }\n\n img = stretchy.encloseSpan(inner, label, topPad, bottomPad, options);\n\n if (/fbox|boxed|fcolorbox/.test(label)) {\n img.style.borderStyle = \"solid\";\n img.style.borderWidth = makeEm(ruleThickness);\n } else if (label === \"angl\" && ruleThickness !== 0.049) {\n img.style.borderTopWidth = makeEm(ruleThickness);\n img.style.borderRightWidth = makeEm(ruleThickness);\n }\n\n imgShift = inner.depth + bottomPad;\n\n if (group.backgroundColor) {\n img.style.backgroundColor = group.backgroundColor;\n\n if (group.borderColor) {\n img.style.borderColor = group.borderColor;\n }\n }\n }\n\n let vlist;\n\n if (group.backgroundColor) {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Put the color background behind inner;\n {\n type: \"elem\",\n elem: img,\n shift: imgShift\n }, {\n type: \"elem\",\n elem: inner,\n shift: 0\n }]\n }, options);\n } else {\n const classes = /cancel|phase/.test(label) ? [\"svg-align\"] : [];\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Write the \\cancel stroke on top of inner.\n {\n type: \"elem\",\n elem: inner,\n shift: 0\n }, {\n type: \"elem\",\n elem: img,\n shift: imgShift,\n wrapperClasses: classes\n }]\n }, options);\n }\n\n if (/cancel/.test(label)) {\n // The cancel package documentation says that cancel lines add their height\n // to the expression, but tests show that isn't how it actually works.\n vlist.height = inner.height;\n vlist.depth = inner.depth;\n }\n\n if (/cancel/.test(label) && !isSingleChar) {\n // cancel does not create horiz space for its line extension.\n return buildCommon.makeSpan([\"mord\", \"cancel-lap\"], [vlist], options);\n } else {\n return buildCommon.makeSpan([\"mord\"], [vlist], options);\n }\n};\n\nconst enclose_mathmlBuilder = (group, options) => {\n let fboxsep = 0;\n const node = new mathMLTree.MathNode(group.label.indexOf(\"colorbox\") > -1 ? \"mpadded\" : \"menclose\", [buildMathML_buildGroup(group.body, options)]);\n\n switch (group.label) {\n case \"\\\\cancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike\");\n break;\n\n case \"\\\\bcancel\":\n node.setAttribute(\"notation\", \"downdiagonalstrike\");\n break;\n\n case \"\\\\phase\":\n node.setAttribute(\"notation\", \"phasorangle\");\n break;\n\n case \"\\\\sout\":\n node.setAttribute(\"notation\", \"horizontalstrike\");\n break;\n\n case \"\\\\fbox\":\n node.setAttribute(\"notation\", \"box\");\n break;\n\n case \"\\\\angl\":\n node.setAttribute(\"notation\", \"actuarial\");\n break;\n\n case \"\\\\fcolorbox\":\n case \"\\\\colorbox\":\n // doesn't have a good notation option. So use \n // instead. Set some attributes that come included with .\n fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm;\n node.setAttribute(\"width\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"height\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"lspace\", fboxsep + \"pt\"); //\n\n node.setAttribute(\"voffset\", fboxsep + \"pt\");\n\n if (group.label === \"\\\\fcolorbox\") {\n const thk = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // user override\n );\n node.setAttribute(\"style\", \"border: \" + thk + \"em solid \" + String(group.borderColor));\n }\n\n break;\n\n case \"\\\\xcancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike downdiagonalstrike\");\n break;\n }\n\n if (group.backgroundColor) {\n node.setAttribute(\"mathbackground\", group.backgroundColor);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\colorbox\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"text\"]\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref;\n const color = assertNodeType(args[0], \"color-token\").color;\n const body = args[1];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor: color,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fcolorbox\"],\n props: {\n numArgs: 3,\n allowedInText: true,\n argTypes: [\"color\", \"color\", \"text\"]\n },\n\n handler(_ref2, args, optArgs) {\n let {\n parser,\n funcName\n } = _ref2;\n const borderColor = assertNodeType(args[0], \"color-token\").color;\n const backgroundColor = assertNodeType(args[1], \"color-token\").color;\n const body = args[2];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor,\n borderColor,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: true\n },\n\n handler(_ref3, args) {\n let {\n parser\n } = _ref3;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\fbox\",\n body: args[0]\n };\n }\n\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\cancel\", \"\\\\bcancel\", \"\\\\xcancel\", \"\\\\sout\", \"\\\\phase\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref4, args) {\n let {\n parser,\n funcName\n } = _ref4;\n const body = args[0];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n body\n };\n },\n\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\angl\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: false\n },\n\n handler(_ref5, args) {\n let {\n parser\n } = _ref5;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\angl\",\n body: args[0]\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/defineEnvironment.js\n\n\n/**\n * All registered environments.\n * `environments.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `environments.js`.\n */\nconst _environments = {};\nfunction defineEnvironment(_ref) {\n let {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of environments.\n const data = {\n type,\n numArgs: props.numArgs || 0,\n allowedInText: false,\n numOptionalArgs: 0,\n handler\n };\n\n for (let i = 0; i < names.length; ++i) {\n // TODO: The value type of _environments should be a type union of all\n // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is\n // an existential type.\n _environments[names[i]] = data;\n }\n\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n}\n;// CONCATENATED MODULE: ./src/defineMacro.js\n\n\n/**\n * All registered global/built-in macros.\n * `macros.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `macros.js`.\n */\nconst _macros = {}; // This function might one day accept an additional argument and do more things.\n\nfunction defineMacro(name, body) {\n _macros[name] = body;\n}\n;// CONCATENATED MODULE: ./src/SourceLocation.js\n/**\n * Lexing or parsing positional information for error reporting.\n * This object is immutable.\n */\nclass SourceLocation {\n // The + prefix indicates that these fields aren't writeable\n // Lexer holding the input string.\n // Start offset, zero-based inclusive.\n // End offset, zero-based exclusive.\n constructor(lexer, start, end) {\n this.lexer = void 0;\n this.start = void 0;\n this.end = void 0;\n this.lexer = lexer;\n this.start = start;\n this.end = end;\n }\n /**\n * Merges two `SourceLocation`s from location providers, given they are\n * provided in order of appearance.\n * - Returns the first one's location if only the first is provided.\n * - Returns a merged range of the first and the last if both are provided\n * and their lexers match.\n * - Otherwise, returns null.\n */\n\n\n static range(first, second) {\n if (!second) {\n return first && first.loc;\n } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {\n return null;\n } else {\n return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);\n }\n }\n\n}\n;// CONCATENATED MODULE: ./src/Token.js\n\n/**\n * Interface required to break circular dependency between Token, Lexer, and\n * ParseError.\n */\n\n/**\n * The resulting token returned from `lex`.\n *\n * It consists of the token text plus some position information.\n * The position information is essentially a range in an input string,\n * but instead of referencing the bare input string, we refer to the lexer.\n * That way it is possible to attach extra metadata to the input string,\n * like for example a file name or similar.\n *\n * The position information is optional, so it is OK to construct synthetic\n * tokens if appropriate. Not providing available position information may\n * lead to degraded error reporting, though.\n */\nclass Token {\n // don't expand the token\n // used in \\noexpand\n constructor(text, // the text of this token\n loc) {\n this.text = void 0;\n this.loc = void 0;\n this.noexpand = void 0;\n this.treatAsRelax = void 0;\n this.text = text;\n this.loc = loc;\n }\n /**\n * Given a pair of tokens (this and endToken), compute a `Token` encompassing\n * the whole input range enclosed by these two.\n */\n\n\n range(endToken, // last token of the range, inclusive\n text // the text of the newly constructed token\n ) {\n return new Token(text, SourceLocation.range(this, endToken));\n }\n\n}\n;// CONCATENATED MODULE: ./src/environments/array.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Helper functions\nfunction getHLines(parser) {\n // Return an array. The array length = number of hlines.\n // Each element in the array tells if the line is dashed.\n const hlineInfo = [];\n parser.consumeSpaces();\n let nxt = parser.fetch().text;\n\n if (nxt === \"\\\\relax\") {\n // \\relax is an artifact of the \\cr macro below\n parser.consume();\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n while (nxt === \"\\\\hline\" || nxt === \"\\\\hdashline\") {\n parser.consume();\n hlineInfo.push(nxt === \"\\\\hdashline\");\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n return hlineInfo;\n}\n\nconst validateAmsEnvironmentContext = context => {\n const settings = context.parser.settings;\n\n if (!settings.displayMode) {\n throw new src_ParseError(\"{\" + context.envName + \"} can be used only in\" + \" display mode.\");\n }\n}; // autoTag (an argument to parseArray) can be one of three values:\n// * undefined: Regular (not-top-level) array; no tags on each row\n// * true: Automatic equation numbering, overridable by \\tag\n// * false: Tags allowed on each row, but no automatic numbering\n// This function *doesn't* work with the \"split\" environment name.\n\n\nfunction getAutoTag(name) {\n if (name.indexOf(\"ed\") === -1) {\n return name.indexOf(\"*\") === -1;\n } // return undefined;\n\n}\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell. If given an optional argument style\n * (\"text\", \"display\", etc.), then each cell is cast into that style.\n */\n\n\nfunction parseArray(parser, _ref, style) {\n let {\n hskipBeforeAndAfter,\n addJot,\n cols,\n arraystretch,\n colSeparationType,\n autoTag,\n singleRow,\n emptySingleRow,\n maxNumCols,\n leqno\n } = _ref;\n parser.gullet.beginGroup();\n\n if (!singleRow) {\n // \\cr is equivalent to \\\\ without the optional size argument (see below)\n // TODO: provide helpful error when \\cr is used outside array environment\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n } // Get current arraystretch if it's not set by the environment\n\n\n if (!arraystretch) {\n const stretch = parser.gullet.expandMacroAsText(\"\\\\arraystretch\");\n\n if (stretch == null) {\n // Default \\arraystretch from lttab.dtx\n arraystretch = 1;\n } else {\n arraystretch = parseFloat(stretch);\n\n if (!arraystretch || arraystretch < 0) {\n throw new src_ParseError(\"Invalid \\\\arraystretch: \" + stretch);\n }\n }\n } // Start group for first cell\n\n\n parser.gullet.beginGroup();\n let row = [];\n const body = [row];\n const rowGaps = [];\n const hLinesBeforeRow = [];\n const tags = autoTag != null ? [] : undefined; // amsmath uses \\global\\@eqnswtrue and \\global\\@eqnswfalse to represent\n // whether this row should have an equation number. Simulate this with\n // a \\@eqnsw macro set to 1 or 0.\n\n function beginRow() {\n if (autoTag) {\n parser.gullet.macros.set(\"\\\\@eqnsw\", \"1\", true);\n }\n }\n\n function endRow() {\n if (tags) {\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n tags.push(parser.subparse([new Token(\"\\\\df@tag\")]));\n parser.gullet.macros.set(\"\\\\df@tag\", undefined, true);\n } else {\n tags.push(Boolean(autoTag) && parser.gullet.macros.get(\"\\\\@eqnsw\") === \"1\");\n }\n }\n }\n\n beginRow(); // Test for \\hline at the top of the array.\n\n hLinesBeforeRow.push(getHLines(parser));\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Parse each cell in its own group (namespace)\n let cell = parser.parseExpression(false, singleRow ? \"\\\\end\" : \"\\\\\\\\\");\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n cell = {\n type: \"ordgroup\",\n mode: parser.mode,\n body: cell\n };\n\n if (style) {\n cell = {\n type: \"styling\",\n mode: parser.mode,\n style,\n body: [cell]\n };\n }\n\n row.push(cell);\n const next = parser.fetch().text;\n\n if (next === \"&\") {\n if (maxNumCols && row.length === maxNumCols) {\n if (singleRow || colSeparationType) {\n // {equation} or {split}\n throw new src_ParseError(\"Too many tab characters: &\", parser.nextToken);\n } else {\n // {array} environment\n parser.settings.reportNonstrict(\"textEnv\", \"Too few columns \" + \"specified in the {array} column argument.\");\n }\n }\n\n parser.consume();\n } else if (next === \"\\\\end\") {\n endRow(); // Arrays terminate newlines with `\\crcr` which consumes a `\\cr` if\n // the last line is empty. However, AMS environments keep the\n // empty row if it's the only one.\n // NOTE: Currently, `cell` is the last item added into `row`.\n\n if (row.length === 1 && cell.type === \"styling\" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {\n body.pop();\n }\n\n if (hLinesBeforeRow.length < body.length + 1) {\n hLinesBeforeRow.push([]);\n }\n\n break;\n } else if (next === \"\\\\\\\\\") {\n parser.consume();\n let size; // \\def\\Let@{\\let\\\\\\math@cr}\n // \\def\\math@cr{...\\math@cr@}\n // \\def\\math@cr@{\\new@ifnextchar[\\math@cr@@{\\math@cr@@[\\z@]}}\n // \\def\\math@cr@@[#1]{...\\math@cr@@@...}\n // \\def\\math@cr@@@{\\cr}\n\n if (parser.gullet.future().text !== \" \") {\n size = parser.parseSizeGroup(true);\n }\n\n rowGaps.push(size ? size.value : null);\n endRow(); // check for \\hline(s) following the row separator\n\n hLinesBeforeRow.push(getHLines(parser));\n row = [];\n body.push(row);\n beginRow();\n } else {\n throw new src_ParseError(\"Expected & or \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n } // End cell group\n\n\n parser.gullet.endGroup(); // End array group defining \\cr\n\n parser.gullet.endGroup();\n return {\n type: \"array\",\n mode: parser.mode,\n addJot,\n arraystretch,\n body,\n cols,\n rowGaps,\n hskipBeforeAndAfter,\n hLinesBeforeRow,\n colSeparationType,\n tags,\n leqno\n };\n} // Decides on a style for cells in an array according to whether the given\n// environment name starts with the letter 'd'.\n\n\nfunction dCellStyle(envName) {\n if (envName.slice(0, 1) === \"d\") {\n return \"display\";\n } else {\n return \"text\";\n }\n}\n\nconst array_htmlBuilder = function (group, options) {\n let r;\n let c;\n const nr = group.body.length;\n const hLinesBeforeRow = group.hLinesBeforeRow;\n let nc = 0;\n let body = new Array(nr);\n const hlines = [];\n const ruleThickness = Math.max( // From LaTeX \\showthe\\arrayrulewidth. Equals 0.04 em.\n options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override.\n ); // Horizontal spacing\n\n const pt = 1 / options.fontMetrics().ptPerEm;\n let arraycolsep = 5 * pt; // default value, i.e. \\arraycolsep in article.cls\n\n if (group.colSeparationType && group.colSeparationType === \"small\") {\n // We're in a {smallmatrix}. Default column space is \\thickspace,\n // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}.\n // But that needs adjustment because LaTeX applies \\scriptstyle to the\n // entire array, including the colspace, but this function applies\n // \\scriptstyle only inside each element.\n const localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier;\n arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier);\n } // Vertical spacing\n\n\n const baselineskip = group.colSeparationType === \"CD\" ? calculateSize({\n number: 3,\n unit: \"ex\"\n }, options) : 12 * pt; // see size10.clo\n // Default \\jot from ltmath.dtx\n // TODO(edemaine): allow overriding \\jot via \\setlength (#687)\n\n const jot = 3 * pt;\n const arrayskip = group.arraystretch * baselineskip;\n const arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n\n const arstrutDepth = 0.3 * arrayskip; // \\@arstrutbox in lttab.dtx\n\n let totalHeight = 0; // Set a position for \\hline(s) at the top of the array, if any.\n\n function setHLinePos(hlinesInGap) {\n for (let i = 0; i < hlinesInGap.length; ++i) {\n if (i > 0) {\n totalHeight += 0.25;\n }\n\n hlines.push({\n pos: totalHeight,\n isDashed: hlinesInGap[i]\n });\n }\n }\n\n setHLinePos(hLinesBeforeRow[0]);\n\n for (r = 0; r < group.body.length; ++r) {\n const inrow = group.body[r];\n let height = arstrutHeight; // \\@array adds an \\@arstrut\n\n let depth = arstrutDepth; // to each tow (via the template)\n\n if (nc < inrow.length) {\n nc = inrow.length;\n }\n\n const outrow = new Array(inrow.length);\n\n for (c = 0; c < inrow.length; ++c) {\n const elt = buildGroup(inrow[c], options);\n\n if (depth < elt.depth) {\n depth = elt.depth;\n }\n\n if (height < elt.height) {\n height = elt.height;\n }\n\n outrow[c] = elt;\n }\n\n const rowGap = group.rowGaps[r];\n let gap = 0;\n\n if (rowGap) {\n gap = calculateSize(rowGap, options);\n\n if (gap > 0) {\n // \\@argarraycr\n gap += arstrutDepth;\n\n if (depth < gap) {\n depth = gap; // \\@xargarraycr\n }\n\n gap = 0;\n }\n } // In AMS multiline environments such as aligned and gathered, rows\n // correspond to lines that have additional \\jot added to the\n // \\baselineskip via \\openup.\n\n\n if (group.addJot) {\n depth += jot;\n }\n\n outrow.height = height;\n outrow.depth = depth;\n totalHeight += height;\n outrow.pos = totalHeight;\n totalHeight += depth + gap; // \\@yargarraycr\n\n body[r] = outrow; // Set a position for \\hline(s), if any.\n\n setHLinePos(hLinesBeforeRow[r + 1]);\n }\n\n const offset = totalHeight / 2 + options.fontMetrics().axisHeight;\n const colDescriptions = group.cols || [];\n const cols = [];\n let colSep;\n let colDescrNum;\n const tagSpans = [];\n\n if (group.tags && group.tags.some(tag => tag)) {\n // An environment with manual tags and/or automatic equation numbers.\n // Create node(s), the latter of which trigger CSS counter increment.\n for (r = 0; r < nr; ++r) {\n const rw = body[r];\n const shift = rw.pos - offset;\n const tag = group.tags[r];\n let tagSpan;\n\n if (tag === true) {\n // automatic numbering\n tagSpan = buildCommon.makeSpan([\"eqn-num\"], [], options);\n } else if (tag === false) {\n // \\nonumber/\\notag or starred environment\n tagSpan = buildCommon.makeSpan([], [], options);\n } else {\n // manual \\tag\n tagSpan = buildCommon.makeSpan([], buildExpression(tag, options, true), options);\n }\n\n tagSpan.depth = rw.depth;\n tagSpan.height = rw.height;\n tagSpans.push({\n type: \"elem\",\n elem: tagSpan,\n shift\n });\n }\n }\n\n for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column\n // descriptions, so trailing separators don't get lost.\n c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) {\n let colDescr = colDescriptions[colDescrNum] || {};\n let firstSeparator = true;\n\n while (colDescr.type === \"separator\") {\n // If there is more than one separator in a row, add a space\n // between them.\n if (!firstSeparator) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(options.fontMetrics().doubleRuleSep);\n cols.push(colSep);\n }\n\n if (colDescr.separator === \"|\" || colDescr.separator === \":\") {\n const lineType = colDescr.separator === \"|\" ? \"solid\" : \"dashed\";\n const separator = buildCommon.makeSpan([\"vertical-separator\"], [], options);\n separator.style.height = makeEm(totalHeight);\n separator.style.borderRightWidth = makeEm(ruleThickness);\n separator.style.borderRightStyle = lineType;\n separator.style.margin = \"0 \" + makeEm(-ruleThickness / 2);\n const shift = totalHeight - offset;\n\n if (shift) {\n separator.style.verticalAlign = makeEm(-shift);\n }\n\n cols.push(separator);\n } else {\n throw new src_ParseError(\"Invalid separator type: \" + colDescr.separator);\n }\n\n colDescrNum++;\n colDescr = colDescriptions[colDescrNum] || {};\n firstSeparator = false;\n }\n\n if (c >= nc) {\n continue;\n }\n\n let sepwidth;\n\n if (c > 0 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n\n let col = [];\n\n for (r = 0; r < nr; ++r) {\n const row = body[r];\n const elem = row[c];\n\n if (!elem) {\n continue;\n }\n\n const shift = row.pos - offset;\n elem.depth = row.depth;\n elem.height = row.height;\n col.push({\n type: \"elem\",\n elem: elem,\n shift: shift\n });\n }\n\n col = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: col\n }, options);\n col = buildCommon.makeSpan([\"col-align-\" + (colDescr.align || \"c\")], [col]);\n cols.push(col);\n\n if (c < nc - 1 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n }\n\n body = buildCommon.makeSpan([\"mtable\"], cols); // Add \\hline(s), if any.\n\n if (hlines.length > 0) {\n const line = buildCommon.makeLineSpan(\"hline\", options, ruleThickness);\n const dashes = buildCommon.makeLineSpan(\"hdashline\", options, ruleThickness);\n const vListElems = [{\n type: \"elem\",\n elem: body,\n shift: 0\n }];\n\n while (hlines.length > 0) {\n const hline = hlines.pop();\n const lineShift = hline.pos - offset;\n\n if (hline.isDashed) {\n vListElems.push({\n type: \"elem\",\n elem: dashes,\n shift: lineShift\n });\n } else {\n vListElems.push({\n type: \"elem\",\n elem: line,\n shift: lineShift\n });\n }\n }\n\n body = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vListElems\n }, options);\n }\n\n if (tagSpans.length === 0) {\n return buildCommon.makeSpan([\"mord\"], [body], options);\n } else {\n let eqnNumCol = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: tagSpans\n }, options);\n eqnNumCol = buildCommon.makeSpan([\"tag\"], [eqnNumCol], options);\n return buildCommon.makeFragment([body, eqnNumCol]);\n }\n};\n\nconst alignMap = {\n c: \"center \",\n l: \"left \",\n r: \"right \"\n};\n\nconst array_mathmlBuilder = function (group, options) {\n const tbl = [];\n const glue = new mathMLTree.MathNode(\"mtd\", [], [\"mtr-glue\"]);\n const tag = new mathMLTree.MathNode(\"mtd\", [], [\"mml-eqn-num\"]);\n\n for (let i = 0; i < group.body.length; i++) {\n const rw = group.body[i];\n const row = [];\n\n for (let j = 0; j < rw.length; j++) {\n row.push(new mathMLTree.MathNode(\"mtd\", [buildMathML_buildGroup(rw[j], options)]));\n }\n\n if (group.tags && group.tags[i]) {\n row.unshift(glue);\n row.push(glue);\n\n if (group.leqno) {\n row.unshift(tag);\n } else {\n row.push(tag);\n }\n }\n\n tbl.push(new mathMLTree.MathNode(\"mtr\", row));\n }\n\n let table = new mathMLTree.MathNode(\"mtable\", tbl); // Set column alignment, row spacing, column spacing, and\n // array lines by setting attributes on the table element.\n // Set the row spacing. In MathML, we specify a gap distance.\n // We do not use rowGap[] because MathML automatically increases\n // cell height with the height/depth of the element content.\n // LaTeX \\arraystretch multiplies the row baseline-to-baseline distance.\n // We simulate this by adding (arraystretch - 1)em to the gap. This\n // does a reasonable job of adjusting arrays containing 1 em tall content.\n // The 0.16 and 0.09 values are found empirically. They produce an array\n // similar to LaTeX and in which content does not interfere with \\hlines.\n\n const gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}\n : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);\n table.setAttribute(\"rowspacing\", makeEm(gap)); // MathML table lines go only between cells.\n // To place a line on an edge we'll use , if necessary.\n\n let menclose = \"\";\n let align = \"\";\n\n if (group.cols && group.cols.length > 0) {\n // Find column alignment, column spacing, and vertical lines.\n const cols = group.cols;\n let columnLines = \"\";\n let prevTypeWasAlign = false;\n let iStart = 0;\n let iEnd = cols.length;\n\n if (cols[0].type === \"separator\") {\n menclose += \"top \";\n iStart = 1;\n }\n\n if (cols[cols.length - 1].type === \"separator\") {\n menclose += \"bottom \";\n iEnd -= 1;\n }\n\n for (let i = iStart; i < iEnd; i++) {\n if (cols[i].type === \"align\") {\n align += alignMap[cols[i].align];\n\n if (prevTypeWasAlign) {\n columnLines += \"none \";\n }\n\n prevTypeWasAlign = true;\n } else if (cols[i].type === \"separator\") {\n // MathML accepts only single lines between cells.\n // So we read only the first of consecutive separators.\n if (prevTypeWasAlign) {\n columnLines += cols[i].separator === \"|\" ? \"solid \" : \"dashed \";\n prevTypeWasAlign = false;\n }\n }\n }\n\n table.setAttribute(\"columnalign\", align.trim());\n\n if (/[sd]/.test(columnLines)) {\n table.setAttribute(\"columnlines\", columnLines.trim());\n }\n } // Set column spacing.\n\n\n if (group.colSeparationType === \"align\") {\n const cols = group.cols || [];\n let spacing = \"\";\n\n for (let i = 1; i < cols.length; i++) {\n spacing += i % 2 ? \"0em \" : \"1em \";\n }\n\n table.setAttribute(\"columnspacing\", spacing.trim());\n } else if (group.colSeparationType === \"alignat\" || group.colSeparationType === \"gather\") {\n table.setAttribute(\"columnspacing\", \"0em\");\n } else if (group.colSeparationType === \"small\") {\n table.setAttribute(\"columnspacing\", \"0.2778em\");\n } else if (group.colSeparationType === \"CD\") {\n table.setAttribute(\"columnspacing\", \"0.5em\");\n } else {\n table.setAttribute(\"columnspacing\", \"1em\");\n } // Address \\hline and \\hdashline\n\n\n let rowLines = \"\";\n const hlines = group.hLinesBeforeRow;\n menclose += hlines[0].length > 0 ? \"left \" : \"\";\n menclose += hlines[hlines.length - 1].length > 0 ? \"right \" : \"\";\n\n for (let i = 1; i < hlines.length - 1; i++) {\n rowLines += hlines[i].length === 0 ? \"none \" // MathML accepts only a single line between rows. Read one element.\n : hlines[i][0] ? \"dashed \" : \"solid \";\n }\n\n if (/[sd]/.test(rowLines)) {\n table.setAttribute(\"rowlines\", rowLines.trim());\n }\n\n if (menclose !== \"\") {\n table = new mathMLTree.MathNode(\"menclose\", [table]);\n table.setAttribute(\"notation\", menclose.trim());\n }\n\n if (group.arraystretch && group.arraystretch < 1) {\n // A small array. Wrap in scriptstyle so row gap is not too large.\n table = new mathMLTree.MathNode(\"mstyle\", [table]);\n table.setAttribute(\"scriptlevel\", \"1\");\n }\n\n return table;\n}; // Convenience function for align, align*, aligned, alignat, alignat*, alignedat.\n\n\nconst alignedHandler = function (context, args) {\n if (context.envName.indexOf(\"ed\") === -1) {\n validateAmsEnvironmentContext(context);\n }\n\n const cols = [];\n const separationType = context.envName.indexOf(\"at\") > -1 ? \"alignat\" : \"align\";\n const isSplit = context.envName === \"split\";\n const res = parseArray(context.parser, {\n cols,\n addJot: true,\n autoTag: isSplit ? undefined : getAutoTag(context.envName),\n emptySingleRow: true,\n colSeparationType: separationType,\n maxNumCols: isSplit ? 2 : undefined,\n leqno: context.parser.settings.leqno\n }, \"display\"); // Determining number of columns.\n // 1. If the first argument is given, we use it as a number of columns,\n // and makes sure that each row doesn't exceed that number.\n // 2. Otherwise, just count number of columns = maximum number\n // of cells in each row (\"aligned\" mode -- isAligned will be true).\n //\n // At the same time, prepend empty group {} at beginning of every second\n // cell in each row (starting with second cell) so that operators become\n // binary. This behavior is implemented in amsmath's \\start@aligned.\n\n let numMaths;\n let numCols = 0;\n const emptyGroup = {\n type: \"ordgroup\",\n mode: context.mode,\n body: []\n };\n\n if (args[0] && args[0].type === \"ordgroup\") {\n let arg0 = \"\";\n\n for (let i = 0; i < args[0].body.length; i++) {\n const textord = assertNodeType(args[0].body[i], \"textord\");\n arg0 += textord.text;\n }\n\n numMaths = Number(arg0);\n numCols = numMaths * 2;\n }\n\n const isAligned = !numCols;\n res.body.forEach(function (row) {\n for (let i = 1; i < row.length; i += 2) {\n // Modify ordgroup node within styling node\n const styling = assertNodeType(row[i], \"styling\");\n const ordgroup = assertNodeType(styling.body[0], \"ordgroup\");\n ordgroup.body.unshift(emptyGroup);\n }\n\n if (!isAligned) {\n // Case 1\n const curMaths = row.length / 2;\n\n if (numMaths < curMaths) {\n throw new src_ParseError(\"Too many math in a row: \" + (\"expected \" + numMaths + \", but got \" + curMaths), row[0]);\n }\n } else if (numCols < row.length) {\n // Case 2\n numCols = row.length;\n }\n }); // Adjusting alignment.\n // In aligned mode, we add one \\qquad between columns;\n // otherwise we add nothing.\n\n for (let i = 0; i < numCols; ++i) {\n let align = \"r\";\n let pregap = 0;\n\n if (i % 2 === 1) {\n align = \"l\";\n } else if (i > 0 && isAligned) {\n // \"aligned\" mode.\n pregap = 1; // add one \\quad\n }\n\n cols[i] = {\n type: \"align\",\n align: align,\n pregap: pregap,\n postgap: 0\n };\n }\n\n res.colSeparationType = isAligned ? \"align\" : \"alignat\";\n return res;\n}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\n// {darray} is an {array} environment where cells are set in \\displaystyle,\n// as defined in nccmath.sty.\n\n\ndefineEnvironment({\n type: \"array\",\n names: [\"array\", \"darray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Since no types are specified above, the two possibilities are\n // - The argument is wrapped in {} or [], in which case Parser's\n // parseGroup() returns an \"ordgroup\" wrapping some symbol node.\n // - The argument is a bare symbol node.\n const symNode = checkSymbolNodeType(args[0]);\n const colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n const cols = colalign.map(function (nde) {\n const node = assertSymbolNodeType(nde);\n const ca = node.text;\n\n if (\"lcr\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n } else if (ca === \"|\") {\n return {\n type: \"separator\",\n separator: \"|\"\n };\n } else if (ca === \":\") {\n return {\n type: \"separator\",\n separator: \":\"\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n const res = {\n cols,\n hskipBeforeAndAfter: true,\n // \\@preamble in lttab.dtx\n maxNumCols: cols.length\n };\n return parseArray(context.parser, res, dCellStyle(context.envName));\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\n// The mathtools package adds starred versions of the same environments.\n// These have an optional argument to choose left|center|right justification.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"matrix\", \"pmatrix\", \"bmatrix\", \"Bmatrix\", \"vmatrix\", \"Vmatrix\", \"matrix*\", \"pmatrix*\", \"bmatrix*\", \"Bmatrix*\", \"vmatrix*\", \"Vmatrix*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const delimiters = {\n \"matrix\": null,\n \"pmatrix\": [\"(\", \")\"],\n \"bmatrix\": [\"[\", \"]\"],\n \"Bmatrix\": [\"\\\\{\", \"\\\\}\"],\n \"vmatrix\": [\"|\", \"|\"],\n \"Vmatrix\": [\"\\\\Vert\", \"\\\\Vert\"]\n }[context.envName.replace(\"*\", \"\")]; // \\hskip -\\arraycolsep in amsmath\n\n let colAlign = \"c\";\n const payload = {\n hskipBeforeAndAfter: false,\n cols: [{\n type: \"align\",\n align: colAlign\n }]\n };\n\n if (context.envName.charAt(context.envName.length - 1) === \"*\") {\n // It's one of the mathtools starred functions.\n // Parse the optional alignment argument.\n const parser = context.parser;\n parser.consumeSpaces();\n\n if (parser.fetch().text === \"[\") {\n parser.consume();\n parser.consumeSpaces();\n colAlign = parser.fetch().text;\n\n if (\"lcr\".indexOf(colAlign) === -1) {\n throw new src_ParseError(\"Expected l or c or r\", parser.nextToken);\n }\n\n parser.consume();\n parser.consumeSpaces();\n parser.expect(\"]\");\n parser.consume();\n payload.cols = [{\n type: \"align\",\n align: colAlign\n }];\n }\n }\n\n const res = parseArray(context.parser, payload, dCellStyle(context.envName)); // Populate cols with the correct number of column alignment specs.\n\n const numCols = Math.max(0, ...res.body.map(row => row.length));\n res.cols = new Array(numCols).fill({\n type: \"align\",\n align: colAlign\n });\n return delimiters ? {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: delimiters[0],\n right: delimiters[1],\n rightColor: undefined // \\right uninfluenced by \\color in array\n\n } : res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"smallmatrix\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const payload = {\n arraystretch: 0.5\n };\n const res = parseArray(context.parser, payload, \"script\");\n res.colSeparationType = \"small\";\n return res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"subarray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Parsing of {subarray} is similar to {array}\n const symNode = checkSymbolNodeType(args[0]);\n const colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n const cols = colalign.map(function (nde) {\n const node = assertSymbolNodeType(nde);\n const ca = node.text; // {subarray} only recognizes \"l\" & \"c\"\n\n if (\"lc\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n }\n\n throw new src_ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n\n if (cols.length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n let res = {\n cols,\n hskipBeforeAndAfter: false,\n arraystretch: 0.5\n };\n res = parseArray(context.parser, res, \"script\");\n\n if (res.body.length > 0 && res.body[0].length > 1) {\n throw new src_ParseError(\"{subarray} can contain only one column\");\n }\n\n return res;\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} … \\end{array}\\right.\n// {dcases} is a {cases} environment where cells are set in \\displaystyle,\n// as defined in mathtools.sty.\n// {rcases} is another mathtools environment. It's brace is on the right side.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"cases\", \"dcases\", \"rcases\", \"drcases\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n const payload = {\n arraystretch: 1.2,\n cols: [{\n type: \"align\",\n align: \"l\",\n pregap: 0,\n // TODO(kevinb) get the current style.\n // For now we use the metrics for TEXT style which is what we were\n // doing before. Before attempting to get the current style we\n // should look at TeX's behavior especially for \\over and matrices.\n postgap: 1.0\n /* 1em quad */\n\n }, {\n type: \"align\",\n align: \"l\",\n pregap: 0,\n postgap: 0\n }]\n };\n const res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: context.envName.indexOf(\"r\") > -1 ? \".\" : \"\\\\{\",\n right: context.envName.indexOf(\"r\") > -1 ? \"\\\\}\" : \".\",\n rightColor: undefined\n };\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // In the align environment, one uses ampersands, &, to specify number of\n// columns in each row, and to locate spacing between each column.\n// align gets automatic numbering. align* and aligned do not.\n// The alignedat environment can be used in math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"align\", \"align*\", \"aligned\", \"split\"],\n props: {\n numArgs: 0\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A gathered environment is like an array environment with one centered\n// column, but where rows are considered lines so get \\jot line spacing\n// and contents are set in \\displaystyle.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"gathered\", \"gather\", \"gather*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n if (utils.contains([\"gather\", \"gather*\"], context.envName)) {\n validateAmsEnvironmentContext(context);\n }\n\n const res = {\n cols: [{\n type: \"align\",\n align: \"c\"\n }],\n addJot: true,\n colSeparationType: \"gather\",\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // alignat environment is like an align environment, but one must explicitly\n// specify maximum number of columns in each row, and can adjust spacing between\n// each columns.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"alignat\", \"alignat*\", \"alignedat\"],\n props: {\n numArgs: 1\n },\n handler: alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"equation\", \"equation*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n const res = {\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n singleRow: true,\n maxNumCols: 1,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"CD\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n return parseCD(context.parser);\n },\n\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineMacro(\"\\\\nonumber\", \"\\\\gdef\\\\@eqnsw{0}\");\ndefineMacro(\"\\\\notag\", \"\\\\nonumber\"); // Catch \\hline outside array environment\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\hline\", \"\\\\hdashline\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: true\n },\n\n handler(context, args) {\n throw new src_ParseError(context.funcName + \" valid only within array environment\");\n }\n\n});\n;// CONCATENATED MODULE: ./src/environments.js\n\nconst environments = _environments;\n/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below\n\n\n;// CONCATENATED MODULE: ./src/functions/environment.js\n\n\n\n // Environment delimiters. HTML/MathML rendering is defined in the corresponding\n// defineEnvironment definitions.\n\ndefineFunction({\n type: \"environment\",\n names: [\"\\\\begin\", \"\\\\end\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"]\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const nameGroup = args[0];\n\n if (nameGroup.type !== \"ordgroup\") {\n throw new src_ParseError(\"Invalid environment name\", nameGroup);\n }\n\n let envName = \"\";\n\n for (let i = 0; i < nameGroup.body.length; ++i) {\n envName += assertNodeType(nameGroup.body[i], \"textord\").text;\n }\n\n if (funcName === \"\\\\begin\") {\n // begin...end is similar to left...right\n if (!src_environments.hasOwnProperty(envName)) {\n throw new src_ParseError(\"No such environment: \" + envName, nameGroup);\n } // Build the environment object. Arguments and other information will\n // be made available to the begin and end methods using properties.\n\n\n const env = src_environments[envName];\n const {\n args,\n optArgs\n } = parser.parseArguments(\"\\\\begin{\" + envName + \"}\", env);\n const context = {\n mode: parser.mode,\n envName,\n parser\n };\n const result = env.handler(context, args, optArgs);\n parser.expect(\"\\\\end\", false);\n const endNameToken = parser.nextToken;\n const end = assertNodeType(parser.parseFunction(), \"environment\");\n\n if (end.name !== envName) {\n throw new src_ParseError(\"Mismatch: \\\\begin{\" + envName + \"} matched by \\\\end{\" + end.name + \"}\", endNameToken);\n } // $FlowFixMe, \"environment\" handler returns an environment ParseNode\n\n\n return result;\n }\n\n return {\n type: \"environment\",\n mode: parser.mode,\n name: envName,\n nameGroup\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/font.js\n// TODO(kevinb): implement \\\\sl and \\\\sc\n\n\n\n\n\n\nconst font_htmlBuilder = (group, options) => {\n const font = group.font;\n const newOptions = options.withFont(font);\n return buildGroup(group.body, newOptions);\n};\n\nconst font_mathmlBuilder = (group, options) => {\n const font = group.font;\n const newOptions = options.withFont(font);\n return buildMathML_buildGroup(group.body, newOptions);\n};\n\nconst fontAliases = {\n \"\\\\Bbb\": \"\\\\mathbb\",\n \"\\\\bold\": \"\\\\mathbf\",\n \"\\\\frak\": \"\\\\mathfrak\",\n \"\\\\bm\": \"\\\\boldsymbol\"\n};\ndefineFunction({\n type: \"font\",\n names: [// styles, except \\boldsymbol defined below\n \"\\\\mathrm\", \"\\\\mathit\", \"\\\\mathbf\", \"\\\\mathnormal\", \"\\\\mathsfit\", // families\n \"\\\\mathbb\", \"\\\\mathcal\", \"\\\\mathfrak\", \"\\\\mathscr\", \"\\\\mathsf\", \"\\\\mathtt\", // aliases, except \\bm defined below\n \"\\\\Bbb\", \"\\\\bold\", \"\\\\frak\"],\n props: {\n numArgs: 1,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = normalizeArgument(args[0]);\n let func = funcName;\n\n if (func in fontAliases) {\n func = fontAliases[func];\n }\n\n return {\n type: \"font\",\n mode: parser.mode,\n font: func.slice(1),\n body\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\boldsymbol\", \"\\\\bm\"],\n props: {\n numArgs: 1\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n const isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \\boldsymbol uses \\binrel spacing to inherit the\n // argument's bin|rel|ord status\n\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(body),\n body: [{\n type: \"font\",\n mode: parser.mode,\n font: \"boldsymbol\",\n body\n }],\n isCharacterBox: isCharacterBox\n };\n }\n}); // Old font changing functions\n\ndefineFunction({\n type: \"font\",\n names: [\"\\\\rm\", \"\\\\sf\", \"\\\\tt\", \"\\\\bf\", \"\\\\it\", \"\\\\cal\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n let {\n parser,\n funcName,\n breakOnTokenText\n } = _ref3;\n const {\n mode\n } = parser;\n const body = parser.parseExpression(true, breakOnTokenText);\n const style = \"math\" + funcName.slice(1);\n return {\n type: \"font\",\n mode: mode,\n font: style,\n body: {\n type: \"ordgroup\",\n mode: parser.mode,\n body\n }\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/genfrac.js\n\n\n\n\n\n\n\n\n\n\n\nconst adjustStyle = (size, originalStyle) => {\n // Figure out what style this fraction should be in based on the\n // function used\n let style = originalStyle;\n\n if (size === \"display\") {\n // Get display style as a default.\n // If incoming style is sub/sup, use style.text() to get correct size.\n style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY;\n } else if (size === \"text\" && style.size === src_Style.DISPLAY.size) {\n // We're in a \\tfrac but incoming style is displaystyle, so:\n style = src_Style.TEXT;\n } else if (size === \"script\") {\n style = src_Style.SCRIPT;\n } else if (size === \"scriptscript\") {\n style = src_Style.SCRIPTSCRIPT;\n }\n\n return style;\n};\n\nconst genfrac_htmlBuilder = (group, options) => {\n // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n const style = adjustStyle(group.size, options.style);\n const nstyle = style.fracNum();\n const dstyle = style.fracDen();\n let newOptions;\n newOptions = options.havingStyle(nstyle);\n const numerm = buildGroup(group.numer, newOptions, options);\n\n if (group.continued) {\n // \\cfrac inserts a \\strut into the numerator.\n // Get \\strut dimensions from TeXbook page 353.\n const hStrut = 8.5 / options.fontMetrics().ptPerEm;\n const dStrut = 3.5 / options.fontMetrics().ptPerEm;\n numerm.height = numerm.height < hStrut ? hStrut : numerm.height;\n numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth;\n }\n\n newOptions = options.havingStyle(dstyle);\n const denomm = buildGroup(group.denom, newOptions, options);\n let rule;\n let ruleWidth;\n let ruleSpacing;\n\n if (group.hasBarLine) {\n if (group.barSize) {\n ruleWidth = calculateSize(group.barSize, options);\n rule = buildCommon.makeLineSpan(\"frac-line\", options, ruleWidth);\n } else {\n rule = buildCommon.makeLineSpan(\"frac-line\", options);\n }\n\n ruleWidth = rule.height;\n ruleSpacing = rule.height;\n } else {\n rule = null;\n ruleWidth = 0;\n ruleSpacing = options.fontMetrics().defaultRuleThickness;\n } // Rule 15b\n\n\n let numShift;\n let clearance;\n let denomShift;\n\n if (style.size === src_Style.DISPLAY.size || group.size === \"display\") {\n numShift = options.fontMetrics().num1;\n\n if (ruleWidth > 0) {\n clearance = 3 * ruleSpacing;\n } else {\n clearance = 7 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom1;\n } else {\n if (ruleWidth > 0) {\n numShift = options.fontMetrics().num2;\n clearance = ruleSpacing;\n } else {\n numShift = options.fontMetrics().num3;\n clearance = 3 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom2;\n }\n\n let frac;\n\n if (!rule) {\n // Rule 15c\n const candidateClearance = numShift - numerm.depth - (denomm.height - denomShift);\n\n if (candidateClearance < clearance) {\n numShift += 0.5 * (clearance - candidateClearance);\n denomShift += 0.5 * (clearance - candidateClearance);\n }\n\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } else {\n // Rule 15d\n const axisHeight = options.fontMetrics().axisHeight;\n\n if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) {\n numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth));\n }\n\n if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) {\n denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift));\n }\n\n const midShift = -(axisHeight - 0.5 * ruleWidth);\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: rule,\n shift: midShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n // account for the possible size change here.\n\n\n newOptions = options.havingStyle(style);\n frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier;\n frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e\n\n let delimSize;\n\n if (style.size === src_Style.DISPLAY.size) {\n delimSize = options.fontMetrics().delim1;\n } else if (style.size === src_Style.SCRIPTSCRIPT.size) {\n delimSize = options.havingStyle(src_Style.SCRIPT).fontMetrics().delim2;\n } else {\n delimSize = options.fontMetrics().delim2;\n }\n\n let leftDelim;\n let rightDelim;\n\n if (group.leftDelim == null) {\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mopen\"]);\n }\n\n if (group.continued) {\n rightDelim = buildCommon.makeSpan([]); // zero width for \\cfrac\n } else if (group.rightDelim == null) {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mclose\"]);\n }\n\n return buildCommon.makeSpan([\"mord\"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan([\"mfrac\"], [frac]), rightDelim], options);\n};\n\nconst genfrac_mathmlBuilder = (group, options) => {\n let node = new mathMLTree.MathNode(\"mfrac\", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]);\n\n if (!group.hasBarLine) {\n node.setAttribute(\"linethickness\", \"0px\");\n } else if (group.barSize) {\n const ruleWidth = calculateSize(group.barSize, options);\n node.setAttribute(\"linethickness\", makeEm(ruleWidth));\n }\n\n const style = adjustStyle(group.size, options.style);\n\n if (style.size !== options.style.size) {\n node = new mathMLTree.MathNode(\"mstyle\", [node]);\n const isDisplay = style.size === src_Style.DISPLAY.size ? \"true\" : \"false\";\n node.setAttribute(\"displaystyle\", isDisplay);\n node.setAttribute(\"scriptlevel\", \"0\");\n }\n\n if (group.leftDelim != null || group.rightDelim != null) {\n const withDelims = [];\n\n if (group.leftDelim != null) {\n const leftOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.leftDelim.replace(\"\\\\\", \"\"))]);\n leftOp.setAttribute(\"fence\", \"true\");\n withDelims.push(leftOp);\n }\n\n withDelims.push(node);\n\n if (group.rightDelim != null) {\n const rightOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.rightDelim.replace(\"\\\\\", \"\"))]);\n rightOp.setAttribute(\"fence\", \"true\");\n withDelims.push(rightOp);\n }\n\n return makeRow(withDelims);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\dfrac\", \"\\\\frac\", \"\\\\tfrac\", \"\\\\dbinom\", \"\\\\binom\", \"\\\\tbinom\", \"\\\\\\\\atopfrac\", // can’t be entered directly\n \"\\\\\\\\bracefrac\", \"\\\\\\\\brackfrac\" // ditto\n ],\n props: {\n numArgs: 2,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const numer = args[0];\n const denom = args[1];\n let hasBarLine;\n let leftDelim = null;\n let rightDelim = null;\n let size = \"auto\";\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\frac\":\n case \"\\\\tfrac\":\n hasBarLine = true;\n break;\n\n case \"\\\\\\\\atopfrac\":\n hasBarLine = false;\n break;\n\n case \"\\\\dbinom\":\n case \"\\\\binom\":\n case \"\\\\tbinom\":\n hasBarLine = false;\n leftDelim = \"(\";\n rightDelim = \")\";\n break;\n\n case \"\\\\\\\\bracefrac\":\n hasBarLine = false;\n leftDelim = \"\\\\{\";\n rightDelim = \"\\\\}\";\n break;\n\n case \"\\\\\\\\brackfrac\":\n hasBarLine = false;\n leftDelim = \"[\";\n rightDelim = \"]\";\n break;\n\n default:\n throw new Error(\"Unrecognized genfrac command\");\n }\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\dbinom\":\n size = \"display\";\n break;\n\n case \"\\\\tfrac\":\n case \"\\\\tbinom\":\n size = \"text\";\n break;\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: false,\n numer,\n denom,\n hasBarLine,\n leftDelim,\n rightDelim,\n size,\n barSize: null\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\cfrac\"],\n props: {\n numArgs: 2\n },\n handler: (_ref2, args) => {\n let {\n parser,\n funcName\n } = _ref2;\n const numer = args[0];\n const denom = args[1];\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: true,\n numer,\n denom,\n hasBarLine: true,\n leftDelim: null,\n rightDelim: null,\n size: \"display\",\n barSize: null\n };\n }\n}); // Infix generalized fractions -- these are not rendered directly, but replaced\n// immediately by one of the variants above.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\over\", \"\\\\choose\", \"\\\\atop\", \"\\\\brace\", \"\\\\brack\"],\n props: {\n numArgs: 0,\n infix: true\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName,\n token\n } = _ref3;\n let replaceWith;\n\n switch (funcName) {\n case \"\\\\over\":\n replaceWith = \"\\\\frac\";\n break;\n\n case \"\\\\choose\":\n replaceWith = \"\\\\binom\";\n break;\n\n case \"\\\\atop\":\n replaceWith = \"\\\\\\\\atopfrac\";\n break;\n\n case \"\\\\brace\":\n replaceWith = \"\\\\\\\\bracefrac\";\n break;\n\n case \"\\\\brack\":\n replaceWith = \"\\\\\\\\brackfrac\";\n break;\n\n default:\n throw new Error(\"Unrecognized infix genfrac command\");\n }\n\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith,\n token\n };\n }\n\n});\nconst stylArray = [\"display\", \"text\", \"script\", \"scriptscript\"];\n\nconst delimFromValue = function (delimString) {\n let delim = null;\n\n if (delimString.length > 0) {\n delim = delimString;\n delim = delim === \".\" ? null : delim;\n }\n\n return delim;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\genfrac\"],\n props: {\n numArgs: 6,\n allowedInArgument: true,\n argTypes: [\"math\", \"math\", \"size\", \"text\", \"math\", \"math\"]\n },\n\n handler(_ref4, args) {\n let {\n parser\n } = _ref4;\n const numer = args[4];\n const denom = args[5]; // Look into the parse nodes to get the desired delimiters.\n\n const leftNode = normalizeArgument(args[0]);\n const leftDelim = leftNode.type === \"atom\" && leftNode.family === \"open\" ? delimFromValue(leftNode.text) : null;\n const rightNode = normalizeArgument(args[1]);\n const rightDelim = rightNode.type === \"atom\" && rightNode.family === \"close\" ? delimFromValue(rightNode.text) : null;\n const barNode = assertNodeType(args[2], \"size\");\n let hasBarLine;\n let barSize = null;\n\n if (barNode.isBlank) {\n // \\genfrac acts differently than \\above.\n // \\genfrac treats an empty size group as a signal to use a\n // standard bar size. \\above would see size = 0 and omit the bar.\n hasBarLine = true;\n } else {\n barSize = barNode.value;\n hasBarLine = barSize.number > 0;\n } // Find out if we want displaystyle, textstyle, etc.\n\n\n let size = \"auto\";\n let styl = args[3];\n\n if (styl.type === \"ordgroup\") {\n if (styl.body.length > 0) {\n const textOrd = assertNodeType(styl.body[0], \"textord\");\n size = stylArray[Number(textOrd.text)];\n }\n } else {\n styl = assertNodeType(styl, \"textord\");\n size = stylArray[Number(styl.text)];\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim,\n rightDelim,\n size\n };\n },\n\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n}); // \\above is an infix fraction that also defines a fraction bar size.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\above\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n infix: true\n },\n\n handler(_ref5, args) {\n let {\n parser,\n funcName,\n token\n } = _ref5;\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith: \"\\\\\\\\abovefrac\",\n size: assertNodeType(args[0], \"size\").value,\n token\n };\n }\n\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\\\\\abovefrac\"],\n props: {\n numArgs: 3,\n argTypes: [\"math\", \"size\", \"math\"]\n },\n handler: (_ref6, args) => {\n let {\n parser,\n funcName\n } = _ref6;\n const numer = args[0];\n const barSize = assert(assertNodeType(args[1], \"infix\").size);\n const denom = args[2];\n const hasBarLine = barSize.number > 0;\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim: null,\n rightDelim: null,\n size: \"auto\"\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/horizBrace.js\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"horizBrace\", but\n// also \"supsub\" since an over/underbrace can affect super/subscripting.\nconst horizBrace_htmlBuilder = (grp, options) => {\n const style = options.style; // Pull out the `ParseNode<\"horizBrace\">` if `grp` is a \"supsub\" node.\n\n let supSubGroup;\n let group;\n\n if (grp.type === \"supsub\") {\n // Ref: LaTeX source2e: }}}}\\limits}\n // i.e. LaTeX treats the brace similar to an op and passes it\n // with \\limits, so we need to assign supsub style.\n supSubGroup = grp.sup ? buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildGroup(grp.sub, options.havingStyle(style.sub()), options);\n group = assertNodeType(grp.base, \"horizBrace\");\n } else {\n group = assertNodeType(grp, \"horizBrace\");\n } // Build the base group\n\n\n const body = buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element\n\n const braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓\n // This first vlist contains the content and the brace: equation\n\n let vlist;\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: braceBody\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: body.depth + 0.1 + braceBody.height,\n children: [{\n type: \"elem\",\n elem: braceBody\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: body\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[0].classes.push(\"svg-align\");\n }\n\n if (supSubGroup) {\n // To write the supsub, wrap the first vlist in another vlist:\n // They can't all go in the same vlist, because the note might be\n // wider than the equation. We want the equation to control the\n // brace width.\n // note long note long note\n // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓\n // equation eqn eqn\n const vSpan = buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: vSpan\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: supSubGroup\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth,\n children: [{\n type: \"elem\",\n elem: supSubGroup\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: vSpan\n }]\n }, options);\n }\n }\n\n return buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n};\n\nconst horizBrace_mathmlBuilder = (group, options) => {\n const accentNode = stretchy.mathMLnode(group.label);\n return new mathMLTree.MathNode(group.isOver ? \"mover\" : \"munder\", [buildMathML_buildGroup(group.base, options), accentNode]);\n}; // Horizontal stretchy braces\n\n\ndefineFunction({\n type: \"horizBrace\",\n names: [\"\\\\overbrace\", \"\\\\underbrace\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n return {\n type: \"horizBrace\",\n mode: parser.mode,\n label: funcName,\n isOver: /^\\\\over/.test(funcName),\n base: args[0]\n };\n },\n\n htmlBuilder: horizBrace_htmlBuilder,\n mathmlBuilder: horizBrace_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/href.js\n\n\n\n\n\n\ndefineFunction({\n type: \"href\",\n names: [\"\\\\href\"],\n props: {\n numArgs: 2,\n argTypes: [\"url\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n const body = args[1];\n const href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\href\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\href\");\n }\n\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options, false);\n return buildCommon.makeAnchor(group.href, [], elements, options);\n },\n mathmlBuilder: (group, options) => {\n let math = buildExpressionRow(group.body, options);\n\n if (!(math instanceof MathNode)) {\n math = new MathNode(\"mrow\", [math]);\n }\n\n math.setAttribute(\"href\", group.href);\n return math;\n }\n});\ndefineFunction({\n type: \"href\",\n names: [\"\\\\url\"],\n props: {\n numArgs: 1,\n argTypes: [\"url\"],\n allowedInText: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\url\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\url\");\n }\n\n const chars = [];\n\n for (let i = 0; i < href.length; i++) {\n let c = href[i];\n\n if (c === \"~\") {\n c = \"\\\\textasciitilde\";\n }\n\n chars.push({\n type: \"textord\",\n mode: \"text\",\n text: c\n });\n }\n\n const body = {\n type: \"text\",\n mode: parser.mode,\n font: \"\\\\texttt\",\n body: chars\n };\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n }\n});\n;// CONCATENATED MODULE: ./src/functions/hbox.js\n\n\n\n\n // \\hbox is provided for compatibility with LaTeX \\vcenter.\n// In LaTeX, \\vcenter can act only on a box, as in\n// \\vcenter{\\hbox{$\\frac{a+b}{\\dfrac{c}{d}}$}}\n// This function by itself doesn't do anything but prevent a soft line break.\n\ndefineFunction({\n type: \"hbox\",\n names: [\"\\\\hbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"hbox\",\n mode: parser.mode,\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n const elements = buildExpression(group.body, options, false);\n return buildCommon.makeFragment(elements);\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", buildMathML_buildExpression(group.body, options));\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/html.js\n\n\n\n\n\n\ndefineFunction({\n type: \"html\",\n names: [\"\\\\htmlClass\", \"\\\\htmlId\", \"\\\\htmlStyle\", \"\\\\htmlData\"],\n props: {\n numArgs: 2,\n argTypes: [\"raw\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName,\n token\n } = _ref;\n const value = assertNodeType(args[0], \"raw\").string;\n const body = args[1];\n\n if (parser.settings.strict) {\n parser.settings.reportNonstrict(\"htmlExtension\", \"HTML extension is disabled on strict mode\");\n }\n\n let trustContext;\n const attributes = {};\n\n switch (funcName) {\n case \"\\\\htmlClass\":\n attributes.class = value;\n trustContext = {\n command: \"\\\\htmlClass\",\n class: value\n };\n break;\n\n case \"\\\\htmlId\":\n attributes.id = value;\n trustContext = {\n command: \"\\\\htmlId\",\n id: value\n };\n break;\n\n case \"\\\\htmlStyle\":\n attributes.style = value;\n trustContext = {\n command: \"\\\\htmlStyle\",\n style: value\n };\n break;\n\n case \"\\\\htmlData\":\n {\n const data = value.split(\",\");\n\n for (let i = 0; i < data.length; i++) {\n const keyVal = data[i].split(\"=\");\n\n if (keyVal.length !== 2) {\n throw new src_ParseError(\"Error parsing key-value for \\\\htmlData\");\n }\n\n attributes[\"data-\" + keyVal[0].trim()] = keyVal[1].trim();\n }\n\n trustContext = {\n command: \"\\\\htmlData\",\n attributes\n };\n break;\n }\n\n default:\n throw new Error(\"Unrecognized html command\");\n }\n\n if (!parser.settings.isTrusted(trustContext)) {\n return parser.formatUnsupportedCmd(funcName);\n }\n\n return {\n type: \"html\",\n mode: parser.mode,\n attributes,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options, false);\n const classes = [\"enclosing\"];\n\n if (group.attributes.class) {\n classes.push(...group.attributes.class.trim().split(/\\s+/));\n }\n\n const span = buildCommon.makeSpan(classes, elements, options);\n\n for (const attr in group.attributes) {\n if (attr !== \"class\" && group.attributes.hasOwnProperty(attr)) {\n span.setAttribute(attr, group.attributes[attr]);\n }\n }\n\n return span;\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/htmlmathml.js\n\n\n\n\ndefineFunction({\n type: \"htmlmathml\",\n names: [\"\\\\html@mathml\"],\n props: {\n numArgs: 2,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n return {\n type: \"htmlmathml\",\n mode: parser.mode,\n html: ordargument(args[0]),\n mathml: ordargument(args[1])\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.html, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.mathml, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/includegraphics.js\n\n\n\n\n\n\n\nconst sizeData = function (str) {\n if (/^[-+]? *(\\d+(\\.\\d*)?|\\.\\d+)$/.test(str)) {\n // str is a number with no unit specified.\n // default unit is bp, per graphix package.\n return {\n number: +str,\n unit: \"bp\"\n };\n } else {\n const match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(str);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + str + \"' in \\\\includegraphics\");\n }\n\n const data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"' in \\\\includegraphics.\");\n }\n\n return data;\n }\n};\n\ndefineFunction({\n type: \"includegraphics\",\n names: [\"\\\\includegraphics\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n argTypes: [\"raw\", \"url\"],\n allowedInText: false\n },\n handler: (_ref, args, optArgs) => {\n let {\n parser\n } = _ref;\n let width = {\n number: 0,\n unit: \"em\"\n };\n let height = {\n number: 0.9,\n unit: \"em\"\n }; // sorta character sized.\n\n let totalheight = {\n number: 0,\n unit: \"em\"\n };\n let alt = \"\";\n\n if (optArgs[0]) {\n const attributeStr = assertNodeType(optArgs[0], \"raw\").string; // Parser.js does not parse key/value pairs. We get a string.\n\n const attributes = attributeStr.split(\",\");\n\n for (let i = 0; i < attributes.length; i++) {\n const keyVal = attributes[i].split(\"=\");\n\n if (keyVal.length === 2) {\n const str = keyVal[1].trim();\n\n switch (keyVal[0].trim()) {\n case \"alt\":\n alt = str;\n break;\n\n case \"width\":\n width = sizeData(str);\n break;\n\n case \"height\":\n height = sizeData(str);\n break;\n\n case \"totalheight\":\n totalheight = sizeData(str);\n break;\n\n default:\n throw new src_ParseError(\"Invalid key: '\" + keyVal[0] + \"' in \\\\includegraphics.\");\n }\n }\n }\n }\n\n const src = assertNodeType(args[0], \"url\").url;\n\n if (alt === \"\") {\n // No alt given. Use the file name. Strip away the path.\n alt = src;\n alt = alt.replace(/^.*[\\\\/]/, '');\n alt = alt.substring(0, alt.lastIndexOf('.'));\n }\n\n if (!parser.settings.isTrusted({\n command: \"\\\\includegraphics\",\n url: src\n })) {\n return parser.formatUnsupportedCmd(\"\\\\includegraphics\");\n }\n\n return {\n type: \"includegraphics\",\n mode: parser.mode,\n alt: alt,\n width: width,\n height: height,\n totalheight: totalheight,\n src: src\n };\n },\n htmlBuilder: (group, options) => {\n const height = calculateSize(group.height, options);\n let depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n }\n\n let width = 0;\n\n if (group.width.number > 0) {\n width = calculateSize(group.width, options);\n }\n\n const style = {\n height: makeEm(height + depth)\n };\n\n if (width > 0) {\n style.width = makeEm(width);\n }\n\n if (depth > 0) {\n style.verticalAlign = makeEm(-depth);\n }\n\n const node = new Img(group.src, group.alt, style);\n node.height = height;\n node.depth = depth;\n return node;\n },\n mathmlBuilder: (group, options) => {\n const node = new mathMLTree.MathNode(\"mglyph\", []);\n node.setAttribute(\"alt\", group.alt);\n const height = calculateSize(group.height, options);\n let depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n node.setAttribute(\"valign\", makeEm(-depth));\n }\n\n node.setAttribute(\"height\", makeEm(height + depth));\n\n if (group.width.number > 0) {\n const width = calculateSize(group.width, options);\n node.setAttribute(\"width\", makeEm(width));\n }\n\n node.setAttribute(\"src\", group.src);\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/kern.js\n// Horizontal spacing commands\n\n\n\n\n // TODO: \\hskip and \\mskip should support plus and minus in lengths\n\ndefineFunction({\n type: \"kern\",\n names: [\"\\\\kern\", \"\\\\mkern\", \"\\\\hskip\", \"\\\\mskip\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n primitive: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const size = assertNodeType(args[0], \"size\");\n\n if (parser.settings.strict) {\n const mathFunction = funcName[1] === 'm'; // \\mkern, \\mskip\n\n const muUnit = size.value.unit === 'mu';\n\n if (mathFunction) {\n if (!muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" supports only mu units, \" + (\"not \" + size.value.unit + \" units\"));\n }\n\n if (parser.mode !== \"math\") {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" works only in math mode\");\n }\n } else {\n // !mathFunction\n if (muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" doesn't support mu units\");\n }\n }\n }\n\n return {\n type: \"kern\",\n mode: parser.mode,\n dimension: size.value\n };\n },\n\n htmlBuilder(group, options) {\n return buildCommon.makeGlue(group.dimension, options);\n },\n\n mathmlBuilder(group, options) {\n const dimension = calculateSize(group.dimension, options);\n return new mathMLTree.SpaceNode(dimension);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/lap.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: \"lap\",\n names: [\"\\\\mathllap\", \"\\\\mathrlap\", \"\\\\mathclap\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"lap\",\n mode: parser.mode,\n alignment: funcName.slice(5),\n body\n };\n },\n htmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n let inner;\n\n if (group.alignment === \"clap\") {\n // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/\n inner = buildCommon.makeSpan([], [buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span\n\n inner = buildCommon.makeSpan([\"inner\"], [inner], options);\n } else {\n inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options)]);\n }\n\n const fix = buildCommon.makeSpan([\"fix\"], []);\n let node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the\n // two items involved in the lap.\n // Next, use a strut to set the height of the HTML bounding box.\n // Otherwise, a tall argument may be misplaced.\n // This code resolved issue #1153\n\n const strut = buildCommon.makeSpan([\"strut\"]);\n strut.style.height = makeEm(node.height + node.depth);\n\n if (node.depth) {\n strut.style.verticalAlign = makeEm(-node.depth);\n }\n\n node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall.\n // This code resolves issue #1234\n\n node = buildCommon.makeSpan([\"thinbox\"], [node], options);\n return buildCommon.makeSpan([\"mord\", \"vbox\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.alignment !== \"rlap\") {\n const offset = group.alignment === \"llap\" ? \"-1\" : \"-0.5\";\n node.setAttribute(\"lspace\", offset + \"width\");\n }\n\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/math.js\n\n // Switching from text mode back to math mode\n\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\(\", \"$\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(_ref, args) {\n let {\n funcName,\n parser\n } = _ref;\n const outerMode = parser.mode;\n parser.switchMode(\"math\");\n const close = funcName === \"\\\\(\" ? \"\\\\)\" : \"$\";\n const body = parser.parseExpression(false, close);\n parser.expect(close);\n parser.switchMode(outerMode);\n return {\n type: \"styling\",\n mode: parser.mode,\n style: \"text\",\n body\n };\n }\n\n}); // Check for extra closing math delimiters\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\)\", \"\\\\]\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(context, args) {\n throw new src_ParseError(\"Mismatched \" + context.funcName);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/mathchoice.js\n\n\n\n\n\n\nconst chooseMathStyle = (group, options) => {\n switch (options.style.size) {\n case src_Style.DISPLAY.size:\n return group.display;\n\n case src_Style.TEXT.size:\n return group.text;\n\n case src_Style.SCRIPT.size:\n return group.script;\n\n case src_Style.SCRIPTSCRIPT.size:\n return group.scriptscript;\n\n default:\n return group.text;\n }\n};\n\ndefineFunction({\n type: \"mathchoice\",\n names: [\"\\\\mathchoice\"],\n props: {\n numArgs: 4,\n primitive: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n return {\n type: \"mathchoice\",\n mode: parser.mode,\n display: ordargument(args[0]),\n text: ordargument(args[1]),\n script: ordargument(args[2]),\n scriptscript: ordargument(args[3])\n };\n },\n htmlBuilder: (group, options) => {\n const body = chooseMathStyle(group, options);\n const elements = buildExpression(body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n const body = chooseMathStyle(group, options);\n return buildExpressionRow(body, options);\n }\n});\n;// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js\n\n\n\n // For an operator with limits, assemble the base, sup, and sub into a span.\n\nconst assembleSupSub = (base, supGroup, subGroup, options, style, slant, baseShift) => {\n base = buildCommon.makeSpan([], [base]);\n const subIsSingleCharacter = subGroup && utils.isCharacterBox(subGroup);\n let sub;\n let sup; // We manually have to handle the superscripts and subscripts. This,\n // aside from the kern calculations, is copied from supsub.\n\n if (supGroup) {\n const elem = buildGroup(supGroup, options.havingStyle(style.sup()), options);\n sup = {\n elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth)\n };\n }\n\n if (subGroup) {\n const elem = buildGroup(subGroup, options.havingStyle(style.sub()), options);\n sub = {\n elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - elem.height)\n };\n } // Build the final group as a vlist of the possible subscript, base,\n // and possible superscript.\n\n\n let finalGroup;\n\n if (sup && sub) {\n const bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else if (sub) {\n const top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note\n // that we are supposed to shift the limits by 1/2 of the slant,\n // but since we are centering the limits adding a full slant of\n // margin will shift by 1/2 that.\n\n finalGroup = buildCommon.makeVList({\n positionType: \"top\",\n positionData: top,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }]\n }, options);\n } else if (sup) {\n const bottom = base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else {\n // This case probably shouldn't occur (this would mean the\n // supsub was sending us a group with no superscript or\n // subscript) but be safe.\n return base;\n }\n\n const parts = [finalGroup];\n\n if (sub && slant !== 0 && !subIsSingleCharacter) {\n // A negative margin-left was applied to the lower limit.\n // Avoid an overlap by placing a spacer on the left on the group.\n const spacer = buildCommon.makeSpan([\"mspace\"], [], options);\n spacer.style.marginRight = makeEm(slant);\n parts.unshift(spacer);\n }\n\n return buildCommon.makeSpan([\"mop\", \"op-limits\"], parts, options);\n};\n;// CONCATENATED MODULE: ./src/functions/op.js\n// Limits, symbols\n\n\n\n\n\n\n\n\n\n\n\n// Most operators have a large successor symbol, but these don't.\nconst noSuccessor = [\"\\\\smallint\"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only \"op\", but also\n// \"supsub\" since some of them (like \\int) can affect super/subscripting.\n\nconst op_htmlBuilder = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n let supGroup;\n let subGroup;\n let hasLimits = false;\n let group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"op\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"op\");\n }\n\n const style = options.style;\n let large = false;\n\n if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) {\n // Most symbol operators get larger in displaystyle (rule 13)\n large = true;\n }\n\n let base;\n\n if (group.symbol) {\n // If this is a symbol, create the symbol.\n const fontName = large ? \"Size2-Regular\" : \"Size1-Regular\";\n let stash = \"\";\n\n if (group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") {\n // No font glyphs yet, so use a glyph w/o the oval.\n // TODO: When font glyphs are available, delete this code.\n stash = group.name.slice(1);\n group.name = stash === \"oiint\" ? \"\\\\iint\" : \"\\\\iiint\";\n }\n\n base = buildCommon.makeSymbol(group.name, fontName, \"math\", options, [\"mop\", \"op-symbol\", large ? \"large-op\" : \"small-op\"]);\n\n if (stash.length > 0) {\n // We're in \\oiint or \\oiiint. Overlay the oval.\n // TODO: When font glyphs are available, delete this code.\n const italic = base.italic;\n const oval = buildCommon.staticSvg(stash + \"Size\" + (large ? \"2\" : \"1\"), options);\n base = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: base,\n shift: 0\n }, {\n type: \"elem\",\n elem: oval,\n shift: large ? 0.08 : 0\n }]\n }, options);\n group.name = \"\\\\\" + stash;\n base.classes.unshift(\"mop\"); // $FlowFixMe\n\n base.italic = italic;\n }\n } else if (group.body) {\n // If this is a list, compose that list.\n const inner = buildExpression(group.body, options, true);\n\n if (inner.length === 1 && inner[0] instanceof SymbolNode) {\n base = inner[0];\n base.classes[0] = \"mop\"; // replace old mclass\n } else {\n base = buildCommon.makeSpan([\"mop\"], inner, options);\n }\n } else {\n // Otherwise, this is a text operator. Build the text from the\n // operator's name.\n const output = [];\n\n for (let i = 1; i < group.name.length; i++) {\n output.push(buildCommon.mathsym(group.name[i], group.mode, options));\n }\n\n base = buildCommon.makeSpan([\"mop\"], output, options);\n } // If content of op is a single symbol, shift it vertically.\n\n\n let baseShift = 0;\n let slant = 0;\n\n if ((base instanceof SymbolNode || group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") && !group.suppressBaseShift) {\n // We suppress the shift of the base of \\overset and \\underset. Otherwise,\n // shift the symbol so its center lies on the axis (rule 13). It\n // appears that our fonts have the centers of the symbols already\n // almost on the axis, so these numbers are very small. Note we\n // don't actually apply this here, but instead it is used either in\n // the vlist creation or separately when there are no limits.\n baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction.\n // $FlowFixMe\n\n slant = base.italic;\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift);\n } else {\n if (baseShift) {\n base.style.position = \"relative\";\n base.style.top = makeEm(baseShift);\n }\n\n return base;\n }\n};\n\nconst op_mathmlBuilder = (group, options) => {\n let node;\n\n if (group.symbol) {\n // This is a symbol. Just add the symbol.\n node = new MathNode(\"mo\", [makeText(group.name, group.mode)]);\n\n if (utils.contains(noSuccessor, group.name)) {\n node.setAttribute(\"largeop\", \"false\");\n }\n } else if (group.body) {\n // This is an operator with children. Add them.\n node = new MathNode(\"mo\", buildMathML_buildExpression(group.body, options));\n } else {\n // This is a text operator. Add all of the characters from the\n // operator's name.\n node = new MathNode(\"mi\", [new TextNode(group.name.slice(1))]); // Append an .\n // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4\n\n const operator = new MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n node = new MathNode(\"mrow\", [node, operator]);\n } else {\n node = newDocumentFragment([node, operator]);\n }\n }\n\n return node;\n};\n\nconst singleCharBigOps = {\n \"\\u220F\": \"\\\\prod\",\n \"\\u2210\": \"\\\\coprod\",\n \"\\u2211\": \"\\\\sum\",\n \"\\u22c0\": \"\\\\bigwedge\",\n \"\\u22c1\": \"\\\\bigvee\",\n \"\\u22c2\": \"\\\\bigcap\",\n \"\\u22c3\": \"\\\\bigcup\",\n \"\\u2a00\": \"\\\\bigodot\",\n \"\\u2a01\": \"\\\\bigoplus\",\n \"\\u2a02\": \"\\\\bigotimes\",\n \"\\u2a04\": \"\\\\biguplus\",\n \"\\u2a06\": \"\\\\bigsqcup\"\n};\ndefineFunction({\n type: \"op\",\n names: [\"\\\\coprod\", \"\\\\bigvee\", \"\\\\bigwedge\", \"\\\\biguplus\", \"\\\\bigcap\", \"\\\\bigcup\", \"\\\\intop\", \"\\\\prod\", \"\\\\sum\", \"\\\\bigotimes\", \"\\\\bigoplus\", \"\\\\bigodot\", \"\\\\bigsqcup\", \"\\\\smallint\", \"\\u220F\", \"\\u2210\", \"\\u2211\", \"\\u22c0\", \"\\u22c1\", \"\\u22c2\", \"\\u22c3\", \"\\u2a00\", \"\\u2a01\", \"\\u2a02\", \"\\u2a04\", \"\\u2a06\"],\n props: {\n numArgs: 0\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n let fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharBigOps[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Note: calling defineFunction with a type that's already been defined only\n// works because the same htmlBuilder and mathmlBuilder are being used.\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\mathop\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n body: ordargument(body)\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\nconst singleCharIntegrals = {\n \"\\u222b\": \"\\\\int\",\n \"\\u222c\": \"\\\\iint\",\n \"\\u222d\": \"\\\\iiint\",\n \"\\u222e\": \"\\\\oint\",\n \"\\u222f\": \"\\\\oiint\",\n \"\\u2230\": \"\\\\oiiint\"\n}; // No limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\arcsin\", \"\\\\arccos\", \"\\\\arctan\", \"\\\\arctg\", \"\\\\arcctg\", \"\\\\arg\", \"\\\\ch\", \"\\\\cos\", \"\\\\cosec\", \"\\\\cosh\", \"\\\\cot\", \"\\\\cotg\", \"\\\\coth\", \"\\\\csc\", \"\\\\ctg\", \"\\\\cth\", \"\\\\deg\", \"\\\\dim\", \"\\\\exp\", \"\\\\hom\", \"\\\\ker\", \"\\\\lg\", \"\\\\ln\", \"\\\\log\", \"\\\\sec\", \"\\\\sin\", \"\\\\sinh\", \"\\\\sh\", \"\\\\tan\", \"\\\\tanh\", \"\\\\tg\", \"\\\\th\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref3) {\n let {\n parser,\n funcName\n } = _ref3;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\det\", \"\\\\gcd\", \"\\\\inf\", \"\\\\lim\", \"\\\\max\", \"\\\\min\", \"\\\\Pr\", \"\\\\sup\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref4) {\n let {\n parser,\n funcName\n } = _ref4;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // No limits, symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\int\", \"\\\\iint\", \"\\\\iiint\", \"\\\\oint\", \"\\\\oiint\", \"\\\\oiiint\", \"\\u222b\", \"\\u222c\", \"\\u222d\", \"\\u222e\", \"\\u222f\", \"\\u2230\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref5) {\n let {\n parser,\n funcName\n } = _ref5;\n let fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharIntegrals[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n});\n;// CONCATENATED MODULE: ./src/functions/operatorname.js\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only\n// \"operatorname\", but also \"supsub\" since \\operatorname* can\n// affect super/subscripting.\nconst operatorname_htmlBuilder = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n let supGroup;\n let subGroup;\n let hasLimits = false;\n let group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"operatorname\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"operatorname\");\n }\n\n let base;\n\n if (group.body.length > 0) {\n const body = group.body.map(child => {\n // $FlowFixMe: Check if the node has a string `text` property.\n const childText = child.text;\n\n if (typeof childText === \"string\") {\n return {\n type: \"textord\",\n mode: child.mode,\n text: childText\n };\n } else {\n return child;\n }\n }); // Consolidate function names into symbol characters.\n\n const expression = buildExpression(body, options.withFont(\"mathrm\"), true);\n\n for (let i = 0; i < expression.length; i++) {\n const child = expression[i];\n\n if (child instanceof SymbolNode) {\n // Per amsopn package,\n // change minus to hyphen and \\ast to asterisk\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n }\n }\n\n base = buildCommon.makeSpan([\"mop\"], expression, options);\n } else {\n base = buildCommon.makeSpan([\"mop\"], [], options);\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0);\n } else {\n return base;\n }\n};\n\nconst operatorname_mathmlBuilder = (group, options) => {\n // The steps taken here are similar to the html version.\n let expression = buildMathML_buildExpression(group.body, options.withFont(\"mathrm\")); // Is expression a string or has it something like a fraction?\n\n let isAllString = true; // default\n\n for (let i = 0; i < expression.length; i++) {\n const node = expression[i];\n\n if (node instanceof mathMLTree.SpaceNode) {// Do nothing\n } else if (node instanceof mathMLTree.MathNode) {\n switch (node.type) {\n case \"mi\":\n case \"mn\":\n case \"ms\":\n case \"mspace\":\n case \"mtext\":\n break;\n // Do nothing yet.\n\n case \"mo\":\n {\n const child = node.children[0];\n\n if (node.children.length === 1 && child instanceof mathMLTree.TextNode) {\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n } else {\n isAllString = false;\n }\n\n break;\n }\n\n default:\n isAllString = false;\n }\n } else {\n isAllString = false;\n }\n }\n\n if (isAllString) {\n // Write a single TextNode instead of multiple nested tags.\n const word = expression.map(node => node.toText()).join(\"\");\n expression = [new mathMLTree.TextNode(word)];\n }\n\n const identifier = new mathMLTree.MathNode(\"mi\", expression);\n identifier.setAttribute(\"mathvariant\", \"normal\"); // \\u2061 is the same as ⁡\n // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp\n\n const operator = new mathMLTree.MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n return new mathMLTree.MathNode(\"mrow\", [identifier, operator]);\n } else {\n return mathMLTree.newDocumentFragment([identifier, operator]);\n }\n}; // \\operatorname\n// amsopn.dtx: \\mathop{#1\\kern\\z@\\operator@font#3}\\newmcodes@\n\n\ndefineFunction({\n type: \"operatorname\",\n names: [\"\\\\operatorname@\", \"\\\\operatornamewithlimits\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"operatorname\",\n mode: parser.mode,\n body: ordargument(body),\n alwaysHandleSupSub: funcName === \"\\\\operatornamewithlimits\",\n limits: false,\n parentIsSupSub: false\n };\n },\n htmlBuilder: operatorname_htmlBuilder,\n mathmlBuilder: operatorname_mathmlBuilder\n});\ndefineMacro(\"\\\\operatorname\", \"\\\\@ifstar\\\\operatornamewithlimits\\\\operatorname@\");\n;// CONCATENATED MODULE: ./src/functions/ordgroup.js\n\n\n\n\ndefineFunctionBuilders({\n type: \"ordgroup\",\n\n htmlBuilder(group, options) {\n if (group.semisimple) {\n return buildCommon.makeFragment(buildExpression(group.body, options, false));\n }\n\n return buildCommon.makeSpan([\"mord\"], buildExpression(group.body, options, true), options);\n },\n\n mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options, true);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/overline.js\n\n\n\n\n\ndefineFunction({\n type: \"overline\",\n names: [\"\\\\overline\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const body = args[0];\n return {\n type: \"overline\",\n mode: parser.mode,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Overlines are handled in the TeXbook pg 443, Rule 9.\n // Build the inner group in the cramped style.\n const innerGroup = buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body\n\n const line = buildCommon.makeLineSpan(\"overline-line\", options); // Generate the vlist, with the appropriate kerns\n\n const defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n const vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: innerGroup\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: defaultRuleThickness\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"overline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n const node = new mathMLTree.MathNode(\"mover\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/phantom.js\n\n\n\n\n\ndefineFunction({\n type: \"phantom\",\n names: [\"\\\\phantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n parser\n } = _ref;\n const body = args[0];\n return {\n type: \"phantom\",\n mode: parser.mode,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n const elements = buildExpression(group.body, options.withPhantom(), false); // \\phantom isn't supposed to affect the elements it contains.\n // See \"color\" for more details.\n\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(group.body, options);\n return new mathMLTree.MathNode(\"mphantom\", inner);\n }\n});\ndefineFunction({\n type: \"hphantom\",\n names: [\"\\\\hphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref2, args) => {\n let {\n parser\n } = _ref2;\n const body = args[0];\n return {\n type: \"hphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n let node = buildCommon.makeSpan([], [buildGroup(group.body, options.withPhantom())]);\n node.height = 0;\n node.depth = 0;\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n node.children[i].depth = 0;\n }\n } // See smash for comment re: use of makeVList\n\n\n node = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\smash as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(ordargument(group.body), options);\n const phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n const node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"height\", \"0px\");\n node.setAttribute(\"depth\", \"0px\");\n return node;\n }\n});\ndefineFunction({\n type: \"vphantom\",\n names: [\"\\\\vphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n let {\n parser\n } = _ref3;\n const body = args[0];\n return {\n type: \"vphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n const inner = buildCommon.makeSpan([\"inner\"], [buildGroup(group.body, options.withPhantom())]);\n const fix = buildCommon.makeSpan([\"fix\"], []);\n return buildCommon.makeSpan([\"mord\", \"rlap\"], [inner, fix], options);\n },\n mathmlBuilder: (group, options) => {\n const inner = buildMathML_buildExpression(ordargument(group.body), options);\n const phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n const node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/raisebox.js\n\n\n\n\n\n\n // Box manipulation\n\ndefineFunction({\n type: \"raisebox\",\n names: [\"\\\\raisebox\"],\n props: {\n numArgs: 2,\n argTypes: [\"size\", \"hbox\"],\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n const amount = assertNodeType(args[0], \"size\").value;\n const body = args[1];\n return {\n type: \"raisebox\",\n mode: parser.mode,\n dy: amount,\n body\n };\n },\n\n htmlBuilder(group, options) {\n const body = buildGroup(group.body, options);\n const dy = calculateSize(group.dy, options);\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n const dy = group.dy.number + group.dy.unit;\n node.setAttribute(\"voffset\", dy);\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/relax.js\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\relax\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInArgument: true\n },\n\n handler(_ref) {\n let {\n parser\n } = _ref;\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/rule.js\n\n\n\n\n\ndefineFunction({\n type: \"rule\",\n names: [\"\\\\rule\"],\n props: {\n numArgs: 2,\n numOptionalArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n argTypes: [\"size\", \"size\", \"size\"]\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const shift = optArgs[0];\n const width = assertNodeType(args[0], \"size\");\n const height = assertNodeType(args[1], \"size\");\n return {\n type: \"rule\",\n mode: parser.mode,\n shift: shift && assertNodeType(shift, \"size\").value,\n width: width.value,\n height: height.value\n };\n },\n\n htmlBuilder(group, options) {\n // Make an empty span for the rule\n const rule = buildCommon.makeSpan([\"mord\", \"rule\"], [], options); // Calculate the shift, width, and height of the rule, and account for units\n\n const width = calculateSize(group.width, options);\n const height = calculateSize(group.height, options);\n const shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size\n\n rule.style.borderRightWidth = makeEm(width);\n rule.style.borderTopWidth = makeEm(height);\n rule.style.bottom = makeEm(shift); // Record the height and width\n\n rule.width = width;\n rule.height = height + shift;\n rule.depth = -shift; // Font size is the number large enough that the browser will\n // reserve at least `absHeight` space above the baseline.\n // The 1.125 factor was empirically determined\n\n rule.maxFontSize = height * 1.125 * options.sizeMultiplier;\n return rule;\n },\n\n mathmlBuilder(group, options) {\n const width = calculateSize(group.width, options);\n const height = calculateSize(group.height, options);\n const shift = group.shift ? calculateSize(group.shift, options) : 0;\n const color = options.color && options.getColor() || \"black\";\n const rule = new mathMLTree.MathNode(\"mspace\");\n rule.setAttribute(\"mathbackground\", color);\n rule.setAttribute(\"width\", makeEm(width));\n rule.setAttribute(\"height\", makeEm(height));\n const wrapper = new mathMLTree.MathNode(\"mpadded\", [rule]);\n\n if (shift >= 0) {\n wrapper.setAttribute(\"height\", makeEm(shift));\n } else {\n wrapper.setAttribute(\"height\", makeEm(shift));\n wrapper.setAttribute(\"depth\", makeEm(-shift));\n }\n\n wrapper.setAttribute(\"voffset\", makeEm(shift));\n return wrapper;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/sizing.js\n\n\n\n\n\n\nfunction sizingGroup(value, options, baseOptions) {\n const inner = buildExpression(value, options, false);\n const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize\n // manually. Handle nested size changes.\n\n for (let i = 0; i < inner.length; i++) {\n const pos = inner[i].classes.indexOf(\"sizing\");\n\n if (pos < 0) {\n Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions));\n } else if (inner[i].classes[pos + 1] === \"reset-size\" + options.size) {\n // This is a nested size change: e.g., inner[i] is the \"b\" in\n // `\\Huge a \\small b`. Override the old size (the `reset-` class)\n // but not the new size.\n inner[i].classes[pos + 1] = \"reset-size\" + baseOptions.size;\n }\n\n inner[i].height *= multiplier;\n inner[i].depth *= multiplier;\n }\n\n return buildCommon.makeFragment(inner);\n}\nconst sizeFuncs = [\"\\\\tiny\", \"\\\\sixptsize\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\", \"\\\\normalsize\", \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\"];\nconst sizing_htmlBuilder = (group, options) => {\n // Handle sizing operators like \\Huge. Real TeX doesn't actually allow\n // these functions inside of math expressions, so we do some special\n // handling.\n const newOptions = options.havingSize(group.size);\n return sizingGroup(group.body, newOptions, options);\n};\ndefineFunction({\n type: \"sizing\",\n names: sizeFuncs,\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref, args) => {\n let {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n const body = parser.parseExpression(false, breakOnTokenText);\n return {\n type: \"sizing\",\n mode: parser.mode,\n // Figure out what size to use based on the list of functions above\n size: sizeFuncs.indexOf(funcName) + 1,\n body\n };\n },\n htmlBuilder: sizing_htmlBuilder,\n mathmlBuilder: (group, options) => {\n const newOptions = options.havingSize(group.size);\n const inner = buildMathML_buildExpression(group.body, newOptions);\n const node = new mathMLTree.MathNode(\"mstyle\", inner); // TODO(emily): This doesn't produce the correct size for nested size\n // changes, because we don't keep state of what style we're currently\n // in, so we can't reset the size to normal before changing it. Now\n // that we're passing an options parameter we should be able to fix\n // this.\n\n node.setAttribute(\"mathsize\", makeEm(newOptions.sizeMultiplier));\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/smash.js\n// smash, with optional [tb], as in AMS\n\n\n\n\n\n\ndefineFunction({\n type: \"smash\",\n names: [\"\\\\smash\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args, optArgs) => {\n let {\n parser\n } = _ref;\n let smashHeight = false;\n let smashDepth = false;\n const tbArg = optArgs[0] && assertNodeType(optArgs[0], \"ordgroup\");\n\n if (tbArg) {\n // Optional [tb] argument is engaged.\n // ref: amsmath: \\renewcommand{\\smash}[1][tb]{%\n // def\\mb@t{\\ht}\\def\\mb@b{\\dp}\\def\\mb@tb{\\ht\\z@\\z@\\dp}%\n let letter = \"\";\n\n for (let i = 0; i < tbArg.body.length; ++i) {\n const node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n letter = node.text;\n\n if (letter === \"t\") {\n smashHeight = true;\n } else if (letter === \"b\") {\n smashDepth = true;\n } else {\n smashHeight = false;\n smashDepth = false;\n break;\n }\n }\n } else {\n smashHeight = true;\n smashDepth = true;\n }\n\n const body = args[0];\n return {\n type: \"smash\",\n mode: parser.mode,\n body,\n smashHeight,\n smashDepth\n };\n },\n htmlBuilder: (group, options) => {\n const node = buildCommon.makeSpan([], [buildGroup(group.body, options)]);\n\n if (!group.smashHeight && !group.smashDepth) {\n return node;\n }\n\n if (group.smashHeight) {\n node.height = 0; // In order to influence makeVList, we have to reset the children.\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n }\n }\n }\n\n if (group.smashDepth) {\n node.depth = 0;\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n node.children[i].depth = 0;\n }\n }\n } // At this point, we've reset the TeX-like height and depth values.\n // But the span still has an HTML line height.\n // makeVList applies \"display: table-cell\", which prevents the browser\n // from acting on that line height. So we'll call makeVList now.\n\n\n const smashedNode = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\hphantom as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [smashedNode], options);\n },\n mathmlBuilder: (group, options) => {\n const node = new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.smashHeight) {\n node.setAttribute(\"height\", \"0px\");\n }\n\n if (group.smashDepth) {\n node.setAttribute(\"depth\", \"0px\");\n }\n\n return node;\n }\n});\n;// CONCATENATED MODULE: ./src/functions/sqrt.js\n\n\n\n\n\n\n\n\ndefineFunction({\n type: \"sqrt\",\n names: [\"\\\\sqrt\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n let {\n parser\n } = _ref;\n const index = optArgs[0];\n const body = args[0];\n return {\n type: \"sqrt\",\n mode: parser.mode,\n body,\n index\n };\n },\n\n htmlBuilder(group, options) {\n // Square roots are handled in the TeXbook pg. 443, Rule 11.\n // First, we do the same steps as in overline to build the inner group\n // and line\n let inner = buildGroup(group.body, options.havingCrampedStyle());\n\n if (inner.height === 0) {\n // Render a small surd.\n inner.height = options.fontMetrics().xHeight;\n } // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n\n inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \\surd delimiter\n\n const metrics = options.fontMetrics();\n const theta = metrics.defaultRuleThickness;\n let phi = theta;\n\n if (options.style.id < src_Style.TEXT.id) {\n phi = options.fontMetrics().xHeight;\n } // Calculate the clearance between the body and line\n\n\n let lineClearance = theta + phi / 4;\n const minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size\n\n const {\n span: img,\n ruleWidth,\n advanceWidth\n } = delimiter.sqrtImage(minDelimiterHeight, options);\n const delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size\n\n if (delimDepth > inner.height + inner.depth + lineClearance) {\n lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n } // Shift the sqrt image\n\n\n const imgShift = img.height - inner.height - lineClearance - ruleWidth;\n inner.style.paddingLeft = makeEm(advanceWidth); // Overlay the image and the argument.\n\n const body = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: inner,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: -(inner.height + imgShift)\n }, {\n type: \"elem\",\n elem: img\n }, {\n type: \"kern\",\n size: ruleWidth\n }]\n }, options);\n\n if (!group.index) {\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [body], options);\n } else {\n // Handle the optional root index\n // The index is always in scriptscript style\n const newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT);\n const rootm = buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX\n // source, in the definition of `\\r@@t`.\n\n const toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly\n\n const rootVList = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -toShift,\n children: [{\n type: \"elem\",\n elem: rootm\n }]\n }, options); // Add a class surrounding it so we can add on the appropriate\n // kerning\n\n const rootVListWrap = buildCommon.makeSpan([\"root\"], [rootVList]);\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [rootVListWrap, body], options);\n }\n },\n\n mathmlBuilder(group, options) {\n const {\n body,\n index\n } = group;\n return index ? new mathMLTree.MathNode(\"mroot\", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode(\"msqrt\", [buildMathML_buildGroup(body, options)]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/styling.js\n\n\n\n\n\nconst styling_styleMap = {\n \"display\": src_Style.DISPLAY,\n \"text\": src_Style.TEXT,\n \"script\": src_Style.SCRIPT,\n \"scriptscript\": src_Style.SCRIPTSCRIPT\n};\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\", \"\\\\scriptscriptstyle\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n let {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n // parse out the implicit body\n const body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g.\n // here and in buildHTML and de-dupe the enumeration of all the styles).\n // $FlowFixMe: The names above exactly match the styles.\n\n const style = funcName.slice(1, funcName.length - 5);\n return {\n type: \"styling\",\n mode: parser.mode,\n // Figure out what style to use by pulling out the style from\n // the function name\n style,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n const newStyle = styling_styleMap[group.style];\n const newOptions = options.havingStyle(newStyle).withFont('');\n return sizingGroup(group.body, newOptions, options);\n },\n\n mathmlBuilder(group, options) {\n // Figure out what style we're changing to.\n const newStyle = styling_styleMap[group.style];\n const newOptions = options.havingStyle(newStyle);\n const inner = buildMathML_buildExpression(group.body, newOptions);\n const node = new mathMLTree.MathNode(\"mstyle\", inner);\n const styleAttributes = {\n \"display\": [\"0\", \"true\"],\n \"text\": [\"0\", \"false\"],\n \"script\": [\"1\", \"false\"],\n \"scriptscript\": [\"2\", \"false\"]\n };\n const attr = styleAttributes[group.style];\n node.setAttribute(\"scriptlevel\", attr[0]);\n node.setAttribute(\"displaystyle\", attr[1]);\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/supsub.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * Sometimes, groups perform special rules when they have superscripts or\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nconst htmlBuilderDelegate = function (group, options) {\n const base = group.base;\n\n if (!base) {\n return null;\n } else if (base.type === \"op\") {\n // Operators handle supsubs differently when they have limits\n // (e.g. `\\displaystyle\\sum_2^3`)\n const delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub);\n return delegate ? op_htmlBuilder : null;\n } else if (base.type === \"operatorname\") {\n const delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits);\n return delegate ? operatorname_htmlBuilder : null;\n } else if (base.type === \"accent\") {\n return utils.isCharacterBox(base.base) ? htmlBuilder : null;\n } else if (base.type === \"horizBrace\") {\n const isSup = !group.sub;\n return isSup === base.isOver ? horizBrace_htmlBuilder : null;\n } else {\n return null;\n }\n}; // Super scripts and subscripts, whose precise placement can depend on other\n// functions that precede them.\n\n\ndefineFunctionBuilders({\n type: \"supsub\",\n\n htmlBuilder(group, options) {\n // Superscript and subscripts are handled in the TeXbook on page\n // 445-446, rules 18(a-f).\n // Here is where we defer to the inner group if it should handle\n // superscripts and subscripts itself.\n const builderDelegate = htmlBuilderDelegate(group, options);\n\n if (builderDelegate) {\n return builderDelegate(group, options);\n }\n\n const {\n base: valueBase,\n sup: valueSup,\n sub: valueSub\n } = group;\n const base = buildGroup(valueBase, options);\n let supm;\n let subm;\n const metrics = options.fontMetrics(); // Rule 18a\n\n let supShift = 0;\n let subShift = 0;\n const isCharacterBox = valueBase && utils.isCharacterBox(valueBase);\n\n if (valueSup) {\n const newOptions = options.havingStyle(options.style.sup());\n supm = buildGroup(valueSup, newOptions, options);\n\n if (!isCharacterBox) {\n supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n if (valueSub) {\n const newOptions = options.havingStyle(options.style.sub());\n subm = buildGroup(valueSub, newOptions, options);\n\n if (!isCharacterBox) {\n subShift = base.depth + newOptions.fontMetrics().subDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n } // Rule 18c\n\n\n let minSupShift;\n\n if (options.style === src_Style.DISPLAY) {\n minSupShift = metrics.sup1;\n } else if (options.style.cramped) {\n minSupShift = metrics.sup3;\n } else {\n minSupShift = metrics.sup2;\n } // scriptspace is a font-size-independent size, so scale it\n // appropriately for use as the marginRight.\n\n\n const multiplier = options.sizeMultiplier;\n const marginRight = makeEm(0.5 / metrics.ptPerEm / multiplier);\n let marginLeft = null;\n\n if (subm) {\n // Subscripts shouldn't be shifted by the base's italic correction.\n // Account for that by shifting the subscript back the appropriate\n // amount. Note we only do this when the base is a single symbol.\n const isOiint = group.base && group.base.type === \"op\" && group.base.name && (group.base.name === \"\\\\oiint\" || group.base.name === \"\\\\oiiint\");\n\n if (base instanceof SymbolNode || isOiint) {\n // $FlowFixMe\n marginLeft = makeEm(-base.italic);\n }\n }\n\n let supsub;\n\n if (supm && subm) {\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n subShift = Math.max(subShift, metrics.sub2);\n const ruleWidth = metrics.defaultRuleThickness; // Rule 18e\n\n const maxWidth = 4 * ruleWidth;\n\n if (supShift - supm.depth - (subm.height - subShift) < maxWidth) {\n subShift = maxWidth - (supShift - supm.depth) + subm.height;\n const psi = 0.8 * metrics.xHeight - (supShift - supm.depth);\n\n if (psi > 0) {\n supShift += psi;\n subShift -= psi;\n }\n }\n\n const vlistElem = [{\n type: \"elem\",\n elem: subm,\n shift: subShift,\n marginRight,\n marginLeft\n }, {\n type: \"elem\",\n elem: supm,\n shift: -supShift,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vlistElem\n }, options);\n } else if (subm) {\n // Rule 18b\n subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight);\n const vlistElem = [{\n type: \"elem\",\n elem: subm,\n marginLeft,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: subShift,\n children: vlistElem\n }, options);\n } else if (supm) {\n // Rule 18c, d\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -supShift,\n children: [{\n type: \"elem\",\n elem: supm,\n marginRight\n }]\n }, options);\n } else {\n throw new Error(\"supsub must have either sup or sub.\");\n } // Wrap the supsub vlist in a span.msupsub to reset text-align.\n\n\n const mclass = getTypeOfDomTree(base, \"right\") || \"mord\";\n return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan([\"msupsub\"], [supsub])], options);\n },\n\n mathmlBuilder(group, options) {\n // Is the inner group a relevant horizontal brace?\n let isBrace = false;\n let isOver;\n let isSup;\n\n if (group.base && group.base.type === \"horizBrace\") {\n isSup = !!group.sup;\n\n if (isSup === group.base.isOver) {\n isBrace = true;\n isOver = group.base.isOver;\n }\n }\n\n if (group.base && (group.base.type === \"op\" || group.base.type === \"operatorname\")) {\n group.base.parentIsSupSub = true;\n }\n\n const children = [buildMathML_buildGroup(group.base, options)];\n\n if (group.sub) {\n children.push(buildMathML_buildGroup(group.sub, options));\n }\n\n if (group.sup) {\n children.push(buildMathML_buildGroup(group.sup, options));\n }\n\n let nodeType;\n\n if (isBrace) {\n nodeType = isOver ? \"mover\" : \"munder\";\n } else if (!group.sub) {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"mover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"mover\";\n } else {\n nodeType = \"msup\";\n }\n } else if (!group.sup) {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"munder\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = \"munder\";\n } else {\n nodeType = \"msub\";\n }\n } else {\n const base = group.base;\n\n if (base && base.type === \"op\" && base.limits && options.style === src_Style.DISPLAY) {\n nodeType = \"munderover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || base.limits)) {\n nodeType = \"munderover\";\n } else {\n nodeType = \"msubsup\";\n }\n }\n\n return new mathMLTree.MathNode(nodeType, children);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOp.js\n\n\n\n // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"atom\",\n\n htmlBuilder(group, options) {\n return buildCommon.mathsym(group.text, group.mode, options, [\"m\" + group.family]);\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mo\", [makeText(group.text, group.mode)]);\n\n if (group.family === \"bin\") {\n const variant = getVariant(group, options);\n\n if (variant === \"bold-italic\") {\n node.setAttribute(\"mathvariant\", variant);\n }\n } else if (group.family === \"punct\") {\n node.setAttribute(\"separator\", \"true\");\n } else if (group.family === \"open\" || group.family === \"close\") {\n // Delims built here should not stretch vertically.\n // See delimsizing.js for stretchy delims.\n node.setAttribute(\"stretchy\", \"false\");\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsOrd.js\n\n\n\n\n// \"mathord\" and \"textord\" ParseNodes created in Parser.js from symbol Groups in\n// src/symbols.js.\nconst defaultVariant = {\n \"mi\": \"italic\",\n \"mn\": \"normal\",\n \"mtext\": \"normal\"\n};\ndefineFunctionBuilders({\n type: \"mathord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"mathord\");\n },\n\n mathmlBuilder(group, options) {\n const node = new mathMLTree.MathNode(\"mi\", [makeText(group.text, group.mode, options)]);\n const variant = getVariant(group, options) || \"italic\";\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\ndefineFunctionBuilders({\n type: \"textord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"textord\");\n },\n\n mathmlBuilder(group, options) {\n const text = makeText(group.text, group.mode, options);\n const variant = getVariant(group, options) || \"normal\";\n let node;\n\n if (group.mode === 'text') {\n node = new mathMLTree.MathNode(\"mtext\", [text]);\n } else if (/[0-9]/.test(group.text)) {\n node = new mathMLTree.MathNode(\"mn\", [text]);\n } else if (group.text === \"\\\\prime\") {\n node = new mathMLTree.MathNode(\"mo\", [text]);\n } else {\n node = new mathMLTree.MathNode(\"mi\", [text]);\n }\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js\n\n\n\n // A map of CSS-based spacing functions to their CSS class.\n\nconst cssSpace = {\n \"\\\\nobreak\": \"nobreak\",\n \"\\\\allowbreak\": \"allowbreak\"\n}; // A lookup table to determine whether a spacing function/symbol should be\n// treated like a regular space character. If a symbol or command is a key\n// in this table, then it should be a regular space character. Furthermore,\n// the associated value may have a `className` specifying an extra CSS class\n// to add to the created `span`.\n\nconst regularSpace = {\n \" \": {},\n \"\\\\ \": {},\n \"~\": {\n className: \"nobreak\"\n },\n \"\\\\space\": {},\n \"\\\\nobreakspace\": {\n className: \"nobreak\"\n }\n}; // ParseNode<\"spacing\"> created in Parser.js from the \"spacing\" symbol Groups in\n// src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"spacing\",\n\n htmlBuilder(group, options) {\n if (regularSpace.hasOwnProperty(group.text)) {\n const className = regularSpace[group.text].className || \"\"; // Spaces are generated by adding an actual space. Each of these\n // things has an entry in the symbols table, so these will be turned\n // into appropriate outputs.\n\n if (group.mode === \"text\") {\n const ord = buildCommon.makeOrd(group, options, \"textord\");\n ord.classes.push(className);\n return ord;\n } else {\n return buildCommon.makeSpan([\"mspace\", className], [buildCommon.mathsym(group.text, group.mode, options)], options);\n }\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // Spaces based on just a CSS class.\n return buildCommon.makeSpan([\"mspace\", cssSpace[group.text]], [], options);\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n },\n\n mathmlBuilder(group, options) {\n let node;\n\n if (regularSpace.hasOwnProperty(group.text)) {\n node = new mathMLTree.MathNode(\"mtext\", [new mathMLTree.TextNode(\"\\u00a0\")]);\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // CSS-based MathML spaces (\\nobreak, \\allowbreak) are ignored\n return new mathMLTree.MathNode(\"mspace\");\n } else {\n throw new src_ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/tag.js\n\n\n\n\nconst pad = () => {\n const padNode = new mathMLTree.MathNode(\"mtd\", []);\n padNode.setAttribute(\"width\", \"50%\");\n return padNode;\n};\n\ndefineFunctionBuilders({\n type: \"tag\",\n\n mathmlBuilder(group, options) {\n const table = new mathMLTree.MathNode(\"mtable\", [new mathMLTree.MathNode(\"mtr\", [pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.tag, options)])])]);\n table.setAttribute(\"width\", \"100%\");\n return table; // TODO: Left-aligned tags.\n // Currently, the group and options passed here do not contain\n // enough info to set tag alignment. `leqno` is in Settings but it is\n // not passed to Options. On the HTML side, leqno is\n // set by a CSS class applied in buildTree.js. That would have worked\n // in MathML if browsers supported . Since they don't, we\n // need to rewrite the way this function is called.\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/text.js\n\n\n\n // Non-mathy text, possibly in a font\n\nconst textFontFamilies = {\n \"\\\\text\": undefined,\n \"\\\\textrm\": \"textrm\",\n \"\\\\textsf\": \"textsf\",\n \"\\\\texttt\": \"texttt\",\n \"\\\\textnormal\": \"textrm\"\n};\nconst textFontWeights = {\n \"\\\\textbf\": \"textbf\",\n \"\\\\textmd\": \"textmd\"\n};\nconst textFontShapes = {\n \"\\\\textit\": \"textit\",\n \"\\\\textup\": \"textup\"\n};\n\nconst optionsWithFont = (group, options) => {\n const font = group.font; // Checks if the argument is a font family or a font style.\n\n if (!font) {\n return options;\n } else if (textFontFamilies[font]) {\n return options.withTextFontFamily(textFontFamilies[font]);\n } else if (textFontWeights[font]) {\n return options.withTextFontWeight(textFontWeights[font]);\n } else if (font === \"\\\\emph\") {\n return options.fontShape === \"textit\" ? options.withTextFontShape(\"textup\") : options.withTextFontShape(\"textit\");\n }\n\n return options.withTextFontShape(textFontShapes[font]);\n};\n\ndefineFunction({\n type: \"text\",\n names: [// Font families\n \"\\\\text\", \"\\\\textrm\", \"\\\\textsf\", \"\\\\texttt\", \"\\\\textnormal\", // Font weights\n \"\\\\textbf\", \"\\\\textmd\", // Font Shapes\n \"\\\\textit\", \"\\\\textup\", \"\\\\emph\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInArgument: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser,\n funcName\n } = _ref;\n const body = args[0];\n return {\n type: \"text\",\n mode: parser.mode,\n body: ordargument(body),\n font: funcName\n };\n },\n\n htmlBuilder(group, options) {\n const newOptions = optionsWithFont(group, options);\n const inner = buildExpression(group.body, newOptions, true);\n return buildCommon.makeSpan([\"mord\", \"text\"], inner, newOptions);\n },\n\n mathmlBuilder(group, options) {\n const newOptions = optionsWithFont(group, options);\n return buildExpressionRow(group.body, newOptions);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/underline.js\n\n\n\n\n\ndefineFunction({\n type: \"underline\",\n names: [\"\\\\underline\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"underline\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Underlines are handled in the TeXbook pg 443, Rule 10.\n // Build the inner group.\n const innerGroup = buildGroup(group.body, options); // Create the line to go below the body\n\n const line = buildCommon.makeLineSpan(\"underline-line\", options); // Generate the vlist, with the appropriate kerns\n\n const defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n const vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"kern\",\n size: defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"underline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n const operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n const node = new mathMLTree.MathNode(\"munder\", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/vcenter.js\n\n\n\n\n // \\vcenter: Vertically center the argument group on the math axis.\n\ndefineFunction({\n type: \"vcenter\",\n names: [\"\\\\vcenter\"],\n props: {\n numArgs: 1,\n argTypes: [\"original\"],\n // In LaTeX, \\vcenter can act only on a box.\n allowedInText: false\n },\n\n handler(_ref, args) {\n let {\n parser\n } = _ref;\n return {\n type: \"vcenter\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n const body = buildGroup(group.body, options);\n const axisHeight = options.fontMetrics().axisHeight;\n const dy = 0.5 * (body.height - axisHeight - (body.depth + axisHeight));\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n // There is no way to do this in MathML.\n // Write a class as a breadcrumb in case some post-processor wants\n // to perform a vcenter adjustment.\n return new mathMLTree.MathNode(\"mpadded\", [buildMathML_buildGroup(group.body, options)], [\"vcenter\"]);\n }\n\n});\n;// CONCATENATED MODULE: ./src/functions/verb.js\n\n\n\n\ndefineFunction({\n type: \"verb\",\n names: [\"\\\\verb\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(context, args, optArgs) {\n // \\verb and \\verb* are dealt with directly in Parser.js.\n // If we end up here, it's because of a failure to match the two delimiters\n // in the regex in Lexer.js. LaTeX raises the following error when \\verb is\n // terminated by end of line (or file).\n throw new src_ParseError(\"\\\\verb ended by end of line instead of matching delimiter\");\n },\n\n htmlBuilder(group, options) {\n const text = makeVerb(group);\n const body = []; // \\verb enters text mode and therefore is sized like \\textstyle\n\n const newOptions = options.havingStyle(options.style.text());\n\n for (let i = 0; i < text.length; i++) {\n let c = text[i];\n\n if (c === '~') {\n c = '\\\\textasciitilde';\n }\n\n body.push(buildCommon.makeSymbol(c, \"Typewriter-Regular\", group.mode, newOptions, [\"mord\", \"texttt\"]));\n }\n\n return buildCommon.makeSpan([\"mord\", \"text\"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions);\n },\n\n mathmlBuilder(group, options) {\n const text = new mathMLTree.TextNode(makeVerb(group));\n const node = new mathMLTree.MathNode(\"mtext\", [text]);\n node.setAttribute(\"mathvariant\", \"monospace\");\n return node;\n }\n\n});\n/**\n * Converts verb group into body string.\n *\n * \\verb* replaces each space with an open box \\u2423\n * \\verb replaces each space with a no-break space \\xA0\n */\n\nconst makeVerb = group => group.body.replace(/ /g, group.star ? '\\u2423' : '\\xA0');\n;// CONCATENATED MODULE: ./src/functions.js\n/** Include this to ensure that all functions are defined. */\n\nconst functions = _functions;\n/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with\n// that object in this file instead of relying on side-effects.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;// CONCATENATED MODULE: ./src/Lexer.js\n/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\n\n\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more whitespace characters\n * - matches a backslash followed by one or more letters then whitespace\n * - matches a backslash followed by any BMP character\n * Capturing groups:\n * [1] regular whitespace\n * [2] backslash followed by whitespace\n * [3] anything else, which may include:\n * [4] left character of \\verb*\n * [5] left character of \\verb\n * [6] backslash followed by word, excluding any trailing whitespace\n * Just because the Lexer matches something doesn't mean it's valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nconst spaceRegexString = \"[ \\r\\n\\t]\";\nconst controlWordRegexString = \"\\\\\\\\[a-zA-Z@]+\";\nconst controlSymbolRegexString = \"\\\\\\\\[^\\uD800-\\uDFFF]\";\nconst controlWordWhitespaceRegexString = \"(\" + controlWordRegexString + \")\" + spaceRegexString + \"*\";\nconst controlSpaceRegexString = \"\\\\\\\\(\\n|[ \\r\\t]+\\n?)[ \\r\\t]*\";\nconst combiningDiacriticalMarkString = \"[\\u0300-\\u036f]\";\nconst combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + \"+$\");\nconst tokenRegexString = \"(\" + spaceRegexString + \"+)|\" + ( // whitespace\ncontrolSpaceRegexString + \"|\") + // \\whitespace\n\"([!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]\" + ( // single codepoint\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\" + ( // surrogate pair\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|\\\\\\\\verb\\\\*([^]).*?\\\\4\" + // \\verb*\n\"|\\\\\\\\verb([^*a-zA-Z]).*?\\\\5\" + ( // \\verb unstarred\n\"|\" + controlWordWhitespaceRegexString) + ( // \\macroName + spaces\n\"|\" + controlSymbolRegexString + \")\"); // \\\\, \\', etc.\n\n/** Main Lexer class */\n\nclass Lexer {\n // Category codes. The lexer only supports comment characters (14) for now.\n // MacroExpander additionally distinguishes active (13).\n constructor(input, settings) {\n this.input = void 0;\n this.settings = void 0;\n this.tokenRegex = void 0;\n this.catcodes = void 0;\n // Separate accents from characters\n this.input = input;\n this.settings = settings;\n this.tokenRegex = new RegExp(tokenRegexString, 'g');\n this.catcodes = {\n \"%\": 14,\n // comment character\n \"~\": 13 // active character\n\n };\n }\n\n setCatcode(char, code) {\n this.catcodes[char] = code;\n }\n /**\n * This function lexes a single token.\n */\n\n\n lex() {\n const input = this.input;\n const pos = this.tokenRegex.lastIndex;\n\n if (pos === input.length) {\n return new Token(\"EOF\", new SourceLocation(this, pos, pos));\n }\n\n const match = this.tokenRegex.exec(input);\n\n if (match === null || match.index !== pos) {\n throw new src_ParseError(\"Unexpected character: '\" + input[pos] + \"'\", new Token(input[pos], new SourceLocation(this, pos, pos + 1)));\n }\n\n const text = match[6] || match[3] || (match[2] ? \"\\\\ \" : \" \");\n\n if (this.catcodes[text] === 14) {\n // comment character\n const nlIndex = input.indexOf('\\n', this.tokenRegex.lastIndex);\n\n if (nlIndex === -1) {\n this.tokenRegex.lastIndex = input.length; // EOF\n\n this.settings.reportNonstrict(\"commentAtEnd\", \"% comment has no terminating newline; LaTeX would \" + \"fail because of commenting the end of math mode (e.g. $)\");\n } else {\n this.tokenRegex.lastIndex = nlIndex + 1;\n }\n\n return this.lex();\n }\n\n return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex));\n }\n\n}\n;// CONCATENATED MODULE: ./src/Namespace.js\n/**\n * A `Namespace` refers to a space of nameable things like macros or lengths,\n * which can be `set` either globally or local to a nested group, using an\n * undo stack similar to how TeX implements this functionality.\n * Performance-wise, `get` and local `set` take constant time, while global\n * `set` takes time proportional to the depth of group nesting.\n */\n\nclass Namespace {\n /**\n * Both arguments are optional. The first argument is an object of\n * built-in mappings which never change. The second argument is an object\n * of initial (global-level) mappings, which will constantly change\n * according to any global/top-level `set`s done.\n */\n constructor(builtins, globalMacros) {\n if (builtins === void 0) {\n builtins = {};\n }\n\n if (globalMacros === void 0) {\n globalMacros = {};\n }\n\n this.current = void 0;\n this.builtins = void 0;\n this.undefStack = void 0;\n this.current = globalMacros;\n this.builtins = builtins;\n this.undefStack = [];\n }\n /**\n * Start a new nested group, affecting future local `set`s.\n */\n\n\n beginGroup() {\n this.undefStack.push({});\n }\n /**\n * End current nested group, restoring values before the group began.\n */\n\n\n endGroup() {\n if (this.undefStack.length === 0) {\n throw new src_ParseError(\"Unbalanced namespace destruction: attempt \" + \"to pop global namespace; please report this as a bug\");\n }\n\n const undefs = this.undefStack.pop();\n\n for (const undef in undefs) {\n if (undefs.hasOwnProperty(undef)) {\n if (undefs[undef] == null) {\n delete this.current[undef];\n } else {\n this.current[undef] = undefs[undef];\n }\n }\n }\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n while (this.undefStack.length > 0) {\n this.endGroup();\n }\n }\n /**\n * Detect whether `name` has a definition. Equivalent to\n * `get(name) != null`.\n */\n\n\n has(name) {\n return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name);\n }\n /**\n * Get the current value of a name, or `undefined` if there is no value.\n *\n * Note: Do not use `if (namespace.get(...))` to detect whether a macro\n * is defined, as the definition may be the empty string which evaluates\n * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or\n * `if (namespace.has(...))`.\n */\n\n\n get(name) {\n if (this.current.hasOwnProperty(name)) {\n return this.current[name];\n } else {\n return this.builtins[name];\n }\n }\n /**\n * Set the current value of a name, and optionally set it globally too.\n * Local set() sets the current value and (when appropriate) adds an undo\n * operation to the undo stack. Global set() may change the undo\n * operation at every level, so takes time linear in their number.\n * A value of undefined means to delete existing definitions.\n */\n\n\n set(name, value, global) {\n if (global === void 0) {\n global = false;\n }\n\n if (global) {\n // Global set is equivalent to setting in all groups. Simulate this\n // by destroying any undos currently scheduled for this name,\n // and adding an undo with the *new* value (in case it later gets\n // locally reset within this environment).\n for (let i = 0; i < this.undefStack.length; i++) {\n delete this.undefStack[i][name];\n }\n\n if (this.undefStack.length > 0) {\n this.undefStack[this.undefStack.length - 1][name] = value;\n }\n } else {\n // Undo this set at end of this group (possibly to `undefined`),\n // unless an undo is already in place, in which case that older\n // value is the correct one.\n const top = this.undefStack[this.undefStack.length - 1];\n\n if (top && !top.hasOwnProperty(name)) {\n top[name] = this.current[name];\n }\n }\n\n if (value == null) {\n delete this.current[name];\n } else {\n this.current[name] = value;\n }\n }\n\n}\n;// CONCATENATED MODULE: ./src/macros.js\n/**\n * Predefined macros for KaTeX.\n * This can be used to define some commands in terms of others.\n */\n// Export global macros object from defineMacro\n\nconst macros = _macros;\n/* harmony default export */ var src_macros = (macros);\n\n\n\n\n\n //////////////////////////////////////////////////////////////////////\n// macro tools\n\ndefineMacro(\"\\\\noexpand\", function (context) {\n // The expansion is the token itself; but that token is interpreted\n // as if its meaning were ‘\\relax’ if it is a control sequence that\n // would ordinarily be expanded by TeX’s expansion rules.\n const t = context.popToken();\n\n if (context.isExpandable(t.text)) {\n t.noexpand = true;\n t.treatAsRelax = true;\n }\n\n return {\n tokens: [t],\n numArgs: 0\n };\n});\ndefineMacro(\"\\\\expandafter\", function (context) {\n // TeX first reads the token that comes immediately after \\expandafter,\n // without expanding it; let’s call this token t. Then TeX reads the\n // token that comes after t (and possibly more tokens, if that token\n // has an argument), replacing it by its expansion. Finally TeX puts\n // t back in front of that expansion.\n const t = context.popToken();\n context.expandOnce(true); // expand only an expandable token\n\n return {\n tokens: [t],\n numArgs: 0\n };\n}); // LaTeX's \\@firstoftwo{#1}{#2} expands to #1, skipping #2\n// TeX source: \\long\\def\\@firstoftwo#1#2{#1}\n\ndefineMacro(\"\\\\@firstoftwo\", function (context) {\n const args = context.consumeArgs(2);\n return {\n tokens: args[0],\n numArgs: 0\n };\n}); // LaTeX's \\@secondoftwo{#1}{#2} expands to #2, skipping #1\n// TeX source: \\long\\def\\@secondoftwo#1#2{#2}\n\ndefineMacro(\"\\\\@secondoftwo\", function (context) {\n const args = context.consumeArgs(2);\n return {\n tokens: args[1],\n numArgs: 0\n };\n}); // LaTeX's \\@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded)\n// symbol that isn't a space, consuming any spaces but not consuming the\n// first nonspace character. If that nonspace character matches #1, then\n// the macro expands to #2; otherwise, it expands to #3.\n\ndefineMacro(\"\\\\@ifnextchar\", function (context) {\n const args = context.consumeArgs(3); // symbol, if, else\n\n context.consumeSpaces();\n const nextToken = context.future();\n\n if (args[0].length === 1 && args[0][0].text === nextToken.text) {\n return {\n tokens: args[1],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[2],\n numArgs: 0\n };\n }\n}); // LaTeX's \\@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol.\n// If it is `*`, then it consumes the symbol, and the macro expands to #1;\n// otherwise, the macro expands to #2 (without consuming the symbol).\n// TeX source: \\def\\@ifstar#1{\\@ifnextchar *{\\@firstoftwo{#1}}}\n\ndefineMacro(\"\\\\@ifstar\", \"\\\\@ifnextchar *{\\\\@firstoftwo{#1}}\"); // LaTeX's \\TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode\n\ndefineMacro(\"\\\\TextOrMath\", function (context) {\n const args = context.consumeArgs(2);\n\n if (context.mode === 'text') {\n return {\n tokens: args[0],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[1],\n numArgs: 0\n };\n }\n}); // Lookup table for parsing numbers in base 8 through 16\n\nconst digitToNumber = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"a\": 10,\n \"A\": 10,\n \"b\": 11,\n \"B\": 11,\n \"c\": 12,\n \"C\": 12,\n \"d\": 13,\n \"D\": 13,\n \"e\": 14,\n \"E\": 14,\n \"f\": 15,\n \"F\": 15\n}; // TeX \\char makes a literal character (catcode 12) using the following forms:\n// (see The TeXBook, p. 43)\n// \\char123 -- decimal\n// \\char'123 -- octal\n// \\char\"123 -- hex\n// \\char`x -- character that can be written (i.e. isn't active)\n// \\char`\\x -- character that cannot be written (e.g. %)\n// These all refer to characters from the font, so we turn them into special\n// calls to a function \\@char dealt with in the Parser.\n\ndefineMacro(\"\\\\char\", function (context) {\n let token = context.popToken();\n let base;\n let number = '';\n\n if (token.text === \"'\") {\n base = 8;\n token = context.popToken();\n } else if (token.text === '\"') {\n base = 16;\n token = context.popToken();\n } else if (token.text === \"`\") {\n token = context.popToken();\n\n if (token.text[0] === \"\\\\\") {\n number = token.text.charCodeAt(1);\n } else if (token.text === \"EOF\") {\n throw new src_ParseError(\"\\\\char` missing argument\");\n } else {\n number = token.text.charCodeAt(0);\n }\n } else {\n base = 10;\n }\n\n if (base) {\n // Parse a number in the given base, starting with first `token`.\n number = digitToNumber[token.text];\n\n if (number == null || number >= base) {\n throw new src_ParseError(\"Invalid base-\" + base + \" digit \" + token.text);\n }\n\n let digit;\n\n while ((digit = digitToNumber[context.future().text]) != null && digit < base) {\n number *= base;\n number += digit;\n context.popToken();\n }\n }\n\n return \"\\\\@char{\" + number + \"}\";\n}); // \\newcommand{\\macro}[args]{definition}\n// \\renewcommand{\\macro}[args]{definition}\n// TODO: Optional arguments: \\newcommand{\\macro}[args][default]{definition}\n\nconst newcommand = (context, existsOK, nonexistsOK, skipIfExists) => {\n let arg = context.consumeArg().tokens;\n\n if (arg.length !== 1) {\n throw new src_ParseError(\"\\\\newcommand's first argument must be a macro name\");\n }\n\n const name = arg[0].text;\n const exists = context.isDefined(name);\n\n if (exists && !existsOK) {\n throw new src_ParseError(\"\\\\newcommand{\" + name + \"} attempting to redefine \" + (name + \"; use \\\\renewcommand\"));\n }\n\n if (!exists && !nonexistsOK) {\n throw new src_ParseError(\"\\\\renewcommand{\" + name + \"} when command \" + name + \" \" + \"does not yet exist; use \\\\newcommand\");\n }\n\n let numArgs = 0;\n arg = context.consumeArg().tokens;\n\n if (arg.length === 1 && arg[0].text === \"[\") {\n let argText = '';\n let token = context.expandNextToken();\n\n while (token.text !== \"]\" && token.text !== \"EOF\") {\n // TODO: Should properly expand arg, e.g., ignore {}s\n argText += token.text;\n token = context.expandNextToken();\n }\n\n if (!argText.match(/^\\s*[0-9]+\\s*$/)) {\n throw new src_ParseError(\"Invalid number of arguments: \" + argText);\n }\n\n numArgs = parseInt(argText);\n arg = context.consumeArg().tokens;\n }\n\n if (!(exists && skipIfExists)) {\n // Final arg is the expansion of the macro\n context.macros.set(name, {\n tokens: arg,\n numArgs\n });\n }\n\n return '';\n};\n\ndefineMacro(\"\\\\newcommand\", context => newcommand(context, false, true, false));\ndefineMacro(\"\\\\renewcommand\", context => newcommand(context, true, false, false));\ndefineMacro(\"\\\\providecommand\", context => newcommand(context, true, true, true)); // terminal (console) tools\n\ndefineMacro(\"\\\\message\", context => {\n const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.log(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\errmessage\", context => {\n const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.error(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\show\", context => {\n const tok = context.popToken();\n const name = tok.text; // eslint-disable-next-line no-console\n\n console.log(tok, context.macros.get(name), src_functions[name], src_symbols.math[name], src_symbols.text[name]);\n return '';\n}); //////////////////////////////////////////////////////////////////////\n// Grouping\n// \\let\\bgroup={ \\let\\egroup=}\n\ndefineMacro(\"\\\\bgroup\", \"{\");\ndefineMacro(\"\\\\egroup\", \"}\"); // Symbols from latex.ltx:\n// \\def~{\\nobreakspace{}}\n// \\def\\lq{`}\n// \\def\\rq{'}\n// \\def \\aa {\\r a}\n// \\def \\AA {\\r A}\n\ndefineMacro(\"~\", \"\\\\nobreakspace\");\ndefineMacro(\"\\\\lq\", \"`\");\ndefineMacro(\"\\\\rq\", \"'\");\ndefineMacro(\"\\\\aa\", \"\\\\r a\");\ndefineMacro(\"\\\\AA\", \"\\\\r A\"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML.\n// \\DeclareTextCommandDefault{\\textcopyright}{\\textcircled{c}}\n// \\DeclareTextCommandDefault{\\textregistered}{\\textcircled{%\n// \\check@mathfonts\\fontsize\\sf@size\\z@\\math@fontsfalse\\selectfont R}}\n// \\DeclareRobustCommand{\\copyright}{%\n// \\ifmmode{\\nfss@text{\\textcopyright}}\\else\\textcopyright\\fi}\n\ndefineMacro(\"\\\\textcopyright\", \"\\\\html@mathml{\\\\textcircled{c}}{\\\\char`©}\");\ndefineMacro(\"\\\\copyright\", \"\\\\TextOrMath{\\\\textcopyright}{\\\\text{\\\\textcopyright}}\");\ndefineMacro(\"\\\\textregistered\", \"\\\\html@mathml{\\\\textcircled{\\\\scriptsize R}}{\\\\char`®}\"); // Characters omitted from Unicode range 1D400–1D7FF\n\ndefineMacro(\"\\u212C\", \"\\\\mathscr{B}\"); // script\n\ndefineMacro(\"\\u2130\", \"\\\\mathscr{E}\");\ndefineMacro(\"\\u2131\", \"\\\\mathscr{F}\");\ndefineMacro(\"\\u210B\", \"\\\\mathscr{H}\");\ndefineMacro(\"\\u2110\", \"\\\\mathscr{I}\");\ndefineMacro(\"\\u2112\", \"\\\\mathscr{L}\");\ndefineMacro(\"\\u2133\", \"\\\\mathscr{M}\");\ndefineMacro(\"\\u211B\", \"\\\\mathscr{R}\");\ndefineMacro(\"\\u212D\", \"\\\\mathfrak{C}\"); // Fraktur\n\ndefineMacro(\"\\u210C\", \"\\\\mathfrak{H}\");\ndefineMacro(\"\\u2128\", \"\\\\mathfrak{Z}\"); // Define \\Bbbk with a macro that works in both HTML and MathML.\n\ndefineMacro(\"\\\\Bbbk\", \"\\\\Bbb{k}\"); // Unicode middle dot\n// The KaTeX fonts do not contain U+00B7. Instead, \\cdotp displays\n// the dot at U+22C5 and gives it punct spacing.\n\ndefineMacro(\"\\u00b7\", \"\\\\cdotp\"); // \\llap and \\rlap render their contents in text mode\n\ndefineMacro(\"\\\\llap\", \"\\\\mathllap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\rlap\", \"\\\\mathrlap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\clap\", \"\\\\mathclap{\\\\textrm{#1}}\"); // \\mathstrut from the TeXbook, p 360\n\ndefineMacro(\"\\\\mathstrut\", \"\\\\vphantom{(}\"); // \\underbar from TeXbook p 353\n\ndefineMacro(\"\\\\underbar\", \"\\\\underline{\\\\text{#1}}\"); // \\not is defined by base/fontmath.ltx via\n// \\DeclareMathSymbol{\\not}{\\mathrel}{symbols}{\"36}\n// It's thus treated like a \\mathrel, but defined by a symbol that has zero\n// width but extends to the right. We use \\rlap to get that spacing.\n// For MathML we write U+0338 here. buildMathML.js will then do the overlay.\n\ndefineMacro(\"\\\\not\", '\\\\html@mathml{\\\\mathrel{\\\\mathrlap\\\\@not}}{\\\\char\"338}'); // Negated symbols from base/fontmath.ltx:\n// \\def\\neq{\\not=} \\let\\ne=\\neq\n// \\DeclareRobustCommand\n// \\notin{\\mathrel{\\m@th\\mathpalette\\c@ncel\\in}}\n// \\def\\c@ncel#1#2{\\m@th\\ooalign{$\\hfil#1\\mkern1mu/\\hfil$\\crcr$#1#2$}}\n\ndefineMacro(\"\\\\neq\", \"\\\\html@mathml{\\\\mathrel{\\\\not=}}{\\\\mathrel{\\\\char`≠}}\");\ndefineMacro(\"\\\\ne\", \"\\\\neq\");\ndefineMacro(\"\\u2260\", \"\\\\neq\");\ndefineMacro(\"\\\\notin\", \"\\\\html@mathml{\\\\mathrel{{\\\\in}\\\\mathllap{/\\\\mskip1mu}}}\" + \"{\\\\mathrel{\\\\char`∉}}\");\ndefineMacro(\"\\u2209\", \"\\\\notin\"); // Unicode stacked relations\n\ndefineMacro(\"\\u2258\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\kern{-1em}\\\\raisebox{0.4em}{$\\\\scriptsize\\\\frown$}}\" + \"}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u2259\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\wedge}{=}}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u225A\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\vee}{=}}{\\\\mathrel{\\\\char`\\u225A}}\");\ndefineMacro(\"\\u225B\", \"\\\\html@mathml{\\\\stackrel{\\\\scriptsize\\\\star}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225B}}\");\ndefineMacro(\"\\u225D\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{def}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225D}}\");\ndefineMacro(\"\\u225E\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{m}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225E}}\");\ndefineMacro(\"\\u225F\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny?}{=}}{\\\\mathrel{\\\\char`\\u225F}}\"); // Misc Unicode\n\ndefineMacro(\"\\u27C2\", \"\\\\perp\");\ndefineMacro(\"\\u203C\", \"\\\\mathclose{!\\\\mkern-0.8mu!}\");\ndefineMacro(\"\\u220C\", \"\\\\notni\");\ndefineMacro(\"\\u231C\", \"\\\\ulcorner\");\ndefineMacro(\"\\u231D\", \"\\\\urcorner\");\ndefineMacro(\"\\u231E\", \"\\\\llcorner\");\ndefineMacro(\"\\u231F\", \"\\\\lrcorner\");\ndefineMacro(\"\\u00A9\", \"\\\\copyright\");\ndefineMacro(\"\\u00AE\", \"\\\\textregistered\");\ndefineMacro(\"\\uFE0F\", \"\\\\textregistered\"); // The KaTeX fonts have corners at codepoints that don't match Unicode.\n// For MathML purposes, use the Unicode code point.\n\ndefineMacro(\"\\\\ulcorner\", \"\\\\html@mathml{\\\\@ulcorner}{\\\\mathop{\\\\char\\\"231c}}\");\ndefineMacro(\"\\\\urcorner\", \"\\\\html@mathml{\\\\@urcorner}{\\\\mathop{\\\\char\\\"231d}}\");\ndefineMacro(\"\\\\llcorner\", \"\\\\html@mathml{\\\\@llcorner}{\\\\mathop{\\\\char\\\"231e}}\");\ndefineMacro(\"\\\\lrcorner\", \"\\\\html@mathml{\\\\@lrcorner}{\\\\mathop{\\\\char\\\"231f}}\"); //////////////////////////////////////////////////////////////////////\n// LaTeX_2ε\n// \\vdots{\\vbox{\\baselineskip4\\p@ \\lineskiplimit\\z@\n// \\kern6\\p@\\hbox{.}\\hbox{.}\\hbox{.}}}\n// We'll call \\varvdots, which gets a glyph from symbols.js.\n// The zero-width rule gets us an equivalent to the vertical 6pt kern.\n\ndefineMacro(\"\\\\vdots\", \"{\\\\varvdots\\\\rule{0pt}{15pt}}\");\ndefineMacro(\"\\u22ee\", \"\\\\vdots\"); //////////////////////////////////////////////////////////////////////\n// amsmath.sty\n// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf\n// Italic Greek capital letters. AMS defines these with \\DeclareMathSymbol,\n// but they are equivalent to \\mathit{\\Letter}.\n\ndefineMacro(\"\\\\varGamma\", \"\\\\mathit{\\\\Gamma}\");\ndefineMacro(\"\\\\varDelta\", \"\\\\mathit{\\\\Delta}\");\ndefineMacro(\"\\\\varTheta\", \"\\\\mathit{\\\\Theta}\");\ndefineMacro(\"\\\\varLambda\", \"\\\\mathit{\\\\Lambda}\");\ndefineMacro(\"\\\\varXi\", \"\\\\mathit{\\\\Xi}\");\ndefineMacro(\"\\\\varPi\", \"\\\\mathit{\\\\Pi}\");\ndefineMacro(\"\\\\varSigma\", \"\\\\mathit{\\\\Sigma}\");\ndefineMacro(\"\\\\varUpsilon\", \"\\\\mathit{\\\\Upsilon}\");\ndefineMacro(\"\\\\varPhi\", \"\\\\mathit{\\\\Phi}\");\ndefineMacro(\"\\\\varPsi\", \"\\\\mathit{\\\\Psi}\");\ndefineMacro(\"\\\\varOmega\", \"\\\\mathit{\\\\Omega}\"); //\\newcommand{\\substack}[1]{\\subarray{c}#1\\endsubarray}\n\ndefineMacro(\"\\\\substack\", \"\\\\begin{subarray}{c}#1\\\\end{subarray}\"); // \\renewcommand{\\colon}{\\nobreak\\mskip2mu\\mathpunct{}\\nonscript\n// \\mkern-\\thinmuskip{:}\\mskip6muplus1mu\\relax}\n\ndefineMacro(\"\\\\colon\", \"\\\\nobreak\\\\mskip2mu\\\\mathpunct{}\" + \"\\\\mathchoice{\\\\mkern-3mu}{\\\\mkern-3mu}{}{}{:}\\\\mskip6mu\\\\relax\"); // \\newcommand{\\boxed}[1]{\\fbox{\\m@th$\\displaystyle#1$}}\n\ndefineMacro(\"\\\\boxed\", \"\\\\fbox{$\\\\displaystyle{#1}$}\"); // \\def\\iff{\\DOTSB\\;\\Longleftrightarrow\\;}\n// \\def\\implies{\\DOTSB\\;\\Longrightarrow\\;}\n// \\def\\impliedby{\\DOTSB\\;\\Longleftarrow\\;}\n\ndefineMacro(\"\\\\iff\", \"\\\\DOTSB\\\\;\\\\Longleftrightarrow\\\\;\");\ndefineMacro(\"\\\\implies\", \"\\\\DOTSB\\\\;\\\\Longrightarrow\\\\;\");\ndefineMacro(\"\\\\impliedby\", \"\\\\DOTSB\\\\;\\\\Longleftarrow\\\\;\"); // \\def\\dddot#1{{\\mathop{#1}\\limits^{\\vbox to-1.4\\ex@{\\kern-\\tw@\\ex@\n// \\hbox{\\normalfont ...}\\vss}}}}\n// We use \\overset which avoids the vertical shift of \\mathop.\n\ndefineMacro(\"\\\\dddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ...}}{#1}}\");\ndefineMacro(\"\\\\ddddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ....}}{#1}}\"); // AMSMath's automatic \\dots, based on \\mdots@@ macro.\n\nconst dotsByToken = {\n ',': '\\\\dotsc',\n '\\\\not': '\\\\dotsb',\n // \\keybin@ checks for the following:\n '+': '\\\\dotsb',\n '=': '\\\\dotsb',\n '<': '\\\\dotsb',\n '>': '\\\\dotsb',\n '-': '\\\\dotsb',\n '*': '\\\\dotsb',\n ':': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSB:\n '\\\\DOTSB': '\\\\dotsb',\n '\\\\coprod': '\\\\dotsb',\n '\\\\bigvee': '\\\\dotsb',\n '\\\\bigwedge': '\\\\dotsb',\n '\\\\biguplus': '\\\\dotsb',\n '\\\\bigcap': '\\\\dotsb',\n '\\\\bigcup': '\\\\dotsb',\n '\\\\prod': '\\\\dotsb',\n '\\\\sum': '\\\\dotsb',\n '\\\\bigotimes': '\\\\dotsb',\n '\\\\bigoplus': '\\\\dotsb',\n '\\\\bigodot': '\\\\dotsb',\n '\\\\bigsqcup': '\\\\dotsb',\n '\\\\And': '\\\\dotsb',\n '\\\\longrightarrow': '\\\\dotsb',\n '\\\\Longrightarrow': '\\\\dotsb',\n '\\\\longleftarrow': '\\\\dotsb',\n '\\\\Longleftarrow': '\\\\dotsb',\n '\\\\longleftrightarrow': '\\\\dotsb',\n '\\\\Longleftrightarrow': '\\\\dotsb',\n '\\\\mapsto': '\\\\dotsb',\n '\\\\longmapsto': '\\\\dotsb',\n '\\\\hookrightarrow': '\\\\dotsb',\n '\\\\doteq': '\\\\dotsb',\n // Symbols whose definition starts with \\mathbin:\n '\\\\mathbin': '\\\\dotsb',\n // Symbols whose definition starts with \\mathrel:\n '\\\\mathrel': '\\\\dotsb',\n '\\\\relbar': '\\\\dotsb',\n '\\\\Relbar': '\\\\dotsb',\n '\\\\xrightarrow': '\\\\dotsb',\n '\\\\xleftarrow': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSI:\n '\\\\DOTSI': '\\\\dotsi',\n '\\\\int': '\\\\dotsi',\n '\\\\oint': '\\\\dotsi',\n '\\\\iint': '\\\\dotsi',\n '\\\\iiint': '\\\\dotsi',\n '\\\\iiiint': '\\\\dotsi',\n '\\\\idotsint': '\\\\dotsi',\n // Symbols whose definition starts with \\DOTSX:\n '\\\\DOTSX': '\\\\dotsx'\n};\ndefineMacro(\"\\\\dots\", function (context) {\n // TODO: If used in text mode, should expand to \\textellipsis.\n // However, in KaTeX, \\textellipsis and \\ldots behave the same\n // (in text mode), and it's unlikely we'd see any of the math commands\n // that affect the behavior of \\dots when in text mode. So fine for now\n // (until we support \\ifmmode ... \\else ... \\fi).\n let thedots = '\\\\dotso';\n const next = context.expandAfterFuture().text;\n\n if (next in dotsByToken) {\n thedots = dotsByToken[next];\n } else if (next.slice(0, 4) === '\\\\not') {\n thedots = '\\\\dotsb';\n } else if (next in src_symbols.math) {\n if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) {\n thedots = '\\\\dotsb';\n }\n }\n\n return thedots;\n});\nconst spaceAfterDots = {\n // \\rightdelim@ checks for the following:\n ')': true,\n ']': true,\n '\\\\rbrack': true,\n '\\\\}': true,\n '\\\\rbrace': true,\n '\\\\rangle': true,\n '\\\\rceil': true,\n '\\\\rfloor': true,\n '\\\\rgroup': true,\n '\\\\rmoustache': true,\n '\\\\right': true,\n '\\\\bigr': true,\n '\\\\biggr': true,\n '\\\\Bigr': true,\n '\\\\Biggr': true,\n // \\extra@ also tests for the following:\n '$': true,\n // \\extrap@ checks for the following:\n ';': true,\n '.': true,\n ',': true\n};\ndefineMacro(\"\\\\dotso\", function (context) {\n const next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\dotsc\", function (context) {\n const next = context.future().text; // \\dotsc uses \\extra@ but not \\extrap@, instead specially checking for\n // ';' and '.', but doesn't check for ','.\n\n if (next in spaceAfterDots && next !== ',') {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\cdots\", function (context) {\n const next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\@cdots\\\\,\";\n } else {\n return \"\\\\@cdots\";\n }\n});\ndefineMacro(\"\\\\dotsb\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsm\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsi\", \"\\\\!\\\\cdots\"); // amsmath doesn't actually define \\dotsx, but \\dots followed by a macro\n// starting with \\DOTSX implies \\dotso, and then \\extra@ detects this case\n// and forces the added `\\,`.\n\ndefineMacro(\"\\\\dotsx\", \"\\\\ldots\\\\,\"); // \\let\\DOTSI\\relax\n// \\let\\DOTSB\\relax\n// \\let\\DOTSX\\relax\n\ndefineMacro(\"\\\\DOTSI\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSB\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSX\", \"\\\\relax\"); // Spacing, based on amsmath.sty's override of LaTeX defaults\n// \\DeclareRobustCommand{\\tmspace}[3]{%\n// \\ifmmode\\mskip#1#2\\else\\kern#1#3\\fi\\relax}\n\ndefineMacro(\"\\\\tmspace\", \"\\\\TextOrMath{\\\\kern#1#3}{\\\\mskip#1#2}\\\\relax\"); // \\renewcommand{\\,}{\\tmspace+\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\,\", \"\\\\tmspace+{3mu}{.1667em}\"); // \\let\\thinspace\\,\n\ndefineMacro(\"\\\\thinspace\", \"\\\\,\"); // \\def\\>{\\mskip\\medmuskip}\n// \\renewcommand{\\:}{\\tmspace+\\medmuskip{.2222em}}\n// TODO: \\> and math mode of \\: should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\>\", \"\\\\mskip{4mu}\");\ndefineMacro(\"\\\\:\", \"\\\\tmspace+{4mu}{.2222em}\"); // \\let\\medspace\\:\n\ndefineMacro(\"\\\\medspace\", \"\\\\:\"); // \\renewcommand{\\;}{\\tmspace+\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip = 5mu plus 5mu\n\ndefineMacro(\"\\\\;\", \"\\\\tmspace+{5mu}{.2777em}\"); // \\let\\thickspace\\;\n\ndefineMacro(\"\\\\thickspace\", \"\\\\;\"); // \\renewcommand{\\!}{\\tmspace-\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\!\", \"\\\\tmspace-{3mu}{.1667em}\"); // \\let\\negthinspace\\!\n\ndefineMacro(\"\\\\negthinspace\", \"\\\\!\"); // \\newcommand{\\negmedspace}{\\tmspace-\\medmuskip{.2222em}}\n// TODO: math mode should use \\medmuskip\n\ndefineMacro(\"\\\\negmedspace\", \"\\\\tmspace-{4mu}{.2222em}\"); // \\newcommand{\\negthickspace}{\\tmspace-\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip\n\ndefineMacro(\"\\\\negthickspace\", \"\\\\tmspace-{5mu}{.277em}\"); // \\def\\enspace{\\kern.5em }\n\ndefineMacro(\"\\\\enspace\", \"\\\\kern.5em \"); // \\def\\enskip{\\hskip.5em\\relax}\n\ndefineMacro(\"\\\\enskip\", \"\\\\hskip.5em\\\\relax\"); // \\def\\quad{\\hskip1em\\relax}\n\ndefineMacro(\"\\\\quad\", \"\\\\hskip1em\\\\relax\"); // \\def\\qquad{\\hskip2em\\relax}\n\ndefineMacro(\"\\\\qquad\", \"\\\\hskip2em\\\\relax\"); // \\tag@in@display form of \\tag\n\ndefineMacro(\"\\\\tag\", \"\\\\@ifstar\\\\tag@literal\\\\tag@paren\");\ndefineMacro(\"\\\\tag@paren\", \"\\\\tag@literal{({#1})}\");\ndefineMacro(\"\\\\tag@literal\", context => {\n if (context.macros.get(\"\\\\df@tag\")) {\n throw new src_ParseError(\"Multiple \\\\tag\");\n }\n\n return \"\\\\gdef\\\\df@tag{\\\\text{#1}}\";\n}); // \\renewcommand{\\bmod}{\\nonscript\\mskip-\\medmuskip\\mkern5mu\\mathbin\n// {\\operator@font mod}\\penalty900\n// \\mkern5mu\\nonscript\\mskip-\\medmuskip}\n// \\newcommand{\\pod}[1]{\\allowbreak\n// \\if@display\\mkern18mu\\else\\mkern8mu\\fi(#1)}\n// \\renewcommand{\\pmod}[1]{\\pod{{\\operator@font mod}\\mkern6mu#1}}\n// \\newcommand{\\mod}[1]{\\allowbreak\\if@display\\mkern18mu\n// \\else\\mkern12mu\\fi{\\operator@font mod}\\,\\,#1}\n// TODO: math mode should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\bmod\", \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\" + \"\\\\mathbin{\\\\rm mod}\" + \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\");\ndefineMacro(\"\\\\pod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern8mu}{\\\\mkern8mu}{\\\\mkern8mu}(#1)\");\ndefineMacro(\"\\\\pmod\", \"\\\\pod{{\\\\rm mod}\\\\mkern6mu#1}\");\ndefineMacro(\"\\\\mod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern12mu}{\\\\mkern12mu}{\\\\mkern12mu}\" + \"{\\\\rm mod}\\\\,\\\\,#1\"); //////////////////////////////////////////////////////////////////////\n// LaTeX source2e\n// \\expandafter\\let\\expandafter\\@normalcr\n// \\csname\\expandafter\\@gobble\\string\\\\ \\endcsname\n// \\DeclareRobustCommand\\newline{\\@normalcr\\relax}\n\ndefineMacro(\"\\\\newline\", \"\\\\\\\\\\\\relax\"); // \\def\\TeX{T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\@}\n// TODO: Doesn't normally work in math mode because \\@ fails. KaTeX doesn't\n// support \\@ yet, so that's omitted, and we add \\text so that the result\n// doesn't look funny in math mode.\n\ndefineMacro(\"\\\\TeX\", \"\\\\textrm{\\\\html@mathml{\" + \"T\\\\kern-.1667em\\\\raisebox{-.5ex}{E}\\\\kern-.125emX\" + \"}{TeX}}\"); // \\DeclareRobustCommand{\\LaTeX}{L\\kern-.36em%\n// {\\sbox\\z@ T%\n// \\vbox to\\ht\\z@{\\hbox{\\check@mathfonts\n// \\fontsize\\sf@size\\z@\n// \\math@fontsfalse\\selectfont\n// A}%\n// \\vss}%\n// }%\n// \\kern-.15em%\n// \\TeX}\n// This code aligns the top of the A with the T (from the perspective of TeX's\n// boxes, though visually the A appears to extend above slightly).\n// We compute the corresponding \\raisebox when A is rendered in \\normalsize\n// \\scriptstyle, which has a scale factor of 0.7 (see Options.js).\n\nconst latexRaiseA = makeEm(fontMetricsData['Main-Regular'][\"T\".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular'][\"A\".charCodeAt(0)][1]);\ndefineMacro(\"\\\\LaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"L\\\\kern-.36em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{LaTeX}}\"); // New KaTeX logo based on tweaking LaTeX logo\n\ndefineMacro(\"\\\\KaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"K\\\\kern-.17em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{KaTeX}}\"); // \\DeclareRobustCommand\\hspace{\\@ifstar\\@hspacer\\@hspace}\n// \\def\\@hspace#1{\\hskip #1\\relax}\n// \\def\\@hspacer#1{\\vrule \\@width\\z@\\nobreak\n// \\hskip #1\\hskip \\z@skip}\n\ndefineMacro(\"\\\\hspace\", \"\\\\@ifstar\\\\@hspacer\\\\@hspace\");\ndefineMacro(\"\\\\@hspace\", \"\\\\hskip #1\\\\relax\");\ndefineMacro(\"\\\\@hspacer\", \"\\\\rule{0pt}{0pt}\\\\hskip #1\\\\relax\"); //////////////////////////////////////////////////////////////////////\n// mathtools.sty\n//\\providecommand\\ordinarycolon{:}\n\ndefineMacro(\"\\\\ordinarycolon\", \":\"); //\\def\\vcentcolon{\\mathrel{\\mathop\\ordinarycolon}}\n//TODO(edemaine): Not yet centered. Fix via \\raisebox or #726\n\ndefineMacro(\"\\\\vcentcolon\", \"\\\\mathrel{\\\\mathop\\\\ordinarycolon}\"); // \\providecommand*\\dblcolon{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}\n\ndefineMacro(\"\\\\dblcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-.9mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2237}}\"); // \\providecommand*\\coloneqq{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2254}}\"); // ≔\n// \\providecommand*\\Coloneqq{\\dblcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\Coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"3d}}\"); // \\providecommand*\\coloneq{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2212}}\"); // \\providecommand*\\Coloneq{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\Coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2212}}\"); // \\providecommand*\\eqqcolon{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2255}}\"); // ≕\n// \\providecommand*\\Eqqcolon{=\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"3d\\\\char\\\"2237}}\"); // \\providecommand*\\eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2239}}\"); // \\providecommand*\\Eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"2212\\\\char\\\"2237}}\"); // \\providecommand*\\colonapprox{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2248}}\"); // \\providecommand*\\Colonapprox{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\Colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2248}}\"); // \\providecommand*\\colonsim{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"223c}}\"); // \\providecommand*\\Colonsim{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\Colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"223c}}\"); // Some Unicode characters are implemented with macros to mathtools functions.\n\ndefineMacro(\"\\u2237\", \"\\\\dblcolon\"); // ::\n\ndefineMacro(\"\\u2239\", \"\\\\eqcolon\"); // -:\n\ndefineMacro(\"\\u2254\", \"\\\\coloneqq\"); // :=\n\ndefineMacro(\"\\u2255\", \"\\\\eqqcolon\"); // =:\n\ndefineMacro(\"\\u2A74\", \"\\\\Coloneqq\"); // ::=\n//////////////////////////////////////////////////////////////////////\n// colonequals.sty\n// Alternate names for mathtools's macros:\n\ndefineMacro(\"\\\\ratio\", \"\\\\vcentcolon\");\ndefineMacro(\"\\\\coloncolon\", \"\\\\dblcolon\");\ndefineMacro(\"\\\\colonequals\", \"\\\\coloneqq\");\ndefineMacro(\"\\\\coloncolonequals\", \"\\\\Coloneqq\");\ndefineMacro(\"\\\\equalscolon\", \"\\\\eqqcolon\");\ndefineMacro(\"\\\\equalscoloncolon\", \"\\\\Eqqcolon\");\ndefineMacro(\"\\\\colonminus\", \"\\\\coloneq\");\ndefineMacro(\"\\\\coloncolonminus\", \"\\\\Coloneq\");\ndefineMacro(\"\\\\minuscolon\", \"\\\\eqcolon\");\ndefineMacro(\"\\\\minuscoloncolon\", \"\\\\Eqcolon\"); // \\colonapprox name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonapprox\", \"\\\\Colonapprox\"); // \\colonsim name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonsim\", \"\\\\Colonsim\"); // Additional macros, implemented by analogy with mathtools definitions:\n\ndefineMacro(\"\\\\simcolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\simcoloncolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\");\ndefineMacro(\"\\\\approxcolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\approxcoloncolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\"); // Present in newtxmath, pxfonts and txfonts\n\ndefineMacro(\"\\\\notni\", \"\\\\html@mathml{\\\\not\\\\ni}{\\\\mathrel{\\\\char`\\u220C}}\");\ndefineMacro(\"\\\\limsup\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,sup}\");\ndefineMacro(\"\\\\liminf\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,inf}\"); //////////////////////////////////////////////////////////////////////\n// From amsopn.sty\n\ndefineMacro(\"\\\\injlim\", \"\\\\DOTSB\\\\operatorname*{inj\\\\,lim}\");\ndefineMacro(\"\\\\projlim\", \"\\\\DOTSB\\\\operatorname*{proj\\\\,lim}\");\ndefineMacro(\"\\\\varlimsup\", \"\\\\DOTSB\\\\operatorname*{\\\\overline{lim}}\");\ndefineMacro(\"\\\\varliminf\", \"\\\\DOTSB\\\\operatorname*{\\\\underline{lim}}\");\ndefineMacro(\"\\\\varinjlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underrightarrow{lim}}\");\ndefineMacro(\"\\\\varprojlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underleftarrow{lim}}\"); //////////////////////////////////////////////////////////////////////\n// MathML alternates for KaTeX glyphs in the Unicode private area\n\ndefineMacro(\"\\\\gvertneqq\", \"\\\\html@mathml{\\\\@gvertneqq}{\\u2269}\");\ndefineMacro(\"\\\\lvertneqq\", \"\\\\html@mathml{\\\\@lvertneqq}{\\u2268}\");\ndefineMacro(\"\\\\ngeqq\", \"\\\\html@mathml{\\\\@ngeqq}{\\u2271}\");\ndefineMacro(\"\\\\ngeqslant\", \"\\\\html@mathml{\\\\@ngeqslant}{\\u2271}\");\ndefineMacro(\"\\\\nleqq\", \"\\\\html@mathml{\\\\@nleqq}{\\u2270}\");\ndefineMacro(\"\\\\nleqslant\", \"\\\\html@mathml{\\\\@nleqslant}{\\u2270}\");\ndefineMacro(\"\\\\nshortmid\", \"\\\\html@mathml{\\\\@nshortmid}{∤}\");\ndefineMacro(\"\\\\nshortparallel\", \"\\\\html@mathml{\\\\@nshortparallel}{∦}\");\ndefineMacro(\"\\\\nsubseteqq\", \"\\\\html@mathml{\\\\@nsubseteqq}{\\u2288}\");\ndefineMacro(\"\\\\nsupseteqq\", \"\\\\html@mathml{\\\\@nsupseteqq}{\\u2289}\");\ndefineMacro(\"\\\\varsubsetneq\", \"\\\\html@mathml{\\\\@varsubsetneq}{⊊}\");\ndefineMacro(\"\\\\varsubsetneqq\", \"\\\\html@mathml{\\\\@varsubsetneqq}{⫋}\");\ndefineMacro(\"\\\\varsupsetneq\", \"\\\\html@mathml{\\\\@varsupsetneq}{⊋}\");\ndefineMacro(\"\\\\varsupsetneqq\", \"\\\\html@mathml{\\\\@varsupsetneqq}{⫌}\");\ndefineMacro(\"\\\\imath\", \"\\\\html@mathml{\\\\@imath}{\\u0131}\");\ndefineMacro(\"\\\\jmath\", \"\\\\html@mathml{\\\\@jmath}{\\u0237}\"); //////////////////////////////////////////////////////////////////////\n// stmaryrd and semantic\n// The stmaryrd and semantic packages render the next four items by calling a\n// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.\n\ndefineMacro(\"\\\\llbracket\", \"\\\\html@mathml{\" + \"\\\\mathopen{[\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u27e6}}\");\ndefineMacro(\"\\\\rrbracket\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu]}}\" + \"{\\\\mathclose{\\\\char`\\u27e7}}\");\ndefineMacro(\"\\u27e6\", \"\\\\llbracket\"); // blackboard bold [\n\ndefineMacro(\"\\u27e7\", \"\\\\rrbracket\"); // blackboard bold ]\n\ndefineMacro(\"\\\\lBrace\", \"\\\\html@mathml{\" + \"\\\\mathopen{\\\\{\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u2983}}\");\ndefineMacro(\"\\\\rBrace\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu\\\\}}}\" + \"{\\\\mathclose{\\\\char`\\u2984}}\");\ndefineMacro(\"\\u2983\", \"\\\\lBrace\"); // blackboard bold {\n\ndefineMacro(\"\\u2984\", \"\\\\rBrace\"); // blackboard bold }\n// TODO: Create variable sized versions of the last two items. I believe that\n// will require new font glyphs.\n// The stmaryrd function `\\minuso` provides a \"Plimsoll\" symbol that\n// superimposes the characters \\circ and \\mathminus. Used in chemistry.\n\ndefineMacro(\"\\\\minuso\", \"\\\\mathbin{\\\\html@mathml{\" + \"{\\\\mathrlap{\\\\mathchoice{\\\\kern{0.145em}}{\\\\kern{0.145em}}\" + \"{\\\\kern{0.1015em}}{\\\\kern{0.0725em}}\\\\circ}{-}}}\" + \"{\\\\char`⦵}}\");\ndefineMacro(\"⦵\", \"\\\\minuso\"); //////////////////////////////////////////////////////////////////////\n// texvc.sty\n// The texvc package contains macros available in mediawiki pages.\n// We omit the functions deprecated at\n// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax\n// We also omit texvc's \\O, which conflicts with \\text{\\O}\n\ndefineMacro(\"\\\\darr\", \"\\\\downarrow\");\ndefineMacro(\"\\\\dArr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\Darr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\lang\", \"\\\\langle\");\ndefineMacro(\"\\\\rang\", \"\\\\rangle\");\ndefineMacro(\"\\\\uarr\", \"\\\\uparrow\");\ndefineMacro(\"\\\\uArr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\Uarr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\N\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\R\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Z\", \"\\\\mathbb{Z}\");\ndefineMacro(\"\\\\alef\", \"\\\\aleph\");\ndefineMacro(\"\\\\alefsym\", \"\\\\aleph\");\ndefineMacro(\"\\\\Alpha\", \"\\\\mathrm{A}\");\ndefineMacro(\"\\\\Beta\", \"\\\\mathrm{B}\");\ndefineMacro(\"\\\\bull\", \"\\\\bullet\");\ndefineMacro(\"\\\\Chi\", \"\\\\mathrm{X}\");\ndefineMacro(\"\\\\clubs\", \"\\\\clubsuit\");\ndefineMacro(\"\\\\cnums\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Complex\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Dagger\", \"\\\\ddagger\");\ndefineMacro(\"\\\\diamonds\", \"\\\\diamondsuit\");\ndefineMacro(\"\\\\empty\", \"\\\\emptyset\");\ndefineMacro(\"\\\\Epsilon\", \"\\\\mathrm{E}\");\ndefineMacro(\"\\\\Eta\", \"\\\\mathrm{H}\");\ndefineMacro(\"\\\\exist\", \"\\\\exists\");\ndefineMacro(\"\\\\harr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\hArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Harr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\hearts\", \"\\\\heartsuit\");\ndefineMacro(\"\\\\image\", \"\\\\Im\");\ndefineMacro(\"\\\\infin\", \"\\\\infty\");\ndefineMacro(\"\\\\Iota\", \"\\\\mathrm{I}\");\ndefineMacro(\"\\\\isin\", \"\\\\in\");\ndefineMacro(\"\\\\Kappa\", \"\\\\mathrm{K}\");\ndefineMacro(\"\\\\larr\", \"\\\\leftarrow\");\ndefineMacro(\"\\\\lArr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\Larr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\lrarr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\lrArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Lrarr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Mu\", \"\\\\mathrm{M}\");\ndefineMacro(\"\\\\natnums\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\Nu\", \"\\\\mathrm{N}\");\ndefineMacro(\"\\\\Omicron\", \"\\\\mathrm{O}\");\ndefineMacro(\"\\\\plusmn\", \"\\\\pm\");\ndefineMacro(\"\\\\rarr\", \"\\\\rightarrow\");\ndefineMacro(\"\\\\rArr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\Rarr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\real\", \"\\\\Re\");\ndefineMacro(\"\\\\reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Rho\", \"\\\\mathrm{P}\");\ndefineMacro(\"\\\\sdot\", \"\\\\cdot\");\ndefineMacro(\"\\\\sect\", \"\\\\S\");\ndefineMacro(\"\\\\spades\", \"\\\\spadesuit\");\ndefineMacro(\"\\\\sub\", \"\\\\subset\");\ndefineMacro(\"\\\\sube\", \"\\\\subseteq\");\ndefineMacro(\"\\\\supe\", \"\\\\supseteq\");\ndefineMacro(\"\\\\Tau\", \"\\\\mathrm{T}\");\ndefineMacro(\"\\\\thetasym\", \"\\\\vartheta\"); // TODO: defineMacro(\"\\\\varcoppa\", \"\\\\\\mbox{\\\\coppa}\");\n\ndefineMacro(\"\\\\weierp\", \"\\\\wp\");\ndefineMacro(\"\\\\Zeta\", \"\\\\mathrm{Z}\"); //////////////////////////////////////////////////////////////////////\n// statmath.sty\n// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf\n\ndefineMacro(\"\\\\argmin\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,min}\");\ndefineMacro(\"\\\\argmax\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,max}\");\ndefineMacro(\"\\\\plim\", \"\\\\DOTSB\\\\mathop{\\\\operatorname{plim}}\\\\limits\"); //////////////////////////////////////////////////////////////////////\n// braket.sty\n// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf\n\ndefineMacro(\"\\\\bra\", \"\\\\mathinner{\\\\langle{#1}|}\");\ndefineMacro(\"\\\\ket\", \"\\\\mathinner{|{#1}\\\\rangle}\");\ndefineMacro(\"\\\\braket\", \"\\\\mathinner{\\\\langle{#1}\\\\rangle}\");\ndefineMacro(\"\\\\Bra\", \"\\\\left\\\\langle#1\\\\right|\");\ndefineMacro(\"\\\\Ket\", \"\\\\left|#1\\\\right\\\\rangle\");\n\nconst braketHelper = one => context => {\n const left = context.consumeArg().tokens;\n const middle = context.consumeArg().tokens;\n const middleDouble = context.consumeArg().tokens;\n const right = context.consumeArg().tokens;\n const oldMiddle = context.macros.get(\"|\");\n const oldMiddleDouble = context.macros.get(\"\\\\|\");\n context.macros.beginGroup();\n\n const midMacro = double => context => {\n if (one) {\n // Only modify the first instance of | or \\|\n context.macros.set(\"|\", oldMiddle);\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", oldMiddleDouble);\n }\n }\n\n let doubled = double;\n\n if (!double && middleDouble.length) {\n // Mimic \\@ifnextchar\n const nextToken = context.future();\n\n if (nextToken.text === \"|\") {\n context.popToken();\n doubled = true;\n }\n }\n\n return {\n tokens: doubled ? middleDouble : middle,\n numArgs: 0\n };\n };\n\n context.macros.set(\"|\", midMacro(false));\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", midMacro(true));\n }\n\n const arg = context.consumeArg().tokens;\n const expanded = context.expandTokens([...right, ...arg, ...left // reversed\n ]);\n context.macros.endGroup();\n return {\n tokens: expanded.reverse(),\n numArgs: 0\n };\n};\n\ndefineMacro(\"\\\\bra@ket\", braketHelper(false));\ndefineMacro(\"\\\\bra@set\", braketHelper(true));\ndefineMacro(\"\\\\Braket\", \"\\\\bra@ket{\\\\left\\\\langle}\" + \"{\\\\,\\\\middle\\\\vert\\\\,}{\\\\,\\\\middle\\\\vert\\\\,}{\\\\right\\\\rangle}\");\ndefineMacro(\"\\\\Set\", \"\\\\bra@set{\\\\left\\\\{\\\\:}\" + \"{\\\\;\\\\middle\\\\vert\\\\;}{\\\\;\\\\middle\\\\Vert\\\\;}{\\\\:\\\\right\\\\}}\");\ndefineMacro(\"\\\\set\", \"\\\\bra@set{\\\\{\\\\,}{\\\\mid}{}{\\\\,\\\\}}\"); // has no support for special || or \\|\n//////////////////////////////////////////////////////////////////////\n// actuarialangle.dtx\n\ndefineMacro(\"\\\\angln\", \"{\\\\angl n}\"); // Custom Khan Academy colors, should be moved to an optional package\n\ndefineMacro(\"\\\\blue\", \"\\\\textcolor{##6495ed}{#1}\");\ndefineMacro(\"\\\\orange\", \"\\\\textcolor{##ffa500}{#1}\");\ndefineMacro(\"\\\\pink\", \"\\\\textcolor{##ff00af}{#1}\");\ndefineMacro(\"\\\\red\", \"\\\\textcolor{##df0030}{#1}\");\ndefineMacro(\"\\\\green\", \"\\\\textcolor{##28ae7b}{#1}\");\ndefineMacro(\"\\\\gray\", \"\\\\textcolor{gray}{#1}\");\ndefineMacro(\"\\\\purple\", \"\\\\textcolor{##9d38bd}{#1}\");\ndefineMacro(\"\\\\blueA\", \"\\\\textcolor{##ccfaff}{#1}\");\ndefineMacro(\"\\\\blueB\", \"\\\\textcolor{##80f6ff}{#1}\");\ndefineMacro(\"\\\\blueC\", \"\\\\textcolor{##63d9ea}{#1}\");\ndefineMacro(\"\\\\blueD\", \"\\\\textcolor{##11accd}{#1}\");\ndefineMacro(\"\\\\blueE\", \"\\\\textcolor{##0c7f99}{#1}\");\ndefineMacro(\"\\\\tealA\", \"\\\\textcolor{##94fff5}{#1}\");\ndefineMacro(\"\\\\tealB\", \"\\\\textcolor{##26edd5}{#1}\");\ndefineMacro(\"\\\\tealC\", \"\\\\textcolor{##01d1c1}{#1}\");\ndefineMacro(\"\\\\tealD\", \"\\\\textcolor{##01a995}{#1}\");\ndefineMacro(\"\\\\tealE\", \"\\\\textcolor{##208170}{#1}\");\ndefineMacro(\"\\\\greenA\", \"\\\\textcolor{##b6ffb0}{#1}\");\ndefineMacro(\"\\\\greenB\", \"\\\\textcolor{##8af281}{#1}\");\ndefineMacro(\"\\\\greenC\", \"\\\\textcolor{##74cf70}{#1}\");\ndefineMacro(\"\\\\greenD\", \"\\\\textcolor{##1fab54}{#1}\");\ndefineMacro(\"\\\\greenE\", \"\\\\textcolor{##0d923f}{#1}\");\ndefineMacro(\"\\\\goldA\", \"\\\\textcolor{##ffd0a9}{#1}\");\ndefineMacro(\"\\\\goldB\", \"\\\\textcolor{##ffbb71}{#1}\");\ndefineMacro(\"\\\\goldC\", \"\\\\textcolor{##ff9c39}{#1}\");\ndefineMacro(\"\\\\goldD\", \"\\\\textcolor{##e07d10}{#1}\");\ndefineMacro(\"\\\\goldE\", \"\\\\textcolor{##a75a05}{#1}\");\ndefineMacro(\"\\\\redA\", \"\\\\textcolor{##fca9a9}{#1}\");\ndefineMacro(\"\\\\redB\", \"\\\\textcolor{##ff8482}{#1}\");\ndefineMacro(\"\\\\redC\", \"\\\\textcolor{##f9685d}{#1}\");\ndefineMacro(\"\\\\redD\", \"\\\\textcolor{##e84d39}{#1}\");\ndefineMacro(\"\\\\redE\", \"\\\\textcolor{##bc2612}{#1}\");\ndefineMacro(\"\\\\maroonA\", \"\\\\textcolor{##ffbde0}{#1}\");\ndefineMacro(\"\\\\maroonB\", \"\\\\textcolor{##ff92c6}{#1}\");\ndefineMacro(\"\\\\maroonC\", \"\\\\textcolor{##ed5fa6}{#1}\");\ndefineMacro(\"\\\\maroonD\", \"\\\\textcolor{##ca337c}{#1}\");\ndefineMacro(\"\\\\maroonE\", \"\\\\textcolor{##9e034e}{#1}\");\ndefineMacro(\"\\\\purpleA\", \"\\\\textcolor{##ddd7ff}{#1}\");\ndefineMacro(\"\\\\purpleB\", \"\\\\textcolor{##c6b9fc}{#1}\");\ndefineMacro(\"\\\\purpleC\", \"\\\\textcolor{##aa87ff}{#1}\");\ndefineMacro(\"\\\\purpleD\", \"\\\\textcolor{##7854ab}{#1}\");\ndefineMacro(\"\\\\purpleE\", \"\\\\textcolor{##543b78}{#1}\");\ndefineMacro(\"\\\\mintA\", \"\\\\textcolor{##f5f9e8}{#1}\");\ndefineMacro(\"\\\\mintB\", \"\\\\textcolor{##edf2df}{#1}\");\ndefineMacro(\"\\\\mintC\", \"\\\\textcolor{##e0e5cc}{#1}\");\ndefineMacro(\"\\\\grayA\", \"\\\\textcolor{##f6f7f7}{#1}\");\ndefineMacro(\"\\\\grayB\", \"\\\\textcolor{##f0f1f2}{#1}\");\ndefineMacro(\"\\\\grayC\", \"\\\\textcolor{##e3e5e6}{#1}\");\ndefineMacro(\"\\\\grayD\", \"\\\\textcolor{##d6d8da}{#1}\");\ndefineMacro(\"\\\\grayE\", \"\\\\textcolor{##babec2}{#1}\");\ndefineMacro(\"\\\\grayF\", \"\\\\textcolor{##888d93}{#1}\");\ndefineMacro(\"\\\\grayG\", \"\\\\textcolor{##626569}{#1}\");\ndefineMacro(\"\\\\grayH\", \"\\\\textcolor{##3b3e40}{#1}\");\ndefineMacro(\"\\\\grayI\", \"\\\\textcolor{##21242c}{#1}\");\ndefineMacro(\"\\\\kaBlue\", \"\\\\textcolor{##314453}{#1}\");\ndefineMacro(\"\\\\kaGreen\", \"\\\\textcolor{##71B307}{#1}\");\n;// CONCATENATED MODULE: ./src/MacroExpander.js\n/**\n * This file contains the “gullet” where macros are expanded\n * until only non-macro tokens remain.\n */\n\n\n\n\n\n\n\n// List of commands that act like macros but aren't defined as a macro,\n// function, or symbol. Used in `isDefined`.\nconst implicitCommands = {\n \"^\": true,\n // Parser.js\n \"_\": true,\n // Parser.js\n \"\\\\limits\": true,\n // Parser.js\n \"\\\\nolimits\": true // Parser.js\n\n};\nclass MacroExpander {\n constructor(input, settings, mode) {\n this.settings = void 0;\n this.expansionCount = void 0;\n this.lexer = void 0;\n this.macros = void 0;\n this.stack = void 0;\n this.mode = void 0;\n this.settings = settings;\n this.expansionCount = 0;\n this.feed(input); // Make new global namespace\n\n this.macros = new Namespace(src_macros, settings.macros);\n this.mode = mode;\n this.stack = []; // contains tokens in REVERSE order\n }\n /**\n * Feed a new input string to the same MacroExpander\n * (with existing macros etc.).\n */\n\n\n feed(input) {\n this.lexer = new Lexer(input, this.settings);\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n }\n /**\n * Start a new group nesting within all namespaces.\n */\n\n\n beginGroup() {\n this.macros.beginGroup();\n }\n /**\n * End current group nesting within all namespaces.\n */\n\n\n endGroup() {\n this.macros.endGroup();\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n this.macros.endGroups();\n }\n /**\n * Returns the topmost token on the stack, without expanding it.\n * Similar in behavior to TeX's `\\futurelet`.\n */\n\n\n future() {\n if (this.stack.length === 0) {\n this.pushToken(this.lexer.lex());\n }\n\n return this.stack[this.stack.length - 1];\n }\n /**\n * Remove and return the next unexpanded token.\n */\n\n\n popToken() {\n this.future(); // ensure non-empty stack\n\n return this.stack.pop();\n }\n /**\n * Add a given token to the token stack. In particular, this get be used\n * to put back a token returned from one of the other methods.\n */\n\n\n pushToken(token) {\n this.stack.push(token);\n }\n /**\n * Append an array of tokens to the token stack.\n */\n\n\n pushTokens(tokens) {\n this.stack.push(...tokens);\n }\n /**\n * Find an macro argument without expanding tokens and append the array of\n * tokens to the token stack. Uses Token as a container for the result.\n */\n\n\n scanArgument(isOptional) {\n let start;\n let end;\n let tokens;\n\n if (isOptional) {\n this.consumeSpaces(); // \\@ifnextchar gobbles any space following it\n\n if (this.future().text !== \"[\") {\n return null;\n }\n\n start = this.popToken(); // don't include [ in tokens\n\n ({\n tokens,\n end\n } = this.consumeArg([\"]\"]));\n } else {\n ({\n tokens,\n start,\n end\n } = this.consumeArg());\n } // indicate the end of an argument\n\n\n this.pushToken(new Token(\"EOF\", end.loc));\n this.pushTokens(tokens);\n return start.range(end, \"\");\n }\n /**\n * Consume all following space tokens, without expansion.\n */\n\n\n consumeSpaces() {\n for (;;) {\n const token = this.future();\n\n if (token.text === \" \") {\n this.stack.pop();\n } else {\n break;\n }\n }\n }\n /**\n * Consume an argument from the token stream, and return the resulting array\n * of tokens and start/end token.\n */\n\n\n consumeArg(delims) {\n // The argument for a delimited parameter is the shortest (possibly\n // empty) sequence of tokens with properly nested {...} groups that is\n // followed ... by this particular list of non-parameter tokens.\n // The argument for an undelimited parameter is the next nonblank\n // token, unless that token is ‘{’, when the argument will be the\n // entire {...} group that follows.\n const tokens = [];\n const isDelimited = delims && delims.length > 0;\n\n if (!isDelimited) {\n // Ignore spaces between arguments. As the TeXbook says:\n // \"After you have said ‘\\def\\row#1#2{...}’, you are allowed to\n // put spaces between the arguments (e.g., ‘\\row x n’), because\n // TeX doesn’t use single spaces as undelimited arguments.\"\n this.consumeSpaces();\n }\n\n const start = this.future();\n let tok;\n let depth = 0;\n let match = 0;\n\n do {\n tok = this.popToken();\n tokens.push(tok);\n\n if (tok.text === \"{\") {\n ++depth;\n } else if (tok.text === \"}\") {\n --depth;\n\n if (depth === -1) {\n throw new src_ParseError(\"Extra }\", tok);\n }\n } else if (tok.text === \"EOF\") {\n throw new src_ParseError(\"Unexpected end of input in a macro argument\" + \", expected '\" + (delims && isDelimited ? delims[match] : \"}\") + \"'\", tok);\n }\n\n if (delims && isDelimited) {\n if ((depth === 0 || depth === 1 && delims[match] === \"{\") && tok.text === delims[match]) {\n ++match;\n\n if (match === delims.length) {\n // don't include delims in tokens\n tokens.splice(-match, match);\n break;\n }\n } else {\n match = 0;\n }\n }\n } while (depth !== 0 || isDelimited); // If the argument found ... has the form ‘{}’,\n // ... the outermost braces enclosing the argument are removed\n\n\n if (start.text === \"{\" && tokens[tokens.length - 1].text === \"}\") {\n tokens.pop();\n tokens.shift();\n }\n\n tokens.reverse(); // to fit in with stack order\n\n return {\n tokens,\n start,\n end: tok\n };\n }\n /**\n * Consume the specified number of (delimited) arguments from the token\n * stream and return the resulting array of arguments.\n */\n\n\n consumeArgs(numArgs, delimiters) {\n if (delimiters) {\n if (delimiters.length !== numArgs + 1) {\n throw new src_ParseError(\"The length of delimiters doesn't match the number of args!\");\n }\n\n const delims = delimiters[0];\n\n for (let i = 0; i < delims.length; i++) {\n const tok = this.popToken();\n\n if (delims[i] !== tok.text) {\n throw new src_ParseError(\"Use of the macro doesn't match its definition\", tok);\n }\n }\n }\n\n const args = [];\n\n for (let i = 0; i < numArgs; i++) {\n args.push(this.consumeArg(delimiters && delimiters[i + 1]).tokens);\n }\n\n return args;\n }\n /**\n * Increment `expansionCount` by the specified amount.\n * Throw an error if it exceeds `maxExpand`.\n */\n\n\n countExpansion(amount) {\n this.expansionCount += amount;\n\n if (this.expansionCount > this.settings.maxExpand) {\n throw new src_ParseError(\"Too many expansions: infinite loop or \" + \"need to increase maxExpand setting\");\n }\n }\n /**\n * Expand the next token only once if possible.\n *\n * If the token is expanded, the resulting tokens will be pushed onto\n * the stack in reverse order, and the number of such tokens will be\n * returned. This number might be zero or positive.\n *\n * If not, the return value is `false`, and the next token remains at the\n * top of the stack.\n *\n * In either case, the next token will be on the top of the stack,\n * or the stack will be empty (in case of empty expansion\n * and no other tokens).\n *\n * Used to implement `expandAfterFuture` and `expandNextToken`.\n *\n * If expandableOnly, only expandable tokens are expanded and\n * an undefined control sequence results in an error.\n */\n\n\n expandOnce(expandableOnly) {\n const topToken = this.popToken();\n const name = topToken.text;\n const expansion = !topToken.noexpand ? this._getExpansion(name) : null;\n\n if (expansion == null || expandableOnly && expansion.unexpandable) {\n if (expandableOnly && expansion == null && name[0] === \"\\\\\" && !this.isDefined(name)) {\n throw new src_ParseError(\"Undefined control sequence: \" + name);\n }\n\n this.pushToken(topToken);\n return false;\n }\n\n this.countExpansion(1);\n let tokens = expansion.tokens;\n const args = this.consumeArgs(expansion.numArgs, expansion.delimiters);\n\n if (expansion.numArgs) {\n // paste arguments in place of the placeholders\n tokens = tokens.slice(); // make a shallow copy\n\n for (let i = tokens.length - 1; i >= 0; --i) {\n let tok = tokens[i];\n\n if (tok.text === \"#\") {\n if (i === 0) {\n throw new src_ParseError(\"Incomplete placeholder at end of macro body\", tok);\n }\n\n tok = tokens[--i]; // next token on stack\n\n if (tok.text === \"#\") {\n // ## → #\n tokens.splice(i + 1, 1); // drop first #\n } else if (/^[1-9]$/.test(tok.text)) {\n // replace the placeholder with the indicated argument\n tokens.splice(i, 2, ...args[+tok.text - 1]);\n } else {\n throw new src_ParseError(\"Not a valid argument number\", tok);\n }\n }\n }\n } // Concatenate expansion onto top of stack.\n\n\n this.pushTokens(tokens);\n return tokens.length;\n }\n /**\n * Expand the next token only once (if possible), and return the resulting\n * top token on the stack (without removing anything from the stack).\n * Similar in behavior to TeX's `\\expandafter\\futurelet`.\n * Equivalent to expandOnce() followed by future().\n */\n\n\n expandAfterFuture() {\n this.expandOnce();\n return this.future();\n }\n /**\n * Recursively expand first token, then return first non-expandable token.\n */\n\n\n expandNextToken() {\n for (;;) {\n if (this.expandOnce() === false) {\n // fully expanded\n const token = this.stack.pop(); // the token after \\noexpand is interpreted as if its meaning\n // were ‘\\relax’\n\n if (token.treatAsRelax) {\n token.text = \"\\\\relax\";\n }\n\n return token;\n }\n } // Flow unable to figure out that this pathway is impossible.\n // https://github.com/facebook/flow/issues/4808\n\n\n throw new Error(); // eslint-disable-line no-unreachable\n }\n /**\n * Fully expand the given macro name and return the resulting list of\n * tokens, or return `undefined` if no such macro is defined.\n */\n\n\n expandMacro(name) {\n return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined;\n }\n /**\n * Fully expand the given token stream and return the resulting list of\n * tokens. Note that the input tokens are in reverse order, but the\n * output tokens are in forward order.\n */\n\n\n expandTokens(tokens) {\n const output = [];\n const oldStackLength = this.stack.length;\n this.pushTokens(tokens);\n\n while (this.stack.length > oldStackLength) {\n // Expand only expandable tokens\n if (this.expandOnce(true) === false) {\n // fully expanded\n const token = this.stack.pop();\n\n if (token.treatAsRelax) {\n // the expansion of \\noexpand is the token itself\n token.noexpand = false;\n token.treatAsRelax = false;\n }\n\n output.push(token);\n }\n } // Count all of these tokens as additional expansions, to prevent\n // exponential blowup from linearly many \\edef's.\n\n\n this.countExpansion(output.length);\n return output;\n }\n /**\n * Fully expand the given macro name and return the result as a string,\n * or return `undefined` if no such macro is defined.\n */\n\n\n expandMacroAsText(name) {\n const tokens = this.expandMacro(name);\n\n if (tokens) {\n return tokens.map(token => token.text).join(\"\");\n } else {\n return tokens;\n }\n }\n /**\n * Returns the expanded macro as a reversed array of tokens and a macro\n * argument count. Or returns `null` if no such macro.\n */\n\n\n _getExpansion(name) {\n const definition = this.macros.get(name);\n\n if (definition == null) {\n // mainly checking for undefined here\n return definition;\n } // If a single character has an associated catcode other than 13\n // (active character), then don't expand it.\n\n\n if (name.length === 1) {\n const catcode = this.lexer.catcodes[name];\n\n if (catcode != null && catcode !== 13) {\n return;\n }\n }\n\n const expansion = typeof definition === \"function\" ? definition(this) : definition;\n\n if (typeof expansion === \"string\") {\n let numArgs = 0;\n\n if (expansion.indexOf(\"#\") !== -1) {\n const stripped = expansion.replace(/##/g, \"\");\n\n while (stripped.indexOf(\"#\" + (numArgs + 1)) !== -1) {\n ++numArgs;\n }\n }\n\n const bodyLexer = new Lexer(expansion, this.settings);\n const tokens = [];\n let tok = bodyLexer.lex();\n\n while (tok.text !== \"EOF\") {\n tokens.push(tok);\n tok = bodyLexer.lex();\n }\n\n tokens.reverse(); // to fit in with stack using push and pop\n\n const expanded = {\n tokens,\n numArgs\n };\n return expanded;\n }\n\n return expansion;\n }\n /**\n * Determine whether a command is currently \"defined\" (has some\n * functionality), meaning that it's a macro (in the current group),\n * a function, a symbol, or one of the special commands listed in\n * `implicitCommands`.\n */\n\n\n isDefined(name) {\n return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name);\n }\n /**\n * Determine whether a command is expandable.\n */\n\n\n isExpandable(name) {\n const macro = this.macros.get(name);\n return macro != null ? typeof macro === \"string\" || typeof macro === \"function\" || !macro.unexpandable : src_functions.hasOwnProperty(name) && !src_functions[name].primitive;\n }\n\n}\n;// CONCATENATED MODULE: ./src/unicodeSupOrSub.js\n// Helpers for Parser.js handling of Unicode (sub|super)script characters.\nconst unicodeSubRegEx = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/;\nconst uSubsAndSups = Object.freeze({\n '₊': '+',\n '₋': '-',\n '₌': '=',\n '₍': '(',\n '₎': ')',\n '₀': '0',\n '₁': '1',\n '₂': '2',\n '₃': '3',\n '₄': '4',\n '₅': '5',\n '₆': '6',\n '₇': '7',\n '₈': '8',\n '₉': '9',\n '\\u2090': 'a',\n '\\u2091': 'e',\n '\\u2095': 'h',\n '\\u1D62': 'i',\n '\\u2C7C': 'j',\n '\\u2096': 'k',\n '\\u2097': 'l',\n '\\u2098': 'm',\n '\\u2099': 'n',\n '\\u2092': 'o',\n '\\u209A': 'p',\n '\\u1D63': 'r',\n '\\u209B': 's',\n '\\u209C': 't',\n '\\u1D64': 'u',\n '\\u1D65': 'v',\n '\\u2093': 'x',\n '\\u1D66': 'β',\n '\\u1D67': 'γ',\n '\\u1D68': 'ρ',\n '\\u1D69': '\\u03d5',\n '\\u1D6A': 'χ',\n '⁺': '+',\n '⁻': '-',\n '⁼': '=',\n '⁽': '(',\n '⁾': ')',\n '⁰': '0',\n '¹': '1',\n '²': '2',\n '³': '3',\n '⁴': '4',\n '⁵': '5',\n '⁶': '6',\n '⁷': '7',\n '⁸': '8',\n '⁹': '9',\n '\\u1D2C': 'A',\n '\\u1D2E': 'B',\n '\\u1D30': 'D',\n '\\u1D31': 'E',\n '\\u1D33': 'G',\n '\\u1D34': 'H',\n '\\u1D35': 'I',\n '\\u1D36': 'J',\n '\\u1D37': 'K',\n '\\u1D38': 'L',\n '\\u1D39': 'M',\n '\\u1D3A': 'N',\n '\\u1D3C': 'O',\n '\\u1D3E': 'P',\n '\\u1D3F': 'R',\n '\\u1D40': 'T',\n '\\u1D41': 'U',\n '\\u2C7D': 'V',\n '\\u1D42': 'W',\n '\\u1D43': 'a',\n '\\u1D47': 'b',\n '\\u1D9C': 'c',\n '\\u1D48': 'd',\n '\\u1D49': 'e',\n '\\u1DA0': 'f',\n '\\u1D4D': 'g',\n '\\u02B0': 'h',\n '\\u2071': 'i',\n '\\u02B2': 'j',\n '\\u1D4F': 'k',\n '\\u02E1': 'l',\n '\\u1D50': 'm',\n '\\u207F': 'n',\n '\\u1D52': 'o',\n '\\u1D56': 'p',\n '\\u02B3': 'r',\n '\\u02E2': 's',\n '\\u1D57': 't',\n '\\u1D58': 'u',\n '\\u1D5B': 'v',\n '\\u02B7': 'w',\n '\\u02E3': 'x',\n '\\u02B8': 'y',\n '\\u1DBB': 'z',\n '\\u1D5D': 'β',\n '\\u1D5E': 'γ',\n '\\u1D5F': 'δ',\n '\\u1D60': '\\u03d5',\n '\\u1D61': 'χ',\n '\\u1DBF': 'θ'\n});\n;// CONCATENATED MODULE: ./src/Parser.js\n/* eslint no-constant-condition:0 */\n\n\n\n\n\n\n\n\n\n\n // Pre-evaluate both modules as unicodeSymbols require String.normalize()\n\nconst unicodeAccents = {\n \"́\": {\n \"text\": \"\\\\'\",\n \"math\": \"\\\\acute\"\n },\n \"̀\": {\n \"text\": \"\\\\`\",\n \"math\": \"\\\\grave\"\n },\n \"̈\": {\n \"text\": \"\\\\\\\"\",\n \"math\": \"\\\\ddot\"\n },\n \"̃\": {\n \"text\": \"\\\\~\",\n \"math\": \"\\\\tilde\"\n },\n \"̄\": {\n \"text\": \"\\\\=\",\n \"math\": \"\\\\bar\"\n },\n \"̆\": {\n \"text\": \"\\\\u\",\n \"math\": \"\\\\breve\"\n },\n \"̌\": {\n \"text\": \"\\\\v\",\n \"math\": \"\\\\check\"\n },\n \"̂\": {\n \"text\": \"\\\\^\",\n \"math\": \"\\\\hat\"\n },\n \"̇\": {\n \"text\": \"\\\\.\",\n \"math\": \"\\\\dot\"\n },\n \"̊\": {\n \"text\": \"\\\\r\",\n \"math\": \"\\\\mathring\"\n },\n \"̋\": {\n \"text\": \"\\\\H\"\n },\n \"̧\": {\n \"text\": \"\\\\c\"\n }\n};\nconst unicodeSymbols = {\n \"á\": \"á\",\n \"à\": \"à\",\n \"ä\": \"ä\",\n \"ǟ\": \"ǟ\",\n \"ã\": \"ã\",\n \"ā\": \"ā\",\n \"ă\": \"ă\",\n \"ắ\": \"ắ\",\n \"ằ\": \"ằ\",\n \"ẵ\": \"ẵ\",\n \"ǎ\": \"ǎ\",\n \"â\": \"â\",\n \"ấ\": \"ấ\",\n \"ầ\": \"ầ\",\n \"ẫ\": \"ẫ\",\n \"ȧ\": \"ȧ\",\n \"ǡ\": \"ǡ\",\n \"å\": \"å\",\n \"ǻ\": \"ǻ\",\n \"ḃ\": \"ḃ\",\n \"ć\": \"ć\",\n \"ḉ\": \"ḉ\",\n \"č\": \"č\",\n \"ĉ\": \"ĉ\",\n \"ċ\": \"ċ\",\n \"ç\": \"ç\",\n \"ď\": \"ď\",\n \"ḋ\": \"ḋ\",\n \"ḑ\": \"ḑ\",\n \"é\": \"é\",\n \"è\": \"è\",\n \"ë\": \"ë\",\n \"ẽ\": \"ẽ\",\n \"ē\": \"ē\",\n \"ḗ\": \"ḗ\",\n \"ḕ\": \"ḕ\",\n \"ĕ\": \"ĕ\",\n \"ḝ\": \"ḝ\",\n \"ě\": \"ě\",\n \"ê\": \"ê\",\n \"ế\": \"ế\",\n \"ề\": \"ề\",\n \"ễ\": \"ễ\",\n \"ė\": \"ė\",\n \"ȩ\": \"ȩ\",\n \"ḟ\": \"ḟ\",\n \"ǵ\": \"ǵ\",\n \"ḡ\": \"ḡ\",\n \"ğ\": \"ğ\",\n \"ǧ\": \"ǧ\",\n \"ĝ\": \"ĝ\",\n \"ġ\": \"ġ\",\n \"ģ\": \"ģ\",\n \"ḧ\": \"ḧ\",\n \"ȟ\": \"ȟ\",\n \"ĥ\": \"ĥ\",\n \"ḣ\": \"ḣ\",\n \"ḩ\": \"ḩ\",\n \"í\": \"í\",\n \"ì\": \"ì\",\n \"ï\": \"ï\",\n \"ḯ\": \"ḯ\",\n \"ĩ\": \"ĩ\",\n \"ī\": \"ī\",\n \"ĭ\": \"ĭ\",\n \"ǐ\": \"ǐ\",\n \"î\": \"î\",\n \"ǰ\": \"ǰ\",\n \"ĵ\": \"ĵ\",\n \"ḱ\": \"ḱ\",\n \"ǩ\": \"ǩ\",\n \"ķ\": \"ķ\",\n \"ĺ\": \"ĺ\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"ḿ\": \"ḿ\",\n \"ṁ\": \"ṁ\",\n \"ń\": \"ń\",\n \"ǹ\": \"ǹ\",\n \"ñ\": \"ñ\",\n \"ň\": \"ň\",\n \"ṅ\": \"ṅ\",\n \"ņ\": \"ņ\",\n \"ó\": \"ó\",\n \"ò\": \"ò\",\n \"ö\": \"ö\",\n \"ȫ\": \"ȫ\",\n \"õ\": \"õ\",\n \"ṍ\": \"ṍ\",\n \"ṏ\": \"ṏ\",\n \"ȭ\": \"ȭ\",\n \"ō\": \"ō\",\n \"ṓ\": \"ṓ\",\n \"ṑ\": \"ṑ\",\n \"ŏ\": \"ŏ\",\n \"ǒ\": \"ǒ\",\n \"ô\": \"ô\",\n \"ố\": \"ố\",\n \"ồ\": \"ồ\",\n \"ỗ\": \"ỗ\",\n \"ȯ\": \"ȯ\",\n \"ȱ\": \"ȱ\",\n \"ő\": \"ő\",\n \"ṕ\": \"ṕ\",\n \"ṗ\": \"ṗ\",\n \"ŕ\": \"ŕ\",\n \"ř\": \"ř\",\n \"ṙ\": \"ṙ\",\n \"ŗ\": \"ŗ\",\n \"ś\": \"ś\",\n \"ṥ\": \"ṥ\",\n \"š\": \"š\",\n \"ṧ\": \"ṧ\",\n \"ŝ\": \"ŝ\",\n \"ṡ\": \"ṡ\",\n \"ş\": \"ş\",\n \"ẗ\": \"ẗ\",\n \"ť\": \"ť\",\n \"ṫ\": \"ṫ\",\n \"ţ\": \"ţ\",\n \"ú\": \"ú\",\n \"ù\": \"ù\",\n \"ü\": \"ü\",\n \"ǘ\": \"ǘ\",\n \"ǜ\": \"ǜ\",\n \"ǖ\": \"ǖ\",\n \"ǚ\": \"ǚ\",\n \"ũ\": \"ũ\",\n \"ṹ\": \"ṹ\",\n \"ū\": \"ū\",\n \"ṻ\": \"ṻ\",\n \"ŭ\": \"ŭ\",\n \"ǔ\": \"ǔ\",\n \"û\": \"û\",\n \"ů\": \"ů\",\n \"ű\": \"ű\",\n \"ṽ\": \"ṽ\",\n \"ẃ\": \"ẃ\",\n \"ẁ\": \"ẁ\",\n \"ẅ\": \"ẅ\",\n \"ŵ\": \"ŵ\",\n \"ẇ\": \"ẇ\",\n \"ẘ\": \"ẘ\",\n \"ẍ\": \"ẍ\",\n \"ẋ\": \"ẋ\",\n \"ý\": \"ý\",\n \"ỳ\": \"ỳ\",\n \"ÿ\": \"ÿ\",\n \"ỹ\": \"ỹ\",\n \"ȳ\": \"ȳ\",\n \"ŷ\": \"ŷ\",\n \"ẏ\": \"ẏ\",\n \"ẙ\": \"ẙ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"ẑ\": \"ẑ\",\n \"ż\": \"ż\",\n \"Á\": \"Á\",\n \"À\": \"À\",\n \"Ä\": \"Ä\",\n \"Ǟ\": \"Ǟ\",\n \"Ã\": \"Ã\",\n \"Ā\": \"Ā\",\n \"Ă\": \"Ă\",\n \"Ắ\": \"Ắ\",\n \"Ằ\": \"Ằ\",\n \"Ẵ\": \"Ẵ\",\n \"Ǎ\": \"Ǎ\",\n \"Â\": \"Â\",\n \"Ấ\": \"Ấ\",\n \"Ầ\": \"Ầ\",\n \"Ẫ\": \"Ẫ\",\n \"Ȧ\": \"Ȧ\",\n \"Ǡ\": \"Ǡ\",\n \"Å\": \"Å\",\n \"Ǻ\": \"Ǻ\",\n \"Ḃ\": \"Ḃ\",\n \"Ć\": \"Ć\",\n \"Ḉ\": \"Ḉ\",\n \"Č\": \"Č\",\n \"Ĉ\": \"Ĉ\",\n \"Ċ\": \"Ċ\",\n \"Ç\": \"Ç\",\n \"Ď\": \"Ď\",\n \"Ḋ\": \"Ḋ\",\n \"Ḑ\": \"Ḑ\",\n \"É\": \"É\",\n \"È\": \"È\",\n \"Ë\": \"Ë\",\n \"Ẽ\": \"Ẽ\",\n \"Ē\": \"Ē\",\n \"Ḗ\": \"Ḗ\",\n \"Ḕ\": \"Ḕ\",\n \"Ĕ\": \"Ĕ\",\n \"Ḝ\": \"Ḝ\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Ế\": \"Ế\",\n \"Ề\": \"Ề\",\n \"Ễ\": \"Ễ\",\n \"Ė\": \"Ė\",\n \"Ȩ\": \"Ȩ\",\n \"Ḟ\": \"Ḟ\",\n \"Ǵ\": \"Ǵ\",\n \"Ḡ\": \"Ḡ\",\n \"Ğ\": \"Ğ\",\n \"Ǧ\": \"Ǧ\",\n \"Ĝ\": \"Ĝ\",\n \"Ġ\": \"Ġ\",\n \"Ģ\": \"Ģ\",\n \"Ḧ\": \"Ḧ\",\n \"Ȟ\": \"Ȟ\",\n \"Ĥ\": \"Ĥ\",\n \"Ḣ\": \"Ḣ\",\n \"Ḩ\": \"Ḩ\",\n \"Í\": \"Í\",\n \"Ì\": \"Ì\",\n \"Ï\": \"Ï\",\n \"Ḯ\": \"Ḯ\",\n \"Ĩ\": \"Ĩ\",\n \"Ī\": \"Ī\",\n \"Ĭ\": \"Ĭ\",\n \"Ǐ\": \"Ǐ\",\n \"Î\": \"Î\",\n \"İ\": \"İ\",\n \"Ĵ\": \"Ĵ\",\n \"Ḱ\": \"Ḱ\",\n \"Ǩ\": \"Ǩ\",\n \"Ķ\": \"Ķ\",\n \"Ĺ\": \"Ĺ\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Ḿ\": \"Ḿ\",\n \"Ṁ\": \"Ṁ\",\n \"Ń\": \"Ń\",\n \"Ǹ\": \"Ǹ\",\n \"Ñ\": \"Ñ\",\n \"Ň\": \"Ň\",\n \"Ṅ\": \"Ṅ\",\n \"Ņ\": \"Ņ\",\n \"Ó\": \"Ó\",\n \"Ò\": \"Ò\",\n \"Ö\": \"Ö\",\n \"Ȫ\": \"Ȫ\",\n \"Õ\": \"Õ\",\n \"Ṍ\": \"Ṍ\",\n \"Ṏ\": \"Ṏ\",\n \"Ȭ\": \"Ȭ\",\n \"Ō\": \"Ō\",\n \"Ṓ\": \"Ṓ\",\n \"Ṑ\": \"Ṑ\",\n \"Ŏ\": \"Ŏ\",\n \"Ǒ\": \"Ǒ\",\n \"Ô\": \"Ô\",\n \"Ố\": \"Ố\",\n \"Ồ\": \"Ồ\",\n \"Ỗ\": \"Ỗ\",\n \"Ȯ\": \"Ȯ\",\n \"Ȱ\": \"Ȱ\",\n \"Ő\": \"Ő\",\n \"Ṕ\": \"Ṕ\",\n \"Ṗ\": \"Ṗ\",\n \"Ŕ\": \"Ŕ\",\n \"Ř\": \"Ř\",\n \"Ṙ\": \"Ṙ\",\n \"Ŗ\": \"Ŗ\",\n \"Ś\": \"Ś\",\n \"Ṥ\": \"Ṥ\",\n \"Š\": \"Š\",\n \"Ṧ\": \"Ṧ\",\n \"Ŝ\": \"Ŝ\",\n \"Ṡ\": \"Ṡ\",\n \"Ş\": \"Ş\",\n \"Ť\": \"Ť\",\n \"Ṫ\": \"Ṫ\",\n \"Ţ\": \"Ţ\",\n \"Ú\": \"Ú\",\n \"Ù\": \"Ù\",\n \"Ü\": \"Ü\",\n \"Ǘ\": \"Ǘ\",\n \"Ǜ\": \"Ǜ\",\n \"Ǖ\": \"Ǖ\",\n \"Ǚ\": \"Ǚ\",\n \"Ũ\": \"Ũ\",\n \"Ṹ\": \"Ṹ\",\n \"Ū\": \"Ū\",\n \"Ṻ\": \"Ṻ\",\n \"Ŭ\": \"Ŭ\",\n \"Ǔ\": \"Ǔ\",\n \"Û\": \"Û\",\n \"Ů\": \"Ů\",\n \"Ű\": \"Ű\",\n \"Ṽ\": \"Ṽ\",\n \"Ẃ\": \"Ẃ\",\n \"Ẁ\": \"Ẁ\",\n \"Ẅ\": \"Ẅ\",\n \"Ŵ\": \"Ŵ\",\n \"Ẇ\": \"Ẇ\",\n \"Ẍ\": \"Ẍ\",\n \"Ẋ\": \"Ẋ\",\n \"Ý\": \"Ý\",\n \"Ỳ\": \"Ỳ\",\n \"Ÿ\": \"Ÿ\",\n \"Ỹ\": \"Ỹ\",\n \"Ȳ\": \"Ȳ\",\n \"Ŷ\": \"Ŷ\",\n \"Ẏ\": \"Ẏ\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"Ẑ\": \"Ẑ\",\n \"Ż\": \"Ż\",\n \"ά\": \"ά\",\n \"ὰ\": \"ὰ\",\n \"ᾱ\": \"ᾱ\",\n \"ᾰ\": \"ᾰ\",\n \"έ\": \"έ\",\n \"ὲ\": \"ὲ\",\n \"ή\": \"ή\",\n \"ὴ\": \"ὴ\",\n \"ί\": \"ί\",\n \"ὶ\": \"ὶ\",\n \"ϊ\": \"ϊ\",\n \"ΐ\": \"ΐ\",\n \"ῒ\": \"ῒ\",\n \"ῑ\": \"ῑ\",\n \"ῐ\": \"ῐ\",\n \"ό\": \"ό\",\n \"ὸ\": \"ὸ\",\n \"ύ\": \"ύ\",\n \"ὺ\": \"ὺ\",\n \"ϋ\": \"ϋ\",\n \"ΰ\": \"ΰ\",\n \"ῢ\": \"ῢ\",\n \"ῡ\": \"ῡ\",\n \"ῠ\": \"ῠ\",\n \"ώ\": \"ώ\",\n \"ὼ\": \"ὼ\",\n \"Ύ\": \"Ύ\",\n \"Ὺ\": \"Ὺ\",\n \"Ϋ\": \"Ϋ\",\n \"Ῡ\": \"Ῡ\",\n \"Ῠ\": \"Ῠ\",\n \"Ώ\": \"Ώ\",\n \"Ὼ\": \"Ὼ\"\n};\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn't context-free, standard parsers don't work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called \"mode\" indicating the mode that\n * the parser is currently in. Currently it has to be one of \"math\" or\n * \"text\", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The functions return ParseNodes.\n */\nclass Parser {\n constructor(input, settings) {\n this.mode = void 0;\n this.gullet = void 0;\n this.settings = void 0;\n this.leftrightDepth = void 0;\n this.nextToken = void 0;\n // Start in math mode\n this.mode = \"math\"; // Create a new macro expander (gullet) and (indirectly via that) also a\n // new lexer (mouth) for this parser (stomach, in the language of TeX)\n\n this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing\n\n this.settings = settings; // Count leftright depth (for \\middle errors)\n\n this.leftrightDepth = 0;\n }\n /**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n */\n\n\n expect(text, consume) {\n if (consume === void 0) {\n consume = true;\n }\n\n if (this.fetch().text !== text) {\n throw new src_ParseError(\"Expected '\" + text + \"', got '\" + this.fetch().text + \"'\", this.fetch());\n }\n\n if (consume) {\n this.consume();\n }\n }\n /**\n * Discards the current lookahead token, considering it consumed.\n */\n\n\n consume() {\n this.nextToken = null;\n }\n /**\n * Return the current lookahead token, or if there isn't one (at the\n * beginning, or if the previous lookahead token was consume()d),\n * fetch the next token as the new lookahead token and return it.\n */\n\n\n fetch() {\n if (this.nextToken == null) {\n this.nextToken = this.gullet.expandNextToken();\n }\n\n return this.nextToken;\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n this.gullet.switchMode(newMode);\n }\n /**\n * Main parsing function, which parses an entire input.\n */\n\n\n parse() {\n if (!this.settings.globalGroup) {\n // Create a group namespace for the math expression.\n // (LaTeX creates a new group for every $...$, $$...$$, \\[...\\].)\n this.gullet.beginGroup();\n } // Use old \\color behavior (same as LaTeX's \\textcolor) if requested.\n // We do this within the group for the math expression, so it doesn't\n // pollute settings.macros.\n\n\n if (this.settings.colorIsTextColor) {\n this.gullet.macros.set(\"\\\\color\", \"\\\\textcolor\");\n }\n\n try {\n // Try to parse the input\n const parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end\n\n this.expect(\"EOF\"); // End the group namespace for the expression\n\n if (!this.settings.globalGroup) {\n this.gullet.endGroup();\n }\n\n return parse; // Close any leftover groups in case of a parse error.\n } finally {\n this.gullet.endGroups();\n }\n }\n /**\n * Fully parse a separate sequence of tokens as a separate job.\n * Tokens should be specified in reverse order, as in a MacroDefinition.\n */\n\n\n subparse(tokens) {\n // Save the next token from the current job.\n const oldToken = this.nextToken;\n this.consume(); // Run the new job, terminating it with an excess '}'\n\n this.gullet.pushToken(new Token(\"}\"));\n this.gullet.pushTokens(tokens);\n const parse = this.parseExpression(false);\n this.expect(\"}\"); // Restore the next token from the current job.\n\n this.nextToken = oldToken;\n return parse;\n }\n\n /**\n * Parses an \"expression\", which is a list of atoms.\n *\n * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This\n * happens when functions have higher precedence han infix\n * nodes in implicit parses.\n *\n * `breakOnTokenText`: The text of the token that the expression should end\n * with, or `null` if something else should end the\n * expression.\n */\n parseExpression(breakOnInfix, breakOnTokenText) {\n const body = []; // Keep adding atoms to the body until we can't parse any more atoms (either\n // we reached the end, a }, or a \\right)\n\n while (true) {\n // Ignore spaces in math mode\n if (this.mode === \"math\") {\n this.consumeSpaces();\n }\n\n const lex = this.fetch();\n\n if (Parser.endOfExpression.indexOf(lex.text) !== -1) {\n break;\n }\n\n if (breakOnTokenText && lex.text === breakOnTokenText) {\n break;\n }\n\n if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) {\n break;\n }\n\n const atom = this.parseAtom(breakOnTokenText);\n\n if (!atom) {\n break;\n } else if (atom.type === \"internal\") {\n // Internal nodes do not appear in parse tree\n continue;\n }\n\n body.push(atom);\n }\n\n if (this.mode === \"text\") {\n this.formLigatures(body);\n }\n\n return this.handleInfixNodes(body);\n }\n /**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group. If there's more than one\n * then the expression is ambiguous. This can be resolved by adding {}.\n */\n\n\n handleInfixNodes(body) {\n let overIndex = -1;\n let funcName;\n\n for (let i = 0; i < body.length; i++) {\n if (body[i].type === \"infix\") {\n if (overIndex !== -1) {\n throw new src_ParseError(\"only one infix operator per group\", body[i].token);\n }\n\n overIndex = i;\n funcName = body[i].replaceWith;\n }\n }\n\n if (overIndex !== -1 && funcName) {\n let numerNode;\n let denomNode;\n const numerBody = body.slice(0, overIndex);\n const denomBody = body.slice(overIndex + 1);\n\n if (numerBody.length === 1 && numerBody[0].type === \"ordgroup\") {\n numerNode = numerBody[0];\n } else {\n numerNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: numerBody\n };\n }\n\n if (denomBody.length === 1 && denomBody[0].type === \"ordgroup\") {\n denomNode = denomBody[0];\n } else {\n denomNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: denomBody\n };\n }\n\n let node;\n\n if (funcName === \"\\\\\\\\abovefrac\") {\n node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);\n } else {\n node = this.callFunction(funcName, [numerNode, denomNode], []);\n }\n\n return [node];\n } else {\n return body;\n }\n }\n /**\n * Handle a subscript or superscript with nice errors.\n */\n\n\n handleSupSubscript(name // For error reporting.\n ) {\n const symbolToken = this.fetch();\n const symbol = symbolToken.text;\n this.consume();\n this.consumeSpaces(); // ignore spaces before sup/subscript argument\n // Skip over allowed internal nodes such as \\relax\n\n let group;\n\n do {\n var _group;\n\n group = this.parseGroup(name);\n } while (((_group = group) == null ? void 0 : _group.type) === \"internal\");\n\n if (!group) {\n throw new src_ParseError(\"Expected group after '\" + symbol + \"'\", symbolToken);\n }\n\n return group;\n }\n /**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\n\n\n formatUnsupportedCmd(text) {\n const textordArray = [];\n\n for (let i = 0; i < text.length; i++) {\n textordArray.push({\n type: \"textord\",\n mode: \"text\",\n text: text[i]\n });\n }\n\n const textNode = {\n type: \"text\",\n mode: this.mode,\n body: textordArray\n };\n const colorNode = {\n type: \"color\",\n mode: this.mode,\n color: this.settings.errorColor,\n body: [textNode]\n };\n return colorNode;\n }\n /**\n * Parses a group with optional super/subscripts.\n */\n\n\n parseAtom(breakOnTokenText) {\n // The body of an atom is an implicit group, so that things like\n // \\left(x\\right)^2 work correctly.\n const base = this.parseGroup(\"atom\", breakOnTokenText); // Internal nodes (e.g. \\relax) cannot support super/subscripts.\n // Instead we will pick up super/subscripts with blank base next round.\n\n if ((base == null ? void 0 : base.type) === \"internal\") {\n return base;\n } // In text mode, we don't have superscripts or subscripts\n\n\n if (this.mode === \"text\") {\n return base;\n } // Note that base may be empty (i.e. null) at this point.\n\n\n let superscript;\n let subscript;\n\n while (true) {\n // Guaranteed in math mode, so eat any spaces first.\n this.consumeSpaces(); // Lex the first token\n\n const lex = this.fetch();\n\n if (lex.text === \"\\\\limits\" || lex.text === \"\\\\nolimits\") {\n // We got a limit control\n if (base && base.type === \"op\") {\n const limits = lex.text === \"\\\\limits\";\n base.limits = limits;\n base.alwaysHandleSupSub = true;\n } else if (base && base.type === \"operatorname\") {\n if (base.alwaysHandleSupSub) {\n base.limits = lex.text === \"\\\\limits\";\n }\n } else {\n throw new src_ParseError(\"Limit controls must follow a math operator\", lex);\n }\n\n this.consume();\n } else if (lex.text === \"^\") {\n // We got a superscript start\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n superscript = this.handleSupSubscript(\"superscript\");\n } else if (lex.text === \"_\") {\n // We got a subscript start\n if (subscript) {\n throw new src_ParseError(\"Double subscript\", lex);\n }\n\n subscript = this.handleSupSubscript(\"subscript\");\n } else if (lex.text === \"'\") {\n // We got a prime\n if (superscript) {\n throw new src_ParseError(\"Double superscript\", lex);\n }\n\n const prime = {\n type: \"textord\",\n mode: this.mode,\n text: \"\\\\prime\"\n }; // Many primes can be grouped together, so we handle this here\n\n const primes = [prime];\n this.consume(); // Keep lexing tokens until we get something that's not a prime\n\n while (this.fetch().text === \"'\") {\n // For each one, add another prime to the list\n primes.push(prime);\n this.consume();\n } // If there's a superscript following the primes, combine that\n // superscript in with the primes.\n\n\n if (this.fetch().text === \"^\") {\n primes.push(this.handleSupSubscript(\"superscript\"));\n } // Put everything into an ordgroup as the superscript\n\n\n superscript = {\n type: \"ordgroup\",\n mode: this.mode,\n body: primes\n };\n } else if (uSubsAndSups[lex.text]) {\n // A Unicode subscript or superscript character.\n // We treat these similarly to the unicode-math package.\n // So we render a string of Unicode (sub|super)scripts the\n // same as a (sub|super)script of regular characters.\n const isSub = unicodeSubRegEx.test(lex.text);\n const subsupTokens = [];\n subsupTokens.push(new Token(uSubsAndSups[lex.text]));\n this.consume(); // Continue fetching tokens to fill out the string.\n\n while (true) {\n const token = this.fetch().text;\n\n if (!uSubsAndSups[token]) {\n break;\n }\n\n if (unicodeSubRegEx.test(token) !== isSub) {\n break;\n }\n\n subsupTokens.unshift(new Token(uSubsAndSups[token]));\n this.consume();\n } // Now create a (sub|super)script.\n\n\n const body = this.subparse(subsupTokens);\n\n if (isSub) {\n subscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n } else {\n superscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n }\n } else {\n // If it wasn't ^, _, or ', stop parsing super/subscripts\n break;\n }\n } // Base must be set if superscript or subscript are set per logic above,\n // but need to check here for type check to pass.\n\n\n if (superscript || subscript) {\n // If we got either a superscript or subscript, create a supsub\n return {\n type: \"supsub\",\n mode: this.mode,\n base: base,\n sup: superscript,\n sub: subscript\n };\n } else {\n // Otherwise return the original body\n return base;\n }\n }\n /**\n * Parses an entire function, including its base and all of its arguments.\n */\n\n\n parseFunction(breakOnTokenText, name // For determining its context\n ) {\n const token = this.fetch();\n const func = token.text;\n const funcData = src_functions[func];\n\n if (!funcData) {\n return null;\n }\n\n this.consume(); // consume command token\n\n if (name && name !== \"atom\" && !funcData.allowedInArgument) {\n throw new src_ParseError(\"Got function '\" + func + \"' with no arguments\" + (name ? \" as \" + name : \"\"), token);\n } else if (this.mode === \"text\" && !funcData.allowedInText) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in text mode\", token);\n } else if (this.mode === \"math\" && funcData.allowedInMath === false) {\n throw new src_ParseError(\"Can't use function '\" + func + \"' in math mode\", token);\n }\n\n const {\n args,\n optArgs\n } = this.parseArguments(func, funcData);\n return this.callFunction(func, args, optArgs, token, breakOnTokenText);\n }\n /**\n * Call a function handler with a suitable context and arguments.\n */\n\n\n callFunction(name, args, optArgs, token, breakOnTokenText) {\n const context = {\n funcName: name,\n parser: this,\n token,\n breakOnTokenText\n };\n const func = src_functions[name];\n\n if (func && func.handler) {\n return func.handler(context, args, optArgs);\n } else {\n throw new src_ParseError(\"No function handler for \" + name);\n }\n }\n /**\n * Parses the arguments of a function or environment\n */\n\n\n parseArguments(func, // Should look like \"\\name\" or \"\\begin{name}\".\n funcData) {\n const totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n\n if (totalArgs === 0) {\n return {\n args: [],\n optArgs: []\n };\n }\n\n const args = [];\n const optArgs = [];\n\n for (let i = 0; i < totalArgs; i++) {\n let argType = funcData.argTypes && funcData.argTypes[i];\n const isOptional = i < funcData.numOptionalArgs;\n\n if (funcData.primitive && argType == null || // \\sqrt expands into primitive if optional argument doesn't exist\n funcData.type === \"sqrt\" && i === 1 && optArgs[0] == null) {\n argType = \"primitive\";\n }\n\n const arg = this.parseGroupOfType(\"argument to '\" + func + \"'\", argType, isOptional);\n\n if (isOptional) {\n optArgs.push(arg);\n } else if (arg != null) {\n args.push(arg);\n } else {\n // should be unreachable\n throw new src_ParseError(\"Null argument, please report this as a bug\");\n }\n }\n\n return {\n args,\n optArgs\n };\n }\n /**\n * Parses a group when the mode is changing.\n */\n\n\n parseGroupOfType(name, type, optional) {\n switch (type) {\n case \"color\":\n return this.parseColorGroup(optional);\n\n case \"size\":\n return this.parseSizeGroup(optional);\n\n case \"url\":\n return this.parseUrlGroup(optional);\n\n case \"math\":\n case \"text\":\n return this.parseArgumentGroup(optional, type);\n\n case \"hbox\":\n {\n // hbox argument type wraps the argument in the equivalent of\n // \\hbox, which is like \\text but switching to \\textstyle size.\n const group = this.parseArgumentGroup(optional, \"text\");\n return group != null ? {\n type: \"styling\",\n mode: group.mode,\n body: [group],\n style: \"text\" // simulate \\textstyle\n\n } : null;\n }\n\n case \"raw\":\n {\n const token = this.parseStringGroup(\"raw\", optional);\n return token != null ? {\n type: \"raw\",\n mode: \"text\",\n string: token.text\n } : null;\n }\n\n case \"primitive\":\n {\n if (optional) {\n throw new src_ParseError(\"A primitive argument cannot be optional\");\n }\n\n const group = this.parseGroup(name);\n\n if (group == null) {\n throw new src_ParseError(\"Expected group as \" + name, this.fetch());\n }\n\n return group;\n }\n\n case \"original\":\n case null:\n case undefined:\n return this.parseArgumentGroup(optional);\n\n default:\n throw new src_ParseError(\"Unknown group type as \" + name, this.fetch());\n }\n }\n /**\n * Discard any space tokens, fetching the next non-space token.\n */\n\n\n consumeSpaces() {\n while (this.fetch().text === \" \") {\n this.consume();\n }\n }\n /**\n * Parses a group, essentially returning the string formed by the\n * brace-enclosed tokens plus some position information.\n */\n\n\n parseStringGroup(modeName, // Used to describe the mode in error messages.\n optional) {\n const argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n let str = \"\";\n let nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\") {\n str += nextToken.text;\n this.consume();\n }\n\n this.consume(); // consume the end of the argument\n\n argToken.text = str;\n return argToken;\n }\n /**\n * Parses a regex-delimited group: the largest sequence of tokens\n * whose concatenated strings match `regex`. Returns the string\n * formed by the tokens plus some position information.\n */\n\n\n parseRegexGroup(regex, modeName // Used to describe the mode in error messages.\n ) {\n const firstToken = this.fetch();\n let lastToken = firstToken;\n let str = \"\";\n let nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\" && regex.test(str + nextToken.text)) {\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n if (str === \"\") {\n throw new src_ParseError(\"Invalid \" + modeName + \": '\" + firstToken.text + \"'\", firstToken);\n }\n\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a color description.\n */\n\n\n parseColorGroup(optional) {\n const res = this.parseStringGroup(\"color\", optional);\n\n if (res == null) {\n return null;\n }\n\n const match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid color: '\" + res.text + \"'\", res);\n }\n\n let color = match[0];\n\n if (/^[0-9a-f]{6}$/i.test(color)) {\n // We allow a 6-digit HTML color spec without a leading \"#\".\n // This follows the xcolor package's HTML color model.\n // Predefined color names are all missed by this RegEx pattern.\n color = \"#\" + color;\n }\n\n return {\n type: \"color-token\",\n mode: this.mode,\n color\n };\n }\n /**\n * Parses a size specification, consisting of magnitude and unit.\n */\n\n\n parseSizeGroup(optional) {\n let res;\n let isBlank = false; // don't expand before parseStringGroup\n\n this.gullet.consumeSpaces();\n\n if (!optional && this.gullet.future().text !== \"{\") {\n res = this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/, \"size\");\n } else {\n res = this.parseStringGroup(\"size\", optional);\n }\n\n if (!res) {\n return null;\n }\n\n if (!optional && res.text.length === 0) {\n // Because we've tested for what is !optional, this block won't\n // affect \\kern, \\hspace, etc. It will capture the mandatory arguments\n // to \\genfrac and \\above.\n res.text = \"0pt\"; // Enable \\above{}\n\n isBlank = true; // This is here specifically for \\genfrac\n }\n\n const match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(res.text);\n\n if (!match) {\n throw new src_ParseError(\"Invalid size: '\" + res.text + \"'\", res);\n }\n\n const data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError(\"Invalid unit: '\" + data.unit + \"'\", res);\n }\n\n return {\n type: \"size\",\n mode: this.mode,\n value: data,\n isBlank\n };\n }\n /**\n * Parses an URL, checking escaped letters and allowed protocols,\n * and setting the catcode of % as an active character (as in \\hyperref).\n */\n\n\n parseUrlGroup(optional) {\n this.gullet.lexer.setCatcode(\"%\", 13); // active character\n\n this.gullet.lexer.setCatcode(\"~\", 12); // other character\n\n const res = this.parseStringGroup(\"url\", optional);\n this.gullet.lexer.setCatcode(\"%\", 14); // comment character\n\n this.gullet.lexer.setCatcode(\"~\", 13); // active character\n\n if (res == null) {\n return null;\n } // hyperref package allows backslashes alone in href, but doesn't\n // generate valid links in such cases; we interpret this as\n // \"undefined\" behaviour, and keep them as-is. Some browser will\n // replace backslashes with forward slashes.\n\n\n const url = res.text.replace(/\\\\([#$%&~_^{}])/g, '$1');\n return {\n type: \"url\",\n mode: this.mode,\n url\n };\n }\n /**\n * Parses an argument with the mode specified.\n */\n\n\n parseArgumentGroup(optional, mode) {\n const argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n const outerMode = this.mode;\n\n if (mode) {\n // Switch to specified mode\n this.switchMode(mode);\n }\n\n this.gullet.beginGroup();\n const expression = this.parseExpression(false, \"EOF\"); // TODO: find an alternative way to denote the end\n\n this.expect(\"EOF\"); // expect the end of the argument\n\n this.gullet.endGroup();\n const result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: argToken.loc,\n body: expression\n };\n\n if (mode) {\n // Switch mode back\n this.switchMode(outerMode);\n }\n\n return result;\n }\n /**\n * Parses an ordinary group, which is either a single nucleus (like \"x\")\n * or an expression in braces (like \"{x+y}\") or an implicit group, a group\n * that starts at the current position, and ends right before a higher explicit\n * group ends, or at EOF.\n */\n\n\n parseGroup(name, // For error reporting.\n breakOnTokenText) {\n const firstToken = this.fetch();\n const text = firstToken.text;\n let result; // Try to parse an open brace or \\begingroup\n\n if (text === \"{\" || text === \"\\\\begingroup\") {\n this.consume();\n const groupEnd = text === \"{\" ? \"}\" : \"\\\\endgroup\";\n this.gullet.beginGroup(); // If we get a brace, parse an expression\n\n const expression = this.parseExpression(false, groupEnd);\n const lastToken = this.fetch();\n this.expect(groupEnd); // Check that we got a matching closing brace\n\n this.gullet.endGroup();\n result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: SourceLocation.range(firstToken, lastToken),\n body: expression,\n // A group formed by \\begingroup...\\endgroup is a semi-simple group\n // which doesn't affect spacing in math mode, i.e., is transparent.\n // https://tex.stackexchange.com/questions/1930/when-should-one-\n // use-begingroup-instead-of-bgroup\n semisimple: text === \"\\\\begingroup\" || undefined\n };\n } else {\n // If there exists a function with this name, parse the function.\n // Otherwise, just return a nucleus\n result = this.parseFunction(breakOnTokenText, name) || this.parseSymbol();\n\n if (result == null && text[0] === \"\\\\\" && !implicitCommands.hasOwnProperty(text)) {\n if (this.settings.throwOnError) {\n throw new src_ParseError(\"Undefined control sequence: \" + text, firstToken);\n }\n\n result = this.formatUnsupportedCmd(text);\n this.consume();\n }\n }\n\n return result;\n }\n /**\n * Form ligature-like combinations of characters for text mode.\n * This includes inputs like \"--\", \"---\", \"``\" and \"''\".\n * The result will simply replace multiple textord nodes with a single\n * character in each value by a single textord node having multiple\n * characters in its value. The representation is still ASCII source.\n * The group will be modified in place.\n */\n\n\n formLigatures(group) {\n let n = group.length - 1;\n\n for (let i = 0; i < n; ++i) {\n const a = group[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n const v = a.text;\n\n if (v === \"-\" && group[i + 1].text === \"-\") {\n if (i + 1 < n && group[i + 2].text === \"-\") {\n group.splice(i, 3, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 2]),\n text: \"---\"\n });\n n -= 2;\n } else {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: \"--\"\n });\n n -= 1;\n }\n }\n\n if ((v === \"'\" || v === \"`\") && group[i + 1].text === v) {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: v + v\n });\n n -= 1;\n }\n }\n }\n /**\n * Parse a single symbol out of the string. Here, we handle single character\n * symbols and special functions like \\verb.\n */\n\n\n parseSymbol() {\n const nucleus = this.fetch();\n let text = nucleus.text;\n\n if (/^\\\\verb[^a-zA-Z]/.test(text)) {\n this.consume();\n let arg = text.slice(5);\n const star = arg.charAt(0) === \"*\";\n\n if (star) {\n arg = arg.slice(1);\n } // Lexer's tokenRegex is constructed to always have matching\n // first/last characters.\n\n\n if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) {\n throw new src_ParseError(\"\\\\verb assertion failed --\\n please report what input caused this bug\");\n }\n\n arg = arg.slice(1, -1); // remove first and last char\n\n return {\n type: \"verb\",\n mode: \"text\",\n body: arg,\n star\n };\n } // At this point, we should have a symbol, possibly with accents.\n // First expand any accented base symbol according to unicodeSymbols.\n\n\n if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) {\n // This behavior is not strict (XeTeX-compatible) in math mode.\n if (this.settings.strict && this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Accented Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n text = unicodeSymbols[text[0]] + text.slice(1);\n } // Strip off any combining characters\n\n\n const match = combiningDiacriticalMarksEndRegex.exec(text);\n\n if (match) {\n text = text.substring(0, match.index);\n\n if (text === 'i') {\n text = '\\u0131'; // dotless i, in math and text mode\n } else if (text === 'j') {\n text = '\\u0237'; // dotless j, in math and text mode\n }\n } // Recognize base symbol\n\n\n let symbol;\n\n if (src_symbols[this.mode][text]) {\n if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Latin-1/Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n const group = src_symbols[this.mode][text].group;\n const loc = SourceLocation.range(nucleus);\n let s;\n\n if (ATOMS.hasOwnProperty(group)) {\n // $FlowFixMe\n const family = group;\n s = {\n type: \"atom\",\n mode: this.mode,\n family,\n loc,\n text\n };\n } else {\n // $FlowFixMe\n s = {\n type: group,\n mode: this.mode,\n loc,\n text\n };\n } // $FlowFixMe\n\n\n symbol = s;\n } else if (text.charCodeAt(0) >= 0x80) {\n // no symbol for e.g. ^\n if (this.settings.strict) {\n if (!supportedCodepoint(text.charCodeAt(0))) {\n this.settings.reportNonstrict(\"unknownSymbol\", \"Unrecognized Unicode character \\\"\" + text[0] + \"\\\"\" + (\" (\" + text.charCodeAt(0) + \")\"), nucleus);\n } else if (this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Unicode text character \\\"\" + text[0] + \"\\\" used in math mode\", nucleus);\n }\n } // All nonmathematical Unicode characters are rendered as if they\n // are in text mode (wrapped in \\text) because that's what it\n // takes to render them in LaTeX. Setting `mode: this.mode` is\n // another natural choice (the user requested math mode), but\n // this makes it more difficult for getCharacterMetrics() to\n // distinguish Unicode characters without metrics and those for\n // which we want to simulate the letter M.\n\n\n symbol = {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(nucleus),\n text\n };\n } else {\n return null; // EOF, ^, _, {, }, etc.\n }\n\n this.consume(); // Transform combining characters into accents\n\n if (match) {\n for (let i = 0; i < match[0].length; i++) {\n const accent = match[0][i];\n\n if (!unicodeAccents[accent]) {\n throw new src_ParseError(\"Unknown accent ' \" + accent + \"'\", nucleus);\n }\n\n const command = unicodeAccents[accent][this.mode] || unicodeAccents[accent].text;\n\n if (!command) {\n throw new src_ParseError(\"Accent \" + accent + \" unsupported in \" + this.mode + \" mode\", nucleus);\n }\n\n symbol = {\n type: \"accent\",\n mode: this.mode,\n loc: SourceLocation.range(nucleus),\n label: command,\n isStretchy: false,\n isShifty: true,\n // $FlowFixMe\n base: symbol\n };\n }\n } // $FlowFixMe\n\n\n return symbol;\n }\n\n}\nParser.endOfExpression = [\"}\", \"\\\\endgroup\", \"\\\\end\", \"\\\\right\", \"&\"];\n;// CONCATENATED MODULE: ./src/parseTree.js\n/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\n\n\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nconst parseTree = function (toParse, settings) {\n if (!(typeof toParse === 'string' || toParse instanceof String)) {\n throw new TypeError('KaTeX can only parse string typed expression');\n }\n\n const parser = new Parser(toParse, settings); // Blank out any \\df@tag to avoid spurious \"Duplicate \\tag\" errors\n\n delete parser.gullet.macros.current[\"\\\\df@tag\"];\n let tree = parser.parse(); // Prevent a color definition from persisting between calls to katex.render().\n\n delete parser.gullet.macros.current[\"\\\\current@color\"];\n delete parser.gullet.macros.current[\"\\\\color\"]; // If the input used \\tag, it will set the \\df@tag macro to the tag.\n // In this case, we separately parse the tag and wrap the tree.\n\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n if (!settings.displayMode) {\n throw new src_ParseError(\"\\\\tag works only in display equations\");\n }\n\n tree = [{\n type: \"tag\",\n mode: \"text\",\n body: tree,\n tag: parser.subparse([new Token(\"\\\\df@tag\")])\n }];\n }\n\n return tree;\n};\n\n/* harmony default export */ var src_parseTree = (parseTree);\n;// CONCATENATED MODULE: ./katex.js\n/* eslint no-console:0 */\n\n/**\n * This is the main entry point for KaTeX. Here, we expose functions for\n * rendering expressions either to DOM nodes or to markup strings.\n *\n * We also expose the ParseError class to check if errors thrown from KaTeX are\n * errors in the expression, or errors in javascript handling.\n */\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nlet render = function (expression, baseNode, options) {\n baseNode.textContent = \"\";\n const node = renderToDomTree(expression, options).toNode();\n baseNode.appendChild(node);\n}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and\n// disable rendering.\n\n\nif (typeof document !== \"undefined\") {\n if (document.compatMode !== \"CSS1Compat\") {\n typeof console !== \"undefined\" && console.warn(\"Warning: KaTeX doesn't work in quirks mode. Make sure your \" + \"website has a suitable doctype.\");\n\n render = function () {\n throw new src_ParseError(\"KaTeX doesn't work in quirks mode.\");\n };\n }\n}\n/**\n * Parse and build an expression, and return the markup for that.\n */\n\n\nconst renderToString = function (expression, options) {\n const markup = renderToDomTree(expression, options).toMarkup();\n return markup;\n};\n/**\n * Parse an expression and return the parse tree.\n */\n\n\nconst generateParseTree = function (expression, options) {\n const settings = new Settings(options);\n return src_parseTree(expression, settings);\n};\n/**\n * If the given error is a KaTeX ParseError and options.throwOnError is false,\n * renders the invalid LaTeX as a span with hover title giving the KaTeX\n * error message. Otherwise, simply throws the error.\n */\n\n\nconst renderError = function (error, expression, options) {\n if (options.throwOnError || !(error instanceof src_ParseError)) {\n throw error;\n }\n\n const node = buildCommon.makeSpan([\"katex-error\"], [new SymbolNode(expression)]);\n node.setAttribute(\"title\", error.toString());\n node.setAttribute(\"style\", \"color:\" + options.errorColor);\n return node;\n};\n/**\n * Generates and returns the katex build tree. This is used for advanced\n * use cases (like rendering to custom output).\n */\n\n\nconst renderToDomTree = function (expression, options) {\n const settings = new Settings(options);\n\n try {\n const tree = src_parseTree(expression, settings);\n return buildTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n/**\n * Generates and returns the katex build tree, with just HTML (no MathML).\n * This is used for advanced use cases (like rendering to custom output).\n */\n\n\nconst renderToHTMLTree = function (expression, options) {\n const settings = new Settings(options);\n\n try {\n const tree = src_parseTree(expression, settings);\n return buildHTMLTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n\nconst version = \"0.16.22\";\nconst __domTree = {\n Span: Span,\n Anchor: Anchor,\n SymbolNode: SymbolNode,\n SvgNode: SvgNode,\n PathNode: PathNode,\n LineNode: LineNode\n}; // ESM exports\n\n // CJS exports and ESM default export\n\n/* harmony default export */ var katex = ({\n /**\n * Current KaTeX version\n */\n version,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination, and adds\n * it as a child to the specified DOM node.\n */\n render,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination string,\n * for sending to the client.\n */\n renderToString,\n\n /**\n * KaTeX error, usually during parsing.\n */\n ParseError: src_ParseError,\n\n /**\n * The schema of Settings\n */\n SETTINGS_SCHEMA: SETTINGS_SCHEMA,\n\n /**\n * Parses the given LaTeX into KaTeX's internal parse tree structure,\n * without rendering to HTML or MathML.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __parse: generateParseTree,\n\n /**\n * Renders the given LaTeX into an HTML+MathML internal DOM tree\n * representation, without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToDomTree: renderToDomTree,\n\n /**\n * Renders the given LaTeX into an HTML internal DOM tree representation,\n * without MathML and without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToHTMLTree: renderToHTMLTree,\n\n /**\n * extends internal font metrics object with a new object\n * each key in the new object represents a font name\n */\n __setFontMetrics: setFontMetrics,\n\n /**\n * adds a new symbol to builtin symbols table\n */\n __defineSymbol: defineSymbol,\n\n /**\n * adds a new function to builtin function list,\n * which directly produce parse tree elements\n * and have their own html/mathml builders\n */\n __defineFunction: defineFunction,\n\n /**\n * adds a new macro to builtin macro list\n */\n __defineMacro: defineMacro,\n\n /**\n * Expose the dom tree node types, which can be useful for type checking nodes.\n *\n * NOTE: These methods are not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __domTree\n});\n;// CONCATENATED MODULE: ./katex.webpack.js\n/**\n * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2]\n * doesn't support CSS modules natively, a separate entry point is used and\n * it is not flowtyped.\n *\n * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef\n * [2] https://facebook.github.io/jest/docs/en/webpack.html\n */\n\n\n/* harmony default export */ var katex_webpack = (katex);\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/katex/dist/katex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_DataView.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_DataView.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar DataView = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'DataView');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataView);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_DataView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Hash.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Hash.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hashClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_hashClear.js */ \"../simple-mind-map/node_modules/lodash-es/_hashClear.js\");\n/* harmony import */ var _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hashDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_hashDelete.js\");\n/* harmony import */ var _hashGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hashGet.js */ \"../simple-mind-map/node_modules/lodash-es/_hashGet.js\");\n/* harmony import */ var _hashHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hashHas.js */ \"../simple-mind-map/node_modules/lodash-es/_hashHas.js\");\n/* harmony import */ var _hashSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_hashSet.js */ \"../simple-mind-map/node_modules/lodash-es/_hashSet.js\");\n\n\n\n\n\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = _hashClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nHash.prototype['delete'] = _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nHash.prototype.get = _hashGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nHash.prototype.has = _hashHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nHash.prototype.set = _hashSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Hash);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Hash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_baseLodash_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LazyWrapper);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_ListCache.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_ListCache.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_listCacheClear.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheClear.js\");\n/* harmony import */ var _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_listCacheDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js\");\n/* harmony import */ var _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_listCacheGet.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheGet.js\");\n/* harmony import */ var _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_listCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheHas.js\");\n/* harmony import */ var _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_listCacheSet.js */ \"../simple-mind-map/node_modules/lodash-es/_listCacheSet.js\");\n\n\n\n\n\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nListCache.prototype['delete'] = _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nListCache.prototype.get = _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nListCache.prototype.has = _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nListCache.prototype.set = _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ListCache);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_ListCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n\n\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_baseLodash_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LodashWrapper);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Map.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Map.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Map = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Map');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Map);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Map.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_MapCache.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_MapCache.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_mapCacheClear.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js\");\n/* harmony import */ var _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_mapCacheDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js\");\n/* harmony import */ var _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapCacheGet.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js\");\n/* harmony import */ var _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_mapCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js\");\n/* harmony import */ var _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapCacheSet.js */ \"../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js\");\n\n\n\n\n\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nMapCache.prototype['delete'] = _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nMapCache.prototype.get = _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nMapCache.prototype.has = _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nMapCache.prototype.set = _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MapCache);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_MapCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Promise.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Promise.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Promise = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Promise');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Promise);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Promise.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Set.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Set.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar Set = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'Set');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Set);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Set.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_SetCache.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_SetCache.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n/* harmony import */ var _setCacheAdd_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_setCacheAdd.js */ \"../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js\");\n/* harmony import */ var _setCacheHas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setCacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_setCacheHas.js\");\n\n\n\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = _setCacheAdd_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nSetCache.prototype.has = _setCacheHas_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SetCache);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_SetCache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Stack.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Stack.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _stackClear_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stackClear.js */ \"../simple-mind-map/node_modules/lodash-es/_stackClear.js\");\n/* harmony import */ var _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stackDelete.js */ \"../simple-mind-map/node_modules/lodash-es/_stackDelete.js\");\n/* harmony import */ var _stackGet_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_stackGet.js */ \"../simple-mind-map/node_modules/lodash-es/_stackGet.js\");\n/* harmony import */ var _stackHas_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stackHas.js */ \"../simple-mind-map/node_modules/lodash-es/_stackHas.js\");\n/* harmony import */ var _stackSet_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stackSet.js */ \"../simple-mind-map/node_modules/lodash-es/_stackSet.js\");\n\n\n\n\n\n\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = _stackClear_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\nStack.prototype['delete'] = _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nStack.prototype.get = _stackGet_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nStack.prototype.has = _stackHas_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nStack.prototype.set = _stackSet_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stack);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Stack.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Symbol.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Symbol.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Built-in value references. */\nvar Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Symbol;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Symbol);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Symbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_Uint8Array.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_Uint8Array.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Built-in value references. */\nvar Uint8Array = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Uint8Array;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Uint8Array);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_Uint8Array.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_WeakMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_WeakMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'WeakMap');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (WeakMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_WeakMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_apply.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_apply.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (apply);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_apply.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayAggregator);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEach.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEach.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEach);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEachRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayEvery.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayEvery.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayEvery);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayFilter.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayFilter.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayFilter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayFilter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, 0) > -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayIncludes);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayIncludesWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseTimes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseTimes.js */ \"../simple-mind-map/node_modules/lodash-es/_baseTimes.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value),\n isArg = !isArr && Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value),\n isBuff = !isArr && !isArg && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value),\n isType = !isArr && !isArg && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? Object(_baseTimes_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayLikeKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayPush.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayPush.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayPush);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayPush.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayReduce.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayReduce.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayReduce);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayReduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayReduceRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySample.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySample.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n\n\n/**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\nfunction arraySample(array) {\n var length = array.length;\n return length ? array[Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, length - 1)] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySample);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arraySample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n\n\n\n\n/**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\nfunction arraySampleSize(array, n) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array), Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, 0, array.length));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySampleSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n\n\n\n/**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction arrayShuffle(array) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arrayShuffle);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_arraySome.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_arraySome.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arraySome);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_arraySome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiSize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiSize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseProperty.js\");\n\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = Object(_baseProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('length');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_asciiSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiToArray.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiToArray.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_asciiToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_asciiWords.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_asciiWords.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (asciiWords);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_asciiWords.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object[key], value)) ||\n (value === undefined && !(key in object))) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, value);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignMergeValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assignValue.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assignValue.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(objValue, value)) ||\n (value === undefined && !(key in object))) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, value);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_assignValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assocIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAggregator.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAggregator.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAggregator);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssign.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssign.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssign);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseAssign.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssignIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_defineProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_defineProperty.js\");\n\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAssignValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseAt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseAt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n\n\n/**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\nfunction baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : Object(_get_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths[index]);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseAt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseClamp.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseClamp.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseClamp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseClamp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseClone.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseClone.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseAssign.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssign.js\");\n/* harmony import */ var _baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseAssignIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignIn.js\");\n/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cloneBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _copySymbols_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_copySymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_copySymbols.js\");\n/* harmony import */ var _copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_copySymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js\");\n/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_getAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeys.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_initCloneArray.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneArray.js\");\n/* harmony import */ var _initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_initCloneByTag.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js\");\n/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_initCloneObject.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneObject.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(value)) {\n return value;\n }\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(value);\n if (isArr) {\n result = Object(_initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(value);\n if (!isDeep) {\n return Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(value, result);\n }\n } else {\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(value)) {\n return Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(value);\n if (!isDeep) {\n return isFlat\n ? Object(_copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(value, Object(_baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(result, value))\n : Object(_copySymbols_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(value, Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = Object(_initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (Object(_isSet_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (Object(_isMap_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"] : _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])\n : (isFlat ? _keysIn_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"] : _keys_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]);\n\n var props = isArr ? undefined : keysFunc(value);\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseClone);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseConforms.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseConforms.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseConformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseConforms(source) {\n var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source);\n return function(object) {\n return Object(_baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, props);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseConforms);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseConforms.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\nfunction baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseConformsTo);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseCreate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseCreate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseCreate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseCreate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseDelay.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseDelay.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\nfunction baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseDelay);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseDelay.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseDifference.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseDifference.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(values, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee));\n }\n if (comparator) {\n includes = _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n isCommon = false;\n values = new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseDifference);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseDifference.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEach.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEach.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBaseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseEach.js\");\n\n\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = Object(_createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEach);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEachRight.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEachRight.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBaseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseEach.js\");\n\n\n\n/**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEachRight = Object(_createBaseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEachRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseEvery.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseEvery.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseEvery);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseExtremum.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseExtremum.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseExtremum);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseExtremum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFill.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFill.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n\n\n\n/**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\nfunction baseFill(array, value, start, end) {\n var length = array.length;\n\n start = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : Object(_toLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFill);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFill.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFilter.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFilter.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFilter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFilter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFindIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFindKey.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFindKey.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\nfunction baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFindKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFindKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFlatten.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFlatten.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _isFlattenable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isFlattenable.js */ \"../simple-mind-map/node_modules/lodash-es/_isFlattenable.js\");\n\n\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = _isFlattenable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFlatten);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFlatten.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFor.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFor.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createBaseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseFor.js\");\n\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = Object(_createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFor);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForOwn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForOwn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForOwn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseForOwn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForRight.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwnRight(object, iteratee) {\n return object && Object(_baseForRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForOwnRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseForRight.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseForRight.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createBaseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_createBaseFor.js\");\n\n\n/**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseForRight = Object(_createBaseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseForRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseForRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseFunctions.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseFunctions.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n\n\n\n/**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\nfunction baseFunctions(object, props) {\n return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object[key]);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseFunctions);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseFunctions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object) ? result : Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, symbolsFunc(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGetAllKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGetTag.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGetTag.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getRawTag.js\");\n/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ \"../simple-mind-map/node_modules/lodash-es/_objectToString.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)\n : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGetTag);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseGetTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseGt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseGt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseGt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseHas.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseHas.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseHasIn.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseHasIn.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseHasIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseHasIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInRange.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInRange.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInRange);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseInRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsNaN.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js\");\n/* harmony import */ var _strictIndexOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_strictIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js\");\n\n\n\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? Object(_strictIndexOf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, value, fromIndex)\n : Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], fromIndex);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIndexOfWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIntersection.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIntersection.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIntersection);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIntersection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInverter.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInverter.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n\n\n/**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseInverter(object, setter, iteratee, accumulator) {\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInverter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseInverter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseInvoke.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseInvoke.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _parent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_parent.js */ \"../simple-mind-map/node_modules/lodash-es/_parent.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, object);\n object = Object(_parent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, path);\n var func = object == null ? object : object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_last_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path))];\n return func == null ? undefined : Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, object, args);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseInvoke);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseInvoke.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == argsTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsArguments);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\nvar arrayBufferTag = '[object ArrayBuffer]';\n\n/**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\nfunction baseIsArrayBuffer(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == arrayBufferTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsArrayBuffer);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsDate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsDate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == dateTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsDate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsDate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqualDeep_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqualDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && !Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other))) {\n return value !== value && other !== other;\n }\n return Object(_baseIsEqualDeep_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsEqual);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _equalArrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_equalArrays.js */ \"../simple-mind-map/node_modules/lodash-es/_equalArrays.js\");\n/* harmony import */ var _equalByTag_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_equalByTag.js */ \"../simple-mind-map/node_modules/lodash-es/_equalByTag.js\");\n/* harmony import */ var _equalObjects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_equalObjects.js */ \"../simple-mind-map/node_modules/lodash-es/_equalObjects.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(object),\n othIsArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(other),\n objTag = objIsArr ? arrayTag : Object(_getTag_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object),\n othTag = othIsArr ? arrayTag : Object(_getTag_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object)) {\n if (!Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return (objIsArr || Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(object))\n ? Object(_equalArrays_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, other, bitmask, customizer, equalFunc, stack)\n : Object(_equalByTag_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return Object(_equalObjects_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsEqualDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsEqualDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsMap.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsMap.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == mapTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsMatch);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsNaN);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsNative.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsNative.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isMasked_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMasked.js */ \"../simple-mind-map/node_modules/lodash-es/_isMasked.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toSource.js */ \"../simple-mind-map/node_modules/lodash-es/_toSource.js\");\n\n\n\n\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_isMasked_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n var pattern = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? reIsNative : reIsHostCtor;\n return pattern.test(Object(_toSource_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsNative);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == regexpTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsRegExp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsSet.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsSet.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == setTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) &&\n Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value.length) && !!typedArrayTags[Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIsTypedArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseIteratee.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseIteratee.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMatches_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMatches.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatches.js\");\n/* harmony import */ var _baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _property_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./property.js */ \"../simple-mind-map/node_modules/lodash-es/property.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n if (typeof value == 'object') {\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value)\n ? Object(_baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value[0], value[1])\n : Object(_baseMatches_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n }\n return Object(_property_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseIteratee);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseIteratee.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseKeys.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseKeys.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_nativeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeKeys.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object)) {\n return Object(_nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nativeKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js\");\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object)) {\n return Object(_nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n }\n var isProto = Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseKeysIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseLodash.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseLodash.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseLodash);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseLodash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseLt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseLt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseLt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseLt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection) ? Array(collection.length) : [];\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMatches.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMatches.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n/* harmony import */ var _matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_matchesStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js\");\n\n\n\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return Object(_matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, matchData);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMatches);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMatches.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _isStrictComparable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js\");\n/* harmony import */ var _matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_matchesStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (Object(_isKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path) && Object(_isStrictComparable_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue)) {\n return Object(_matchesStrictComparable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Object(_toKey_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(path), srcValue);\n }\n return function(object) {\n var objValue = Object(_get_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? Object(_hasIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, path)\n : Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMatchesProperty);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMean.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMean.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\nfunction baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, iteratee) / length) : NAN;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMean);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMerge.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMerge.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ \"../simple-mind-map/node_modules/lodash-es/_Stack.js\");\n/* harmony import */ var _assignMergeValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_assignMergeValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js\");\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _baseMergeDeep_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseMergeDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony import */ var _safeGet_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_safeGet.js */ \"../simple-mind-map/node_modules/lodash-es/_safeGet.js\");\n\n\n\n\n\n\n\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, function(srcValue, key) {\n stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue)) {\n Object(_baseMergeDeep_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, newValue);\n }\n }, _keysIn_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMerge);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMerge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignMergeValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignMergeValue.js\");\n/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js\");\n/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_initCloneObject.js */ \"../simple-mind-map/node_modules/lodash-es/_initCloneObject.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony import */ var _safeGet_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_safeGet.js */ \"../simple-mind-map/node_modules/lodash-es/_safeGet.js\");\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(object, key),\n srcValue = Object(_safeGet_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(srcValue),\n isBuff = !isArr && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(srcValue),\n isTyped = !isArr && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(objValue)) {\n newValue = objValue;\n }\n else if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(objValue)) {\n newValue = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(srcValue) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(srcValue)) {\n newValue = objValue;\n if (Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(objValue)) {\n newValue = Object(_toPlainObject_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(objValue);\n }\n else if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(objValue) || Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(objValue)) {\n newValue = Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n Object(_assignMergeValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, newValue);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseMergeDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseMergeDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseNth.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseNth.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n/**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\nfunction baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, length) ? array[n] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseNth);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseNth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMap.js\");\n/* harmony import */ var _baseSortBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseSortBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortBy.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _compareMultiple_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_compareMultiple.js */ \"../simple-mind-map/node_modules/lodash-es/_compareMultiple.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, function(iteratee) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(iteratee)) {\n return function(value) {\n return Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [_identity_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]];\n }\n\n var index = -1;\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n\n var result = Object(_baseMap_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, function(value, key, collection) {\n var criteria = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return Object(_baseSortBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(result, function(object, other) {\n return Object(_compareMultiple_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(object, other, orders);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseOrderBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePick.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePick.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePickBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePickBy.js */ \"../simple-mind-map/node_modules/lodash-es/_basePickBy.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n\n\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return Object(_basePickBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths, function(value, path) {\n return Object(_hasIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePick);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePick.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePickBy.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePickBy.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n\n\n\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n\n if (predicate(value, path)) {\n Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, Object(_castPath_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path, object), value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePickBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePickBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseProperty.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseProperty.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseProperty);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePropertyDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePropertyOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePullAll.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePullAll.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _baseIndexOfWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIndexOfWith.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOfWith.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? _baseIndexOfWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(values);\n }\n if (iteratee) {\n seen = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePullAll);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePullAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_basePullAt.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_basePullAt.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseUnset_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseUnset.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnset.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(index)) {\n splice.call(array, index, 1);\n } else {\n Object(_baseUnset_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, index);\n }\n }\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (basePullAt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_basePullAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRandom.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRandom.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeRandom = Math.random;\n\n/**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\nfunction baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRandom);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseRandom.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRange.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRange.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRange);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseReduce.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseReduce.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseReduce);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseReduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRepeat.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRepeat.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRepeat);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseRepeat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _overRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_overRest.js */ \"../simple-mind-map/node_modules/lodash-es/_overRest.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n\n\n\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_overRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, start, _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), func + '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseRest);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSample.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSample.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySample_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySample.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySample.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n/**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\nfunction baseSample(collection) {\n return Object(_arraySample_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_values_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSample);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n\n/**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\nfunction baseSampleSize(collection, n) {\n var array = Object(_values_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection);\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n, 0, array.length));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSampleSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object)) {\n return object;\n }\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(objValue)\n ? objValue\n : (Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path[index + 1]) ? [] : {});\n }\n }\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSetData.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSetData.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _metaMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_metaMap.js */ \"../simple-mind-map/node_modules/lodash-es/_metaMap.js\");\n\n\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !_metaMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : function(func, data) {\n _metaMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(func, data);\n return func;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSetData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSetData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSetToString.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSetToString.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_defineProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_defineProperty.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !_defineProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : function(func, string) {\n return Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string),\n 'writable': true\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSetToString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSetToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseShuffle.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseShuffle.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _shuffleSelf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_shuffleSelf.js */ \"../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n/**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction baseShuffle(collection) {\n return Object(_shuffleSelf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_values_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseShuffle);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseShuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSlice.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSlice.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSlice);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSlice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSome.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSome.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSome);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortBy.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortBy.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSortBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n/**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], retHighest);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedIndexBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSortedUniq);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseSum.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseSum.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseSum);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseSum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseTimes.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseTimes.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseTimes);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseTimes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToNumber.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToNumber.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\nfunction baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return NAN;\n }\n return +value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToNumber);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseToNumber.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToPairs.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToPairs.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n\n\n/**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\nfunction baseToPairs(object, props) {\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return [key, object[key]];\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToPairs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseToString.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseToString.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, baseToString) + '';\n }\n if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseToString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseTrim.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseTrim.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _trimmedEndIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_trimmedEndIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js\");\n\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, Object(_trimmedEndIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseTrim);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseTrim.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUnary.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUnary.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUnary);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseUnary.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUniq.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUniq.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n/* harmony import */ var _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayIncludesWith.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludesWith.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n/* harmony import */ var _createSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createSet.js */ \"../simple-mind-map/node_modules/lodash-es/_createSet.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : Object(_createSet_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(array);\n if (set) {\n return Object(_setToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(set);\n }\n isCommon = false;\n includes = _cacheHas_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n seen = new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUniq);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUnset.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUnset.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _parent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_parent.js */ \"../simple-mind-map/node_modules/lodash-es/_parent.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n object = Object(_parent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, path);\n return object == null || delete object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_last_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path))];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUnset);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseUnset.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseUpdate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseUpdate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n\n/**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseUpdate(object, path, updater, customizer) {\n return Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, updater(Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path)), customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseUpdate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseUpdate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseValues.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseValues.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, function(key) {\n return object[key];\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseValues);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseValues.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseWhile.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseWhile.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseWhile);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n\n\n\n\n/**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\nfunction baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n result = result.value();\n }\n return Object(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(actions, function(result, action) {\n return action.func.apply(action.thisArg, Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([result], action.args));\n }, result);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseWrapperValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseXor.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseXor.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseUniq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUniq.js\");\n\n\n\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? Object(_baseUniq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return Object(_baseUniq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, 1), iteratee, comparator);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseXor);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseXor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_baseZipObject.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_baseZipObject.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\nfunction baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseZipObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_baseZipObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cacheHas.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cacheHas.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cacheHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castArrayLikeObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castFunction.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castFunction.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : _identity_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castFunction);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_castFunction.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castPath.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castPath.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _stringToPath_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stringToPath.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToPath.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return value;\n }\n return Object(_isKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, object) ? [value] : Object(_stringToPath_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castPath);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_castPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n/**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nvar castRest = _baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castRest);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_castRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_castSlice.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_castSlice.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castSlice);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_castSlice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (charsEndIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_charsEndIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (charsStartIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_charsStartIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Uint8Array.js */ \"../simple-mind-map/node_modules/lodash-es/_Uint8Array.js\");\n\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](result).set(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](arrayBuffer));\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneArrayBuffer);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneBuffer);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneDataView.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneDataView.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDataView);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneDataView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneRegExp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneSymbol);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneTypedArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_compareAscending.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_compareAscending.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compareAscending);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_compareAscending.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_compareMultiple.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_compareMultiple.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _compareAscending_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_compareAscending.js */ \"../simple-mind-map/node_modules/lodash-es/_compareAscending.js\");\n\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = Object(_compareAscending_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compareMultiple);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_compareMultiple.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_composeArgs.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_composeArgs.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (composeArgs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_composeArgs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (composeArgsRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copyArray.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copyArray.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copyArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_copyArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copyObject.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copyObject.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n\n\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, newValue);\n } else {\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, newValue);\n }\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copyObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_copyObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copySymbols.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copySymbols.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n\n\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copySymbols);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_copySymbols.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js\");\n\n\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (copySymbolsIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_copySymbolsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_coreJsData.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_coreJsData.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]['__core-js_shared__'];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (coreJsData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_coreJsData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_countHolders.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_countHolders.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (countHolders);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_countHolders.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createAggregator.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createAggregator.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayAggregator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayAggregator.js\");\n/* harmony import */ var _baseAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAggregator.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayAggregator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2), accumulator);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAggregator);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createAggregator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createAssigner.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createAssigner.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAssigner);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createAssigner.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBaseEach.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBaseEach.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBaseEach);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createBaseEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBaseFor.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBaseFor.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBaseFor);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createBaseFor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createBind.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createBind.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func);\n\n function wrapper() {\n var fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBind);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createBind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n\n var strSymbols = Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCaseFirst);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCompounder.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCompounder.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n\n\n\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return Object(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_words_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_deburr_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string).replace(reApos, '')), callback, '');\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCompounder);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createCompounder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCtor.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCtor.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result) ? result : thisBinding;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCtor);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createCtor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createCurry.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createCurry.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _createRecurry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createRecurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createRecurry.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n\n\n\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return Object(_createRecurry_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n func, bitmask, _createHybrid_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn, this, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCurry);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createCurry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createFind.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createFind.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection)) {\n var iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3);\n collection = Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createFind);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createFind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createFlow.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createFlow.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _getFuncName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_getFuncName.js */ \"../simple-mind-map/node_modules/lodash-es/_getFuncName.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isLaziable_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_isLaziable.js */ \"../simple-mind-map/node_modules/lodash-es/_isLaziable.js\");\n\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func) == 'wrapper') {\n var wrapper = new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func),\n data = funcName == 'wrapper' ? Object(_getData_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func) : undefined;\n\n if (data && Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createFlow);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createFlow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createHybrid.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createHybrid.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _composeArgs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_composeArgs.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgs.js\");\n/* harmony import */ var _composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_composeArgsRight.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js\");\n/* harmony import */ var _countHolders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_countHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_countHolders.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _createRecurry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createRecurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createRecurry.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _reorder_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_reorder.js */ \"../simple-mind-map/node_modules/lodash-es/_reorder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(wrapper),\n holdersCount = Object(_countHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(args, placeholder);\n }\n if (partials) {\n args = Object(_composeArgs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = Object(_composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(args, placeholder);\n return Object(_createRecurry_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = Object(_reorder_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"] && this instanceof wrapper) {\n fn = Ctor || Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHybrid);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createHybrid.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createInverter.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createInverter.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInverter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInverter.js\");\n\n\n/**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\nfunction createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return Object(_baseInverter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, setter, toIteratee(iteratee), {});\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createInverter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createInverter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createMathOperation.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createMathOperation.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToNumber.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToNumber.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n\n\n\n/**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\nfunction createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n other = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other);\n } else {\n value = Object(_baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n other = Object(_baseToNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createMathOperation);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createMathOperation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createOver.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createOver.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n\n\n\n\n/**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\nfunction createOver(arrayFunc) {\n return Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function(iteratees) {\n iteratees = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratees, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, thisArg, args);\n });\n });\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createOver);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createOver.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createPadding.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createPadding.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRepeat.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRepeat.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil;\n\n/**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\nfunction createPadding(length, chars) {\n chars = chars === undefined ? ' ' : Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chars, length) : chars;\n }\n var result = Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(chars, nativeCeil(length / Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(chars)));\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(chars)\n ? Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(result), 0, length).join('')\n : result.slice(0, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createPadding);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createPadding.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createPartial.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createPartial.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _createCtor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCtor.js */ \"../simple-mind-map/node_modules/lodash-es/_createCtor.js\");\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = Object(_createCtor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== _root_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createPartial);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createPartial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRange.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRange.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRange.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRange.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n\n\n\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(step);\n return Object(_baseRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(start, end, step, fromRight);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRange);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRecurry.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRecurry.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isLaziable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isLaziable.js */ \"../simple-mind-map/node_modules/lodash-es/_isLaziable.js\");\n/* harmony import */ var _setData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_setData.js */ \"../simple-mind-map/node_modules/lodash-es/_setData.js\");\n/* harmony import */ var _setWrapToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setWrapToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setWrapToString.js\");\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (Object(_isLaziable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func)) {\n Object(_setData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, newData);\n }\n result.placeholder = placeholder;\n return Object(_setWrapToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, func, bitmask);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRecurry);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createRecurry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n/**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\nfunction createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n other = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other);\n }\n return operator(value, other);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRelationalOperation);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createRound.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createRound.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsFinite = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFinite,\n nativeMin = Math.min;\n\n/**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\nfunction createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(number);\n precision = precision == null ? 0 : nativeMin(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRound);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createRound.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createSet.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createSet.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Set.js */ \"../simple-mind-map/node_modules/lodash-es/_Set.js\");\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(_Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && (1 / Object(_setToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(new _Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]([,-0]))[1]) == INFINITY) ? _noop_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(values) {\n return new _Set_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](values);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createToPairs.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createToPairs.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToPairs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToPairs.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToPairs.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _mapToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_mapToArray.js\");\n/* harmony import */ var _setToPairs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_setToPairs.js */ \"../simple-mind-map/node_modules/lodash-es/_setToPairs.js\");\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\nfunction createToPairs(keysFunc) {\n return function(object) {\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n if (tag == mapTag) {\n return Object(_mapToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n }\n if (tag == setTag) {\n return Object(_setToPairs_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object);\n }\n return Object(_baseToPairs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, keysFunc(object));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createToPairs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_createWrap.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_createWrap.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetData.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetData.js\");\n/* harmony import */ var _createBind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createBind.js */ \"../simple-mind-map/node_modules/lodash-es/_createBind.js\");\n/* harmony import */ var _createCurry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createCurry.js */ \"../simple-mind-map/node_modules/lodash-es/_createCurry.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _createPartial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_createPartial.js */ \"../simple-mind-map/node_modules/lodash-es/_createPartial.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _mergeData_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_mergeData.js */ \"../simple-mind-map/node_modules/lodash-es/_mergeData.js\");\n/* harmony import */ var _setData_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_setData.js */ \"../simple-mind-map/node_modules/lodash-es/_setData.js\");\n/* harmony import */ var _setWrapToString_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_setWrapToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setWrapToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(ary), 0);\n arity = arity === undefined ? arity : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : Object(_getData_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n Object(_mergeData_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = Object(_createBind_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = Object(_createCurry_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = Object(_createPartial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(func, bitmask, thisArg, partials);\n } else {\n result = _createHybrid_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].apply(undefined, newData);\n }\n var setter = data ? _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _setData_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n return Object(_setWrapToString_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(setter(result, newData), func, bitmask);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createWrap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_createWrap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customDefaultsAssignIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(objValue) && Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customDefaultsMerge);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_customOmitClone.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_customOmitClone.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? undefined : value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (customOmitClone);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_customOmitClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_deburrLetter.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_deburrLetter.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(deburredLetters);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (deburrLetter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_deburrLetter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_defineProperty.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_defineProperty.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n\n\nvar defineProperty = (function() {\n try {\n var func = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defineProperty);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_defineProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalArrays.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalArrays.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_SetCache.js */ \"../simple-mind-map/node_modules/lodash-es/_SetCache.js\");\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _cacheHas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cacheHas.js */ \"../simple-mind-map/node_modules/lodash-es/_cacheHas.js\");\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!Object(_arraySome_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other, function(othValue, othIndex) {\n if (!Object(_cacheHas_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalArrays);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_equalArrays.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalByTag.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalByTag.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Uint8Array.js */ \"../simple-mind-map/node_modules/lodash-es/_Uint8Array.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _equalArrays_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_equalArrays.js */ \"../simple-mind-map/node_modules/lodash-es/_equalArrays.js\");\n/* harmony import */ var _mapToArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_mapToArray.js\");\n/* harmony import */ var _setToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_setToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_setToArray.js\");\n\n\n\n\n\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](object), new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return Object(_eq_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = _mapToArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = _setToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = Object(_equalArrays_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalByTag);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_equalByTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_equalObjects.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_equalObjects.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeys.js\");\n\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = Object(_getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object),\n objLength = objProps.length,\n othProps = Object(_getAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (equalObjects);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_equalObjects.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map characters to HTML entities. */\nvar htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n/**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nvar escapeHtmlChar = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(htmlEscapes);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeHtmlChar);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to escape characters for inclusion in compiled string literals. */\nvar stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\n/**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nfunction escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeStringChar);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_flatRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_flatRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony import */ var _overRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_overRest.js */ \"../simple-mind-map/node_modules/lodash-es/_overRest.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n\n\n\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_overRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, undefined, _flatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), func + '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatRest);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_flatRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_freeGlobal.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_freeGlobal.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (freeGlobal);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_freeGlobal.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getAllKeys.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getAllKeys.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, _keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getAllKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getAllKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetAllKeys.js\");\n/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getAllKeysIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getData.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getData.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _metaMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_metaMap.js */ \"../simple-mind-map/node_modules/lodash-es/_metaMap.js\");\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n\n\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !_metaMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _noop_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(func) {\n return _metaMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get(func);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getFuncName.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getFuncName.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _realNames_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_realNames.js */ \"../simple-mind-map/node_modules/lodash-es/_realNames.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = _realNames_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"][result],\n length = hasOwnProperty.call(_realNames_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getFuncName);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getFuncName.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getHolder.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getHolder.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getHolder);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getHolder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getMapData.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getMapData.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isKeyable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isKeyable.js */ \"../simple-mind-map/node_modules/lodash-es/_isKeyable.js\");\n\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return Object(_isKeyable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getMapData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getMapData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getMatchData.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getMatchData.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isStrictComparable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isStrictComparable.js */ \"../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, Object(_isStrictComparable_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getMatchData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getMatchData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getNative.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getNative.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNative.js\");\n/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getValue.js */ \"../simple-mind-map/node_modules/lodash-es/_getValue.js\");\n\n\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key);\n return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getNative);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getPrototype.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getPrototype.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ \"../simple-mind-map/node_modules/lodash-es/_overArg.js\");\n\n\n/** Built-in value references. */\nvar getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object.getPrototypeOf, Object);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getPrototype);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getPrototype.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getRawTag.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getRawTag.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getRawTag);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getRawTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getSymbols.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getSymbols.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getSymbols);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getSymbols.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getSymbols.js */ \"../simple-mind-map/node_modules/lodash-es/_getSymbols.js\");\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] : function(object) {\n var result = [];\n while (object) {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object));\n object = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n }\n return result;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getSymbolsIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getSymbolsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getTag.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getTag.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _DataView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_DataView.js */ \"../simple-mind-map/node_modules/lodash-es/_DataView.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n/* harmony import */ var _Promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Promise.js */ \"../simple-mind-map/node_modules/lodash-es/_Promise.js\");\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_Set.js */ \"../simple-mind-map/node_modules/lodash-es/_Set.js\");\n/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_WeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/_WeakMap.js\");\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toSource.js */ \"../simple-mind-map/node_modules/lodash-es/_toSource.js\");\n\n\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n mapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n promiseCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n setCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n weakMapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((_DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && getTag(new _DataView_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](new ArrayBuffer(1))) != dataViewTag) ||\n (_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && getTag(new _Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) != mapTag) ||\n (_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && getTag(_Promise_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].resolve()) != promiseTag) ||\n (_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"] && getTag(new _Set_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) != setTag) ||\n (_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && getTag(new _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) != weakMapTag)) {\n getTag = function(value) {\n var result = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getTag);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getValue.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getValue.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getView.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getView.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\nfunction getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getView);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getWrapDetails);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasPath.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasPath.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(length) && Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(key, length) &&\n (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasPath);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hasPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasUnicode.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasUnicode.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasUnicode);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hasUnicode.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasUnicodeWord);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hasUnicodeWord.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashClear.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashClear.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? Object(_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(null) : {};\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashClear);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hashClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashDelete.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashDelete.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashDelete);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hashDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hashGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashHas.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashHas.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hashHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_hashSet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_hashSet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_nativeCreate.js\");\n\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hashSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_hashSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneArray.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneArray.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_initCloneArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneArrayBuffer.js\");\n/* harmony import */ var _cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneDataView.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneDataView.js\");\n/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneRegExp.js\");\n/* harmony import */ var _cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cloneSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneSymbol.js\");\n/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_cloneTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_cloneTypedArray.js\");\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return Object(_cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return Object(_cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneByTag);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_initCloneByTag.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_initCloneObject.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_initCloneObject.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n\n\n\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object))\n ? Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object))\n : {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initCloneObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_initCloneObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (insertWrapDetails);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isFlattenable.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isFlattenable.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/** Built-in value references. */\nvar spreadableSymbol = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFlattenable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isFlattenable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isIndex.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isIndex.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object) && Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object[index], value);\n }\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isIterateeCall);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isKey.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isKey.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isKeyable.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isKeyable.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isKeyable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isKeyable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isLaziable.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isLaziable.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _getData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getData.js */ \"../simple-mind-map/node_modules/lodash-es/_getData.js\");\n/* harmony import */ var _getFuncName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getFuncName.js */ \"../simple-mind-map/node_modules/lodash-es/_getFuncName.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n\n\n\n\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = Object(_getFuncName_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(func),\n other = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"][funcName];\n\n if (typeof other != 'function' || !(funcName in _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = Object(_getData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(other);\n return !!data && func === data[0];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isLaziable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isLaziable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isMaskable.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isMaskable.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ \"../simple-mind-map/node_modules/lodash-es/_coreJsData.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n\n\n\n\n/**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\nvar isMaskable = _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : _stubFalse_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMaskable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isMaskable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isMasked.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isMasked.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ \"../simple-mind-map/node_modules/lodash-es/_coreJsData.js\");\n\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(_coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].keys && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMasked);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isMasked.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isPrototype.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isPrototype.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isPrototype);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isPrototype.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isStrictComparable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_isStrictComparable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (iteratorToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_iteratorToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyClone.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyClone.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n/**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\nfunction lazyClone() {\n var result = new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.__wrapped__);\n result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.__views__);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyClone);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_lazyClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyReverse.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyReverse.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n\n\n/**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\nfunction lazyReverse() {\n if (this.__filtered__) {\n var result = new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyReverse);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_lazyReverse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_lazyValue.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_lazyValue.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseWrapperValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseWrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWrapperValue.js\");\n/* harmony import */ var _getView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getView.js */ \"../simple-mind-map/node_modules/lodash-es/_getView.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/** Used to indicate the type of lazy iteratees. */\nvar LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\nfunction lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = Object(_getView_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return Object(_baseWrapperValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lazyValue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_lazyValue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheClear.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheClear.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheClear);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_listCacheClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheDelete);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_listCacheDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheGet.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheGet.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_listCacheGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheHas.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheHas.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.__data__, key) > -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_listCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_listCacheSet.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_listCacheSet.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_assocIndexOf.js\");\n\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (listCacheSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_listCacheSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Hash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Hash.js */ \"../simple-mind-map/node_modules/lodash-es/_Hash.js\");\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n\n\n\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n 'map': new (_Map_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] || _ListCache_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n 'string': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheClear);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapCacheClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheDelete);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapCacheDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key).get(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapCacheGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key).has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMapData.js\");\n\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapCacheSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapCacheSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mapToArray.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mapToArray.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mapToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matchesStrictComparable);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_matchesStrictComparable.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = Object(_memoize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeCapped);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_mergeData.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_mergeData.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _composeArgs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_composeArgs.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgs.js\");\n/* harmony import */ var _composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_composeArgsRight.js */ \"../simple-mind-map/node_modules/lodash-es/_composeArgsRight.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? Object(_composeArgs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(partials, value, source[4]) : value;\n data[4] = partials ? Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? Object(_composeArgsRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(partials, value, source[6]) : value;\n data[6] = partials ? Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_mergeData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_metaMap.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_metaMap.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_WeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/_WeakMap.js\");\n\n\n/** Used to store function metadata. */\nvar metaMap = _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && new _WeakMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (metaMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_metaMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeCreate.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeCreate.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ \"../simple-mind-map/node_modules/lodash-es/_getNative.js\");\n\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object, 'create');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeCreate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_nativeCreate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeKeys.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeKeys.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ \"../simple-mind-map/node_modules/lodash-es/_overArg.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object.keys, Object);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_nativeKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nativeKeysIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_nativeKeysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_nodeUtil.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_nodeUtil.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ \"../simple-mind-map/node_modules/lodash-es/_freeGlobal.js\");\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nodeUtil);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_nodeUtil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_objectToString.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_objectToString.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (objectToString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_objectToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_overArg.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_overArg.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overArg);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_overArg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_overRest.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_overRest.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, otherArgs);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overRest);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_overRest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_parent.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_parent.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, 0, -1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parent);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_parent.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reEscape.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reEscape.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reEscape = /<%-([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reEscape);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_reEscape.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reEvaluate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reEvaluate.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reEvaluate = /<%([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reEvaluate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_reEvaluate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reInterpolate.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reInterpolate.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match template delimiters. */\nvar reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reInterpolate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_reInterpolate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_realNames.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_realNames.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to lookup unminified function names. */\nvar realNames = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (realNames);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_realNames.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_reorder.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_reorder.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reorder);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_reorder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_replaceHolders.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_replaceHolders.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (replaceHolders);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_replaceHolders.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_root.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_root.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ \"../simple-mind-map/node_modules/lodash-es/_freeGlobal.js\");\n\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] || freeSelf || Function('return this')();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (root);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_root.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_safeGet.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_safeGet.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (safeGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_safeGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setCacheAdd);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setCacheAdd.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setCacheHas.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setCacheHas.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setCacheHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setCacheHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setData.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setData.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetData.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetData.js\");\n/* harmony import */ var _shortOut_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shortOut.js */ \"../simple-mind-map/node_modules/lodash-es/_shortOut.js\");\n\n\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = Object(_shortOut_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseSetData_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setData);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setData.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToArray.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToArray.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToPairs.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToPairs.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\nfunction setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToPairs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setToPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setToString.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setToString.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSetToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSetToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSetToString.js\");\n/* harmony import */ var _shortOut_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_shortOut.js */ \"../simple-mind-map/node_modules/lodash-es/_shortOut.js\");\n\n\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = Object(_shortOut_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseSetToString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setToString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_setWrapToString.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_setWrapToString.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getWrapDetails_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_getWrapDetails.js\");\n/* harmony import */ var _insertWrapDetails_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_insertWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_insertWrapDetails.js\");\n/* harmony import */ var _setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_setToString.js */ \"../simple-mind-map/node_modules/lodash-es/_setToString.js\");\n/* harmony import */ var _updateWrapDetails_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_updateWrapDetails.js */ \"../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js\");\n\n\n\n\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wrapper, Object(_insertWrapDetails_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source, Object(_updateWrapDetails_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_getWrapDetails_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source), bitmask)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setWrapToString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_setWrapToString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_shortOut.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_shortOut.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shortOut);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_shortOut.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n\n\n/**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\nfunction shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shuffleSelf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_shuffleSelf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackClear.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackClear.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n this.size = 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackClear);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stackClear.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackDelete.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackDelete.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackDelete);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stackDelete.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackGet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackGet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackGet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stackGet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackHas.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackHas.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackHas);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stackHas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stackSet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stackSet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ \"../simple-mind-map/node_modules/lodash-es/_ListCache.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ \"../simple-mind-map/node_modules/lodash-es/_Map.js\");\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n\n\n\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof _ListCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var pairs = data.__data__;\n if (!_Map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stackSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stackSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (strictIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_strictIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (strictLastIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringSize.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringSize.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _asciiSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_asciiSize.js */ \"../simple-mind-map/node_modules/lodash-es/_asciiSize.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _unicodeSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_unicodeSize.js */ \"../simple-mind-map/node_modules/lodash-es/_unicodeSize.js\");\n\n\n\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_unicodeSize_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : Object(_asciiSize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stringSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringToArray.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringToArray.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _asciiToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_asciiToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_asciiToArray.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _unicodeToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_unicodeToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js\");\n\n\n\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string)\n ? Object(_unicodeToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)\n : Object(_asciiToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stringToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_stringToPath.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_stringToPath.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_memoizeCapped.js */ \"../simple-mind-map/node_modules/lodash-es/_memoizeCapped.js\");\n\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = Object(_memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringToPath);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_stringToPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_toKey.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_toKey.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (toKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_toKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_toSource.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_toSource.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (toSource);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_toSource.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (trimmedEndIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_trimmedEndIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePropertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyOf.js\");\n\n\n/** Used to map HTML entities to characters. */\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\nvar unescapeHtmlChar = Object(_basePropertyOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(htmlUnescapes);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unescapeHtmlChar);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_unescapeHtmlChar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeSize.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeSize.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_unicodeSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeToArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_unicodeToArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_unicodeWords.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_unicodeWords.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unicodeWords);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_unicodeWords.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayIncludes.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayIncludes.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !Object(_arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (updateWrapDetails);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_updateWrapDetails.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/_wrapperClone.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/_wrapperClone.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n\n\n\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n return wrapper.clone();\n }\n var result = new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"](wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperClone);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/_wrapperClone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/add.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/add.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Adds two numbers.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {number} augend The first number in an addition.\n * @param {number} addend The second number in an addition.\n * @returns {number} Returns the total.\n * @example\n *\n * _.add(6, 4);\n * // => 10\n */\nvar add = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(augend, addend) {\n return augend + addend;\n}, 0);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (add);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/add.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/after.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/after.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\nfunction after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (after);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/after.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/array.default.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/array.default.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n chunk: _chunk_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], compact: _compact_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], concat: _concat_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], difference: _difference_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], differenceBy: _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n differenceWith: _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], drop: _drop_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], dropRight: _dropRight_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], dropRightWhile: _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], dropWhile: _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n fill: _fill_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], findIndex: _findIndex_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], findLastIndex: _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], first: _first_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], flatten: _flatten_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n flattenDeep: _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], flattenDepth: _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], fromPairs: _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], head: _head_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], indexOf: _indexOf_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n initial: _initial_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], intersection: _intersection_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], intersectionBy: _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], intersectionWith: _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], join: _join_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n last: _last_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], lastIndexOf: _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], nth: _nth_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], pull: _pull_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], pullAll: _pullAll_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n pullAllBy: _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], pullAllWith: _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], pullAt: _pullAt_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], remove: _remove_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], reverse: _reverse_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n slice: _slice_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], sortedIndex: _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], sortedIndexBy: _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], sortedIndexOf: _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], sortedLastIndex: _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n sortedLastIndexBy: _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], sortedLastIndexOf: _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], sortedUniq: _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], sortedUniqBy: _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], tail: _tail_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n take: _take_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], takeRight: _takeRight_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"], takeRightWhile: _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"], takeWhile: _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"], union: _union_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"],\n unionBy: _unionBy_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"], unionWith: _unionWith_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"], uniq: _uniq_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"], uniqBy: _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"], uniqWith: _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"],\n unzip: _unzip_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"], unzipWith: _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"], without: _without_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"], xor: _xor_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"], xorBy: _xorBy_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"],\n xorWith: _xorWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"], zip: _zip_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"], zipObject: _zipObject_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"], zipObjectDeep: _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"], zipWith: _zipWith_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/array.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/array.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/array.js ***! + \**********************************************************/ +/*! exports provided: chunk, compact, concat, difference, differenceBy, differenceWith, drop, dropRight, dropRightWhile, dropWhile, fill, findIndex, findLastIndex, first, flatten, flattenDeep, flattenDepth, fromPairs, head, indexOf, initial, intersection, intersectionBy, intersectionWith, join, last, lastIndexOf, nth, pull, pullAll, pullAllBy, pullAllWith, pullAt, remove, reverse, slice, sortedIndex, sortedIndexBy, sortedIndexOf, sortedLastIndex, sortedLastIndexBy, sortedLastIndexOf, sortedUniq, sortedUniqBy, tail, take, takeRight, takeRightWhile, takeWhile, union, unionBy, unionWith, uniq, uniqBy, uniqWith, unzip, unzipWith, without, xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, zipWith, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chunk\", function() { return _chunk_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compact\", function() { return _compact_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceBy\", function() { return _differenceBy_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRight\", function() { return _dropRight_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRightWhile\", function() { return _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _fill_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"first\", function() { return _first_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDeep\", function() { return _flattenDeep_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDepth\", function() { return _flattenDepth_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initial\", function() { return _initial_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionBy\", function() { return _intersectionBy_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionWith\", function() { return _intersectionWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pull\", function() { return _pull_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAll\", function() { return _pullAll_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllBy\", function() { return _pullAllBy_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllWith\", function() { return _pullAllWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAt\", function() { return _pullAt_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndex\", function() { return _sortedIndex_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexBy\", function() { return _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexOf\", function() { return _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndex\", function() { return _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexBy\", function() { return _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexOf\", function() { return _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _sortedUniq_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniqBy\", function() { return _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRight\", function() { return _takeRight_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRightWhile\", function() { return _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionBy\", function() { return _unionBy_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return _unzip_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzipWith\", function() { return _unzipWith_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xor\", function() { return _xor_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorBy\", function() { return _xorBy_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorWith\", function() { return _xorWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObject\", function() { return _zipObject_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObjectDeep\", function() { return _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _array_default_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./array.default.js */ \"../simple-mind-map/node_modules/lodash-es/array.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _array_default_js__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/array.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/ary.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/ary.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_ARY_FLAG = 128;\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\nfunction ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ary);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/ary.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assign.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assign.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_assignValue.js\");\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(object, source) {\n if (Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(source) || Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source)) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, key, source[key]);\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assign);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/assign.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignIn.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignIn.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/assignIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignInWith.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignInWith.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignInWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/assignInWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/assignWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/assignWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n/**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source), object, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (assignWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/assignWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/at.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/at.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAt.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\nvar at = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (at);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/at.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/attempt.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/attempt.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n\n\n\n\n/**\n * Attempts to invoke `func`, returning either the result or the caught error\n * object. Any additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Function} func The function to attempt.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {*} Returns the `func` result or error object.\n * @example\n *\n * // Avoid throwing errors for invalid selectors.\n * var elements = _.attempt(function(selector) {\n * return document.querySelectorAll(selector);\n * }, '>_>');\n *\n * if (_.isError(elements)) {\n * elements = [];\n * }\n */\nvar attempt = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, args) {\n try {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, undefined, args);\n } catch (e) {\n return Object(_isError_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e) ? e : new Error(e);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (attempt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/attempt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/before.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/before.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (before);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/before.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bind.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bind.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\nvar bind = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, bitmask, thisArg, partials, holders);\n});\n\n// Assign default placeholders.\nbind.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bind);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/bind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bindAll.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bindAll.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n\n/**\n * Binds methods of an object to the object itself, overwriting the existing\n * method.\n *\n * **Note:** This method doesn't set the \"length\" property of bound functions.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Object} object The object to bind and assign the bound methods to.\n * @param {...(string|string[])} methodNames The object method names to bind.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var view = {\n * 'label': 'docs',\n * 'click': function() {\n * console.log('clicked ' + this.label);\n * }\n * };\n *\n * _.bindAll(view, ['click']);\n * jQuery(element).on('click', view.click);\n * // => Logs 'clicked docs' when clicked.\n */\nvar bindAll = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(object, methodNames) {\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(methodNames, function(key) {\n key = Object(_toKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(key);\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, key, Object(_bind_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object[key], object));\n });\n return object;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bindAll);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/bindAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/bindKey.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/bindKey.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\nvar bindKey = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, bitmask, object, partials, holders);\n});\n\n// Assign default placeholders.\nbindKey.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bindKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/bindKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/camelCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/camelCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? Object(_capitalize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(word) : word);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (camelCase);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/camelCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/capitalize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/capitalize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n\n\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return Object(_upperFirst_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string).toLowerCase());\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (capitalize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/capitalize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/castArray.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/castArray.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) ? value : [value];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (castArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/castArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/ceil.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/ceil.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded up to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round up.\n * @param {number} [precision=0] The precision to round up to.\n * @returns {number} Returns the rounded up number.\n * @example\n *\n * _.ceil(4.006);\n * // => 5\n *\n * _.ceil(6.004, 2);\n * // => 6.01\n *\n * _.ceil(6040, -2);\n * // => 6100\n */\nvar ceil = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('ceil');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ceil);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/ceil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/chain.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/chain.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n\n\n/**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\nfunction chain(value) {\n var result = Object(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n result.__chain__ = true;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (chain);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/chain.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/chunk.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/chunk.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\nfunction chunk(array, size, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, index, (index += size));\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (chunk);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/chunk.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/clamp.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/clamp.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lower);\n lower = lower === lower ? lower : 0;\n }\n return Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(number), lower, upper);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (clamp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/clamp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/clone.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/clone.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_SYMBOLS_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (clone);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/clone.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneDeep.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneDeep.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/cloneDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\nfunction cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneDeepWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cloneWith.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cloneWith.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\nfunction cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, CLONE_SYMBOLS_FLAG, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cloneWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/cloneWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/collection.default.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/collection.default.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n countBy: _countBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], each: _each_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], eachRight: _eachRight_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], every: _every_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], filter: _filter_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n find: _find_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], findLast: _findLast_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], flatMap: _flatMap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], flatMapDeep: _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], flatMapDepth: _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n forEach: _forEach_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], forEachRight: _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], groupBy: _groupBy_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], includes: _includes_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], invokeMap: _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n keyBy: _keyBy_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], map: _map_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], orderBy: _orderBy_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], partition: _partition_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], reduce: _reduce_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n reduceRight: _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], reject: _reject_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], sample: _sample_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], sampleSize: _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], shuffle: _shuffle_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n size: _size_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], some: _some_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], sortBy: _sortBy_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/collection.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/collection.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/collection.js ***! + \***************************************************************/ +/*! exports provided: countBy, each, eachRight, every, filter, find, findLast, flatMap, flatMapDeep, flatMapDepth, forEach, forEachRight, groupBy, includes, invokeMap, keyBy, map, orderBy, partition, reduce, reduceRight, reject, sample, sampleSize, shuffle, size, some, sortBy, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return _each_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachRight\", function() { return _eachRight_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"every\", function() { return _every_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMap\", function() { return _flatMap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDeep\", function() { return _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDepth\", function() { return _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachRight\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"includes\", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invokeMap\", function() { return _invokeMap_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keyBy\", function() { return _keyBy_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderBy\", function() { return _orderBy_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return _sample_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sampleSize\", function() { return _sampleSize_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"size\", function() { return _size_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return _some_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _collection_default_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./collection.default.js */ \"../simple-mind-map/node_modules/lodash-es/collection.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _collection_default_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/collection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/commit.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/commit.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n\n\n/**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\nfunction wrapperCommit() {\n return new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.value(), this.__chain__);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperCommit);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/commit.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/compact.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/compact.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (compact);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/compact.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/concat.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/concat.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\nfunction concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array) ? Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array) : [array], Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(args, 1));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (concat);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/concat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/cond.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/cond.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that iterates over `pairs` and invokes the corresponding\n * function of the first predicate to return truthy. The predicate-function\n * pairs are invoked with the `this` binding and arguments of the created\n * function.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Array} pairs The predicate-function pairs.\n * @returns {Function} Returns the new composite function.\n * @example\n *\n * var func = _.cond([\n * [_.matches({ 'a': 1 }), _.constant('matches A')],\n * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n * [_.stubTrue, _.constant('no match')]\n * ]);\n *\n * func({ 'a': 1, 'b': 2 });\n * // => 'matches A'\n *\n * func({ 'a': 0, 'b': 1 });\n * // => 'matches B'\n *\n * func({ 'a': '1', 'b': '2' });\n * // => 'no match'\n */\nfunction cond(pairs) {\n var length = pairs == null ? 0 : pairs.length,\n toIteratee = _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n pairs = !length ? [] : Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pairs, function(pair) {\n if (typeof pair[1] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return [toIteratee(pair[0]), pair[1]];\n });\n\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(args) {\n var index = -1;\n while (++index < length) {\n var pair = pairs[index];\n if (Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pair[0], this, args)) {\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pair[1], this, args);\n }\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cond);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/cond.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/conforms.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/conforms.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseConforms_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseConforms.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConforms.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes the predicate properties of `source` with\n * the corresponding property values of a given object, returning `true` if\n * all predicates return truthy, else `false`.\n *\n * **Note:** The created function is equivalent to `_.conformsTo` with\n * `source` partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 2, 'b': 1 },\n * { 'a': 1, 'b': 2 }\n * ];\n *\n * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n * // => [{ 'a': 1, 'b': 2 }]\n */\nfunction conforms(source) {\n return Object(_baseConforms_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (conforms);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/conforms.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/conformsTo.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/conformsTo.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseConformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/_baseConformsTo.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\nfunction conformsTo(object, source) {\n return source == null || Object(_baseConformsTo_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (conformsTo);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/conformsTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/constant.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/constant.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (constant);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/constant.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/countBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/countBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\nvar countBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, 1);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (countBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/countBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/create.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/create.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssign.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssign.js\");\n/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseCreate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseCreate.js\");\n\n\n\n/**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\nfunction create(prototype, properties) {\n var result = Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prototype);\n return properties == null ? result : Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, properties);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (create);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/create.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/curry.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/curry.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (curry);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/curry.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/curryRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/curryRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_RIGHT_FLAG = 16;\n\n/**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\nfunction curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurryRight.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (curryRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/curryRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/date.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/date.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n now: _now_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/date.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/date.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/date.js ***! + \*********************************************************/ +/*! exports provided: now, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return _now_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _date_default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./date.default.js */ \"../simple-mind-map/node_modules/lodash-es/date.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _date_default_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/date.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/debounce.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/debounce.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wait) || 0;\n if (Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])());\n }\n\n function debounced() {\n var time = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (debounce);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/debounce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/deburr.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/deburr.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _deburrLetter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_deburrLetter.js */ \"../simple-mind-map/node_modules/lodash-es/_deburrLetter.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string);\n return string && string.replace(reLatin, _deburrLetter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]).replace(reComboMark, '');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (deburr);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/deburr.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaultTo.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaultTo.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks `value` to determine whether a default value should be returned in\n * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n * or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Util\n * @param {*} value The value to check.\n * @param {*} defaultValue The default value.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * _.defaultTo(1, 10);\n * // => 1\n *\n * _.defaultTo(undefined, 10);\n * // => 10\n */\nfunction defaultTo(value, defaultValue) {\n return (value == null || value !== value) ? defaultValue : value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultTo);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/defaultTo.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaults.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaults.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaults);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/defaults.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defaultsDeep.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defaultsDeep.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _customDefaultsMerge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_customDefaultsMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_customDefaultsMerge.js\");\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n\n\n\n\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(args) {\n args.push(undefined, _customDefaultsMerge_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_mergeWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], undefined, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultsDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/defaultsDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/defer.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/defer.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDelay_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDelay.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDelay.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\nvar defer = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, args) {\n return Object(_baseDelay_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, 1, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (defer);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/defer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/delay.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/delay.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDelay_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDelay.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDelay.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\nvar delay = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, wait, args) {\n return Object(_baseDelay_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(wait) || 0, args);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (delay);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/delay.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/difference.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/difference.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n\n\n\n\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(array, values) {\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], true))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (difference);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/difference.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/differenceBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/differenceBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(array, values) {\n var iteratee = Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(values);\n if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(iteratee)) {\n iteratee = undefined;\n }\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], true), Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/differenceBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/differenceWith.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/differenceWith.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseDifference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseDifference.js */ \"../simple-mind-map/node_modules/lodash-es/_baseDifference.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\nvar differenceWith = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(array, values) {\n var comparator = Object(_last_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(values);\n if (Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(comparator)) {\n comparator = undefined;\n }\n return Object(_isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(array)\n ? Object(_baseDifference_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values, 1, _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], true), undefined, comparator)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/differenceWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/divide.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/divide.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Divide two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} dividend The first number in a division.\n * @param {number} divisor The second number in a division.\n * @returns {number} Returns the quotient.\n * @example\n *\n * _.divide(6, 4);\n * // => 1.5\n */\nvar divide = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(dividend, divisor) {\n return dividend / divisor;\n}, 1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (divide);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/divide.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/drop.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/drop.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, n < 0 ? 0 : n, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (drop);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/drop.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n n = length - n;\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, n < 0 ? 0 : n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/dropRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropRightWhile.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropRightWhile.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\nfunction dropRightWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), true, true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRightWhile);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/dropRightWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/dropWhile.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/dropWhile.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\nfunction dropWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropWhile);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/dropWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/each.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/each.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/each.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/eachRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/eachRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/eachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/endsWith.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/endsWith.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n target = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (endsWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/endsWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/entries.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/entries.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/entries.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/entriesIn.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/entriesIn.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/entriesIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/eq.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/eq.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (eq);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/eq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/escape.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/escape.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _escapeHtmlChar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_escapeHtmlChar.js */ \"../simple-mind-map/node_modules/lodash-es/_escapeHtmlChar.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, _escapeHtmlChar_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escape);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/escape.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/escapeRegExp.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/escapeRegExp.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (escapeRegExp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/escapeRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/every.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/every.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEvery.js\");\n/* harmony import */ var _baseEvery_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEvery.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEvery_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (every);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/every.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/extend.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/extend.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/extend.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/extendWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/extendWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/extendWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/fill.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/fill.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFill.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFill.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n/**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\nfunction fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, start)) {\n start = 0;\n end = length;\n }\n return Object(_baseFill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (fill);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/fill.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/filter.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/filter.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFilter.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (filter);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/filter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/find.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/find.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFind.js */ \"../simple-mind-map/node_modules/lodash-es/_createFind.js\");\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n\n\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = Object(_createFind_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_findIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (find);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/find.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findIndex.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findIndex.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3), index);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/findIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findKey.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findKey.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindKey.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindKey.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\nfunction findKey(object, predicate) {\n return Object(_baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3), _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/findKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLast.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLast.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFind.js */ \"../simple-mind-map/node_modules/lodash-es/_createFind.js\");\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n\n\n\n/**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\nvar findLast = Object(_createFind_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_findLastIndex_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLast);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/findLast.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLastIndex.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLastIndex.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3), index, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/findLastIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/findLastKey.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/findLastKey.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindKey.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindKey.js\");\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\nfunction findLastKey(object, predicate) {\n return Object(_baseFindKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3), _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastKey);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/findLastKey.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/first.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/first.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/first.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMap.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMap.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n\n\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), 1);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flatMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMapDeep.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMapDeep.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMapDeep(collection, iteratee) {\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), INFINITY);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMapDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flatMapDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatMapDepth.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatMapDepth.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\nfunction flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(depth);\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, iteratee), depth);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatMapDepth);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flatMapDepth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flatten.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flatten.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 1) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatten);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flatten.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flattenDeep.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flattenDeep.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\nfunction flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, INFINITY) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flattenDeep);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flattenDeep.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flattenDepth.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flattenDepth.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\nfunction flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(depth);\n return Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, depth);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flattenDepth);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flattenDepth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flip.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flip.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\nfunction flip(func) {\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_FLIP_FLAG);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flip);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flip.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/floor.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/floor.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded down to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round down.\n * @param {number} [precision=0] The precision to round down to.\n * @returns {number} Returns the rounded down number.\n * @example\n *\n * _.floor(4.006);\n * // => 4\n *\n * _.floor(0.046, 2);\n * // => 0.04\n *\n * _.floor(4060, -2);\n * // => 4000\n */\nvar floor = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('floor');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (floor);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/floor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flow.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flow.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFlow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFlow.js */ \"../simple-mind-map/node_modules/lodash-es/_createFlow.js\");\n\n\n/**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flow = Object(_createFlow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flow);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/flowRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/flowRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createFlow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createFlow.js */ \"../simple-mind-map/node_modules/lodash-es/_createFlow.js\");\n\n\n/**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flowRight = Object(_createFlow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (flowRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/flowRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forEach.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forEach.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEach);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forEach.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forEachRight.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forEachRight.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEachRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEachRight.js\");\n/* harmony import */ var _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEachRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\nfunction forEachRight(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayEachRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEachRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forEachRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forIn.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forIn.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFor.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFor.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\nfunction forIn(object, iteratee) {\n return object == null\n ? object\n : Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee), _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forInRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forInRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n\n/**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\nfunction forInRight(object, iteratee) {\n return object == null\n ? object\n : Object(_baseForRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee), _keysIn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forInRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forInRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forOwn.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forOwn.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n\n\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forOwn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forOwn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/forOwnRight.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/forOwnRight.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseForOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwnRight.js\");\n/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castFunction.js */ \"../simple-mind-map/node_modules/lodash-es/_castFunction.js\");\n\n\n\n/**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\nfunction forOwnRight(object, iteratee) {\n return object && Object(_baseForOwnRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_castFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (forOwnRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/forOwnRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/fromPairs.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/fromPairs.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (fromPairs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/fromPairs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/function.default.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/function.default.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n after: _after_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], ary: _ary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], before: _before_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], bind: _bind_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], bindKey: _bindKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n curry: _curry_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], curryRight: _curryRight_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], debounce: _debounce_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], defer: _defer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], delay: _delay_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n flip: _flip_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], memoize: _memoize_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], negate: _negate_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], once: _once_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], overArgs: _overArgs_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n partial: _partial_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], partialRight: _partialRight_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], rearg: _rearg_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], rest: _rest_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], spread: _spread_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n throttle: _throttle_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], unary: _unary_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], wrap: _wrap_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/function.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/function.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/function.js ***! + \*************************************************************/ +/*! exports provided: after, ary, before, bind, bindKey, curry, curryRight, debounce, defer, delay, flip, memoize, negate, once, overArgs, partial, partialRight, rearg, rest, spread, throttle, unary, wrap, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"after\", function() { return _after_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ary\", function() { return _ary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"before\", function() { return _before_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindKey\", function() { return _bindKey_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryRight\", function() { return _curryRight_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return _debounce_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defer\", function() { return _defer_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overArgs\", function() { return _overArgs_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rearg\", function() { return _rearg_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rest\", function() { return _rest_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"spread\", function() { return _spread_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _throttle_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrap\", function() { return _wrap_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _function_default_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./function.default.js */ \"../simple-mind-map/node_modules/lodash-es/function.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _function_default_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/function.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/functions.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/functions.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n/**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\nfunction functions(object) {\n return object == null ? [] : Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (functions);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/functions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/functionsIn.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/functionsIn.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n\n\n\n/**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\nfunction functionsIn(object) {\n return object == null ? [] : Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (functionsIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/functionsIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/get.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/get.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (get);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/get.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/groupBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/groupBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, [value]);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/groupBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/gt.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/gt.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n\n/**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\nvar gt = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseGt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (gt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/gt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/gte.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/gte.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n/**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\nvar gte = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(value, other) {\n return value >= other;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (gte);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/gte.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/has.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/has.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseHas_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseHas.js */ \"../simple-mind-map/node_modules/lodash-es/_baseHas.js\");\n/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasPath.js */ \"../simple-mind-map/node_modules/lodash-es/_hasPath.js\");\n\n\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, _baseHas_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (has);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/has.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/hasIn.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/hasIn.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseHasIn_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseHasIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseHasIn.js\");\n/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hasPath.js */ \"../simple-mind-map/node_modules/lodash-es/_hasPath.js\");\n\n\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, path, _baseHasIn_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/hasIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/head.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/head.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (head);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/head.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/identity.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/identity.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (identity);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/identity.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/inRange.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/inRange.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInRange.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInRange.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n\n\n\n\n/**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\nfunction inRange(number, start, end) {\n start = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(end);\n }\n number = Object(_toNumber_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(number);\n return Object(_baseInRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(number, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inRange);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/inRange.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/includes.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/includes.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection) ? collection : Object(_values_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection);\n fromIndex = (fromIndex && !guard) ? Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return Object(_isString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, value, fromIndex) > -1);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (includes);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/includes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/indexOf.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/indexOf.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIndexOf.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\nfunction indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return Object(_baseIndexOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, index);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/indexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/initial.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/initial.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\nfunction initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, -1) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initial);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/initial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersection.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersection.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n\n\n\n\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(arrays) {\n var mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersection);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/intersection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersectionBy.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersectionBy.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n\n/**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\nvar intersectionBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(arrays) {\n var iteratee = Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(arrays),\n mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n if (iteratee === Object(_last_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2))\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersectionBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/intersectionBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/intersectionWith.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/intersectionWith.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIntersection.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIntersection.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/_castArrayLikeObject.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\nvar intersectionWith = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(arrays) {\n var comparator = Object(_last_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(arrays),\n mapped = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arrays, _castArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? Object(_baseIntersection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapped, undefined, comparator)\n : [];\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersectionWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/intersectionWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invert.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invert.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony import */ var _createInverter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_createInverter.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\nvar invert = Object(_createInverter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n}, Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invert);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/invert.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invertBy.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invertBy.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _createInverter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createInverter.js */ \"../simple-mind-map/node_modules/lodash-es/_createInverter.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\nvar invertBy = Object(_createInverter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n}, _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invertBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/invertBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invoke.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invoke.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invoke);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/invoke.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/invokeMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/invokeMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n\n\n/**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\nvar invokeMap = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? Array(collection.length) : [];\n\n Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, function(value) {\n result[++index] = isFunc ? Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, value, args) : Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value, path, args);\n });\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invokeMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/invokeMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArguments.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArguments.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArguments.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsArguments.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = Object(_baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function() { return arguments; }()) ? _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : function(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArguments);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isArguments.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArray.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArray.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsArrayBuffer.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsArrayBuffer = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isArrayBuffer;\n\n/**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\nvar isArrayBuffer = nodeIsArrayBuffer ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsArrayBuffer) : _baseIsArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayBuffer);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayLike.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayLike.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n\n\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value.length) && !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayLike);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isArrayLike.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isArrayLikeObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isBoolean.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isBoolean.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == boolTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isBoolean);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isBoolean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isBuffer.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isBuffer.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n\n\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isBuffer);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../web/node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isBuffer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isDate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isDate.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsDate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsDate.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsDate.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsDate = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsDate) : _baseIsDate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isDate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isDate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isElement.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isElement.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n\n/**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\nfunction isElement(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value.nodeType === 1 && !Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isElement);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isElement.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEmpty.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEmpty.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_isPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_isPrototype.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n\n\n\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(value) &&\n (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(value) || Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(value) || Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value))) {\n return !value.length;\n }\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(value)) {\n return !Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEmpty);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isEmpty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEqual.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEqual.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEqual);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isEqual.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isEqualWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isEqualWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsEqual.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsEqual.js\");\n\n\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? Object(_baseIsEqual_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, other, undefined, customizer) : !!result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEqualWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isEqualWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isError.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isError.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !Object(_isPlainObject_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isError);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isError.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isFinite.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isFinite.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsFinite = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFinite;\n\n/**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\nfunction isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFinite);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isFinite.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isFunction.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isFunction.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n\n\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isFunction);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isFunction.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isInteger.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isInteger.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isInteger);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isInteger.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isLength.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isLength.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isLength);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isLength.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMap.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMap.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMap.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsMap = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsMap) : _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMatch.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMatch.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n\n\n\n/**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\nfunction isMatch(object, source) {\n return object === source || Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMatch);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isMatch.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isMatchWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isMatchWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMatch.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsMatch.js\");\n/* harmony import */ var _getMatchData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getMatchData.js */ \"../simple-mind-map/node_modules/lodash-es/_getMatchData.js\");\n\n\n\n/**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\nfunction isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return Object(_baseIsMatch_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, Object(_getMatchData_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source), customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isMatchWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isMatchWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNaN.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNaN.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return Object(_isNumber_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value != +value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNaN);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isNaN.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNative.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNative.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNative.js\");\n/* harmony import */ var _isMaskable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMaskable.js */ \"../simple-mind-map/node_modules/lodash-es/_isMaskable.js\");\n\n\n\n/** Error message constants. */\nvar CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.';\n\n/**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (Object(_isMaskable_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNative);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isNative.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNil.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNil.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNil);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isNil.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNull.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNull.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n return value === null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNull);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isNull.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isNumber.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isNumber.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == numberTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNumber);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isNumber.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isObject.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isObject.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isObjectLike.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isObjectLike.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isObjectLike);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isObjectLike.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isPlainObject.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isPlainObject.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"../simple-mind-map/node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) != objectTag) {\n return false;\n }\n var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isPlainObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isPlainObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isRegExp.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isRegExp.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsRegExp.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsRegExp = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsRegExp) : _baseIsRegExp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isRegExp);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isRegExp.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSafeInteger.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSafeInteger.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\nfunction isSafeInteger(value) {\n return Object(_isInteger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSafeInteger);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isSafeInteger.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSet.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSet.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsSet.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsSet = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsSet) : _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isString.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isString.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == stringTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isSymbol.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isSymbol.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == symbolTag);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isSymbol);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isSymbol.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isTypedArray.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isTypedArray.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsTypedArray.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ \"../simple-mind-map/node_modules/lodash-es/_nodeUtil.js\");\n\n\n\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(nodeIsTypedArray) : _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isTypedArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isTypedArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isUndefined.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isUndefined.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isUndefined);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isUndefined.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isWeakMap.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isWeakMap.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar weakMapTag = '[object WeakMap]';\n\n/**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\nfunction isWeakMap(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == weakMapTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isWeakMap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isWeakMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/isWeakSet.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/isWeakSet.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n\n\n\n/** `Object#toString` result references. */\nvar weakSetTag = '[object WeakSet]';\n\n/**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\nfunction isWeakSet(value) {\n return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) == weakSetTag;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isWeakSet);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/isWeakSet.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/iteratee.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/iteratee.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(typeof func == 'function' ? func : Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (iteratee);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/iteratee.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/join.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/join.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeJoin = arrayProto.join;\n\n/**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\nfunction join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (join);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/join.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/kebabCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/kebabCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (kebabCase);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/kebabCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keyBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keyBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\nvar keyBy = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(result, value, key) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, value);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keyBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/keyBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keys.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keys.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js\");\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object) : Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/keys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/keysIn.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/keysIn.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayLikeKeys.js\");\n/* harmony import */ var _baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeysIn.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n\n\n\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, true) : Object(_baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (keysIn);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/keysIn.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lang.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lang.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n castArray: _castArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], clone: _clone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], cloneDeep: _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], cloneDeepWith: _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], cloneWith: _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n conformsTo: _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], eq: _eq_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], gt: _gt_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], gte: _gte_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], isArguments: _isArguments_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n isArray: _isArray_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], isArrayBuffer: _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], isArrayLike: _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], isArrayLikeObject: _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], isBoolean: _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n isBuffer: _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], isDate: _isDate_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], isElement: _isElement_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], isEmpty: _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], isEqual: _isEqual_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n isEqualWith: _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], isError: _isError_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], isFinite: _isFinite_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], isFunction: _isFunction_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], isInteger: _isInteger_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n isLength: _isLength_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], isMap: _isMap_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], isMatch: _isMatch_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], isMatchWith: _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], isNaN: _isNaN_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n isNative: _isNative_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], isNil: _isNil_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], isNull: _isNull_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], isNumber: _isNumber_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], isObject: _isObject_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n isObjectLike: _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], isPlainObject: _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], isRegExp: _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], isSafeInteger: _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], isSet: _isSet_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n isString: _isString_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], isSymbol: _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], isTypedArray: _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], isUndefined: _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], isWeakMap: _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n isWeakSet: _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], lt: _lt_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"], lte: _lte_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"], toArray: _toArray_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"], toFinite: _toFinite_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"],\n toInteger: _toInteger_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"], toLength: _toLength_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"], toNumber: _toNumber_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"], toPlainObject: _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"], toSafeInteger: _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"],\n toString: _toString_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lang.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lang.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lang.js ***! + \*********************************************************/ +/*! exports provided: castArray, clone, cloneDeep, cloneDeepWith, cloneWith, conformsTo, eq, gt, gte, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, lt, lte, toArray, toFinite, toInteger, toLength, toNumber, toPlainObject, toSafeInteger, toString, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"castArray\", function() { return _castArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeep\", function() { return _cloneDeep_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeepWith\", function() { return _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneWith\", function() { return _cloneWith_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conformsTo\", function() { return _conformsTo_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eq\", function() { return _eq_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArguments\", function() { return _isArguments_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return _isArray_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayBuffer\", function() { return _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return _isArrayLike_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLikeObject\", function() { return _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return _isBoolean_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBuffer\", function() { return _isBuffer_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return _isDate_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return _isElement_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return _isEqual_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqualWith\", function() { return _isEqualWith_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isError\", function() { return _isError_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFinite\", function() { return _isFinite_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return _isFunction_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isInteger\", function() { return _isInteger_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLength\", function() { return _isLength_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMap\", function() { return _isMap_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return _isMatch_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatchWith\", function() { return _isMatchWith_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNaN\", function() { return _isNaN_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNative\", function() { return _isNative_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return _isNull_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return _isNumber_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _isObject_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return _isObjectLike_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return _isPlainObject_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return _isRegExp_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSafeInteger\", function() { return _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSet\", function() { return _isSet_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _isString_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return _isSymbol_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _isTypedArray_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return _isUndefined_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakMap\", function() { return _isWeakMap_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakSet\", function() { return _isWeakSet_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return _toArray_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toFinite\", function() { return _toFinite_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toInteger\", function() { return _toInteger_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLength\", function() { return _toLength_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return _toNumber_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPlainObject\", function() { return _toPlainObject_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toSafeInteger\", function() { return _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _lang_default_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./lang.default.js */ \"../simple-mind-map/node_modules/lodash-es/lang.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _lang_default_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lang.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/last.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/last.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (last);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/last.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lastIndexOf.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lastIndexOf.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFindIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFindIndex.js\");\n/* harmony import */ var _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIsNaN.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIsNaN.js\");\n/* harmony import */ var _strictLastIndexOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_strictLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/_strictLastIndexOf.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\nfunction lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? Object(_strictLastIndexOf_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, value, index)\n : Object(_baseFindIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _baseIsNaN_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], index, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lastIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lodash.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lodash.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array.js */ \"../simple-mind-map/node_modules/lodash-es/array.js\");\n/* harmony import */ var _collection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./collection.js */ \"../simple-mind-map/node_modules/lodash-es/collection.js\");\n/* harmony import */ var _date_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./date.js */ \"../simple-mind-map/node_modules/lodash-es/date.js\");\n/* harmony import */ var _function_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./function.js */ \"../simple-mind-map/node_modules/lodash-es/function.js\");\n/* harmony import */ var _lang_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lang.js */ \"../simple-mind-map/node_modules/lodash-es/lang.js\");\n/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./math.js */ \"../simple-mind-map/node_modules/lodash-es/math.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./number.js */ \"../simple-mind-map/node_modules/lodash-es/number.js\");\n/* harmony import */ var _object_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./object.js */ \"../simple-mind-map/node_modules/lodash-es/object.js\");\n/* harmony import */ var _seq_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./seq.js */ \"../simple-mind-map/node_modules/lodash-es/seq.js\");\n/* harmony import */ var _string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./string.js */ \"../simple-mind-map/node_modules/lodash-es/string.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./util.js */ \"../simple-mind-map/node_modules/lodash-es/util.js\");\n/* harmony import */ var _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_LazyWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LazyWrapper.js\");\n/* harmony import */ var _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_LodashWrapper.js */ \"../simple-mind-map/node_modules/lodash-es/_LodashWrapper.js\");\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_Symbol.js */ \"../simple-mind-map/node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createHybrid_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./_createHybrid.js */ \"../simple-mind-map/node_modules/lodash-es/_createHybrid.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony import */ var _lazyClone_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./_lazyClone.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyClone.js\");\n/* harmony import */ var _lazyReverse_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./_lazyReverse.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyReverse.js\");\n/* harmony import */ var _lazyValue_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./_lazyValue.js */ \"../simple-mind-map/node_modules/lodash-es/_lazyValue.js\");\n/* harmony import */ var _mixin_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./mixin.js */ \"../simple-mind-map/node_modules/lodash-es/mixin.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _realNames_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./_realNames.js */ \"../simple-mind-map/node_modules/lodash-es/_realNames.js\");\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** Used as the semantic version number. */\nvar VERSION = '4.17.21';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_KEY_FLAG = 2;\n\n/** Used to indicate the type of lazy iteratees. */\nvar LAZY_FILTER_FLAG = 1,\n LAZY_WHILE_FLAG = 3;\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar symIterator = _Symbol_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"].iterator : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n// wrap `_.mixin` so it works when provided only one argument\nvar mixin = (function(func) {\n return function(object, source, options) {\n if (options == null) {\n var isObj = Object(_isObject_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"])(source),\n props = isObj && Object(_keys_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"])(source),\n methodNames = props && props.length && Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(source, props);\n\n if (!(methodNames ? methodNames.length : isObj)) {\n options = source;\n source = object;\n object = this;\n }\n }\n return func(object, source, options);\n };\n}(_mixin_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]));\n\n// Add methods that return wrapped values in chain sequences.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].after = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].after;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].ary = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ary;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assign = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assign;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignInWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignInWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].assignWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].at = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].at;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].before = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].before;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bind = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bindAll = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].bindAll;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].bindKey = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bindKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].castArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].castArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].chain = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].chain;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].chunk = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].chunk;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].compact = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].compact;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].concat = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].concat;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cond = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].cond;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].conforms = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].conforms;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].constant = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].constant;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].countBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].countBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].create = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].create;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].curry = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].curry;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].curryRight = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].curryRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].debounce = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debounce;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaults = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].defaults;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaultsDeep = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].defaultsDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defer = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].defer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].delay = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].delay;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].difference = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].difference;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].differenceBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].differenceBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].differenceWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].differenceWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].drop = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].drop;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropRight = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropRightWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropRightWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].dropWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dropWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].fill = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fill;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].filter = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].filter;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMap = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMapDeep = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMapDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatMapDepth = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].flatMapDepth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flatten = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flatten;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flattenDeep = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flattenDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flattenDepth = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flattenDepth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flip = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].flip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flow = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].flow;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].flowRight = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].flowRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].fromPairs = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fromPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].functions = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].functions;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].functionsIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].functionsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].groupBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].groupBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].initial = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].initial;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersection = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersection;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersectionBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersectionBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].intersectionWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].intersectionWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invert = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invert;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invertBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invertBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invokeMap = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].invokeMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].iteratee = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].iteratee;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keyBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].keyBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keys = _keys_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].keysIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].keysIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].map = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].map;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mapKeys = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mapKeys;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mapValues = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mapValues;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].matches = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].matches;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].matchesProperty = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].matchesProperty;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].memoize = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].memoize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].merge = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].merge;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mergeWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mergeWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].method = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].method;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].methodOf = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].methodOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mixin = mixin;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].negate = _negate_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].nthArg = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].nthArg;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].omit = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].omit;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].omitBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].omitBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].once = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].once;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].orderBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].orderBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].over = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].over;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overArgs = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].overArgs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overEvery = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].overEvery;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].overSome = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].overSome;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partial = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].partial;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partialRight = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].partialRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].partition = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].partition;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pick = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].pick;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pickBy = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].pickBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].property = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].property;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].propertyOf = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].propertyOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pull = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pull;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAll = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAll;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAllBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAllBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAllWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAllWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pullAt = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pullAt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].range = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].range;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rangeRight = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].rangeRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rearg = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].rearg;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reject = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].remove = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].remove;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].rest = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].rest;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reverse = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].reverse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sampleSize = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sampleSize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].set = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].set;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].setWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].setWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].shuffle = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].shuffle;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].slice = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].slice;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortBy = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sortBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedUniq = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedUniq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedUniqBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedUniqBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].split = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].split;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].spread = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].spread;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].tail = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].tail;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].take = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].take;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeRight = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeRightWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeRightWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].takeWhile = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].takeWhile;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].tap = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].tap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].throttle = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].throttle;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].thru = _thru_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPairs = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPairsIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPath = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].toPath;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toPlainObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toPlainObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].transform = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].transform;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unary = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].unary;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].union = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].union;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unionBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unionBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unionWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unionWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniq = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniqBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].uniqWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unset = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].unset;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unzip = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unzip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unzipWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].unzipWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].update = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].update;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].updateWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].updateWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].values = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].values;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].valuesIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].valuesIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].without = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].without;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].words = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].words;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].wrap = _function_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].wrap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xor = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xor;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xorBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xorBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].xorWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xorWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zip = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zip;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipObject = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipObjectDeep = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipObjectDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].zipWith = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].zipWith;\n\n// Add aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].entries = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairs;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].entriesIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].toPairsIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].extend = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].extendWith = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].assignInWith;\n\n// Add methods to `lodash.prototype`.\nmixin(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]);\n\n// Add methods that return unwrapped values in chain sequences.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].add = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].add;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].attempt = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].attempt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].camelCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].camelCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].capitalize = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].capitalize;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].ceil = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].ceil;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].clamp = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].clamp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].clone = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].clone;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneDeep = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneDeep;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneDeepWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneDeepWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].cloneWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cloneWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].conformsTo = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].conformsTo;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].deburr = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].deburr;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].defaultTo = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].defaultTo;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].divide = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].divide;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].endsWith = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].endsWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].eq = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eq;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].escape = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].escape;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].escapeRegExp = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].escapeRegExp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].every = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].every;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].find = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].find;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findKey = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].findKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLast = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findLast;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLastIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].findLastIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].findLastKey = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].findLastKey;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].floor = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].floor;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forEach = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEach;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forEachRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEachRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forInRight = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forInRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forOwn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forOwn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].forOwnRight = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].forOwnRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].get = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].get;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].gt = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].gt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].gte = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].gte;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].has = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].has;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].hasIn = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].hasIn;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].head = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].head;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].identity = _identity_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].includes = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].includes;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].indexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].indexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].inRange = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].inRange;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].invoke = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].invoke;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArguments = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArguments;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArray = _isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayBuffer = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayBuffer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayLike = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayLike;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isArrayLikeObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isArrayLikeObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isBoolean = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isBoolean;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isBuffer = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isBuffer;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isDate = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isDate;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isElement = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isElement;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEmpty = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEmpty;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEqual = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEqual;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isEqualWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isEqualWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isError = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isError;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isFinite = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isFinite;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isFunction = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isFunction;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isLength = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isLength;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMap = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMatch = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMatch;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isMatchWith = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isMatchWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNaN = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNaN;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNative = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNative;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNil = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNil;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNull = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNull;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isNumber = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isNumber;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isObject = _isObject_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isObjectLike = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isObjectLike;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isPlainObject = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isPlainObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isRegExp = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isRegExp;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSafeInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSafeInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSet = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSet;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isString = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isSymbol = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isSymbol;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isTypedArray = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isTypedArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isUndefined = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isUndefined;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isWeakMap = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isWeakMap;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].isWeakSet = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].isWeakSet;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].join = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].join;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].kebabCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].kebabCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].last = _last_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lastIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].lastIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lowerCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].lowerCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lowerFirst = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].lowerFirst;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lt = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].lt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].lte = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].lte;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].max = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].max;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].maxBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].maxBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].mean = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].mean;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].meanBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].meanBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].min = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].min;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].minBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].minBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubArray = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubArray;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubFalse = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubFalse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubObject = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubObject;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubString = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].stubTrue = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].stubTrue;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].multiply = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].multiply;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].nth = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nth;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].noop = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].noop;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].now = _date_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].pad = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].pad;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].padEnd = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].padEnd;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].padStart = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].padStart;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].parseInt = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].parseInt;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].random = _number_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].random;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reduce = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reduce;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].reduceRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].reduceRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].repeat = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].repeat;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].replace = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].replace;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].result = _object_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].result;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].round = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].round;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sample = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sample;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].size = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].size;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].snakeCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].snakeCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].some = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].some;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndexBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndexBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndex = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndex;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndexBy = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndexBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sortedLastIndexOf = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].sortedLastIndexOf;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].startCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].startCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].startsWith = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].startsWith;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].subtract = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].subtract;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sum = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sum;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].sumBy = _math_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sumBy;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].template = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].template;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].times = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].times;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toFinite = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toFinite;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toInteger = _toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"];\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toLength = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toLength;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toLower = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].toLower;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toNumber = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toNumber;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toSafeInteger = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toSafeInteger;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toString = _lang_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].toString;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].toUpper = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].toUpper;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trim = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trim;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trimEnd = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trimEnd;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].trimStart = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].trimStart;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].truncate = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].truncate;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].unescape = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].unescape;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].uniqueId = _util_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"].uniqueId;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].upperCase = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].upperCase;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].upperFirst = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].upperFirst;\n\n// Add aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].each = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEach;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].eachRight = _collection_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forEachRight;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].first = _array_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].head;\n\nmixin(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], (function() {\n var source = {};\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], function(func, methodName) {\n if (!hasOwnProperty.call(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype, methodName)) {\n source[methodName] = func;\n }\n });\n return source;\n}()), { 'chain': false });\n\n/**\n * The semantic version number.\n *\n * @static\n * @memberOf _\n * @type {string}\n */\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].VERSION = VERSION;\n(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].templateSettings = _string_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].templateSettings).imports._ = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"];\n\n// Assign default placeholders.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][methodName].placeholder = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"];\n});\n\n// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['drop', 'take'], function(methodName, index) {\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function(n) {\n n = n === undefined ? 1 : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(n), 0);\n\n var result = (this.__filtered__ && !index)\n ? new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this)\n : this.clone();\n\n if (result.__filtered__) {\n result.__takeCount__ = nativeMin(n, result.__takeCount__);\n } else {\n result.__views__.push({\n 'size': nativeMin(n, MAX_ARRAY_LENGTH),\n 'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n });\n }\n return result;\n };\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName + 'Right'] = function(n) {\n return this.reverse()[methodName](n).reverse();\n };\n});\n\n// Add `LazyWrapper` methods that accept an `iteratee` value.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['filter', 'map', 'takeWhile'], function(methodName, index) {\n var type = index + 1,\n isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function(iteratee) {\n var result = this.clone();\n result.__iteratees__.push({\n 'iteratee': Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(iteratee, 3),\n 'type': type\n });\n result.__filtered__ = result.__filtered__ || isFilter;\n return result;\n };\n});\n\n// Add `LazyWrapper` methods for `_.head` and `_.last`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['head', 'last'], function(methodName, index) {\n var takeName = 'take' + (index ? 'Right' : '');\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function() {\n return this[takeName](1).value()[0];\n };\n});\n\n// Add `LazyWrapper` methods for `_.initial` and `_.tail`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['initial', 'tail'], function(methodName, index) {\n var dropName = 'drop' + (index ? '' : 'Right');\n\n _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype[methodName] = function() {\n return this.__filtered__ ? new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this) : this[dropName](1);\n };\n});\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.compact = function() {\n return this.filter(_identity_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]);\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.find = function(predicate) {\n return this.filter(predicate).head();\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.findLast = function(predicate) {\n return this.reverse().find(predicate);\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.invokeMap = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"])(function(path, args) {\n if (typeof path == 'function') {\n return new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this);\n }\n return this.map(function(value) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(value, path, args);\n });\n});\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.reject = function(predicate) {\n return this.filter(Object(_negate_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(predicate)));\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.slice = function(start, end) {\n start = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(start);\n\n var result = this;\n if (result.__filtered__ && (start > 0 || end < 0)) {\n return new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](result);\n }\n if (start < 0) {\n result = result.takeRight(-start);\n } else if (start) {\n result = result.drop(start);\n }\n if (end !== undefined) {\n end = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"])(end);\n result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n }\n return result;\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.takeRightWhile = function(predicate) {\n return this.reverse().takeWhile(predicate).reverse();\n};\n\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.toArray = function() {\n return this.take(MAX_ARRAY_LENGTH);\n};\n\n// Add `LazyWrapper` methods to `lodash.prototype`.\nObject(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype, function(func, methodName) {\n var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n isTaker = /^(?:head|last)$/.test(methodName),\n lodashFunc = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n retUnwrapped = isTaker || /^find/.test(methodName);\n\n if (!lodashFunc) {\n return;\n }\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[methodName] = function() {\n var value = this.__wrapped__,\n args = isTaker ? [1] : arguments,\n isLazy = value instanceof _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n iteratee = args[0],\n useLazy = isLazy || Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value);\n\n var interceptor = function(value) {\n var result = lodashFunc.apply(_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])([value], args));\n return (isTaker && chainAll) ? result[0] : result;\n };\n\n if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n isLazy = useLazy = false;\n }\n var chainAll = this.__chain__,\n isHybrid = !!this.__actions__.length,\n isUnwrapped = retUnwrapped && !chainAll,\n onlyLazy = isLazy && !isHybrid;\n\n if (!retUnwrapped && useLazy) {\n value = onlyLazy ? value : new _LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this);\n var result = func.apply(value, args);\n result.__actions__.push({ 'func': _thru_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], 'args': [interceptor], 'thisArg': undefined });\n return new _LodashWrapper_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](result, chainAll);\n }\n if (isUnwrapped && onlyLazy) {\n return func.apply(this, args);\n }\n result = this.thru(interceptor);\n return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n };\n});\n\n// Add `Array` methods to `lodash.prototype`.\nObject(_arrayEach_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n var func = arrayProto[methodName],\n chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[methodName] = function() {\n var args = arguments;\n if (retUnwrapped && !this.__chain__) {\n var value = this.value();\n return func.apply(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value) ? value : [], args);\n }\n return this[chainName](function(value) {\n return func.apply(Object(_isArray_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"])(value) ? value : [], args);\n });\n };\n});\n\n// Map minified method names to their real names.\nObject(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"])(_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype, function(func, methodName) {\n var lodashFunc = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"][methodName];\n if (lodashFunc) {\n var key = lodashFunc.name + '';\n if (!hasOwnProperty.call(_realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], key)) {\n _realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][key] = [];\n }\n _realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][key].push({ 'name': methodName, 'func': lodashFunc });\n }\n});\n\n_realNames_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"][Object(_createHybrid_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"])(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n 'name': 'wrapper',\n 'func': undefined\n}];\n\n// Add methods to `LazyWrapper`.\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.clone = _lazyClone_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"];\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.reverse = _lazyReverse_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"];\n_LazyWrapper_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"].prototype.value = _lazyValue_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"];\n\n// Add chain sequence methods to the `lodash` wrapper.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.at = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].at;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.chain = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].wrapperChain;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.commit = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].commit;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.next = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].next;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.plant = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].plant;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.reverse = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].reverse;\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.toJSON = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.valueOf = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.value = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].value;\n\n// Add lazy aliases.\n_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.first = _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype.head;\n\nif (symIterator) {\n _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"].prototype[symIterator] = _seq_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].toIterator;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_wrapperLodash_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lodash.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lodash.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lodash.js ***! + \***********************************************************/ +/*! exports provided: add, after, ary, assign, assignIn, assignInWith, assignWith, at, attempt, before, bind, bindAll, bindKey, camelCase, capitalize, castArray, ceil, chain, chunk, clamp, clone, cloneDeep, cloneDeepWith, cloneWith, commit, compact, concat, cond, conforms, conformsTo, constant, countBy, create, curry, curryRight, debounce, deburr, defaultTo, defaults, defaultsDeep, defer, delay, difference, differenceBy, differenceWith, divide, drop, dropRight, dropRightWhile, dropWhile, each, eachRight, endsWith, entries, entriesIn, eq, escape, escapeRegExp, every, extend, extendWith, fill, filter, find, findIndex, findKey, findLast, findLastIndex, findLastKey, first, flatMap, flatMapDeep, flatMapDepth, flatten, flattenDeep, flattenDepth, flip, floor, flow, flowRight, forEach, forEachRight, forIn, forInRight, forOwn, forOwnRight, fromPairs, functions, functionsIn, get, groupBy, gt, gte, has, hasIn, head, identity, inRange, includes, indexOf, initial, intersection, intersectionBy, intersectionWith, invert, invertBy, invoke, invokeMap, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, iteratee, join, kebabCase, keyBy, keys, keysIn, last, lastIndexOf, lodash, lowerCase, lowerFirst, lt, lte, map, mapKeys, mapValues, matches, matchesProperty, max, maxBy, mean, meanBy, memoize, merge, mergeWith, method, methodOf, min, minBy, mixin, multiply, negate, next, noop, now, nth, nthArg, omit, omitBy, once, orderBy, over, overArgs, overEvery, overSome, pad, padEnd, padStart, parseInt, partial, partialRight, partition, pick, pickBy, plant, property, propertyOf, pull, pullAll, pullAllBy, pullAllWith, pullAt, random, range, rangeRight, rearg, reduce, reduceRight, reject, remove, repeat, replace, rest, result, reverse, round, sample, sampleSize, set, setWith, shuffle, size, slice, snakeCase, some, sortBy, sortedIndex, sortedIndexBy, sortedIndexOf, sortedLastIndex, sortedLastIndexBy, sortedLastIndexOf, sortedUniq, sortedUniqBy, split, spread, startCase, startsWith, stubArray, stubFalse, stubObject, stubString, stubTrue, subtract, sum, sumBy, tail, take, takeRight, takeRightWhile, takeWhile, tap, template, templateSettings, throttle, thru, times, toArray, toFinite, toInteger, toIterator, toJSON, toLength, toLower, toNumber, toPairs, toPairsIn, toPath, toPlainObject, toSafeInteger, toString, toUpper, transform, trim, trimEnd, trimStart, truncate, unary, unescape, union, unionBy, unionWith, uniq, uniqBy, uniqWith, uniqueId, unset, unzip, unzipWith, update, updateWith, upperCase, upperFirst, value, valueOf, values, valuesIn, without, words, wrap, wrapperAt, wrapperChain, wrapperCommit, wrapperLodash, wrapperNext, wrapperPlant, wrapperReverse, wrapperToIterator, wrapperValue, xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, zipWith, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _after_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./after.js */ \"../simple-mind-map/node_modules/lodash-es/after.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"after\", function() { return _after_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _ary_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ary.js */ \"../simple-mind-map/node_modules/lodash-es/ary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ary\", function() { return _ary_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assign\", function() { return _assign_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignIn\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignInWith\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignWith\", function() { return _assignWith_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _at_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _attempt_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./attempt.js */ \"../simple-mind-map/node_modules/lodash-es/attempt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"attempt\", function() { return _attempt_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"before\", function() { return _before_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./bind.js */ \"../simple-mind-map/node_modules/lodash-es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _bindAll_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./bindAll.js */ \"../simple-mind-map/node_modules/lodash-es/bindAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindAll\", function() { return _bindAll_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _bindKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./bindKey.js */ \"../simple-mind-map/node_modules/lodash-es/bindKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindKey\", function() { return _bindKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"camelCase\", function() { return _camelCase_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"capitalize\", function() { return _capitalize_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _castArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./castArray.js */ \"../simple-mind-map/node_modules/lodash-es/castArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"castArray\", function() { return _castArray_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ceil\", function() { return _ceil_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _chunk_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./chunk.js */ \"../simple-mind-map/node_modules/lodash-es/chunk.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chunk\", function() { return _chunk_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./clone.js */ \"../simple-mind-map/node_modules/lodash-es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _cloneDeep_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./cloneDeep.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeep\", function() { return _cloneDeep_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./cloneDeepWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneDeepWith\", function() { return _cloneDeepWith_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _cloneWith_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./cloneWith.js */ \"../simple-mind-map/node_modules/lodash-es/cloneWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneWith\", function() { return _cloneWith_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _compact_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./compact.js */ \"../simple-mind-map/node_modules/lodash-es/compact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compact\", function() { return _compact_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./concat.js */ \"../simple-mind-map/node_modules/lodash-es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _cond_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./cond.js */ \"../simple-mind-map/node_modules/lodash-es/cond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cond\", function() { return _cond_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _conforms_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./conforms.js */ \"../simple-mind-map/node_modules/lodash-es/conforms.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conforms\", function() { return _conforms_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _conformsTo_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./conformsTo.js */ \"../simple-mind-map/node_modules/lodash-es/conformsTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"conformsTo\", function() { return _conformsTo_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./constant.js */ \"../simple-mind-map/node_modules/lodash-es/constant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"constant\", function() { return _constant_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./countBy.js */ \"../simple-mind-map/node_modules/lodash-es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return _create_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./curry.js */ \"../simple-mind-map/node_modules/lodash-es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _curryRight_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./curryRight.js */ \"../simple-mind-map/node_modules/lodash-es/curryRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryRight\", function() { return _curryRight_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _debounce_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./debounce.js */ \"../simple-mind-map/node_modules/lodash-es/debounce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return _debounce_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deburr\", function() { return _deburr_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./defaultTo.js */ \"../simple-mind-map/node_modules/lodash-es/defaultTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTo\", function() { return _defaultTo_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _defaults_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultsDeep\", function() { return _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _defer_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./defer.js */ \"../simple-mind-map/node_modules/lodash-es/defer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defer\", function() { return _defer_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _delay_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./delay.js */ \"../simple-mind-map/node_modules/lodash-es/delay.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _delay_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./difference.js */ \"../simple-mind-map/node_modules/lodash-es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _differenceBy_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./differenceBy.js */ \"../simple-mind-map/node_modules/lodash-es/differenceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceBy\", function() { return _differenceBy_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./differenceWith.js */ \"../simple-mind-map/node_modules/lodash-es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./drop.js */ \"../simple-mind-map/node_modules/lodash-es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _dropRight_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./dropRight.js */ \"../simple-mind-map/node_modules/lodash-es/dropRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRight\", function() { return _dropRight_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dropRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRightWhile\", function() { return _dropRightWhile_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./dropWhile.js */ \"../simple-mind-map/node_modules/lodash-es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./each.js */ \"../simple-mind-map/node_modules/lodash-es/each.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return _each_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _eachRight_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./eachRight.js */ \"../simple-mind-map/node_modules/lodash-es/eachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachRight\", function() { return _eachRight_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _entries_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entriesIn\", function() { return _entriesIn_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eq\", function() { return _eq_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return _escape_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _every_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./every.js */ \"../simple-mind-map/node_modules/lodash-es/every.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"every\", function() { return _every_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return _extend_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendWith\", function() { return _extendWith_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _fill_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./fill.js */ \"../simple-mind-map/node_modules/lodash-es/fill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _fill_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./filter.js */ \"../simple-mind-map/node_modules/lodash-es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./find.js */ \"../simple-mind-map/node_modules/lodash-es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./findIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return _findKey_js__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findLast.js */ \"../simple-mind-map/node_modules/lodash-es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_66__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_67__[\"default\"]; });\n\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastKey\", function() { return _findLastKey_js__WEBPACK_IMPORTED_MODULE_68__[\"default\"]; });\n\n/* harmony import */ var _first_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./first.js */ \"../simple-mind-map/node_modules/lodash-es/first.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"first\", function() { return _first_js__WEBPACK_IMPORTED_MODULE_69__[\"default\"]; });\n\n/* harmony import */ var _flatMap_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./flatMap.js */ \"../simple-mind-map/node_modules/lodash-es/flatMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMap\", function() { return _flatMap_js__WEBPACK_IMPORTED_MODULE_70__[\"default\"]; });\n\n/* harmony import */ var _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./flatMapDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDeep\", function() { return _flatMapDeep_js__WEBPACK_IMPORTED_MODULE_71__[\"default\"]; });\n\n/* harmony import */ var _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./flatMapDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flatMapDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatMapDepth\", function() { return _flatMapDepth_js__WEBPACK_IMPORTED_MODULE_72__[\"default\"]; });\n\n/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./flatten.js */ \"../simple-mind-map/node_modules/lodash-es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_73__[\"default\"]; });\n\n/* harmony import */ var _flattenDeep_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./flattenDeep.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDeep\", function() { return _flattenDeep_js__WEBPACK_IMPORTED_MODULE_74__[\"default\"]; });\n\n/* harmony import */ var _flattenDepth_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./flattenDepth.js */ \"../simple-mind-map/node_modules/lodash-es/flattenDepth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flattenDepth\", function() { return _flattenDepth_js__WEBPACK_IMPORTED_MODULE_75__[\"default\"]; });\n\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./flip.js */ \"../simple-mind-map/node_modules/lodash-es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_76__[\"default\"]; });\n\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return _floor_js__WEBPACK_IMPORTED_MODULE_77__[\"default\"]; });\n\n/* harmony import */ var _flow_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./flow.js */ \"../simple-mind-map/node_modules/lodash-es/flow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return _flow_js__WEBPACK_IMPORTED_MODULE_78__[\"default\"]; });\n\n/* harmony import */ var _flowRight_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./flowRight.js */ \"../simple-mind-map/node_modules/lodash-es/flowRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flowRight\", function() { return _flowRight_js__WEBPACK_IMPORTED_MODULE_79__[\"default\"]; });\n\n/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./forEach.js */ \"../simple-mind-map/node_modules/lodash-es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_80__[\"default\"]; });\n\n/* harmony import */ var _forEachRight_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./forEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/forEachRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachRight\", function() { return _forEachRight_js__WEBPACK_IMPORTED_MODULE_81__[\"default\"]; });\n\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forIn\", function() { return _forIn_js__WEBPACK_IMPORTED_MODULE_82__[\"default\"]; });\n\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forInRight\", function() { return _forInRight_js__WEBPACK_IMPORTED_MODULE_83__[\"default\"]; });\n\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwn\", function() { return _forOwn_js__WEBPACK_IMPORTED_MODULE_84__[\"default\"]; });\n\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwnRight\", function() { return _forOwnRight_js__WEBPACK_IMPORTED_MODULE_85__[\"default\"]; });\n\n/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./fromPairs.js */ \"../simple-mind-map/node_modules/lodash-es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_86__[\"default\"]; });\n\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functions\", function() { return _functions_js__WEBPACK_IMPORTED_MODULE_87__[\"default\"]; });\n\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functionsIn\", function() { return _functionsIn_js__WEBPACK_IMPORTED_MODULE_88__[\"default\"]; });\n\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return _get_js__WEBPACK_IMPORTED_MODULE_89__[\"default\"]; });\n\n/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./groupBy.js */ \"../simple-mind-map/node_modules/lodash-es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_90__[\"default\"]; });\n\n/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./gt.js */ \"../simple-mind-map/node_modules/lodash-es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_91__[\"default\"]; });\n\n/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./gte.js */ \"../simple-mind-map/node_modules/lodash-es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_92__[\"default\"]; });\n\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has_js__WEBPACK_IMPORTED_MODULE_93__[\"default\"]; });\n\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_94__[\"default\"]; });\n\n/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./head.js */ \"../simple-mind-map/node_modules/lodash-es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head_js__WEBPACK_IMPORTED_MODULE_95__[\"default\"]; });\n\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return _identity_js__WEBPACK_IMPORTED_MODULE_96__[\"default\"]; });\n\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inRange\", function() { return _inRange_js__WEBPACK_IMPORTED_MODULE_97__[\"default\"]; });\n\n/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./includes.js */ \"../simple-mind-map/node_modules/lodash-es/includes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"includes\", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_98__[\"default\"]; });\n\n/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./indexOf.js */ \"../simple-mind-map/node_modules/lodash-es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_99__[\"default\"]; });\n\n/* harmony import */ var _initial_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./initial.js */ \"../simple-mind-map/node_modules/lodash-es/initial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initial\", function() { return _initial_js__WEBPACK_IMPORTED_MODULE_100__[\"default\"]; });\n\n/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./intersection.js */ \"../simple-mind-map/node_modules/lodash-es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_101__[\"default\"]; });\n\n/* harmony import */ var _intersectionBy_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./intersectionBy.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionBy\", function() { return _intersectionBy_js__WEBPACK_IMPORTED_MODULE_102__[\"default\"]; });\n\n/* harmony import */ var _intersectionWith_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./intersectionWith.js */ \"../simple-mind-map/node_modules/lodash-es/intersectionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersectionWith\", function() { return _intersectionWith_js__WEBPACK_IMPORTED_MODULE_103__[\"default\"]; });\n\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_104__[\"default\"]; });\n\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertBy\", function() { return _invertBy_js__WEBPACK_IMPORTED_MODULE_105__[\"default\"]; });\n\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return _invoke_js__WEBPACK_IMPORTED_MODULE_106__[\"default\"]; });\n\n/* harmony import */ var _invokeMap_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./invokeMap.js */ \"../simple-mind-map/node_modules/lodash-es/invokeMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invokeMap\", function() { return _invokeMap_js__WEBPACK_IMPORTED_MODULE_107__[\"default\"]; });\n\n/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./isArguments.js */ \"../simple-mind-map/node_modules/lodash-es/isArguments.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArguments\", function() { return _isArguments_js__WEBPACK_IMPORTED_MODULE_108__[\"default\"]; });\n\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return _isArray_js__WEBPACK_IMPORTED_MODULE_109__[\"default\"]; });\n\n/* harmony import */ var _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./isArrayBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayBuffer\", function() { return _isArrayBuffer_js__WEBPACK_IMPORTED_MODULE_110__[\"default\"]; });\n\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return _isArrayLike_js__WEBPACK_IMPORTED_MODULE_111__[\"default\"]; });\n\n/* harmony import */ var _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./isArrayLikeObject.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLikeObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isArrayLikeObject\", function() { return _isArrayLikeObject_js__WEBPACK_IMPORTED_MODULE_112__[\"default\"]; });\n\n/* harmony import */ var _isBoolean_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./isBoolean.js */ \"../simple-mind-map/node_modules/lodash-es/isBoolean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return _isBoolean_js__WEBPACK_IMPORTED_MODULE_113__[\"default\"]; });\n\n/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./isBuffer.js */ \"../simple-mind-map/node_modules/lodash-es/isBuffer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBuffer\", function() { return _isBuffer_js__WEBPACK_IMPORTED_MODULE_114__[\"default\"]; });\n\n/* harmony import */ var _isDate_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./isDate.js */ \"../simple-mind-map/node_modules/lodash-es/isDate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return _isDate_js__WEBPACK_IMPORTED_MODULE_115__[\"default\"]; });\n\n/* harmony import */ var _isElement_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./isElement.js */ \"../simple-mind-map/node_modules/lodash-es/isElement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return _isElement_js__WEBPACK_IMPORTED_MODULE_116__[\"default\"]; });\n\n/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./isEmpty.js */ \"../simple-mind-map/node_modules/lodash-es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_117__[\"default\"]; });\n\n/* harmony import */ var _isEqual_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./isEqual.js */ \"../simple-mind-map/node_modules/lodash-es/isEqual.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return _isEqual_js__WEBPACK_IMPORTED_MODULE_118__[\"default\"]; });\n\n/* harmony import */ var _isEqualWith_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./isEqualWith.js */ \"../simple-mind-map/node_modules/lodash-es/isEqualWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqualWith\", function() { return _isEqualWith_js__WEBPACK_IMPORTED_MODULE_119__[\"default\"]; });\n\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isError\", function() { return _isError_js__WEBPACK_IMPORTED_MODULE_120__[\"default\"]; });\n\n/* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./isFinite.js */ \"../simple-mind-map/node_modules/lodash-es/isFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFinite\", function() { return _isFinite_js__WEBPACK_IMPORTED_MODULE_121__[\"default\"]; });\n\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return _isFunction_js__WEBPACK_IMPORTED_MODULE_122__[\"default\"]; });\n\n/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./isInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isInteger\", function() { return _isInteger_js__WEBPACK_IMPORTED_MODULE_123__[\"default\"]; });\n\n/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./isLength.js */ \"../simple-mind-map/node_modules/lodash-es/isLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLength\", function() { return _isLength_js__WEBPACK_IMPORTED_MODULE_124__[\"default\"]; });\n\n/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./isMap.js */ \"../simple-mind-map/node_modules/lodash-es/isMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMap\", function() { return _isMap_js__WEBPACK_IMPORTED_MODULE_125__[\"default\"]; });\n\n/* harmony import */ var _isMatch_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./isMatch.js */ \"../simple-mind-map/node_modules/lodash-es/isMatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return _isMatch_js__WEBPACK_IMPORTED_MODULE_126__[\"default\"]; });\n\n/* harmony import */ var _isMatchWith_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./isMatchWith.js */ \"../simple-mind-map/node_modules/lodash-es/isMatchWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMatchWith\", function() { return _isMatchWith_js__WEBPACK_IMPORTED_MODULE_127__[\"default\"]; });\n\n/* harmony import */ var _isNaN_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./isNaN.js */ \"../simple-mind-map/node_modules/lodash-es/isNaN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNaN\", function() { return _isNaN_js__WEBPACK_IMPORTED_MODULE_128__[\"default\"]; });\n\n/* harmony import */ var _isNative_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./isNative.js */ \"../simple-mind-map/node_modules/lodash-es/isNative.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNative\", function() { return _isNative_js__WEBPACK_IMPORTED_MODULE_129__[\"default\"]; });\n\n/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./isNil.js */ \"../simple-mind-map/node_modules/lodash-es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_130__[\"default\"]; });\n\n/* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./isNull.js */ \"../simple-mind-map/node_modules/lodash-es/isNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return _isNull_js__WEBPACK_IMPORTED_MODULE_131__[\"default\"]; });\n\n/* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./isNumber.js */ \"../simple-mind-map/node_modules/lodash-es/isNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return _isNumber_js__WEBPACK_IMPORTED_MODULE_132__[\"default\"]; });\n\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _isObject_js__WEBPACK_IMPORTED_MODULE_133__[\"default\"]; });\n\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./isObjectLike.js */ \"../simple-mind-map/node_modules/lodash-es/isObjectLike.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return _isObjectLike_js__WEBPACK_IMPORTED_MODULE_134__[\"default\"]; });\n\n/* harmony import */ var _isPlainObject_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./isPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/isPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return _isPlainObject_js__WEBPACK_IMPORTED_MODULE_135__[\"default\"]; });\n\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return _isRegExp_js__WEBPACK_IMPORTED_MODULE_136__[\"default\"]; });\n\n/* harmony import */ var _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./isSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/isSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSafeInteger\", function() { return _isSafeInteger_js__WEBPACK_IMPORTED_MODULE_137__[\"default\"]; });\n\n/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./isSet.js */ \"../simple-mind-map/node_modules/lodash-es/isSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSet\", function() { return _isSet_js__WEBPACK_IMPORTED_MODULE_138__[\"default\"]; });\n\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _isString_js__WEBPACK_IMPORTED_MODULE_139__[\"default\"]; });\n\n/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./isSymbol.js */ \"../simple-mind-map/node_modules/lodash-es/isSymbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return _isSymbol_js__WEBPACK_IMPORTED_MODULE_140__[\"default\"]; });\n\n/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./isTypedArray.js */ \"../simple-mind-map/node_modules/lodash-es/isTypedArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _isTypedArray_js__WEBPACK_IMPORTED_MODULE_141__[\"default\"]; });\n\n/* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./isUndefined.js */ \"../simple-mind-map/node_modules/lodash-es/isUndefined.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return _isUndefined_js__WEBPACK_IMPORTED_MODULE_142__[\"default\"]; });\n\n/* harmony import */ var _isWeakMap_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./isWeakMap.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakMap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakMap\", function() { return _isWeakMap_js__WEBPACK_IMPORTED_MODULE_143__[\"default\"]; });\n\n/* harmony import */ var _isWeakSet_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./isWeakSet.js */ \"../simple-mind-map/node_modules/lodash-es/isWeakSet.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeakSet\", function() { return _isWeakSet_js__WEBPACK_IMPORTED_MODULE_144__[\"default\"]; });\n\n/* harmony import */ var _iteratee_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./iteratee.js */ \"../simple-mind-map/node_modules/lodash-es/iteratee.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iteratee\", function() { return _iteratee_js__WEBPACK_IMPORTED_MODULE_145__[\"default\"]; });\n\n/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./join.js */ \"../simple-mind-map/node_modules/lodash-es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join_js__WEBPACK_IMPORTED_MODULE_146__[\"default\"]; });\n\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kebabCase\", function() { return _kebabCase_js__WEBPACK_IMPORTED_MODULE_147__[\"default\"]; });\n\n/* harmony import */ var _keyBy_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./keyBy.js */ \"../simple-mind-map/node_modules/lodash-es/keyBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keyBy\", function() { return _keyBy_js__WEBPACK_IMPORTED_MODULE_148__[\"default\"]; });\n\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_149__[\"default\"]; });\n\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_150__[\"default\"]; });\n\n/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./last.js */ \"../simple-mind-map/node_modules/lodash-es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last_js__WEBPACK_IMPORTED_MODULE_151__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./lastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_152__[\"default\"]; });\n\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerCase\", function() { return _lowerCase_js__WEBPACK_IMPORTED_MODULE_154__[\"default\"]; });\n\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerFirst\", function() { return _lowerFirst_js__WEBPACK_IMPORTED_MODULE_155__[\"default\"]; });\n\n/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./lt.js */ \"../simple-mind-map/node_modules/lodash-es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_156__[\"default\"]; });\n\n/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./lte.js */ \"../simple-mind-map/node_modules/lodash-es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_157__[\"default\"]; });\n\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./map.js */ \"../simple-mind-map/node_modules/lodash-es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map_js__WEBPACK_IMPORTED_MODULE_158__[\"default\"]; });\n\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapKeys\", function() { return _mapKeys_js__WEBPACK_IMPORTED_MODULE_159__[\"default\"]; });\n\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return _mapValues_js__WEBPACK_IMPORTED_MODULE_160__[\"default\"]; });\n\n/* harmony import */ var _matches_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./matches.js */ \"../simple-mind-map/node_modules/lodash-es/matches.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matches\", function() { return _matches_js__WEBPACK_IMPORTED_MODULE_161__[\"default\"]; });\n\n/* harmony import */ var _matchesProperty_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./matchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/matchesProperty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matchesProperty\", function() { return _matchesProperty_js__WEBPACK_IMPORTED_MODULE_162__[\"default\"]; });\n\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max_js__WEBPACK_IMPORTED_MODULE_163__[\"default\"]; });\n\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_164__[\"default\"]; });\n\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_165__[\"default\"]; });\n\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"meanBy\", function() { return _meanBy_js__WEBPACK_IMPORTED_MODULE_166__[\"default\"]; });\n\n/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./memoize.js */ \"../simple-mind-map/node_modules/lodash-es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize_js__WEBPACK_IMPORTED_MODULE_167__[\"default\"]; });\n\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_168__[\"default\"]; });\n\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_169__[\"default\"]; });\n\n/* harmony import */ var _method_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./method.js */ \"../simple-mind-map/node_modules/lodash-es/method.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"method\", function() { return _method_js__WEBPACK_IMPORTED_MODULE_170__[\"default\"]; });\n\n/* harmony import */ var _methodOf_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./methodOf.js */ \"../simple-mind-map/node_modules/lodash-es/methodOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"methodOf\", function() { return _methodOf_js__WEBPACK_IMPORTED_MODULE_171__[\"default\"]; });\n\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min_js__WEBPACK_IMPORTED_MODULE_172__[\"default\"]; });\n\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_173__[\"default\"]; });\n\n/* harmony import */ var _mixin_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./mixin.js */ \"../simple-mind-map/node_modules/lodash-es/mixin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mixin\", function() { return _mixin_js__WEBPACK_IMPORTED_MODULE_174__[\"default\"]; });\n\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_175__[\"default\"]; });\n\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_176__[\"default\"]; });\n\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"next\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony import */ var _noop_js__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./noop.js */ \"../simple-mind-map/node_modules/lodash-es/noop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _noop_js__WEBPACK_IMPORTED_MODULE_178__[\"default\"]; });\n\n/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./now.js */ \"../simple-mind-map/node_modules/lodash-es/now.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return _now_js__WEBPACK_IMPORTED_MODULE_179__[\"default\"]; });\n\n/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./nth.js */ \"../simple-mind-map/node_modules/lodash-es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_180__[\"default\"]; });\n\n/* harmony import */ var _nthArg_js__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./nthArg.js */ \"../simple-mind-map/node_modules/lodash-es/nthArg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nthArg\", function() { return _nthArg_js__WEBPACK_IMPORTED_MODULE_181__[\"default\"]; });\n\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_182__[\"default\"]; });\n\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omitBy\", function() { return _omitBy_js__WEBPACK_IMPORTED_MODULE_183__[\"default\"]; });\n\n/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./once.js */ \"../simple-mind-map/node_modules/lodash-es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once_js__WEBPACK_IMPORTED_MODULE_184__[\"default\"]; });\n\n/* harmony import */ var _orderBy_js__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./orderBy.js */ \"../simple-mind-map/node_modules/lodash-es/orderBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderBy\", function() { return _orderBy_js__WEBPACK_IMPORTED_MODULE_185__[\"default\"]; });\n\n/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./over.js */ \"../simple-mind-map/node_modules/lodash-es/over.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"over\", function() { return _over_js__WEBPACK_IMPORTED_MODULE_186__[\"default\"]; });\n\n/* harmony import */ var _overArgs_js__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./overArgs.js */ \"../simple-mind-map/node_modules/lodash-es/overArgs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overArgs\", function() { return _overArgs_js__WEBPACK_IMPORTED_MODULE_187__[\"default\"]; });\n\n/* harmony import */ var _overEvery_js__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./overEvery.js */ \"../simple-mind-map/node_modules/lodash-es/overEvery.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overEvery\", function() { return _overEvery_js__WEBPACK_IMPORTED_MODULE_188__[\"default\"]; });\n\n/* harmony import */ var _overSome_js__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./overSome.js */ \"../simple-mind-map/node_modules/lodash-es/overSome.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"overSome\", function() { return _overSome_js__WEBPACK_IMPORTED_MODULE_189__[\"default\"]; });\n\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return _pad_js__WEBPACK_IMPORTED_MODULE_190__[\"default\"]; });\n\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padEnd\", function() { return _padEnd_js__WEBPACK_IMPORTED_MODULE_191__[\"default\"]; });\n\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _padStart_js__WEBPACK_IMPORTED_MODULE_192__[\"default\"]; });\n\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseInt\", function() { return _parseInt_js__WEBPACK_IMPORTED_MODULE_193__[\"default\"]; });\n\n/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./partial.js */ \"../simple-mind-map/node_modules/lodash-es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_194__[\"default\"]; });\n\n/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./partialRight.js */ \"../simple-mind-map/node_modules/lodash-es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_195__[\"default\"]; });\n\n/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./partition.js */ \"../simple-mind-map/node_modules/lodash-es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_196__[\"default\"]; });\n\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_197__[\"default\"]; });\n\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_198__[\"default\"]; });\n\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"plant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _property_js__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./property.js */ \"../simple-mind-map/node_modules/lodash-es/property.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _property_js__WEBPACK_IMPORTED_MODULE_200__[\"default\"]; });\n\n/* harmony import */ var _propertyOf_js__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./propertyOf.js */ \"../simple-mind-map/node_modules/lodash-es/propertyOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyOf\", function() { return _propertyOf_js__WEBPACK_IMPORTED_MODULE_201__[\"default\"]; });\n\n/* harmony import */ var _pull_js__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./pull.js */ \"../simple-mind-map/node_modules/lodash-es/pull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pull\", function() { return _pull_js__WEBPACK_IMPORTED_MODULE_202__[\"default\"]; });\n\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAll\", function() { return _pullAll_js__WEBPACK_IMPORTED_MODULE_203__[\"default\"]; });\n\n/* harmony import */ var _pullAllBy_js__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./pullAllBy.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllBy\", function() { return _pullAllBy_js__WEBPACK_IMPORTED_MODULE_204__[\"default\"]; });\n\n/* harmony import */ var _pullAllWith_js__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./pullAllWith.js */ \"../simple-mind-map/node_modules/lodash-es/pullAllWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAllWith\", function() { return _pullAllWith_js__WEBPACK_IMPORTED_MODULE_205__[\"default\"]; });\n\n/* harmony import */ var _pullAt_js__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./pullAt.js */ \"../simple-mind-map/node_modules/lodash-es/pullAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pullAt\", function() { return _pullAt_js__WEBPACK_IMPORTED_MODULE_206__[\"default\"]; });\n\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return _random_js__WEBPACK_IMPORTED_MODULE_207__[\"default\"]; });\n\n/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./range.js */ \"../simple-mind-map/node_modules/lodash-es/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range_js__WEBPACK_IMPORTED_MODULE_208__[\"default\"]; });\n\n/* harmony import */ var _rangeRight_js__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./rangeRight.js */ \"../simple-mind-map/node_modules/lodash-es/rangeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rangeRight\", function() { return _rangeRight_js__WEBPACK_IMPORTED_MODULE_209__[\"default\"]; });\n\n/* harmony import */ var _rearg_js__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./rearg.js */ \"../simple-mind-map/node_modules/lodash-es/rearg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rearg\", function() { return _rearg_js__WEBPACK_IMPORTED_MODULE_210__[\"default\"]; });\n\n/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./reduce.js */ \"../simple-mind-map/node_modules/lodash-es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_211__[\"default\"]; });\n\n/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./reduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_212__[\"default\"]; });\n\n/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./reject.js */ \"../simple-mind-map/node_modules/lodash-es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_213__[\"default\"]; });\n\n/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./remove.js */ \"../simple-mind-map/node_modules/lodash-es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_214__[\"default\"]; });\n\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_215__[\"default\"]; });\n\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_216__[\"default\"]; });\n\n/* harmony import */ var _rest_js__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./rest.js */ \"../simple-mind-map/node_modules/lodash-es/rest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rest\", function() { return _rest_js__WEBPACK_IMPORTED_MODULE_217__[\"default\"]; });\n\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"result\", function() { return _result_js__WEBPACK_IMPORTED_MODULE_218__[\"default\"]; });\n\n/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./reverse.js */ \"../simple-mind-map/node_modules/lodash-es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_219__[\"default\"]; });\n\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return _round_js__WEBPACK_IMPORTED_MODULE_220__[\"default\"]; });\n\n/* harmony import */ var _sample_js__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./sample.js */ \"../simple-mind-map/node_modules/lodash-es/sample.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return _sample_js__WEBPACK_IMPORTED_MODULE_221__[\"default\"]; });\n\n/* harmony import */ var _sampleSize_js__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./sampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/sampleSize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sampleSize\", function() { return _sampleSize_js__WEBPACK_IMPORTED_MODULE_222__[\"default\"]; });\n\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set_js__WEBPACK_IMPORTED_MODULE_223__[\"default\"]; });\n\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWith\", function() { return _setWith_js__WEBPACK_IMPORTED_MODULE_224__[\"default\"]; });\n\n/* harmony import */ var _shuffle_js__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./shuffle.js */ \"../simple-mind-map/node_modules/lodash-es/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle_js__WEBPACK_IMPORTED_MODULE_225__[\"default\"]; });\n\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./size.js */ \"../simple-mind-map/node_modules/lodash-es/size.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"size\", function() { return _size_js__WEBPACK_IMPORTED_MODULE_226__[\"default\"]; });\n\n/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./slice.js */ \"../simple-mind-map/node_modules/lodash-es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_227__[\"default\"]; });\n\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"snakeCase\", function() { return _snakeCase_js__WEBPACK_IMPORTED_MODULE_228__[\"default\"]; });\n\n/* harmony import */ var _some_js__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./some.js */ \"../simple-mind-map/node_modules/lodash-es/some.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return _some_js__WEBPACK_IMPORTED_MODULE_229__[\"default\"]; });\n\n/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./sortBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_230__[\"default\"]; });\n\n/* harmony import */ var _sortedIndex_js__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./sortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndex\", function() { return _sortedIndex_js__WEBPACK_IMPORTED_MODULE_231__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./sortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexBy\", function() { return _sortedIndexBy_js__WEBPACK_IMPORTED_MODULE_232__[\"default\"]; });\n\n/* harmony import */ var _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./sortedIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedIndexOf\", function() { return _sortedIndexOf_js__WEBPACK_IMPORTED_MODULE_233__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./sortedLastIndex.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndex\", function() { return _sortedLastIndex_js__WEBPACK_IMPORTED_MODULE_234__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./sortedLastIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexBy\", function() { return _sortedLastIndexBy_js__WEBPACK_IMPORTED_MODULE_235__[\"default\"]; });\n\n/* harmony import */ var _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./sortedLastIndexOf.js */ \"../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedLastIndexOf\", function() { return _sortedLastIndexOf_js__WEBPACK_IMPORTED_MODULE_236__[\"default\"]; });\n\n/* harmony import */ var _sortedUniq_js__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./sortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _sortedUniq_js__WEBPACK_IMPORTED_MODULE_237__[\"default\"]; });\n\n/* harmony import */ var _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./sortedUniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniqBy\", function() { return _sortedUniqBy_js__WEBPACK_IMPORTED_MODULE_238__[\"default\"]; });\n\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split_js__WEBPACK_IMPORTED_MODULE_239__[\"default\"]; });\n\n/* harmony import */ var _spread_js__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./spread.js */ \"../simple-mind-map/node_modules/lodash-es/spread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"spread\", function() { return _spread_js__WEBPACK_IMPORTED_MODULE_240__[\"default\"]; });\n\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startCase\", function() { return _startCase_js__WEBPACK_IMPORTED_MODULE_241__[\"default\"]; });\n\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_242__[\"default\"]; });\n\n/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./stubArray.js */ \"../simple-mind-map/node_modules/lodash-es/stubArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubArray\", function() { return _stubArray_js__WEBPACK_IMPORTED_MODULE_243__[\"default\"]; });\n\n/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./stubFalse.js */ \"../simple-mind-map/node_modules/lodash-es/stubFalse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubFalse\", function() { return _stubFalse_js__WEBPACK_IMPORTED_MODULE_244__[\"default\"]; });\n\n/* harmony import */ var _stubObject_js__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./stubObject.js */ \"../simple-mind-map/node_modules/lodash-es/stubObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubObject\", function() { return _stubObject_js__WEBPACK_IMPORTED_MODULE_245__[\"default\"]; });\n\n/* harmony import */ var _stubString_js__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./stubString.js */ \"../simple-mind-map/node_modules/lodash-es/stubString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubString\", function() { return _stubString_js__WEBPACK_IMPORTED_MODULE_246__[\"default\"]; });\n\n/* harmony import */ var _stubTrue_js__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./stubTrue.js */ \"../simple-mind-map/node_modules/lodash-es/stubTrue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stubTrue\", function() { return _stubTrue_js__WEBPACK_IMPORTED_MODULE_247__[\"default\"]; });\n\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_248__[\"default\"]; });\n\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_249__[\"default\"]; });\n\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return _sumBy_js__WEBPACK_IMPORTED_MODULE_250__[\"default\"]; });\n\n/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./tail.js */ \"../simple-mind-map/node_modules/lodash-es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_251__[\"default\"]; });\n\n/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./take.js */ \"../simple-mind-map/node_modules/lodash-es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take_js__WEBPACK_IMPORTED_MODULE_252__[\"default\"]; });\n\n/* harmony import */ var _takeRight_js__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./takeRight.js */ \"../simple-mind-map/node_modules/lodash-es/takeRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRight\", function() { return _takeRight_js__WEBPACK_IMPORTED_MODULE_253__[\"default\"]; });\n\n/* harmony import */ var _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./takeRightWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeRightWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeRightWhile\", function() { return _takeRightWhile_js__WEBPACK_IMPORTED_MODULE_254__[\"default\"]; });\n\n/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./takeWhile.js */ \"../simple-mind-map/node_modules/lodash-es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_255__[\"default\"]; });\n\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_256__[\"default\"]; });\n\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return _template_js__WEBPACK_IMPORTED_MODULE_257__[\"default\"]; });\n\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"templateSettings\", function() { return _templateSettings_js__WEBPACK_IMPORTED_MODULE_258__[\"default\"]; });\n\n/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./throttle.js */ \"../simple-mind-map/node_modules/lodash-es/throttle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return _throttle_js__WEBPACK_IMPORTED_MODULE_259__[\"default\"]; });\n\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thru\", function() { return _thru_js__WEBPACK_IMPORTED_MODULE_260__[\"default\"]; });\n\n/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./times.js */ \"../simple-mind-map/node_modules/lodash-es/times.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"times\", function() { return _times_js__WEBPACK_IMPORTED_MODULE_261__[\"default\"]; });\n\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return _toArray_js__WEBPACK_IMPORTED_MODULE_262__[\"default\"]; });\n\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toFinite\", function() { return _toFinite_js__WEBPACK_IMPORTED_MODULE_263__[\"default\"]; });\n\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toInteger\", function() { return _toInteger_js__WEBPACK_IMPORTED_MODULE_264__[\"default\"]; });\n\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_265__[\"default\"]; });\n\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJSON\", function() { return _toJSON_js__WEBPACK_IMPORTED_MODULE_266__[\"default\"]; });\n\n/* harmony import */ var _toLength_js__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./toLength.js */ \"../simple-mind-map/node_modules/lodash-es/toLength.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLength\", function() { return _toLength_js__WEBPACK_IMPORTED_MODULE_267__[\"default\"]; });\n\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_268__[\"default\"]; });\n\n/* harmony import */ var _toNumber_js__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./toNumber.js */ \"../simple-mind-map/node_modules/lodash-es/toNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return _toNumber_js__WEBPACK_IMPORTED_MODULE_269__[\"default\"]; });\n\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_270__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_271__[\"default\"]; });\n\n/* harmony import */ var _toPath_js__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./toPath.js */ \"../simple-mind-map/node_modules/lodash-es/toPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPath\", function() { return _toPath_js__WEBPACK_IMPORTED_MODULE_272__[\"default\"]; });\n\n/* harmony import */ var _toPlainObject_js__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./toPlainObject.js */ \"../simple-mind-map/node_modules/lodash-es/toPlainObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPlainObject\", function() { return _toPlainObject_js__WEBPACK_IMPORTED_MODULE_273__[\"default\"]; });\n\n/* harmony import */ var _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./toSafeInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toSafeInteger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toSafeInteger\", function() { return _toSafeInteger_js__WEBPACK_IMPORTED_MODULE_274__[\"default\"]; });\n\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_275__[\"default\"]; });\n\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_276__[\"default\"]; });\n\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return _transform_js__WEBPACK_IMPORTED_MODULE_277__[\"default\"]; });\n\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_278__[\"default\"]; });\n\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimEnd\", function() { return _trimEnd_js__WEBPACK_IMPORTED_MODULE_279__[\"default\"]; });\n\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimStart\", function() { return _trimStart_js__WEBPACK_IMPORTED_MODULE_280__[\"default\"]; });\n\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return _truncate_js__WEBPACK_IMPORTED_MODULE_281__[\"default\"]; });\n\n/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./unary.js */ \"../simple-mind-map/node_modules/lodash-es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_282__[\"default\"]; });\n\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return _unescape_js__WEBPACK_IMPORTED_MODULE_283__[\"default\"]; });\n\n/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./union.js */ \"../simple-mind-map/node_modules/lodash-es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union_js__WEBPACK_IMPORTED_MODULE_284__[\"default\"]; });\n\n/* harmony import */ var _unionBy_js__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./unionBy.js */ \"../simple-mind-map/node_modules/lodash-es/unionBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionBy\", function() { return _unionBy_js__WEBPACK_IMPORTED_MODULE_285__[\"default\"]; });\n\n/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./unionWith.js */ \"../simple-mind-map/node_modules/lodash-es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_286__[\"default\"]; });\n\n/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./uniq.js */ \"../simple-mind-map/node_modules/lodash-es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_287__[\"default\"]; });\n\n/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./uniqBy.js */ \"../simple-mind-map/node_modules/lodash-es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_288__[\"default\"]; });\n\n/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./uniqWith.js */ \"../simple-mind-map/node_modules/lodash-es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_289__[\"default\"]; });\n\n/* harmony import */ var _uniqueId_js__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./uniqueId.js */ \"../simple-mind-map/node_modules/lodash-es/uniqueId.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqueId\", function() { return _uniqueId_js__WEBPACK_IMPORTED_MODULE_290__[\"default\"]; });\n\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unset\", function() { return _unset_js__WEBPACK_IMPORTED_MODULE_291__[\"default\"]; });\n\n/* harmony import */ var _unzip_js__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./unzip.js */ \"../simple-mind-map/node_modules/lodash-es/unzip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return _unzip_js__WEBPACK_IMPORTED_MODULE_292__[\"default\"]; });\n\n/* harmony import */ var _unzipWith_js__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./unzipWith.js */ \"../simple-mind-map/node_modules/lodash-es/unzipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unzipWith\", function() { return _unzipWith_js__WEBPACK_IMPORTED_MODULE_293__[\"default\"]; });\n\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update_js__WEBPACK_IMPORTED_MODULE_294__[\"default\"]; });\n\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateWith\", function() { return _updateWith_js__WEBPACK_IMPORTED_MODULE_295__[\"default\"]; });\n\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperCase\", function() { return _upperCase_js__WEBPACK_IMPORTED_MODULE_296__[\"default\"]; });\n\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperFirst\", function() { return _upperFirst_js__WEBPACK_IMPORTED_MODULE_297__[\"default\"]; });\n\n/* harmony import */ var _value_js__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./value.js */ \"../simple-mind-map/node_modules/lodash-es/value.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"value\", function() { return _value_js__WEBPACK_IMPORTED_MODULE_298__[\"default\"]; });\n\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valueOf\", function() { return _valueOf_js__WEBPACK_IMPORTED_MODULE_299__[\"default\"]; });\n\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values_js__WEBPACK_IMPORTED_MODULE_300__[\"default\"]; });\n\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_301__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_301__[\"default\"]; });\n\n/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_302__ = __webpack_require__(/*! ./without.js */ \"../simple-mind-map/node_modules/lodash-es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without_js__WEBPACK_IMPORTED_MODULE_302__[\"default\"]; });\n\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_303__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"words\", function() { return _words_js__WEBPACK_IMPORTED_MODULE_303__[\"default\"]; });\n\n/* harmony import */ var _wrap_js__WEBPACK_IMPORTED_MODULE_304__ = __webpack_require__(/*! ./wrap.js */ \"../simple-mind-map/node_modules/lodash-es/wrap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrap\", function() { return _wrap_js__WEBPACK_IMPORTED_MODULE_304__[\"default\"]; });\n\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_305__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperAt\", function() { return _wrapperAt_js__WEBPACK_IMPORTED_MODULE_305__[\"default\"]; });\n\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_306__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperChain\", function() { return _wrapperChain_js__WEBPACK_IMPORTED_MODULE_306__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperCommit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperLodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperNext\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperPlant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_307__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperReverse\", function() { return _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_307__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperToIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_265__[\"default\"]; });\n\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_308__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperValue\", function() { return _wrapperValue_js__WEBPACK_IMPORTED_MODULE_308__[\"default\"]; });\n\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_309__ = __webpack_require__(/*! ./xor.js */ \"../simple-mind-map/node_modules/lodash-es/xor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xor\", function() { return _xor_js__WEBPACK_IMPORTED_MODULE_309__[\"default\"]; });\n\n/* harmony import */ var _xorBy_js__WEBPACK_IMPORTED_MODULE_310__ = __webpack_require__(/*! ./xorBy.js */ \"../simple-mind-map/node_modules/lodash-es/xorBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorBy\", function() { return _xorBy_js__WEBPACK_IMPORTED_MODULE_310__[\"default\"]; });\n\n/* harmony import */ var _xorWith_js__WEBPACK_IMPORTED_MODULE_311__ = __webpack_require__(/*! ./xorWith.js */ \"../simple-mind-map/node_modules/lodash-es/xorWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xorWith\", function() { return _xorWith_js__WEBPACK_IMPORTED_MODULE_311__[\"default\"]; });\n\n/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_312__ = __webpack_require__(/*! ./zip.js */ \"../simple-mind-map/node_modules/lodash-es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_312__[\"default\"]; });\n\n/* harmony import */ var _zipObject_js__WEBPACK_IMPORTED_MODULE_313__ = __webpack_require__(/*! ./zipObject.js */ \"../simple-mind-map/node_modules/lodash-es/zipObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObject\", function() { return _zipObject_js__WEBPACK_IMPORTED_MODULE_313__[\"default\"]; });\n\n/* harmony import */ var _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_314__ = __webpack_require__(/*! ./zipObjectDeep.js */ \"../simple-mind-map/node_modules/lodash-es/zipObjectDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObjectDeep\", function() { return _zipObjectDeep_js__WEBPACK_IMPORTED_MODULE_314__[\"default\"]; });\n\n/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_315__ = __webpack_require__(/*! ./zipWith.js */ \"../simple-mind-map/node_modules/lodash-es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_315__[\"default\"]; });\n\n/* harmony import */ var _lodash_default_js__WEBPACK_IMPORTED_MODULE_316__ = __webpack_require__(/*! ./lodash.default.js */ \"../simple-mind-map/node_modules/lodash-es/lodash.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _lodash_default_js__WEBPACK_IMPORTED_MODULE_316__[\"default\"]; });\n\n/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lodash.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lowerCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lowerCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\nvar lowerCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lowerCase);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lowerCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lowerFirst.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lowerFirst.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCaseFirst_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCaseFirst.js */ \"../simple-mind-map/node_modules/lodash-es/_createCaseFirst.js\");\n\n\n/**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\nvar lowerFirst = Object(_createCaseFirst_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('toLowerCase');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lowerFirst);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lowerFirst.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lt.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lt.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n\n/**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\nvar lt = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_baseLt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/lte.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/lte.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRelationalOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createRelationalOperation.js\");\n\n\n/**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\nvar lte = Object(_createRelationalOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(value, other) {\n return value <= other;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lte);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/lte.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/map.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/map.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseMap.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMap.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseMap_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (map);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/map.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mapKeys.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mapKeys.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 3);\n\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, function(value, key, object) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapKeys);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/mapKeys.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mapValues.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mapValues.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAssignValue.js\");\n/* harmony import */ var _baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseForOwn.js */ \"../simple-mind-map/node_modules/lodash-es/_baseForOwn.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 3);\n\n Object(_baseForOwn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, function(value, key, object) {\n Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapValues);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/mapValues.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/matches.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/matches.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseMatches_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatches.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatches.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matches(source) {\n return Object(_baseMatches_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matches);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/matches.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/matchesProperty.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/matchesProperty.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMatchesProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMatchesProperty.js\");\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matchesProperty(path, srcValue) {\n return Object(_baseMatchesProperty_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path, Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(srcValue, CLONE_DEEP_FLAG));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (matchesProperty);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/matchesProperty.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/math.default.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/math.default.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n add: _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], ceil: _ceil_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], divide: _divide_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], floor: _floor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], max: _max_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n maxBy: _maxBy_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], mean: _mean_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], meanBy: _meanBy_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], min: _min_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], minBy: _minBy_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n multiply: _multiply_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], round: _round_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], subtract: _subtract_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], sum: _sum_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], sumBy: _sumBy_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/math.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/math.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/math.js ***! + \*********************************************************/ +/*! exports provided: add, ceil, divide, floor, max, maxBy, mean, meanBy, min, minBy, multiply, round, subtract, sum, sumBy, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ \"../simple-mind-map/node_modules/lodash-es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ceil_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ceil.js */ \"../simple-mind-map/node_modules/lodash-es/ceil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ceil\", function() { return _ceil_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./divide.js */ \"../simple-mind-map/node_modules/lodash-es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _floor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./floor.js */ \"../simple-mind-map/node_modules/lodash-es/floor.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return _floor_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max.js */ \"../simple-mind-map/node_modules/lodash-es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./maxBy.js */ \"../simple-mind-map/node_modules/lodash-es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mean.js */ \"../simple-mind-map/node_modules/lodash-es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _meanBy_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./meanBy.js */ \"../simple-mind-map/node_modules/lodash-es/meanBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"meanBy\", function() { return _meanBy_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./min.js */ \"../simple-mind-map/node_modules/lodash-es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./minBy.js */ \"../simple-mind-map/node_modules/lodash-es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./multiply.js */ \"../simple-mind-map/node_modules/lodash-es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./round.js */ \"../simple-mind-map/node_modules/lodash-es/round.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return _round_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./subtract.js */ \"../simple-mind-map/node_modules/lodash-es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./sum.js */ \"../simple-mind-map/node_modules/lodash-es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _sumBy_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./sumBy.js */ \"../simple-mind-map/node_modules/lodash-es/sumBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return _sumBy_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _math_default_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./math.default.js */ \"../simple-mind-map/node_modules/lodash-es/math.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _math_default_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/math.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/max.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/max.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _baseGt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (max);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/max.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/maxBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/maxBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseGt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseGt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGt.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n\n\n\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 2), _baseGt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (maxBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/maxBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mean.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mean.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMean_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMean.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMean.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n/**\n * Computes the mean of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the mean.\n * @example\n *\n * _.mean([4, 2, 8, 6]);\n * // => 5\n */\nfunction mean(array) {\n return Object(_baseMean_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mean);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/mean.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/meanBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/meanBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseMean_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseMean.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMean.js\");\n\n\n\n/**\n * This method is like `_.mean` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be averaged.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the mean.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.meanBy(objects, function(o) { return o.n; });\n * // => 5\n *\n * // The `_.property` iteratee shorthand.\n * _.meanBy(objects, 'n');\n * // => 5\n */\nfunction meanBy(array, iteratee) {\n return Object(_baseMean_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (meanBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/meanBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/memoize.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/memoize.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ \"../simple-mind-map/node_modules/lodash-es/_MapCache.js\");\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = _MapCache_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/memoize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/merge.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/merge.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n\n\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex) {\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, srcIndex);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/merge.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mergeWith.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mergeWith.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseMerge_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseMerge.js */ \"../simple-mind-map/node_modules/lodash-es/_baseMerge.js\");\n/* harmony import */ var _createAssigner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createAssigner.js */ \"../simple-mind-map/node_modules/lodash-es/_createAssigner.js\");\n\n\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = Object(_createAssigner_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, source, srcIndex, customizer) {\n Object(_baseMerge_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, source, srcIndex, customizer);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/mergeWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/method.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/method.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * Creates a function that invokes the method at `path` of a given object.\n * Any additional arguments are provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': _.constant(2) } },\n * { 'a': { 'b': _.constant(1) } }\n * ];\n *\n * _.map(objects, _.method('a.b'));\n * // => [2, 1]\n *\n * _.map(objects, _.method(['a', 'b']));\n * // => [2, 1]\n */\nvar method = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(path, args) {\n return function(object) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, args);\n };\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (method);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/method.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/methodOf.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/methodOf.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseInvoke.js */ \"../simple-mind-map/node_modules/lodash-es/_baseInvoke.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n\n\n\n/**\n * The opposite of `_.method`; this method creates a function that invokes\n * the method at a given path of `object`. Any additional arguments are\n * provided to the invoked method.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Util\n * @param {Object} object The object to query.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {Function} Returns the new invoker function.\n * @example\n *\n * var array = _.times(3, _.constant),\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n * // => [2, 0]\n */\nvar methodOf = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, args) {\n return function(path) {\n return Object(_baseInvoke_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, args);\n };\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (methodOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/methodOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/min.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/min.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _baseLt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (min);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/min.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/minBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/minBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseExtremum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseExtremum.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseLt_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseLt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLt.js\");\n\n\n\n\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nfunction minBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseExtremum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratee, 2), _baseLt_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (minBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/minBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/mixin.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/mixin.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEach.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEach.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseFunctions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFunctions.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFunctions.js\");\n/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_copyArray.js */ \"../simple-mind-map/node_modules/lodash-es/_copyArray.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isObject.js */ \"../simple-mind-map/node_modules/lodash-es/isObject.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Adds all own enumerable string keyed function properties of a source\n * object to the destination object. If `object` is a function, then methods\n * are added to its prototype as well.\n *\n * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n * avoid conflicts caused by modifying the original.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Function|Object} [object=lodash] The destination object.\n * @param {Object} source The object of functions to add.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n * @returns {Function|Object} Returns `object`.\n * @example\n *\n * function vowels(string) {\n * return _.filter(string, function(v) {\n * return /[aeiou]/i.test(v);\n * });\n * }\n *\n * _.mixin({ 'vowels': vowels });\n * _.vowels('fred');\n * // => ['e']\n *\n * _('fred').vowels().value();\n * // => ['e']\n *\n * _.mixin({ 'vowels': vowels }, { 'chain': false });\n * _('fred').vowels();\n * // => ['e']\n */\nfunction mixin(object, source, options) {\n var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(source),\n methodNames = Object(_baseFunctions_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, props);\n\n var chain = !(Object(_isObject_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(options) && 'chain' in options) || !!options.chain,\n isFunc = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object);\n\n Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(methodNames, function(methodName) {\n var func = source[methodName];\n object[methodName] = func;\n if (isFunc) {\n object.prototype[methodName] = function() {\n var chainAll = this.__chain__;\n if (chain || chainAll) {\n var result = object(this.__wrapped__),\n actions = result.__actions__ = Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.__actions__);\n\n actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n result.__chain__ = chainAll;\n return result;\n }\n return func.apply(object, Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([this.value()], arguments));\n };\n }\n });\n\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (mixin);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/mixin.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/multiply.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/multiply.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Multiply two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Math\n * @param {number} multiplier The first number in a multiplication.\n * @param {number} multiplicand The second number in a multiplication.\n * @returns {number} Returns the product.\n * @example\n *\n * _.multiply(6, 4);\n * // => 24\n */\nvar multiply = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(multiplier, multiplicand) {\n return multiplier * multiplicand;\n}, 1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (multiply);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/multiply.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/negate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/negate.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (negate);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/negate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/next.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/next.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toArray.js */ \"../simple-mind-map/node_modules/lodash-es/toArray.js\");\n\n\n/**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\nfunction wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = Object(_toArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperNext);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/next.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/noop.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/noop.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (noop);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/noop.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/now.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/now.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Date.now();\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (now);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/now.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/nth.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/nth.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseNth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseNth.js */ \"../simple-mind-map/node_modules/lodash-es/_baseNth.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\nfunction nth(array, n) {\n return (array && array.length) ? Object(_baseNth_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n)) : undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nth);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/nth.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/nthArg.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/nthArg.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseNth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseNth.js */ \"../simple-mind-map/node_modules/lodash-es/_baseNth.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * Creates a function that gets the argument at index `n`. If `n` is negative,\n * the nth argument from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [n=0] The index of the argument to return.\n * @returns {Function} Returns the new pass-thru function.\n * @example\n *\n * var func = _.nthArg(1);\n * func('a', 'b', 'c', 'd');\n * // => 'b'\n *\n * var func = _.nthArg(-2);\n * func('a', 'b', 'c', 'd');\n * // => 'c'\n */\nfunction nthArg(n) {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(args) {\n return Object(_baseNth_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args, n);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (nthArg);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/nthArg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/number.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/number.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n clamp: _clamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], inRange: _inRange_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], random: _random_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/number.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/number.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/number.js ***! + \***********************************************************/ +/*! exports provided: clamp, inRange, random, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clamp.js */ \"../simple-mind-map/node_modules/lodash-es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _inRange_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inRange.js */ \"../simple-mind-map/node_modules/lodash-es/inRange.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inRange\", function() { return _inRange_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ \"../simple-mind-map/node_modules/lodash-es/random.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return _random_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _number_default_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./number.default.js */ \"../simple-mind-map/node_modules/lodash-es/number.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _number_default_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/number.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/object.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/object.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n assign: _assign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], assignIn: _assignIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], assignInWith: _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], assignWith: _assignWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], at: _at_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n create: _create_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], defaults: _defaults_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], defaultsDeep: _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], entries: _entries_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], entriesIn: _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n extend: _extend_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], extendWith: _extendWith_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], findKey: _findKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], findLastKey: _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], forIn: _forIn_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n forInRight: _forInRight_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], forOwn: _forOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], forOwnRight: _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], functions: _functions_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], functionsIn: _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n get: _get_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], has: _has_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], hasIn: _hasIn_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], invert: _invert_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], invertBy: _invertBy_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n invoke: _invoke_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], keys: _keys_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], keysIn: _keysIn_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], mapKeys: _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], mapValues: _mapValues_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n merge: _merge_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"], mergeWith: _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"], omit: _omit_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"], omitBy: _omitBy_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"], pick: _pick_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"],\n pickBy: _pickBy_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"], result: _result_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"], set: _set_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"], setWith: _setWith_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"], toPairs: _toPairs_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"],\n toPairsIn: _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"], transform: _transform_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"], unset: _unset_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"], update: _update_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"], updateWith: _updateWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"],\n values: _values_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"], valuesIn: _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/object.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/object.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/object.js ***! + \***********************************************************/ +/*! exports provided: assign, assignIn, assignInWith, assignWith, at, create, defaults, defaultsDeep, entries, entriesIn, extend, extendWith, findKey, findLastKey, forIn, forInRight, forOwn, forOwnRight, functions, functionsIn, get, has, hasIn, invert, invertBy, invoke, keys, keysIn, mapKeys, mapValues, merge, mergeWith, omit, omitBy, pick, pickBy, result, set, setWith, toPairs, toPairsIn, transform, unset, update, updateWith, values, valuesIn, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assign.js */ \"../simple-mind-map/node_modules/lodash-es/assign.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assign\", function() { return _assign_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _assignIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignIn.js */ \"../simple-mind-map/node_modules/lodash-es/assignIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignIn\", function() { return _assignIn_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignInWith\", function() { return _assignInWith_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _assignWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assignWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assignWith\", function() { return _assignWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./at.js */ \"../simple-mind-map/node_modules/lodash-es/at.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _at_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _create_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create.js */ \"../simple-mind-map/node_modules/lodash-es/create.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return _create_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./defaults.js */ \"../simple-mind-map/node_modules/lodash-es/defaults.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _defaults_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./defaultsDeep.js */ \"../simple-mind-map/node_modules/lodash-es/defaultsDeep.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultsDeep\", function() { return _defaultsDeep_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _entries_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entries.js */ \"../simple-mind-map/node_modules/lodash-es/entries.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _entries_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./entriesIn.js */ \"../simple-mind-map/node_modules/lodash-es/entriesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entriesIn\", function() { return _entriesIn_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _extend_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./extend.js */ \"../simple-mind-map/node_modules/lodash-es/extend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return _extend_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _extendWith_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extendWith.js */ \"../simple-mind-map/node_modules/lodash-es/extendWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extendWith\", function() { return _extendWith_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _findKey_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./findKey.js */ \"../simple-mind-map/node_modules/lodash-es/findKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return _findKey_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./findLastKey.js */ \"../simple-mind-map/node_modules/lodash-es/findLastKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastKey\", function() { return _findLastKey_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _forIn_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./forIn.js */ \"../simple-mind-map/node_modules/lodash-es/forIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forIn\", function() { return _forIn_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _forInRight_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./forInRight.js */ \"../simple-mind-map/node_modules/lodash-es/forInRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forInRight\", function() { return _forInRight_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _forOwn_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./forOwn.js */ \"../simple-mind-map/node_modules/lodash-es/forOwn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwn\", function() { return _forOwn_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./forOwnRight.js */ \"../simple-mind-map/node_modules/lodash-es/forOwnRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forOwnRight\", function() { return _forOwnRight_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./functions.js */ \"../simple-mind-map/node_modules/lodash-es/functions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functions\", function() { return _functions_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./functionsIn.js */ \"../simple-mind-map/node_modules/lodash-es/functionsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"functionsIn\", function() { return _functionsIn_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _get_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./get.js */ \"../simple-mind-map/node_modules/lodash-es/get.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return _get_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./has.js */ \"../simple-mind-map/node_modules/lodash-es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./hasIn.js */ \"../simple-mind-map/node_modules/lodash-es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./invert.js */ \"../simple-mind-map/node_modules/lodash-es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _invertBy_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./invertBy.js */ \"../simple-mind-map/node_modules/lodash-es/invertBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertBy\", function() { return _invertBy_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _invoke_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./invoke.js */ \"../simple-mind-map/node_modules/lodash-es/invoke.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return _invoke_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./keysIn.js */ \"../simple-mind-map/node_modules/lodash-es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./mapKeys.js */ \"../simple-mind-map/node_modules/lodash-es/mapKeys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapKeys\", function() { return _mapKeys_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _mapValues_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./mapValues.js */ \"../simple-mind-map/node_modules/lodash-es/mapValues.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return _mapValues_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./merge.js */ \"../simple-mind-map/node_modules/lodash-es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mergeWith.js */ \"../simple-mind-map/node_modules/lodash-es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./omit.js */ \"../simple-mind-map/node_modules/lodash-es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _omitBy_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./omitBy.js */ \"../simple-mind-map/node_modules/lodash-es/omitBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omitBy\", function() { return _omitBy_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./pick.js */ \"../simple-mind-map/node_modules/lodash-es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _result_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./result.js */ \"../simple-mind-map/node_modules/lodash-es/result.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"result\", function() { return _result_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./set.js */ \"../simple-mind-map/node_modules/lodash-es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _setWith_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./setWith.js */ \"../simple-mind-map/node_modules/lodash-es/setWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWith\", function() { return _setWith_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./toPairs.js */ \"../simple-mind-map/node_modules/lodash-es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./toPairsIn.js */ \"../simple-mind-map/node_modules/lodash-es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./transform.js */ \"../simple-mind-map/node_modules/lodash-es/transform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return _transform_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _unset_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./unset.js */ \"../simple-mind-map/node_modules/lodash-es/unset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unset\", function() { return _unset_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./update.js */ \"../simple-mind-map/node_modules/lodash-es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _updateWith_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./updateWith.js */ \"../simple-mind-map/node_modules/lodash-es/updateWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateWith\", function() { return _updateWith_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./values.js */ \"../simple-mind-map/node_modules/lodash-es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./valuesIn.js */ \"../simple-mind-map/node_modules/lodash-es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _object_default_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./object.default.js */ \"../simple-mind-map/node_modules/lodash-es/object.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _object_default_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/object.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/omit.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/omit.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseClone.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClone.js\");\n/* harmony import */ var _baseUnset_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseUnset.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnset.js\");\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_copyObject.js */ \"../simple-mind-map/node_modules/lodash-es/_copyObject.js\");\n/* harmony import */ var _customOmitClone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_customOmitClone.js */ \"../simple-mind-map/node_modules/lodash-es/_customOmitClone.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n\n\n\n\n\n\n\n\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(paths, function(path) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(object, Object(_getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(object), result);\n if (isDeep) {\n result = Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, _customOmitClone_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n }\n var length = paths.length;\n while (length--) {\n Object(_baseUnset_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(result, paths[length]);\n }\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omit);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/omit.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/omitBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/omitBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickBy.js */ \"../simple-mind-map/node_modules/lodash-es/pickBy.js\");\n\n\n\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return Object(_pickBy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, Object(_negate_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omitBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/omitBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/once.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/once.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _before_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./before.js */ \"../simple-mind-map/node_modules/lodash-es/before.js\");\n\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return Object(_before_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(2, func);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (once);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/once.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/orderBy.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/orderBy.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseOrderBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseOrderBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return Object(_baseOrderBy_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection, iteratees, orders);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (orderBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/orderBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/over.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/over.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that invokes `iteratees` with the arguments it receives\n * and returns their results.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to invoke.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.over([Math.max, Math.min]);\n *\n * func(1, 2, 3, 4);\n * // => [4, 1]\n */\nvar over = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (over);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/over.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overArgs.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overArgs.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseUnary.js */ \"../simple-mind-map/node_modules/lodash-es/_baseUnary.js\");\n/* harmony import */ var _castRest_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_castRest.js */ \"../simple-mind-map/node_modules/lodash-es/_castRest.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\nvar overArgs = Object(_castRest_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function(func, transforms) {\n transforms = (transforms.length == 1 && Object(_isArray_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(transforms[0]))\n ? Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(transforms[0], Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]))\n : Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(transforms, 1), Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n\n var funcsLength = transforms.length;\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, args);\n });\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overArgs);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/overArgs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overEvery.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overEvery.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayEvery.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayEvery.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that checks if **all** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overEvery([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => false\n *\n * func(NaN);\n * // => false\n */\nvar overEvery = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arrayEvery_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overEvery);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/overEvery.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/overSome.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/overSome.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _createOver_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createOver.js */ \"../simple-mind-map/node_modules/lodash-es/_createOver.js\");\n\n\n\n/**\n * Creates a function that checks if **any** of the `predicates` return\n * truthy when invoked with the arguments it receives.\n *\n * Following shorthands are possible for providing predicates.\n * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {...(Function|Function[])} [predicates=[_.identity]]\n * The predicates to check.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var func = _.overSome([Boolean, isFinite]);\n *\n * func('1');\n * // => true\n *\n * func(null);\n * // => true\n *\n * func(NaN);\n * // => false\n *\n * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])\n * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])\n */\nvar overSome = Object(_createOver_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_arraySome_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overSome);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/overSome.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pad.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pad.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeFloor = Math.floor;\n\n/**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\nfunction pad(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeFloor(mid), chars) +\n string +\n Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nativeCeil(mid), chars)\n );\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pad);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pad.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/padEnd.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/padEnd.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\nfunction padEnd(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n return (length && strLength < length)\n ? (string + Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length - strLength, chars))\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (padEnd);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/padEnd.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/padStart.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/padStart.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createPadding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createPadding.js */ \"../simple-mind-map/node_modules/lodash-es/_createPadding.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\nfunction padStart(string, length, chars) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n length = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(length);\n\n var strLength = length ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string) : 0;\n return (length && strLength < length)\n ? (Object(_createPadding_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length - strLength, chars) + string)\n : string;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (padStart);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/padStart.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/parseInt.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/parseInt.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"../simple-mind-map/node_modules/lodash-es/_root.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeParseInt = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].parseInt;\n\n/**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\nfunction parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string).replace(reTrimStart, ''), radix || 0);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parseInt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/parseInt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partial.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partial.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\nvar partial = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, partials) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(partial));\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n});\n\n// Assign default placeholders.\npartial.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partial);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/partial.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partialRight.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partialRight.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _getHolder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getHolder.js */ \"../simple-mind-map/node_modules/lodash-es/_getHolder.js\");\n/* harmony import */ var _replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_replaceHolders.js */ \"../simple-mind-map/node_modules/lodash-es/_replaceHolders.js\");\n\n\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\nvar partialRight = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(func, partials) {\n var holders = Object(_replaceHolders_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(partials, Object(_getHolder_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(partialRight));\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n});\n\n// Assign default placeholders.\npartialRight.placeholder = {};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partialRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/partialRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/partition.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/partition.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createAggregator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createAggregator.js */ \"../simple-mind-map/node_modules/lodash-es/_createAggregator.js\");\n\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = Object(_createAggregator_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function() { return [[], []]; });\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (partition);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/partition.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pick.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pick.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePick_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePick.js */ \"../simple-mind-map/node_modules/lodash-es/_basePick.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(object, paths) {\n return object == null ? {} : Object(_basePick_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, paths);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pick);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pick.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pickBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pickBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePickBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_basePickBy.js */ \"../simple-mind-map/node_modules/lodash-es/_basePickBy.js\");\n/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_getAllKeysIn.js */ \"../simple-mind-map/node_modules/lodash-es/_getAllKeysIn.js\");\n\n\n\n\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object), function(prop) {\n return [prop];\n });\n predicate = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate);\n return Object(_basePickBy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pickBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/plant.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/plant.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseLodash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseLodash.js */ \"../simple-mind-map/node_modules/lodash-es/_baseLodash.js\");\n/* harmony import */ var _wrapperClone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_wrapperClone.js */ \"../simple-mind-map/node_modules/lodash-es/_wrapperClone.js\");\n\n\n\n/**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\nfunction wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof _baseLodash_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n var clone = Object(_wrapperClone_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (wrapperPlant);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/plant.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/property.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/property.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseProperty.js */ \"../simple-mind-map/node_modules/lodash-es/_baseProperty.js\");\n/* harmony import */ var _basePropertyDeep_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePropertyDeep.js */ \"../simple-mind-map/node_modules/lodash-es/_basePropertyDeep.js\");\n/* harmony import */ var _isKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isKey.js */ \"../simple-mind-map/node_modules/lodash-es/_isKey.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return Object(_isKey_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path) ? Object(_baseProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toKey_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path)) : Object(_basePropertyDeep_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (property);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/property.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/propertyOf.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/propertyOf.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseGet.js\");\n\n\n/**\n * The opposite of `_.property`; this method creates a function that returns\n * the value at a given path of `object`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var array = [0, 1, 2],\n * object = { 'a': array, 'b': array, 'c': array };\n *\n * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n * // => [2, 0]\n *\n * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n * // => [2, 0]\n */\nfunction propertyOf(object) {\n return function(path) {\n return object == null ? undefined : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (propertyOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/propertyOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pull.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pull.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _pullAll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pullAll.js */ \"../simple-mind-map/node_modules/lodash-es/pullAll.js\");\n\n\n\n/**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\nvar pull = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_pullAll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pull);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pull.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAll.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAll.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n/**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\nfunction pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, values)\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAll);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pullAll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAllBy.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAllBy.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n\n/**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\nfunction pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, values, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAllBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pullAllBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAllWith.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAllWith.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basePullAll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_basePullAll.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAll.js\");\n\n\n/**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\nfunction pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? Object(_basePullAll_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, values, undefined, comparator)\n : array;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAllWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pullAllWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/pullAt.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/pullAt.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayMap.js\");\n/* harmony import */ var _baseAt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAt.js */ \"../simple-mind-map/node_modules/lodash-es/_baseAt.js\");\n/* harmony import */ var _basePullAt_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_basePullAt.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAt.js\");\n/* harmony import */ var _compareAscending_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_compareAscending.js */ \"../simple-mind-map/node_modules/lodash-es/_compareAscending.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_isIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_isIndex.js\");\n\n\n\n\n\n\n\n/**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\nvar pullAt = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = Object(_baseAt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, indexes);\n\n Object(_basePullAt_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(array, Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(indexes, function(index) {\n return Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(index, length) ? +index : index;\n }).sort(_compareAscending_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n\n return result;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (pullAt);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/pullAt.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/random.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/random.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRandom.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRandom.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toFinite_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toFinite.js */ \"../simple-mind-map/node_modules/lodash-es/toFinite.js\");\n\n\n\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseFloat = parseFloat;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min,\n nativeRandom = Math.random;\n\n/**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\nfunction random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = Object(_toFinite_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return Object(_baseRandom_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lower, upper);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (random);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/random.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/range.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/range.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRange.js */ \"../simple-mind-map/node_modules/lodash-es/_createRange.js\");\n\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = Object(_createRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (range);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/range.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rangeRight.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rangeRight.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRange.js */ \"../simple-mind-map/node_modules/lodash-es/_createRange.js\");\n\n\n/**\n * This method is like `_.range` except that it populates values in\n * descending order.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.range\n * @example\n *\n * _.rangeRight(4);\n * // => [3, 2, 1, 0]\n *\n * _.rangeRight(-4);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 5);\n * // => [4, 3, 2, 1]\n *\n * _.rangeRight(0, 20, 5);\n * // => [15, 10, 5, 0]\n *\n * _.rangeRight(0, -4, -1);\n * // => [-3, -2, -1, 0]\n *\n * _.rangeRight(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.rangeRight(0);\n * // => []\n */\nvar rangeRight = Object(_createRange_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rangeRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/rangeRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rearg.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rearg.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createWrap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createWrap.js */ \"../simple-mind-map/node_modules/lodash-es/_createWrap.js\");\n/* harmony import */ var _flatRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatRest.js */ \"../simple-mind-map/node_modules/lodash-es/_flatRest.js\");\n\n\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\nvar rearg = Object(_flatRest_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function(func, indexes) {\n return Object(_createWrap_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rearg);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/rearg.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reduce.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reduce.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduce.js\");\n/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEach.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEach.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_baseReduce.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? _arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n initAccum = arguments.length < 3;\n\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 4), accumulator, initAccum, _baseEach_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduce);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/reduce.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reduceRight.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reduceRight.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayReduceRight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayReduceRight.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayReduceRight.js\");\n/* harmony import */ var _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseEachRight.js */ \"../simple-mind-map/node_modules/lodash-es/_baseEachRight.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseReduce.js */ \"../simple-mind-map/node_modules/lodash-es/_baseReduce.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n\n\n/**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\nfunction reduceRight(collection, iteratee, accumulator) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) ? _arrayReduceRight_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseReduce_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n initAccum = arguments.length < 3;\n\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(iteratee, 4), accumulator, initAccum, _baseEachRight_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/reduceRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reject.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reject.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayFilter.js\");\n/* harmony import */ var _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseFilter.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFilter.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./negate.js */ \"../simple-mind-map/node_modules/lodash-es/negate.js\");\n\n\n\n\n\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseFilter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, Object(_negate_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(predicate, 3)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/reject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/remove.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/remove.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _basePullAt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_basePullAt.js */ \"../simple-mind-map/node_modules/lodash-es/_basePullAt.js\");\n\n\n\n/**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\nfunction remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n Object(_basePullAt_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, indexes);\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (remove);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/remove.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/repeat.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/repeat.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRepeat.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRepeat.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\nfunction repeat(string, n, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n);\n }\n return Object(_baseRepeat_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string), n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (repeat);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/repeat.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/replace.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/replace.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n/**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\nfunction replace() {\n var args = arguments,\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (replace);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/replace.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/rest.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/rest.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, start);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (rest);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/rest.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/result.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/result.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_castPath.js */ \"../simple-mind-map/node_modules/lodash-es/_castPath.js\");\n/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction.js */ \"../simple-mind-map/node_modules/lodash-es/isFunction.js\");\n/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_toKey.js */ \"../simple-mind-map/node_modules/lodash-es/_toKey.js\");\n\n\n\n\n/**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\nfunction result(object, path, defaultValue) {\n path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value) ? value.call(object) : value;\n }\n return object;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (result);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/result.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/reverse.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/reverse.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeReverse = arrayProto.reverse;\n\n/**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\nfunction reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (reverse);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/reverse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/round.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/round.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createRound_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createRound.js */ \"../simple-mind-map/node_modules/lodash-es/_createRound.js\");\n\n\n/**\n * Computes `number` rounded to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round.\n * @param {number} [precision=0] The precision to round to.\n * @returns {number} Returns the rounded number.\n * @example\n *\n * _.round(4.006);\n * // => 4\n *\n * _.round(4.006, 2);\n * // => 4.01\n *\n * _.round(4060, -2);\n * // => 4100\n */\nvar round = Object(_createRound_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('round');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (round);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/round.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sample.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sample.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySample_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySample.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySample.js\");\n/* harmony import */ var _baseSample_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSample.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSample.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\nfunction sample(collection) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arraySample_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSample_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sample);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sample.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sampleSize.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sampleSize.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySampleSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySampleSize.js\");\n/* harmony import */ var _baseSampleSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSampleSize.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSampleSize.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n/**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\nfunction sampleSize(collection, n, guard) {\n if ((guard ? Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(n);\n }\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arraySampleSize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSampleSize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection, n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sampleSize);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sampleSize.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/seq.default.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/seq.default.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n at: _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], chain: _chain_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], commit: _commit_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], lodash: _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], next: _next_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n plant: _plant_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], reverse: _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], tap: _tap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], thru: _thru_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], toIterator: _toIterator_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n toJSON: _toJSON_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], value: _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], valueOf: _valueOf_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], wrapperChain: _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/seq.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/seq.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/seq.js ***! + \********************************************************/ +/*! exports provided: at, chain, commit, lodash, next, plant, reverse, tap, thru, toIterator, toJSON, value, valueOf, wrapperChain, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperAt.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _wrapperAt_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ \"../simple-mind-map/node_modules/lodash-es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _commit_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commit.js */ \"../simple-mind-map/node_modules/lodash-es/commit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commit\", function() { return _commit_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperLodash.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperLodash.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lodash\", function() { return _wrapperLodash_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _next_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./next.js */ \"../simple-mind-map/node_modules/lodash-es/next.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"next\", function() { return _next_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _plant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plant.js */ \"../simple-mind-map/node_modules/lodash-es/plant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"plant\", function() { return _plant_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./wrapperReverse.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperReverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _wrapperReverse_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tap.js */ \"../simple-mind-map/node_modules/lodash-es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _thru_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./thru.js */ \"../simple-mind-map/node_modules/lodash-es/thru.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thru\", function() { return _thru_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _toIterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toIterator.js */ \"../simple-mind-map/node_modules/lodash-es/toIterator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toIterator\", function() { return _toIterator_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _toJSON_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toJSON.js */ \"../simple-mind-map/node_modules/lodash-es/toJSON.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJSON\", function() { return _toJSON_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./wrapperValue.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperValue.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"value\", function() { return _wrapperValue_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _valueOf_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./valueOf.js */ \"../simple-mind-map/node_modules/lodash-es/valueOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valueOf\", function() { return _valueOf_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./wrapperChain.js */ \"../simple-mind-map/node_modules/lodash-es/wrapperChain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"wrapperChain\", function() { return _wrapperChain_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _seq_default_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./seq.default.js */ \"../simple-mind-map/node_modules/lodash-es/seq.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _seq_default_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/seq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/set.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/set.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (set);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/set.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/setWith.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/setWith.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSet.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSet.js\");\n\n\n/**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\nfunction setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : Object(_baseSet_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, path, value, customizer);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (setWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/setWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/shuffle.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/shuffle.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrayShuffle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayShuffle.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayShuffle.js\");\n/* harmony import */ var _baseShuffle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseShuffle.js */ \"../simple-mind-map/node_modules/lodash-es/_baseShuffle.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n\n\n\n\n/**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\nfunction shuffle(collection) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection) ? _arrayShuffle_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseShuffle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n return func(collection);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (shuffle);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/shuffle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/size.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/size.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseKeys.js */ \"../simple-mind-map/node_modules/lodash-es/_baseKeys.js\");\n/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getTag.js */ \"../simple-mind-map/node_modules/lodash-es/_getTag.js\");\n/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ \"../simple-mind-map/node_modules/lodash-es/isArrayLike.js\");\n/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isString.js */ \"../simple-mind-map/node_modules/lodash-es/isString.js\");\n/* harmony import */ var _stringSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringSize.js */ \"../simple-mind-map/node_modules/lodash-es/_stringSize.js\");\n\n\n\n\n\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n if (collection == null) {\n return 0;\n }\n if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(collection)) {\n return Object(_isString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? Object(_stringSize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection) : collection.length;\n }\n var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(collection).length;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (size);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/size.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/slice.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/slice.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(start);\n end = end === undefined ? length : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(end);\n }\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, start, end);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (slice);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/slice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/snakeCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/snakeCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (snakeCase);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/snakeCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/some.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/some.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arraySome_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arraySome.js */ \"../simple-mind-map/node_modules/lodash-es/_arraySome.js\");\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSome_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseSome.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSome.js\");\n/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isArray.js */ \"../simple-mind-map/node_modules/lodash-es/isArray.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection) ? _arraySome_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] : _baseSome_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n if (guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(predicate, 3));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (some);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/some.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortBy.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortBy.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseFlatten.js */ \"../simple-mind-map/node_modules/lodash-es/_baseFlatten.js\");\n/* harmony import */ var _baseOrderBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseOrderBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseOrderBy.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n\n\n\n\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return Object(_baseOrderBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(collection, Object(_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratees, 1), []);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndex.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndex.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n\n\n/**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\nfunction sortedIndex(array, value) {\n return Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n\n\n\n/**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\nfunction sortedIndexBy(array, value, iteratee) {\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndexBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\nfunction sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value);\n if (index < length && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n\n\n/**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\nfunction sortedLastIndex(array, value) {\n return Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndex);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedLastIndex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedIndexBy.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndexBy.js\");\n\n\n\n/**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\nfunction sortedLastIndexBy(array, value, iteratee) {\n return Object(_baseSortedIndexBy_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, value, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2), true);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndexBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedLastIndexBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedIndex.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedIndex.js\");\n/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ \"../simple-mind-map/node_modules/lodash-es/eq.js\");\n\n\n\n/**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\nfunction sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = Object(_baseSortedIndex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, value, true) - 1;\n if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedLastIndexOf);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedLastIndexOf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedUniq.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedUniq.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js\");\n\n\n/**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\nfunction sortedUniq(array) {\n return (array && array.length)\n ? Object(_baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedUniq);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedUniq.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSortedUniq.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSortedUniq.js\");\n\n\n\n/**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\nfunction sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseSortedUniq_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortedUniqBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sortedUniqBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/split.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/split.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _hasUnicode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hasUnicode.js */ \"../simple-mind-map/node_modules/lodash-es/_hasUnicode.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _isRegExp_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/isRegExp.js\");\n/* harmony import */ var _stringToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stringToArray.js */ \"../simple-mind-map/node_modules/lodash-es/_stringToArray.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\nfunction split(string, separator, limit) {\n if (limit && typeof limit != 'number' && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !Object(_isRegExp_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(separator))\n )) {\n separator = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(separator);\n if (!separator && Object(_hasUnicode_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(string)) {\n return Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_stringToArray_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (split);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/split.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/spread.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/spread.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_apply.js */ \"../simple-mind-map/node_modules/lodash-es/_apply.js\");\n/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayPush.js */ \"../simple-mind-map/node_modules/lodash-es/_arrayPush.js\");\n/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseRest.js */ \"../simple-mind-map/node_modules/lodash-es/_baseRest.js\");\n/* harmony import */ var _castSlice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_castSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_castSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n\n\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\nfunction spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(start), 0);\n return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function(args) {\n var array = args[start],\n otherArgs = Object(_castSlice_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(args, 0, start);\n\n if (array) {\n Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(otherArgs, array);\n }\n return Object(_apply_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(func, this, otherArgs);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (spread);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/spread.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/startCase.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/startCase.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createCompounder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createCompounder.js */ \"../simple-mind-map/node_modules/lodash-es/_createCompounder.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n\n\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = Object(_createCompounder_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(result, word, index) {\n return result + (index ? ' ' : '') + Object(_upperFirst_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(word);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (startCase);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/startCase.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/startsWith.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/startsWith.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseClamp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClamp.js */ \"../simple-mind-map/node_modules/lodash-es/_baseClamp.js\");\n/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseToString.js */ \"../simple-mind-map/node_modules/lodash-es/_baseToString.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n/**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\nfunction startsWith(string, target, position) {\n string = Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(string);\n position = position == null\n ? 0\n : Object(_baseClamp_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(position), 0, string.length);\n\n target = Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target);\n return string.slice(position, position + target.length) == target;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (startsWith);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/startsWith.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/string.default.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/string.default.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n camelCase: _camelCase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], capitalize: _capitalize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], deburr: _deburr_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], endsWith: _endsWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], escape: _escape_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n escapeRegExp: _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], kebabCase: _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], lowerCase: _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], lowerFirst: _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], pad: _pad_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n padEnd: _padEnd_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"], padStart: _padStart_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"], parseInt: _parseInt_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"], repeat: _repeat_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"], replace: _replace_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n snakeCase: _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"], split: _split_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"], startCase: _startCase_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"], startsWith: _startsWith_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], template: _template_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n templateSettings: _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"], toLower: _toLower_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"], toUpper: _toUpper_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"], trim: _trim_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"], trimEnd: _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n trimStart: _trimStart_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"], truncate: _truncate_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"], unescape: _unescape_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"], upperCase: _upperCase_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"], upperFirst: _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"],\n words: _words_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n});\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/string.default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/string.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/string.js ***! + \***********************************************************/ +/*! exports provided: camelCase, capitalize, deburr, endsWith, escape, escapeRegExp, kebabCase, lowerCase, lowerFirst, pad, padEnd, padStart, parseInt, repeat, replace, snakeCase, split, startCase, startsWith, template, templateSettings, toLower, toUpper, trim, trimEnd, trimStart, truncate, unescape, upperCase, upperFirst, words, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _camelCase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./camelCase.js */ \"../simple-mind-map/node_modules/lodash-es/camelCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"camelCase\", function() { return _camelCase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _capitalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./capitalize.js */ \"../simple-mind-map/node_modules/lodash-es/capitalize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"capitalize\", function() { return _capitalize_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _deburr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./deburr.js */ \"../simple-mind-map/node_modules/lodash-es/deburr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deburr\", function() { return _deburr_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./endsWith.js */ \"../simple-mind-map/node_modules/lodash-es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _escape_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./escape.js */ \"../simple-mind-map/node_modules/lodash-es/escape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return _escape_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./escapeRegExp.js */ \"../simple-mind-map/node_modules/lodash-es/escapeRegExp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _escapeRegExp_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kebabCase.js */ \"../simple-mind-map/node_modules/lodash-es/kebabCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kebabCase\", function() { return _kebabCase_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lowerCase.js */ \"../simple-mind-map/node_modules/lodash-es/lowerCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerCase\", function() { return _lowerCase_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lowerFirst.js */ \"../simple-mind-map/node_modules/lodash-es/lowerFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowerFirst\", function() { return _lowerFirst_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _pad_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pad.js */ \"../simple-mind-map/node_modules/lodash-es/pad.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return _pad_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _padEnd_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./padEnd.js */ \"../simple-mind-map/node_modules/lodash-es/padEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padEnd\", function() { return _padEnd_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _padStart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./padStart.js */ \"../simple-mind-map/node_modules/lodash-es/padStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _padStart_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _parseInt_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./parseInt.js */ \"../simple-mind-map/node_modules/lodash-es/parseInt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseInt\", function() { return _parseInt_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./repeat.js */ \"../simple-mind-map/node_modules/lodash-es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./replace.js */ \"../simple-mind-map/node_modules/lodash-es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./snakeCase.js */ \"../simple-mind-map/node_modules/lodash-es/snakeCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"snakeCase\", function() { return _snakeCase_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./split.js */ \"../simple-mind-map/node_modules/lodash-es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _startCase_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./startCase.js */ \"../simple-mind-map/node_modules/lodash-es/startCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startCase\", function() { return _startCase_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./startsWith.js */ \"../simple-mind-map/node_modules/lodash-es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _template_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./template.js */ \"../simple-mind-map/node_modules/lodash-es/template.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return _template_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"templateSettings\", function() { return _templateSettings_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./toLower.js */ \"../simple-mind-map/node_modules/lodash-es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./toUpper.js */ \"../simple-mind-map/node_modules/lodash-es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./trim.js */ \"../simple-mind-map/node_modules/lodash-es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./trimEnd.js */ \"../simple-mind-map/node_modules/lodash-es/trimEnd.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimEnd\", function() { return _trimEnd_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _trimStart_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./trimStart.js */ \"../simple-mind-map/node_modules/lodash-es/trimStart.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trimStart\", function() { return _trimStart_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _truncate_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./truncate.js */ \"../simple-mind-map/node_modules/lodash-es/truncate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return _truncate_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _unescape_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./unescape.js */ \"../simple-mind-map/node_modules/lodash-es/unescape.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return _unescape_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _upperCase_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./upperCase.js */ \"../simple-mind-map/node_modules/lodash-es/upperCase.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperCase\", function() { return _upperCase_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./upperFirst.js */ \"../simple-mind-map/node_modules/lodash-es/upperFirst.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"upperFirst\", function() { return _upperFirst_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _words_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./words.js */ \"../simple-mind-map/node_modules/lodash-es/words.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"words\", function() { return _words_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _string_default_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./string.default.js */ \"../simple-mind-map/node_modules/lodash-es/string.default.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _string_default_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/string.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubArray.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubArray.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubArray);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/stubArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubFalse.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubFalse.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubFalse);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/stubFalse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubObject.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubObject.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns a new empty object.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Object} Returns the new empty object.\n * @example\n *\n * var objects = _.times(2, _.stubObject);\n *\n * console.log(objects);\n * // => [{}, {}]\n *\n * console.log(objects[0] === objects[1]);\n * // => false\n */\nfunction stubObject() {\n return {};\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubObject);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/stubObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubString.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubString.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns an empty string.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {string} Returns the empty string.\n * @example\n *\n * _.times(2, _.stubString);\n * // => ['', '']\n */\nfunction stubString() {\n return '';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubString);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/stubString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/stubTrue.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/stubTrue.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\nfunction stubTrue() {\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stubTrue);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/stubTrue.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/subtract.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/subtract.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_createMathOperation.js */ \"../simple-mind-map/node_modules/lodash-es/_createMathOperation.js\");\n\n\n/**\n * Subtract two numbers.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {number} minuend The first number in a subtraction.\n * @param {number} subtrahend The second number in a subtraction.\n * @returns {number} Returns the difference.\n * @example\n *\n * _.subtract(6, 4);\n * // => 2\n */\nvar subtract = Object(_createMathOperation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(minuend, subtrahend) {\n return minuend - subtrahend;\n}, 0);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (subtract);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/subtract.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sum.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sum.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ \"../simple-mind-map/node_modules/lodash-es/identity.js\");\n\n\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, _identity_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n : 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sum);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sum.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/sumBy.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/sumBy.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseSum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseSum.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSum.js\");\n\n\n\n/**\n * This method is like `_.sum` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the value to be summed.\n * The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the sum.\n * @example\n *\n * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n *\n * _.sumBy(objects, function(o) { return o.n; });\n * // => 20\n *\n * // The `_.property` iteratee shorthand.\n * _.sumBy(objects, 'n');\n * // => 20\n */\nfunction sumBy(array, iteratee) {\n return (array && array.length)\n ? Object(_baseSum_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(iteratee, 2))\n : 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sumBy);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/sumBy.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/tail.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/tail.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n\n\n/**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\nfunction tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 1, length) : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (tail);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/tail.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/take.js": +/*!*********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/take.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\nfunction take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, 0, n < 0 ? 0 : n);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (take);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/take.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeRight.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeRight.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseSlice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseSlice.js */ \"../simple-mind-map/node_modules/lodash-es/_baseSlice.js\");\n/* harmony import */ var _toInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toInteger.js */ \"../simple-mind-map/node_modules/lodash-es/toInteger.js\");\n\n\n\n/**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\nfunction takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : Object(_toInteger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n);\n n = length - n;\n return Object(_baseSlice_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, n < 0 ? 0 : n, length);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeRight);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/takeRight.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeRightWhile.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeRightWhile.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\nfunction takeRightWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3), false, true)\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeRightWhile);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/takeRightWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/takeWhile.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/takeWhile.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIteratee.js */ \"../simple-mind-map/node_modules/lodash-es/_baseIteratee.js\");\n/* harmony import */ var _baseWhile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseWhile.js */ \"../simple-mind-map/node_modules/lodash-es/_baseWhile.js\");\n\n\n\n/**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\nfunction takeWhile(array, predicate) {\n return (array && array.length)\n ? Object(_baseWhile_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array, Object(_baseIteratee_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(predicate, 3))\n : [];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeWhile);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/takeWhile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/tap.js": +/*!********************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/tap.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\nfunction tap(value, interceptor) {\n interceptor(value);\n return value;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (tap);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/lodash-es/tap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/lodash-es/template.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/lodash-es/template.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assignInWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignInWith.js */ \"../simple-mind-map/node_modules/lodash-es/assignInWith.js\");\n/* harmony import */ var _attempt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./attempt.js */ \"../simple-mind-map/node_modules/lodash-es/attempt.js\");\n/* harmony import */ var _baseValues_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_baseValues.js */ \"../simple-mind-map/node_modules/lodash-es/_baseValues.js\");\n/* harmony import */ var _customDefaultsAssignIn_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_customDefaultsAssignIn.js */ \"../simple-mind-map/node_modules/lodash-es/_customDefaultsAssignIn.js\");\n/* harmony import */ var _escapeStringChar_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_escapeStringChar.js */ \"../simple-mind-map/node_modules/lodash-es/_escapeStringChar.js\");\n/* harmony import */ var _isError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isError.js */ \"../simple-mind-map/node_modules/lodash-es/isError.js\");\n/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_isIterateeCall.js */ \"../simple-mind-map/node_modules/lodash-es/_isIterateeCall.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./keys.js */ \"../simple-mind-map/node_modules/lodash-es/keys.js\");\n/* harmony import */ var _reInterpolate_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_reInterpolate.js */ \"../simple-mind-map/node_modules/lodash-es/_reInterpolate.js\");\n/* harmony import */ var _templateSettings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./templateSettings.js */ \"../simple-mind-map/node_modules/lodash-es/templateSettings.js\");\n/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toString.js */ \"../simple-mind-map/node_modules/lodash-es/toString.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/** Error message constants. */\nvar INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n/** Used to match empty string literals in compiled template source. */\nvar reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n/**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\nvar reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n/**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\nvar reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n/** Used to ensure capturing order of template delimiters. */\nvar reNoMatch = /($^)/;\n\n/** Used to match unescaped characters in compiled string literals. */\nvar reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_1__[\"htmlRawNames\"].includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiAlpha\"])(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(_blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"], ok, nok)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js ***! + \**********************************************************************************/ +/*! exports provided: htmlText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlText\", function() { return htmlText; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js ***! + \**********************************************************************************/ +/*! exports provided: labelEnd */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelEnd\", function() { return labelEnd; });\n/* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-destination */ \"../simple-mind-map/node_modules/micromark-factory-destination/index.js\");\n/* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-label */ \"../simple-mind-map/node_modules/micromark-factory-label/index.js\");\n/* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-title */ \"../simple-mind-map/node_modules/micromark-factory-title/index.js\");\n/* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-whitespace */ \"../simple-mind-map/node_modules/micromark-factory-whitespace/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-normalize-identifier */ \"../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n\n\n\n/** @type {Construct} */\nconst labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(\n media,\n Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__[\"resolveAll\"])(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(close + 1))\n\n // Media close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['exit', group, context]])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"splice\"])(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return Object(micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__[\"factoryDestination\"])(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return Object(micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__[\"factoryTitle\"])(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__[\"factoryLabel\"].call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js": +/*!******************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js ***! + \******************************************************************************************/ +/*! exports provided: labelStartImage */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartImage\", function() { return labelStartImage; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js ***! + \*****************************************************************************************/ +/*! exports provided: labelStartLink */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartLink\", function() { return labelStartLink; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js ***! + \************************************************************************************/ +/*! exports provided: lineEnding */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineEnding\", function() { return lineEnding; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, ok, 'linePrefix')\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js ***! + \*****************************************************************************/ +/*! exports provided: list */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"list\", function() { return list; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var _blank_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blank-line.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/blank-line.js\");\n/* harmony import */ var _thematic_break_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./thematic-break.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n/** @type {Construct} */\nconst list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n\n/** @type {Construct} */\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(_thematic_break_js__WEBPACK_IMPORTED_MODULE_3__[\"thematicBreak\"], nok, atMarker)(code)\n : atMarker(code)\n }\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n return nok(code)\n }\n\n /** @type {State} */\n function inside(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n _blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"],\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n return nok(code)\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(_blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"], onBlank, notBlank)\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\n/**\n * @type {Exiter}\n * @this {TokenizeContext}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js ***! + \*****************************************************************************************/ +/*! exports provided: setextUnderline */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setextUnderline\", function() { return setextUnderline; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length\n /** @type {number | undefined} */\n let content\n /** @type {number | undefined} */\n let text\n /** @type {number | undefined} */\n let definition\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n }\n // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n\n // Change the paragraph to setext heading text.\n events[text][1].type = 'setextHeadingText'\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context])\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length\n /** @type {boolean | undefined} */\n let paragraph\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n marker = code\n return before(code)\n }\n return nok(code)\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter('setextHeadingLineSequence')\n return inside(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n effects.exit('setextHeadingLineSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, after, 'lineSuffix')(code)\n : after(code)\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js ***! + \***************************************************************************************/ +/*! exports provided: thematicBreak */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thematicBreak\", function() { return thematicBreak; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('thematicBreak')\n // To do: parse indent like `markdown-rs`.\n return before(code)\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code\n return atBreak(code)\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n if (size >= 3 && (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code))) {\n effects.exit('thematicBreak')\n return ok(code)\n }\n return nok(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n effects.exit('thematicBreakSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'whitespace')(code)\n : atBreak(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-destination/index.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-destination/index.js ***! + \******************************************************************************/ +/*! exports provided: factoryDestination */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryDestination\", function() { return factoryDestination; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * \n * b>\n * \n * \n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (``).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | \n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return enclosedBefore\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return raw(code)\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return enclosed(code)\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return enclosedBefore(code)\n }\n if (code === null || code === 60 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? enclosedEscape : enclosed\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return enclosed\n }\n return enclosed(code)\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (\n !balance &&\n (code === null || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code))\n ) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n if (balance < limit && code === 40) {\n effects.consume(code)\n balance++\n return raw\n }\n if (code === 41) {\n effects.consume(code)\n balance--\n return raw\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (code === null || code === 32 || code === 40 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? rawEscape : raw\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return raw\n }\n return raw(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-destination/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-label/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-label/index.js ***! + \************************************************************************/ +/*! exports provided: factoryLabel */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryLabel\", function() { return factoryLabel; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n let seen\n return start\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (\n size > 999 ||\n code === null ||\n code === 91 ||\n (code === 93 && !seen) ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return labelInside(code)\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n if (!seen) seen = !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return labelInside\n }\n return labelInside(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-label/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-space/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-space/index.js ***! + \************************************************************************/ +/*! exports provided: factorySpace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factorySpace\", function() { return factorySpace; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns\n * Start state.\n */\nfunction factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)) {\n effects.enter(type)\n return prefix(code)\n }\n return ok(code)\n }\n\n /** @type {State} */\n function prefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n effects.exit(type)\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-space/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-title/index.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-title/index.js ***! + \************************************************************************/ +/*! exports provided: factoryTitle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryTitle\", function() { return factoryTitle; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return begin\n }\n return nok(code)\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n return atBreak(code)\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return begin(marker)\n }\n if (code === null) {\n return nok(code)\n }\n\n // Note: blank lines can’t exist in content.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'linePrefix')\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return inside(code)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n return code === 92 ? escape : inside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return inside\n }\n return inside(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-title/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-factory-whitespace/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-factory-whitespace/index.js ***! + \*****************************************************************************/ +/*! exports provided: factoryWhitespace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryWhitespace\", function() { return factoryWhitespace; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\n\n\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns\n * Start state.\n */\nfunction factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-whitespace/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-character/index.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-character/index.js ***! + \*************************************************************************/ +/*! exports provided: asciiAlpha, asciiAlphanumeric, asciiAtext, asciiControl, asciiDigit, asciiHexDigit, asciiPunctuation, markdownLineEnding, markdownLineEndingOrSpace, markdownSpace, unicodePunctuation, unicodeWhitespace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlpha\", function() { return asciiAlpha; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlphanumeric\", function() { return asciiAlphanumeric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAtext\", function() { return asciiAtext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiControl\", function() { return asciiControl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiDigit\", function() { return asciiDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiHexDigit\", function() { return asciiHexDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiPunctuation\", function() { return asciiPunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEnding\", function() { return markdownLineEnding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEndingOrSpace\", function() { return markdownLineEndingOrSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownSpace\", function() { return markdownSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuation\", function() { return unicodePunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodeWhitespace\", function() { return unicodeWhitespace; });\n/* harmony import */ var _lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/unicode-punctuation-regex.js */ \"../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlpha = regexCheck(/[A-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiDigit = regexCheck(/\\d/)\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEnding(code) {\n return code !== null && code < -2\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodePunctuation = regexCheck(_lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuationRegex\"])\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodeWhitespace = regexCheck(/\\s/)\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => boolean}\n */\nfunction regexCheck(regex) {\n return check\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-character/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js": +/*!*************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js ***! + \*************************************************************************************************/ +/*! exports provided: unicodePunctuationRegex */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuationRegex\", function() { return unicodePunctuationRegex; });\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\n\n/**\n * Regular expression that matches a unicode punctuation character.\n */\nconst unicodePunctuationRegex =\n /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061D-\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1B7D\\u1B7E\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52-\\u2E5D\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-chunked/index.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-chunked/index.js ***! + \***********************************************************************/ +/*! exports provided: splice, push */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splice\", function() { return splice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"push\", function() { return push; });\n/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array} items\n * Items to inject into `list`.\n * @returns {void}\n * Nothing.\n */\nfunction splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {Array} */\n let parameters\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n remove = remove > 0 ? remove : 0\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove)\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {Array} items\n * Items to add to `list`.\n * @returns {Array}\n * Either `list` or `items`.\n */\nfunction push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n return items\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-chunked/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-classify-character/index.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-classify-character/index.js ***! + \**********************************************************************************/ +/*! exports provided: classifyCharacter */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classifyCharacter\", function() { return classifyCharacter; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nfunction classifyCharacter(code) {\n if (\n code === null ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code) ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodeWhitespace\"])(code)\n ) {\n return 1\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuation\"])(code)) {\n return 2\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-classify-character/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js ***! + \**********************************************************************************/ +/*! exports provided: combineExtensions, combineHtmlExtensions */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineExtensions\", function() { return combineExtensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineHtmlExtensions\", function() { return combineHtmlExtensions; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Handles} Handles\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n */\n\n\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {Array} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nfunction combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record} */\n const left = maybe || (all[hook] = {})\n /** @type {Record | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array} existing\n * @param {Array} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {Array} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * A single combined HTML extension.\n */\nfunction combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js": +/*!**************************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js ***! + \**************************************************************************************************/ +/*! exports provided: decodeNumericCharacterReference */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeNumericCharacterReference\", function() { return decodeNumericCharacterReference; });\n/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nfunction decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) ||\n // Control character (DEL) of C0, and C1 controls.\n (code > 126 && code < 160) ||\n // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) ||\n // Noncharacters.\n (code > 64975 && code < 65008) /* eslint-disable no-bitwise */ ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 /* eslint-enable no-bitwise */ ||\n // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n return String.fromCharCode(code)\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-decode-string/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-decode-string/index.js ***! + \*****************************************************************************/ +/*! exports provided: decodeString */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeString\", function() { return decodeString; });\n/* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! decode-named-character-reference */ \"../simple-mind-map/node_modules/decode-named-character-reference/index.js\");\n/* harmony import */ var micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-decode-numeric-character-reference */ \"../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js\");\n\n\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nfunction decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return Object(micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__[\"decodeNumericCharacterReference\"])($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return Object(decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__[\"decodeNamedCharacterReference\"])($2) || $0\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-decode-string/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js ***! + \*****************************************************************************/ +/*! exports provided: htmlBlockNames, htmlRawNames */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlBlockNames\", function() { return htmlBlockNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlRawNames\", function() { return htmlRawNames; });\n/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nconst htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * .\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nconst htmlRawNames = ['pre', 'script', 'style', 'textarea']\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js ***! + \************************************************************************************/ +/*! exports provided: normalizeIdentifier */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeIdentifier\", function() { return normalizeIdentifier; });\n/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nfunction normalizeIdentifier(value) {\n return (\n value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ')\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-resolve-all/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-resolve-all/index.js ***! + \***************************************************************************/ +/*! exports provided: resolveAll */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolveAll\", function() { return resolveAll; });\n/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {Array<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nfunction resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-resolve-all/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark-util-subtokenize/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark-util-subtokenize/index.js ***! + \***************************************************************************/ +/*! exports provided: subtokenize */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtokenize\", function() { return subtokenize; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array} events\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\nfunction subtokenize(events) {\n /** @type {Record} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n let event\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number} */\n let otherIndex\n /** @type {Event} */\n let otherEvent\n /** @type {Array} */\n let parameters\n /** @type {Array} */\n let subevents\n /** @type {boolean | undefined} */\n let more\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n event = events[index]\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start)\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n return !more\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {Array} events\n * @param {number} eventIndex\n * @returns {Record}\n */\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {Array} */\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {Array<[number, number]>} */\n const jumps = []\n /** @type {Record} */\n const gaps = {}\n /** @type {Array} */\n let stream\n /** @type {Token | undefined} */\n let previous\n let index = -1\n /** @type {Token | undefined} */\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start]\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition)\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n if (!current.next) {\n stream.push(null)\n }\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n tokenizer.write(stream)\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n }\n\n // Unravel the next token.\n previous = current\n current = current.next\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start)\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n }\n\n // Help GC.\n tokenizer.events = []\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, start, 2, slice)\n }\n index = -1\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n return gaps\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-subtokenize/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/constructs.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/constructs.js ***! + \*******************************************************************/ +/*! exports provided: document, contentInitial, flowInitial, flow, string, text, insideSpan, attentionMarkers, disable */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contentInitial\", function() { return contentInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flowInitial\", function() { return flowInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insideSpan\", function() { return insideSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attentionMarkers\", function() { return attentionMarkers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disable\", function() { return disable; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\n\n\n\n/** @satisfies {Extension['document']} */\nconst document = {\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [43]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [45]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [48]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [49]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [50]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [51]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [52]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [53]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [54]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [55]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [56]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [57]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [62]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blockQuote\"]\n}\n\n/** @satisfies {Extension['contentInitial']} */\nconst contentInitial = {\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"definition\"]\n}\n\n/** @satisfies {Extension['flowInitial']} */\nconst flowInitial = {\n [-2]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [-1]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [32]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"]\n}\n\n/** @satisfies {Extension['flow']} */\nconst flow = {\n [35]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"headingAtx\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [45]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"]],\n [60]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlFlow\"],\n [61]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"],\n [126]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"]\n}\n\n/** @satisfies {Extension['string']} */\nconst string = {\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [92]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]\n}\n\n/** @satisfies {Extension['text']} */\nconst text = {\n [-5]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-4]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-3]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [33]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartImage\"],\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [60]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"autolink\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlText\"]],\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartLink\"],\n [92]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"hardBreakEscape\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]],\n [93]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeText\"]\n}\n\n/** @satisfies {Extension['insideSpan']} */\nconst insideSpan = {\n null: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"], _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__[\"resolver\"]]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nconst attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nconst disable = {\n null: []\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/constructs.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js ***! + \*************************************************************************/ +/*! exports provided: createTokenizer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTokenizer\", function() { return createTokenizer; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenType} TokenType\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * @callback Restore\n * @returns {void}\n *\n * @typedef Info\n * @property {Restore} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\n\n\n\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit | undefined} [from]\n * @returns {TokenizeContext}\n */\nfunction createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record} */\n const columnStart = {}\n /** @type {Array} */\n const resolveAllConstructs = []\n /** @type {Array} */\n let chunks = []\n /** @type {Array} */\n let stack = []\n /** @type {boolean | undefined} */\n let consumed = true\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n\n /**\n * The state function.\n *\n * @type {State | void}\n */\n let state = initialize.tokenize.call(context, effects)\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n return context\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"push\"])(chunks, slice)\n main()\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n addResult(initialize, 0)\n\n // Otherwise, resolve, and exit.\n context.events = Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__[\"resolveAll\"])(resolveAllConstructs, context.events, context)\n return context.events\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {line, column, offset, _index, _bufferIndex} = point\n return {\n line,\n column,\n offset,\n _index,\n _bufferIndex\n }\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n function main() {\n /** @type {number} */\n let chunkIndex\n while (point._index < chunks.length) {\n const chunk = chunks[point._index]\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++\n\n // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n }\n\n // Expose the previous character.\n context.previous = code\n\n // Mark as consumed.\n consumed = true\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n */\n function constructFactory(onreturn, fields) {\n return hook\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | Construct | ConstructRecord} constructs\n * @param {State} returnState\n * @param {State | undefined} [bogusState]\n * @returns {State}\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {Array} */\n let listOfConstructs\n /** @type {number} */\n let constructIndex\n /** @type {Construct} */\n let currentConstruct\n /** @type {Info} */\n let info\n return Array.isArray(constructs) /* c8 ignore next 1 */\n ? handleListOfConstructs(constructs)\n : 'tokenize' in constructs\n ? // @ts-expect-error Looks like a construct.\n handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n function handleMapOfConstructs(map) {\n return start\n\n /** @type {State} */\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {Array} list\n * @returns {State}\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n if (list.length === 0) {\n return bogusState\n }\n return handleConstruct(list[constructIndex])\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n function handleConstruct(construct) {\n return start\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n // Always populated by defaults.\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true\n info.restore()\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n return bogusState\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n if (construct.resolve) {\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"splice\"])(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n */\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n\n /**\n * Restore state.\n *\n * @returns {void}\n */\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array} chunks\n * @param {Pick} token\n * @returns {Array}\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array} */\n let view\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n if (startBufferIndex > -1) {\n const head = view[0]\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex)\n } else {\n view.shift()\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n return view\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array} chunks\n * @param {boolean | undefined} [expandTabs=false]\n * @returns {string}\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array} */\n const result = []\n /** @type {boolean | undefined} */\n let atTab\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n let value\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n case -4: {\n value = '\\n'\n break\n }\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n atTab = chunk === -2\n result.push(value)\n }\n return result.join('')\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/content.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/content.js ***! + \***************************************************************************/ +/*! exports provided: content */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"content\", function() { return content; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n/** @type {InitialConstruct} */\nconst content = {\n tokenize: initializeContent\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n let previous\n return contentStart\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, contentStart, 'linePrefix')\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n if (previous) {\n previous.next = token\n }\n previous = token\n return data(code)\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/content.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/document.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/document.js ***! + \****************************************************************************/ +/*! exports provided: document */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst document = {\n tokenize: initializeDocument\n}\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array} */\n const stack = []\n let continued = 0\n /** @type {TokenizeContext | undefined} */\n let childFlow\n /** @type {Token | undefined} */\n let childToken\n /** @type {number} */\n let lineStartOffset\n return start\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n }\n\n // Done.\n return checkNewContainers(code)\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n if (childFlow) {\n closeFlow()\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point | undefined} */\n let point\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n let index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n return checkNewContainers(code)\n }\n return start(code)\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n }\n\n // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n }\n\n // Check if there is a new container.\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState])\n // Try another.\n return documentContinued(code)\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow'))\n // Get ready for the next line.\n continued = 0\n self.interrupt = undefined\n return start\n }\n effects.consume(code)\n return flowContinue\n }\n\n /**\n * @param {Token} token\n * @param {boolean | undefined} [eof]\n * @returns {void}\n */\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream)\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset &&\n // …and either is not ended yet…\n (!childFlow.events[index][1].end ||\n // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean | undefined} */\n let seen\n /** @type {Point | undefined} */\n let point\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n seen = true\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n }\n }\n\n /**\n * @param {number} size\n * @returns {void}\n */\n function exitContainers(size) {\n let index = stack.length\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n stack.length = size\n }\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/document.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/flow.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/flow.js ***! + \************************************************************************/ +/*! exports provided: flow */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst flow = {\n tokenize: initializeFlow\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blankLine\"],\n atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__[\"factorySpace\"])(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"content\"], afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/flow.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/text.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/initialize/text.js ***! + \************************************************************************/ +/*! exports provided: resolver, string, text */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolver\", function() { return resolver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\nconst resolver = {\n resolveAll: createResolver()\n}\nconst string = initializeFactory('string')\nconst text = initializeFactory('text')\n\n/**\n * @param {'string' | 'text'} field\n * @returns {InitialConstruct}\n */\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n function atBreak(code) {\n if (code === null) {\n return true\n }\n const list = constructs[code]\n let index = -1\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index]\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n return false\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * @returns {Resolver}\n */\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number | undefined} */\n let enter\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n enter = undefined\n }\n }\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean | undefined} */\n let tabs\n while (index--) {\n const chunk = chunks[index]\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n if (bufferIndex) break\n bufferIndex = -1\n }\n // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n eventIndex++\n }\n }\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/text.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/parse.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/parse.js ***! + \**************************************************************/ +/*! exports provided: parse */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-combine-extensions */ \"../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js\");\n/* harmony import */ var _initialize_content_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/content.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/content.js\");\n/* harmony import */ var _initialize_document_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initialize/document.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/document.js\");\n/* harmony import */ var _initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initialize/flow.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/flow.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/* harmony import */ var _create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create-tokenizer.js */ \"../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js\");\n/* harmony import */ var _constructs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constructs.js */ \"../simple-mind-map/node_modules/micromark/lib/constructs.js\");\n/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\n\n\n\n\n\n\n\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nfunction parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n Object(micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__[\"combineExtensions\"])([_constructs_js__WEBPACK_IMPORTED_MODULE_6__, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(_initialize_content_js__WEBPACK_IMPORTED_MODULE_1__[\"content\"]),\n document: create(_initialize_document_js__WEBPACK_IMPORTED_MODULE_2__[\"document\"]),\n flow: create(_initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__[\"flow\"]),\n string: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"string\"]),\n text: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"text\"])\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return Object(_create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__[\"createTokenizer\"])(parser, initial, from)\n }\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/parse.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/postprocess.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/postprocess.js ***! + \********************************************************************/ +/*! exports provided: postprocess */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"postprocess\", function() { return postprocess; });\n/* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-subtokenize */ \"../simple-mind-map/node_modules/micromark-util-subtokenize/index.js\");\n/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nfunction postprocess(events) {\n while (!Object(micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__[\"subtokenize\"])(events)) {\n // Empty\n }\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/postprocess.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/micromark/lib/preprocess.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/micromark/lib/preprocess.js ***! + \*******************************************************************/ +/*! exports provided: preprocess */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preprocess\", function() { return preprocess; });\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nfunction preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n\n // @ts-expect-error `Buffer` does allow an encoding.\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/preprocess.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/index.js": +/*!*****************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/index.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("// Top level file is just a mixin of submodules & constants\n\n\nvar assign = __webpack_require__(/*! ./lib/utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\").assign;\n\nvar deflate = __webpack_require__(/*! ./lib/deflate */ \"../simple-mind-map/node_modules/pako/lib/deflate.js\");\nvar inflate = __webpack_require__(/*! ./lib/inflate */ \"../simple-mind-map/node_modules/pako/lib/inflate.js\");\nvar constants = __webpack_require__(/*! ./lib/zlib/constants */ \"../simple-mind-map/node_modules/pako/lib/zlib/constants.js\");\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/deflate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/deflate.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n\nvar zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ \"../simple-mind-map/node_modules/pako/lib/zlib/deflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../simple-mind-map/node_modules/pako/lib/utils/strings.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../simple-mind-map/node_modules/pako/lib/zlib/zstream.js\");\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/deflate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/inflate.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/inflate.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n\nvar zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ \"../simple-mind-map/node_modules/pako/lib/zlib/inflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../simple-mind-map/node_modules/pako/lib/utils/strings.js\");\nvar c = __webpack_require__(/*! ./zlib/constants */ \"../simple-mind-map/node_modules/pako/lib/zlib/constants.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../simple-mind-map/node_modules/pako/lib/zlib/zstream.js\");\nvar GZheader = __webpack_require__(/*! ./zlib/gzheader */ \"../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js\");\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/inflate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/utils/common.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/utils/common.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/utils/common.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/utils/strings.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/utils/strings.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("// String encode/decode helpers\n\n\n\nvar utils = __webpack_require__(/*! ./common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/utils/strings.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/adler32.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/adler32.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/adler32.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/constants.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/constants.js ***! + \******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/constants.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/crc32.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/crc32.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/crc32.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/deflate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/deflate.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar trees = __webpack_require__(/*! ./trees */ \"../simple-mind-map/node_modules/pako/lib/zlib/trees.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/crc32.js\");\nvar msg = __webpack_require__(/*! ./messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/deflate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inffast.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/inffast.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inffast.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inflate.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/inflate.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/crc32.js\");\nvar inflate_fast = __webpack_require__(/*! ./inffast */ \"../simple-mind-map/node_modules/pako/lib/zlib/inffast.js\");\nvar inflate_table = __webpack_require__(/*! ./inftrees */ \"../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js\");\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inflate.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/messages.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/messages.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/messages.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/trees.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/trees.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/trees.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pako/lib/zlib/zstream.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pako/lib/zlib/zstream.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/zstream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/parchment/dist/parchment.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/parchment/dist/parchment.js ***! + \*******************************************************************/ +/*! exports provided: Attributor, AttributorStore, BlockBlot, ClassAttributor, ContainerBlot, EmbedBlot, InlineBlot, LeafBlot, ParentBlot, Registry, Scope, ScrollBlot, StyleAttributor, TextBlot */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Attributor\", function() { return Attributor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AttributorStore\", function() { return AttributorStore$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlockBlot\", function() { return BlockBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ClassAttributor\", function() { return ClassAttributor$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerBlot\", function() { return ContainerBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EmbedBlot\", function() { return EmbedBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InlineBlot\", function() { return InlineBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LeafBlot\", function() { return LeafBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ParentBlot\", function() { return ParentBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Registry\", function() { return Registry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scope\", function() { return Scope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollBlot\", function() { return ScrollBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleAttributor\", function() { return StyleAttributor$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextBlot\", function() { return TextBlot$1; });\nvar Scope = /* @__PURE__ */ ((Scope2) => (Scope2[Scope2.TYPE = 3] = \"TYPE\", Scope2[Scope2.LEVEL = 12] = \"LEVEL\", Scope2[Scope2.ATTRIBUTE = 13] = \"ATTRIBUTE\", Scope2[Scope2.BLOT = 14] = \"BLOT\", Scope2[Scope2.INLINE = 7] = \"INLINE\", Scope2[Scope2.BLOCK = 11] = \"BLOCK\", Scope2[Scope2.BLOCK_BLOT = 10] = \"BLOCK_BLOT\", Scope2[Scope2.INLINE_BLOT = 6] = \"INLINE_BLOT\", Scope2[Scope2.BLOCK_ATTRIBUTE = 9] = \"BLOCK_ATTRIBUTE\", Scope2[Scope2.INLINE_ATTRIBUTE = 5] = \"INLINE_ATTRIBUTE\", Scope2[Scope2.ANY = 15] = \"ANY\", Scope2))(Scope || {});\nclass Attributor {\n constructor(attrName, keyName, options = {}) {\n this.attrName = attrName, this.keyName = keyName;\n const attributeBit = Scope.TYPE & Scope.ATTRIBUTE;\n this.scope = options.scope != null ? (\n // Ignore type bits, force attribute bit\n options.scope & Scope.LEVEL | attributeBit\n ) : Scope.ATTRIBUTE, options.whitelist != null && (this.whitelist = options.whitelist);\n }\n static keys(node) {\n return Array.from(node.attributes).map((item) => item.name);\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.setAttribute(this.keyName, value), !0) : !1;\n }\n canAdd(_node, value) {\n return this.whitelist == null ? !0 : typeof value == \"string\" ? this.whitelist.indexOf(value.replace(/[\"']/g, \"\")) > -1 : this.whitelist.indexOf(value) > -1;\n }\n remove(node) {\n node.removeAttribute(this.keyName);\n }\n value(node) {\n const value = node.getAttribute(this.keyName);\n return this.canAdd(node, value) && value ? value : \"\";\n }\n}\nclass ParchmentError extends Error {\n constructor(message) {\n message = \"[Parchment] \" + message, super(message), this.message = message, this.name = this.constructor.name;\n }\n}\nconst _Registry = class _Registry {\n constructor() {\n this.attributes = {}, this.classes = {}, this.tags = {}, this.types = {};\n }\n static find(node, bubble = !1) {\n if (node == null)\n return null;\n if (this.blots.has(node))\n return this.blots.get(node) || null;\n if (bubble) {\n let parentNode = null;\n try {\n parentNode = node.parentNode;\n } catch {\n return null;\n }\n return this.find(parentNode, bubble);\n }\n return null;\n }\n create(scroll, input, value) {\n const match2 = this.query(input);\n if (match2 == null)\n throw new ParchmentError(`Unable to create ${input} blot`);\n const blotClass = match2, node = (\n // @ts-expect-error Fix me later\n input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value)\n ), blot = new blotClass(scroll, node, value);\n return _Registry.blots.set(blot.domNode, blot), blot;\n }\n find(node, bubble = !1) {\n return _Registry.find(node, bubble);\n }\n query(query, scope = Scope.ANY) {\n let match2;\n return typeof query == \"string\" ? match2 = this.types[query] || this.attributes[query] : query instanceof Text || query.nodeType === Node.TEXT_NODE ? match2 = this.types.text : typeof query == \"number\" ? query & Scope.LEVEL & Scope.BLOCK ? match2 = this.types.block : query & Scope.LEVEL & Scope.INLINE && (match2 = this.types.inline) : query instanceof Element && ((query.getAttribute(\"class\") || \"\").split(/\\s+/).some((name) => (match2 = this.classes[name], !!match2)), match2 = match2 || this.tags[query.tagName]), match2 == null ? null : \"scope\" in match2 && scope & Scope.LEVEL & match2.scope && scope & Scope.TYPE & match2.scope ? match2 : null;\n }\n register(...definitions) {\n return definitions.map((definition) => {\n const isBlot = \"blotName\" in definition, isAttr = \"attrName\" in definition;\n if (!isBlot && !isAttr)\n throw new ParchmentError(\"Invalid definition\");\n if (isBlot && definition.blotName === \"abstract\")\n throw new ParchmentError(\"Cannot register abstract class\");\n const key = isBlot ? definition.blotName : isAttr ? definition.attrName : void 0;\n return this.types[key] = definition, isAttr ? typeof definition.keyName == \"string\" && (this.attributes[definition.keyName] = definition) : isBlot && (definition.className && (this.classes[definition.className] = definition), definition.tagName && (Array.isArray(definition.tagName) ? definition.tagName = definition.tagName.map((tagName) => tagName.toUpperCase()) : definition.tagName = definition.tagName.toUpperCase(), (Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName]).forEach((tag) => {\n (this.tags[tag] == null || definition.className == null) && (this.tags[tag] = definition);\n }))), definition;\n });\n }\n};\n_Registry.blots = /* @__PURE__ */ new WeakMap();\nlet Registry = _Registry;\nfunction match(node, prefix) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).filter((name) => name.indexOf(`${prefix}-`) === 0);\n}\nclass ClassAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).map((name) => name.split(\"-\").slice(0, -1).join(\"-\"));\n }\n add(node, value) {\n return this.canAdd(node, value) ? (this.remove(node), node.classList.add(`${this.keyName}-${value}`), !0) : !1;\n }\n remove(node) {\n match(node, this.keyName).forEach((name) => {\n node.classList.remove(name);\n }), node.classList.length === 0 && node.removeAttribute(\"class\");\n }\n value(node) {\n const value = (match(node, this.keyName)[0] || \"\").slice(this.keyName.length + 1);\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst ClassAttributor$1 = ClassAttributor;\nfunction camelize(name) {\n const parts = name.split(\"-\"), rest = parts.slice(1).map((part) => part[0].toUpperCase() + part.slice(1)).join(\"\");\n return parts[0] + rest;\n}\nclass StyleAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"style\") || \"\").split(\";\").map((value) => value.split(\":\")[0].trim());\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.style[camelize(this.keyName)] = value, !0) : !1;\n }\n remove(node) {\n node.style[camelize(this.keyName)] = \"\", node.getAttribute(\"style\") || node.removeAttribute(\"style\");\n }\n value(node) {\n const value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst StyleAttributor$1 = StyleAttributor;\nclass AttributorStore {\n constructor(domNode) {\n this.attributes = {}, this.domNode = domNode, this.build();\n }\n attribute(attribute, value) {\n value ? attribute.add(this.domNode, value) && (attribute.value(this.domNode) != null ? this.attributes[attribute.attrName] = attribute : delete this.attributes[attribute.attrName]) : (attribute.remove(this.domNode), delete this.attributes[attribute.attrName]);\n }\n build() {\n this.attributes = {};\n const blot = Registry.find(this.domNode);\n if (blot == null)\n return;\n const attributes = Attributor.keys(this.domNode), classes = ClassAttributor$1.keys(this.domNode), styles = StyleAttributor$1.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach((name) => {\n const attr = blot.scroll.query(name, Scope.ATTRIBUTE);\n attr instanceof Attributor && (this.attributes[attr.attrName] = attr);\n });\n }\n copy(target) {\n Object.keys(this.attributes).forEach((key) => {\n const value = this.attributes[key].value(this.domNode);\n target.format(key, value);\n });\n }\n move(target) {\n this.copy(target), Object.keys(this.attributes).forEach((key) => {\n this.attributes[key].remove(this.domNode);\n }), this.attributes = {};\n }\n values() {\n return Object.keys(this.attributes).reduce(\n (attributes, name) => (attributes[name] = this.attributes[name].value(this.domNode), attributes),\n {}\n );\n }\n}\nconst AttributorStore$1 = AttributorStore, _ShadowBlot = class _ShadowBlot {\n constructor(scroll, domNode) {\n this.scroll = scroll, this.domNode = domNode, Registry.blots.set(domNode, this), this.prev = null, this.next = null;\n }\n static create(rawValue) {\n if (this.tagName == null)\n throw new ParchmentError(\"Blot definition missing tagName\");\n let node, value;\n return Array.isArray(this.tagName) ? (typeof rawValue == \"string\" ? (value = rawValue.toUpperCase(), parseInt(value, 10).toString() === value && (value = parseInt(value, 10))) : typeof rawValue == \"number\" && (value = rawValue), typeof value == \"number\" ? node = document.createElement(this.tagName[value - 1]) : value && this.tagName.indexOf(value) > -1 ? node = document.createElement(value) : node = document.createElement(this.tagName[0])) : node = document.createElement(this.tagName), this.className && node.classList.add(this.className), node;\n }\n // Hack for accessing inherited static methods\n get statics() {\n return this.constructor;\n }\n attach() {\n }\n clone() {\n const domNode = this.domNode.cloneNode(!1);\n return this.scroll.create(domNode);\n }\n detach() {\n this.parent != null && this.parent.removeChild(this), Registry.blots.delete(this.domNode);\n }\n deleteAt(index, length) {\n this.isolate(index, length).remove();\n }\n formatAt(index, length, name, value) {\n const blot = this.isolate(index, length);\n if (this.scroll.query(name, Scope.BLOT) != null && value)\n blot.wrap(name, value);\n else if (this.scroll.query(name, Scope.ATTRIBUTE) != null) {\n const parent = this.scroll.create(this.statics.scope);\n blot.wrap(parent), parent.format(name, value);\n }\n }\n insertAt(index, value, def) {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def), ref = this.split(index);\n this.parent.insertBefore(blot, ref || void 0);\n }\n isolate(index, length) {\n const target = this.split(index);\n if (target == null)\n throw new Error(\"Attempt to isolate at end\");\n return target.split(length), target;\n }\n length() {\n return 1;\n }\n offset(root = this.parent) {\n return this.parent == null || this === root ? 0 : this.parent.children.offset(this) + this.parent.offset(root);\n }\n optimize(_context) {\n this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer) && this.wrap(this.statics.requiredContainer.blotName);\n }\n remove() {\n this.domNode.parentNode != null && this.domNode.parentNode.removeChild(this.domNode), this.detach();\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return this.parent != null && (this.parent.insertBefore(replacement, this.next || void 0), this.remove()), replacement;\n }\n split(index, _force) {\n return index === 0 ? this : this.next;\n }\n update(_mutations, _context) {\n }\n wrap(name, value) {\n const wrapper = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n if (this.parent != null && this.parent.insertBefore(wrapper, this.next || void 0), typeof wrapper.appendChild != \"function\")\n throw new ParchmentError(`Cannot wrap ${name}`);\n return wrapper.appendChild(this), wrapper;\n }\n};\n_ShadowBlot.blotName = \"abstract\";\nlet ShadowBlot = _ShadowBlot;\nconst _LeafBlot = class _LeafBlot extends ShadowBlot {\n /**\n * Returns the value represented by domNode if it is this Blot's type\n * No checking that domNode can represent this Blot type is required so\n * applications needing it should check externally before calling.\n */\n static value(_domNode) {\n return !0;\n }\n /**\n * Given location represented by node and offset from DOM Selection Range,\n * return index to that location.\n */\n index(node, offset) {\n return this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY ? Math.min(offset, 1) : -1;\n }\n /**\n * Given index to location within blot, return node and offset representing\n * that location, consumable by DOM Selection Range\n */\n position(index, _inclusive) {\n let offset = Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);\n return index > 0 && (offset += 1), [this.parent.domNode, offset];\n }\n /**\n * Return value represented by this blot\n * Should not change without interaction from API or\n * user change detectable by update()\n */\n value() {\n return {\n [this.statics.blotName]: this.statics.value(this.domNode) || !0\n };\n }\n};\n_LeafBlot.scope = Scope.INLINE_BLOT;\nlet LeafBlot = _LeafBlot;\nconst LeafBlot$1 = LeafBlot;\nclass LinkedList {\n constructor() {\n this.head = null, this.tail = null, this.length = 0;\n }\n append(...nodes) {\n if (this.insertBefore(nodes[0], null), nodes.length > 1) {\n const rest = nodes.slice(1);\n this.append(...rest);\n }\n }\n at(index) {\n const next = this.iterator();\n let cur = next();\n for (; cur && index > 0; )\n index -= 1, cur = next();\n return cur;\n }\n contains(node) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n if (cur === node)\n return !0;\n cur = next();\n }\n return !1;\n }\n indexOf(node) {\n const next = this.iterator();\n let cur = next(), index = 0;\n for (; cur; ) {\n if (cur === node)\n return index;\n index += 1, cur = next();\n }\n return -1;\n }\n insertBefore(node, refNode) {\n node != null && (this.remove(node), node.next = refNode, refNode != null ? (node.prev = refNode.prev, refNode.prev != null && (refNode.prev.next = node), refNode.prev = node, refNode === this.head && (this.head = node)) : this.tail != null ? (this.tail.next = node, node.prev = this.tail, this.tail = node) : (node.prev = null, this.head = this.tail = node), this.length += 1);\n }\n offset(target) {\n let index = 0, cur = this.head;\n for (; cur != null; ) {\n if (cur === target)\n return index;\n index += cur.length(), cur = cur.next;\n }\n return -1;\n }\n remove(node) {\n this.contains(node) && (node.prev != null && (node.prev.next = node.next), node.next != null && (node.next.prev = node.prev), node === this.head && (this.head = node.next), node === this.tail && (this.tail = node.prev), this.length -= 1);\n }\n iterator(curNode = this.head) {\n return () => {\n const ret = curNode;\n return curNode != null && (curNode = curNode.next), ret;\n };\n }\n find(index, inclusive = !1) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n const length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0))\n return [cur, index];\n index -= length, cur = next();\n }\n return [null, 0];\n }\n forEach(callback) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n callback(cur), cur = next();\n }\n forEachAt(index, length, callback) {\n if (length <= 0)\n return;\n const [startNode, offset] = this.find(index);\n let curIndex = index - offset;\n const next = this.iterator(startNode);\n let cur = next();\n for (; cur && curIndex < index + length; ) {\n const curLength = cur.length();\n index > curIndex ? callback(\n cur,\n index - curIndex,\n Math.min(length, curIndex + curLength - index)\n ) : callback(cur, 0, Math.min(curLength, index + length - curIndex)), curIndex += curLength, cur = next();\n }\n }\n map(callback) {\n return this.reduce((memo, cur) => (memo.push(callback(cur)), memo), []);\n }\n reduce(callback, memo) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n memo = callback(memo, cur), cur = next();\n return memo;\n }\n}\nfunction makeAttachedBlot(node, scroll) {\n const found = scroll.find(node);\n if (found)\n return found;\n try {\n return scroll.create(node);\n } catch {\n const blot = scroll.create(Scope.INLINE);\n return Array.from(node.childNodes).forEach((child) => {\n blot.domNode.appendChild(child);\n }), node.parentNode && node.parentNode.replaceChild(blot.domNode, node), blot.attach(), blot;\n }\n}\nconst _ParentBlot = class _ParentBlot extends ShadowBlot {\n constructor(scroll, domNode) {\n super(scroll, domNode), this.uiNode = null, this.build();\n }\n appendChild(other) {\n this.insertBefore(other);\n }\n attach() {\n super.attach(), this.children.forEach((child) => {\n child.attach();\n });\n }\n attachUI(node) {\n this.uiNode != null && this.uiNode.remove(), this.uiNode = node, _ParentBlot.uiClass && this.uiNode.classList.add(_ParentBlot.uiClass), this.uiNode.setAttribute(\"contenteditable\", \"false\"), this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n }\n /**\n * Called during construction, should fill its own children LinkedList.\n */\n build() {\n this.children = new LinkedList(), Array.from(this.domNode.childNodes).filter((node) => node !== this.uiNode).reverse().forEach((node) => {\n try {\n const child = makeAttachedBlot(node, this.scroll);\n this.insertBefore(child, this.children.head || void 0);\n } catch (err) {\n if (err instanceof ParchmentError)\n return;\n throw err;\n }\n });\n }\n deleteAt(index, length) {\n if (index === 0 && length === this.length())\n return this.remove();\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.deleteAt(offset, childLength);\n });\n }\n descendant(criteria, index = 0) {\n const [child, offset] = this.children.find(index);\n return criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria ? [child, offset] : child instanceof _ParentBlot ? child.descendant(criteria, offset) : [null, -1];\n }\n descendants(criteria, index = 0, length = Number.MAX_VALUE) {\n let descendants = [], lengthLeft = length;\n return this.children.forEachAt(\n index,\n length,\n (child, childIndex, childLength) => {\n (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) && descendants.push(child), child instanceof _ParentBlot && (descendants = descendants.concat(\n child.descendants(criteria, childIndex, lengthLeft)\n )), lengthLeft -= childLength;\n }\n ), descendants;\n }\n detach() {\n this.children.forEach((child) => {\n child.detach();\n }), super.detach();\n }\n enforceAllowedChildren() {\n let done = !1;\n this.children.forEach((child) => {\n done || this.statics.allowedChildren.some(\n (def) => child instanceof def\n ) || (child.statics.scope === Scope.BLOCK_BLOT ? (child.next != null && this.splitAfter(child), child.prev != null && this.splitAfter(child.prev), child.parent.unwrap(), done = !0) : child instanceof _ParentBlot ? child.unwrap() : child.remove());\n });\n }\n formatAt(index, length, name, value) {\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.formatAt(offset, childLength, name, value);\n });\n }\n insertAt(index, value, def) {\n const [child, offset] = this.children.find(index);\n if (child)\n child.insertAt(offset, value, def);\n else {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def);\n this.appendChild(blot);\n }\n }\n insertBefore(childBlot, refBlot) {\n childBlot.parent != null && childBlot.parent.children.remove(childBlot);\n let refDomNode = null;\n this.children.insertBefore(childBlot, refBlot || null), childBlot.parent = this, refBlot != null && (refDomNode = refBlot.domNode), (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) && this.domNode.insertBefore(childBlot.domNode, refDomNode), childBlot.attach();\n }\n length() {\n return this.children.reduce((memo, child) => memo + child.length(), 0);\n }\n moveChildren(targetParent, refNode) {\n this.children.forEach((child) => {\n targetParent.insertBefore(child, refNode);\n });\n }\n optimize(context) {\n if (super.optimize(context), this.enforceAllowedChildren(), this.uiNode != null && this.uiNode !== this.domNode.firstChild && this.domNode.insertBefore(this.uiNode, this.domNode.firstChild), this.children.length === 0)\n if (this.statics.defaultChild != null) {\n const child = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(child);\n } else\n this.remove();\n }\n path(index, inclusive = !1) {\n const [child, offset] = this.children.find(index, inclusive), position = [[this, index]];\n return child instanceof _ParentBlot ? position.concat(child.path(offset, inclusive)) : (child != null && position.push([child, offset]), position);\n }\n removeChild(child) {\n this.children.remove(child);\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return replacement instanceof _ParentBlot && this.moveChildren(replacement), super.replaceWith(replacement);\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.clone();\n return this.parent && this.parent.insertBefore(after, this.next || void 0), this.children.forEachAt(index, this.length(), (child, offset, _length) => {\n const split = child.split(offset, force);\n split != null && after.appendChild(split);\n }), after;\n }\n splitAfter(child) {\n const after = this.clone();\n for (; child.next != null; )\n after.appendChild(child.next);\n return this.parent && this.parent.insertBefore(after, this.next || void 0), after;\n }\n unwrap() {\n this.parent && this.moveChildren(this.parent, this.next || void 0), this.remove();\n }\n update(mutations, _context) {\n const addedNodes = [], removedNodes = [];\n mutations.forEach((mutation) => {\n mutation.target === this.domNode && mutation.type === \"childList\" && (addedNodes.push(...mutation.addedNodes), removedNodes.push(...mutation.removedNodes));\n }), removedNodes.forEach((node) => {\n if (node.parentNode != null && // @ts-expect-error Fix me later\n node.tagName !== \"IFRAME\" && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY)\n return;\n const blot = this.scroll.find(node);\n blot != null && (blot.domNode.parentNode == null || blot.domNode.parentNode === this.domNode) && blot.detach();\n }), addedNodes.filter((node) => node.parentNode === this.domNode && node !== this.uiNode).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? 1 : -1).forEach((node) => {\n let refBlot = null;\n node.nextSibling != null && (refBlot = this.scroll.find(node.nextSibling));\n const blot = makeAttachedBlot(node, this.scroll);\n (blot.next !== refBlot || blot.next == null) && (blot.parent != null && blot.parent.removeChild(this), this.insertBefore(blot, refBlot || void 0));\n }), this.enforceAllowedChildren();\n }\n};\n_ParentBlot.uiClass = \"\";\nlet ParentBlot = _ParentBlot;\nconst ParentBlot$1 = ParentBlot;\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return !1;\n for (const prop in obj1)\n if (obj1[prop] !== obj2[prop])\n return !1;\n return !0;\n}\nconst _InlineBlot = class _InlineBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_InlineBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n if (name === this.statics.blotName && !value)\n this.children.forEach((child) => {\n child instanceof _InlineBlot || (child = child.wrap(_InlineBlot.blotName, !0)), this.attributes.copy(child);\n }), this.unwrap();\n else {\n const format = this.scroll.query(name, Scope.INLINE);\n if (format == null)\n return;\n format instanceof Attributor ? this.attributes.attribute(format, value) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value);\n }\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.formats()[name] != null || this.scroll.query(name, Scope.ATTRIBUTE) ? this.isolate(index, length).format(name, value) : super.formatAt(index, length, name, value);\n }\n optimize(context) {\n super.optimize(context);\n const formats = this.formats();\n if (Object.keys(formats).length === 0)\n return this.unwrap();\n const next = this.next;\n next instanceof _InlineBlot && next.prev === this && isEqual(formats, next.formats()) && (next.moveChildren(this), next.remove());\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n wrap(name, value) {\n const wrapper = super.wrap(name, value);\n return wrapper instanceof _InlineBlot && this.attributes.move(wrapper), wrapper;\n }\n};\n_InlineBlot.allowedChildren = [_InlineBlot, LeafBlot$1], _InlineBlot.blotName = \"inline\", _InlineBlot.scope = Scope.INLINE_BLOT, _InlineBlot.tagName = \"SPAN\";\nlet InlineBlot = _InlineBlot;\nconst InlineBlot$1 = InlineBlot, _BlockBlot = class _BlockBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_BlockBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n const format = this.scroll.query(name, Scope.BLOCK);\n format != null && (format instanceof Attributor ? this.attributes.attribute(format, value) : name === this.statics.blotName && !value ? this.replaceWith(_BlockBlot.blotName) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value));\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.scroll.query(name, Scope.BLOCK) != null ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n if (def == null || this.scroll.query(value, Scope.INLINE) != null)\n super.insertAt(index, value, def);\n else {\n const after = this.split(index);\n if (after != null) {\n const blot = this.scroll.create(value, def);\n after.parent.insertBefore(blot, after);\n } else\n throw new Error(\"Attempt to insertAt after block boundaries\");\n }\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n};\n_BlockBlot.blotName = \"block\", _BlockBlot.scope = Scope.BLOCK_BLOT, _BlockBlot.tagName = \"P\", _BlockBlot.allowedChildren = [\n InlineBlot$1,\n _BlockBlot,\n LeafBlot$1\n];\nlet BlockBlot = _BlockBlot;\nconst BlockBlot$1 = BlockBlot, _ContainerBlot = class _ContainerBlot extends ParentBlot$1 {\n checkMerge() {\n return this.next !== null && this.next.statics.blotName === this.statics.blotName;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length), this.enforceAllowedChildren();\n }\n formatAt(index, length, name, value) {\n super.formatAt(index, length, name, value), this.enforceAllowedChildren();\n }\n insertAt(index, value, def) {\n super.insertAt(index, value, def), this.enforceAllowedChildren();\n }\n optimize(context) {\n super.optimize(context), this.children.length > 0 && this.next != null && this.checkMerge() && (this.next.moveChildren(this), this.next.remove());\n }\n};\n_ContainerBlot.blotName = \"container\", _ContainerBlot.scope = Scope.BLOCK_BLOT;\nlet ContainerBlot = _ContainerBlot;\nconst ContainerBlot$1 = ContainerBlot;\nclass EmbedBlot extends LeafBlot$1 {\n static formats(_domNode, _scroll) {\n }\n format(name, value) {\n super.formatAt(0, this.length(), name, value);\n }\n formatAt(index, length, name, value) {\n index === 0 && length === this.length() ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n formats() {\n return this.statics.formats(this.domNode, this.scroll);\n }\n}\nconst EmbedBlot$1 = EmbedBlot, OBSERVER_CONFIG = {\n attributes: !0,\n characterData: !0,\n characterDataOldValue: !0,\n childList: !0,\n subtree: !0\n}, MAX_OPTIMIZE_ITERATIONS = 100, _ScrollBlot = class _ScrollBlot extends ParentBlot$1 {\n constructor(registry, node) {\n super(null, node), this.registry = registry, this.scroll = this, this.build(), this.observer = new MutationObserver((mutations) => {\n this.update(mutations);\n }), this.observer.observe(this.domNode, OBSERVER_CONFIG), this.attach();\n }\n create(input, value) {\n return this.registry.create(this, input, value);\n }\n find(node, bubble = !1) {\n const blot = this.registry.find(node, bubble);\n return blot ? blot.scroll === this ? blot : bubble ? this.find(blot.scroll.domNode.parentNode, !0) : null : null;\n }\n query(query, scope = Scope.ANY) {\n return this.registry.query(query, scope);\n }\n register(...definitions) {\n return this.registry.register(...definitions);\n }\n build() {\n this.scroll != null && super.build();\n }\n detach() {\n super.detach(), this.observer.disconnect();\n }\n deleteAt(index, length) {\n this.update(), index === 0 && length === this.length() ? this.children.forEach((child) => {\n child.remove();\n }) : super.deleteAt(index, length);\n }\n formatAt(index, length, name, value) {\n this.update(), super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n this.update(), super.insertAt(index, value, def);\n }\n optimize(mutations = [], context = {}) {\n super.optimize(context);\n const mutationsMap = context.mutationsMap || /* @__PURE__ */ new WeakMap();\n let records = Array.from(this.observer.takeRecords());\n for (; records.length > 0; )\n mutations.push(records.pop());\n const mark = (blot, markParent = !0) => {\n blot == null || blot === this || blot.domNode.parentNode != null && (mutationsMap.has(blot.domNode) || mutationsMap.set(blot.domNode, []), markParent && mark(blot.parent));\n }, optimize = (blot) => {\n mutationsMap.has(blot.domNode) && (blot instanceof ParentBlot$1 && blot.children.forEach(optimize), mutationsMap.delete(blot.domNode), blot.optimize(context));\n };\n let remaining = mutations;\n for (let i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS)\n throw new Error(\"[Parchment] Maximum optimize iterations reached\");\n for (remaining.forEach((mutation) => {\n const blot = this.find(mutation.target, !0);\n blot != null && (blot.domNode === mutation.target && (mutation.type === \"childList\" ? (mark(this.find(mutation.previousSibling, !1)), Array.from(mutation.addedNodes).forEach((node) => {\n const child = this.find(node, !1);\n mark(child, !1), child instanceof ParentBlot$1 && child.children.forEach((grandChild) => {\n mark(grandChild, !1);\n });\n })) : mutation.type === \"attributes\" && mark(blot.prev)), mark(blot));\n }), this.children.forEach(optimize), remaining = Array.from(this.observer.takeRecords()), records = remaining.slice(); records.length > 0; )\n mutations.push(records.pop());\n }\n }\n update(mutations, context = {}) {\n mutations = mutations || this.observer.takeRecords();\n const mutationsMap = /* @__PURE__ */ new WeakMap();\n mutations.map((mutation) => {\n const blot = this.find(mutation.target, !0);\n return blot == null ? null : mutationsMap.has(blot.domNode) ? (mutationsMap.get(blot.domNode).push(mutation), null) : (mutationsMap.set(blot.domNode, [mutation]), blot);\n }).forEach((blot) => {\n blot != null && blot !== this && mutationsMap.has(blot.domNode) && blot.update(mutationsMap.get(blot.domNode) || [], context);\n }), context.mutationsMap = mutationsMap, mutationsMap.has(this.domNode) && super.update(mutationsMap.get(this.domNode), context), this.optimize(mutations, context);\n }\n};\n_ScrollBlot.blotName = \"scroll\", _ScrollBlot.defaultChild = BlockBlot$1, _ScrollBlot.allowedChildren = [BlockBlot$1, ContainerBlot$1], _ScrollBlot.scope = Scope.BLOCK_BLOT, _ScrollBlot.tagName = \"DIV\";\nlet ScrollBlot = _ScrollBlot;\nconst ScrollBlot$1 = ScrollBlot, _TextBlot = class _TextBlot extends LeafBlot$1 {\n static create(value) {\n return document.createTextNode(value);\n }\n static value(domNode) {\n return domNode.data;\n }\n constructor(scroll, node) {\n super(scroll, node), this.text = this.statics.value(this.domNode);\n }\n deleteAt(index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n }\n index(node, offset) {\n return this.domNode === node ? offset : -1;\n }\n insertAt(index, value, def) {\n def == null ? (this.text = this.text.slice(0, index) + value + this.text.slice(index), this.domNode.data = this.text) : super.insertAt(index, value, def);\n }\n length() {\n return this.text.length;\n }\n optimize(context) {\n super.optimize(context), this.text = this.statics.value(this.domNode), this.text.length === 0 ? this.remove() : this.next instanceof _TextBlot && this.next.prev === this && (this.insertAt(this.length(), this.next.value()), this.next.remove());\n }\n position(index, _inclusive = !1) {\n return [this.domNode, index];\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.scroll.create(this.domNode.splitText(index));\n return this.parent.insertBefore(after, this.next || void 0), this.text = this.statics.value(this.domNode), after;\n }\n update(mutations, _context) {\n mutations.some((mutation) => mutation.type === \"characterData\" && mutation.target === this.domNode) && (this.text = this.statics.value(this.domNode));\n }\n value() {\n return this.text;\n }\n};\n_TextBlot.blotName = \"text\", _TextBlot.scope = Scope.INLINE_BLOT;\nlet TextBlot = _TextBlot;\nconst TextBlot$1 = TextBlot;\n\n//# sourceMappingURL=parchment.js.map\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/parchment/dist/parchment.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _form_PDFForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./form/PDFForm */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js\");\n/* harmony import */ var _sizes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sizes */ \"../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFDocumentOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core/embedders/FileEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js\");\n/* harmony import */ var _PDFEmbeddedFile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFEmbeddedFile */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js\");\n/* harmony import */ var _PDFJavaScript__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFJavaScript */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js\");\n/* harmony import */ var _core_embedders_JavaScriptEmbedder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../core/embedders/JavaScriptEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a PDF document.\n */\nvar PDFDocument = /** @class */ (function () {\n function PDFDocument(context, ignoreEncryption, updateMetadata) {\n var _this = this;\n /** The default word breaks used in PDFPage.drawText */\n this.defaultWordBreaks = [' '];\n this.computePages = function () {\n var pages = [];\n _this.catalog.Pages().traverse(function (node, ref) {\n if (node instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageLeaf\"]) {\n var page = _this.pageMap.get(node);\n if (!page) {\n page = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(node, ref, _this);\n _this.pageMap.set(node, page);\n }\n pages.push(page);\n }\n });\n return pages;\n };\n this.getOrCreateForm = function () {\n var acroForm = _this.catalog.getOrCreateAcroForm();\n return _form_PDFForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(acroForm, _this);\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(context, 'context', [[_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFContext\"], 'PDFContext']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(ignoreEncryption, 'ignoreEncryption', ['boolean']);\n this.context = context;\n this.catalog = context.lookup(context.trailerInfo.Root);\n this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);\n this.pageCache = _utils__WEBPACK_IMPORTED_MODULE_10__[\"Cache\"].populatedBy(this.computePages);\n this.pageMap = new Map();\n this.formCache = _utils__WEBPACK_IMPORTED_MODULE_10__[\"Cache\"].populatedBy(this.getOrCreateForm);\n this.fonts = [];\n this.images = [];\n this.embeddedPages = [];\n this.embeddedFiles = [];\n this.javaScripts = [];\n if (!ignoreEncryption && this.isEncrypted)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"EncryptedPDFError\"]();\n if (updateMetadata)\n this.updateInfoDict();\n }\n /**\n * Load an existing [[PDFDocument]]. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------ |\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\n * | `Uint8Array` | The raw bytes of a PDF |\n * | `ArrayBuffer` | The raw bytes of a PDF |\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n *\n * // pdf=string\n * const base64 =\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\n * 'FydHhyZWYKNTEwCiUlRU9G'\n *\n * const dataUri = 'data:application/pdf;base64,' + base64\n *\n * const pdfDoc1 = await PDFDocument.load(base64)\n * const pdfDoc2 = await PDFDocument.load(dataUri)\n *\n * // pdf=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\n *\n * // pdf=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\n *\n * ```\n *\n * @param pdf The input data containing a PDF document.\n * @param options The options to be used when loading the document.\n * @returns Resolves with a document loaded from the input.\n */\n PDFDocument.load = function (pdf, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_9__[\"ParseSpeeds\"].Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(ignoreEncryption, 'ignoreEncryption', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(parseSpeed, 'parseSpeed', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(pdf);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFParser\"].forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()];\n case 1:\n context = _f.sent();\n return [2 /*return*/, new PDFDocument(context, ignoreEncryption, updateMetadata)];\n }\n });\n });\n };\n /**\n * Create a new [[PDFDocument]].\n * @returns Resolves with the newly created document.\n */\n PDFDocument.create = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, updateMetadata, context, pageTree, pageTreeRef, catalog;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a;\n context = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFContext\"].create();\n pageTree = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageTree\"].withContext(context);\n pageTreeRef = context.register(pageTree);\n catalog = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFCatalog\"].withContextAndPages(context, pageTreeRef);\n context.trailerInfo.Root = context.register(catalog);\n return [2 /*return*/, new PDFDocument(context, false, updateMetadata)];\n });\n });\n };\n /**\n * Register a fontkit instance. This must be done before custom fonts can\n * be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation)\n * for instructions on how to install and register a fontkit instance.\n *\n * > You do **not** need to call this method to embed standard fonts.\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n * import fontkit from '@pdf-lib/fontkit'\n *\n * const pdfDoc = await PDFDocument.create()\n * pdfDoc.registerFontkit(fontkit)\n * ```\n *\n * @param fontkit The fontkit instance to be registered.\n */\n PDFDocument.prototype.registerFontkit = function (fontkit) {\n this.fontkit = fontkit;\n };\n /**\n * Get the [[PDFForm]] containing all interactive fields for this document.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const type = field.constructor.name\n * const name = field.getName()\n * console.log(`${type}: ${name}`)\n * })\n * ```\n * @returns The form for this document.\n */\n PDFDocument.prototype.getForm = function () {\n var form = this.formCache.access();\n if (form.hasXFA()) {\n console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA');\n form.deleteXFA();\n }\n return form;\n };\n /**\n * Get this document's title metadata. The title appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const title = pdfDoc.getTitle()\n * ```\n * @returns A string containing the title of this document, if it has one.\n */\n PDFDocument.prototype.getTitle = function () {\n var title = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Title);\n if (!title)\n return undefined;\n assertIsLiteralOrHexString(title);\n return title.decodeText();\n };\n /**\n * Get this document's author metadata. The author appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const author = pdfDoc.getAuthor()\n * ```\n * @returns A string containing the author of this document, if it has one.\n */\n PDFDocument.prototype.getAuthor = function () {\n var author = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Author);\n if (!author)\n return undefined;\n assertIsLiteralOrHexString(author);\n return author.decodeText();\n };\n /**\n * Get this document's subject metadata. The subject appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const subject = pdfDoc.getSubject()\n * ```\n * @returns A string containing the subject of this document, if it has one.\n */\n PDFDocument.prototype.getSubject = function () {\n var subject = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Subject);\n if (!subject)\n return undefined;\n assertIsLiteralOrHexString(subject);\n return subject.decodeText();\n };\n /**\n * Get this document's keywords metadata. The keywords appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const keywords = pdfDoc.getKeywords()\n * ```\n * @returns A string containing the keywords of this document, if it has any.\n */\n PDFDocument.prototype.getKeywords = function () {\n var keywords = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Keywords);\n if (!keywords)\n return undefined;\n assertIsLiteralOrHexString(keywords);\n return keywords.decodeText();\n };\n /**\n * Get this document's creator metadata. The creator appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const creator = pdfDoc.getCreator()\n * ```\n * @returns A string containing the creator of this document, if it has one.\n */\n PDFDocument.prototype.getCreator = function () {\n var creator = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Creator);\n if (!creator)\n return undefined;\n assertIsLiteralOrHexString(creator);\n return creator.decodeText();\n };\n /**\n * Get this document's producer metadata. The producer appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const producer = pdfDoc.getProducer()\n * ```\n * @returns A string containing the producer of this document, if it has one.\n */\n PDFDocument.prototype.getProducer = function () {\n var producer = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Producer);\n if (!producer)\n return undefined;\n assertIsLiteralOrHexString(producer);\n return producer.decodeText();\n };\n /**\n * Get this document's creation date metadata. The creation date appears in\n * the \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const creationDate = pdfDoc.getCreationDate()\n * ```\n * @returns A Date containing the creation date of this document,\n * if it has one.\n */\n PDFDocument.prototype.getCreationDate = function () {\n var creationDate = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].CreationDate);\n if (!creationDate)\n return undefined;\n assertIsLiteralOrHexString(creationDate);\n return creationDate.decodeDate();\n };\n /**\n * Get this document's modification date metadata. The modification date\n * appears in the \"Document Properties\" section of most PDF readers.\n * For example:\n * ```js\n * const modification = pdfDoc.getModificationDate()\n * ```\n * @returns A Date containing the modification date of this document,\n * if it has one.\n */\n PDFDocument.prototype.getModificationDate = function () {\n var modificationDate = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].ModDate);\n if (!modificationDate)\n return undefined;\n assertIsLiteralOrHexString(modificationDate);\n return modificationDate.decodeDate();\n };\n /**\n * Set this document's title metadata. The title will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setTitle('🥚 The Life of an Egg 🍳')\n * ```\n *\n * To display the title in the window's title bar, set the\n * `showInWindowTitleBar` option to `true` (works for _most_ PDF readers).\n * For example:\n * ```js\n * pdfDoc.setTitle('🥚 The Life of an Egg 🍳', { showInWindowTitleBar: true })\n * ```\n *\n * @param title The title of this document.\n * @param options The options to be used when setting the title.\n */\n PDFDocument.prototype.setTitle = function (title, options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(title, 'title', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Title');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(title));\n // Indicate that readers should display the title rather than the filename\n if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) {\n var prefs = this.catalog.getOrCreateViewerPreferences();\n prefs.setDisplayDocTitle(true);\n }\n };\n /**\n * Set this document's author metadata. The author will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setAuthor('Humpty Dumpty')\n * ```\n * @param author The author of this document.\n */\n PDFDocument.prototype.setAuthor = function (author) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(author, 'author', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Author');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(author));\n };\n /**\n * Set this document's subject metadata. The subject will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setSubject('📘 An Epic Tale of Woe 📖')\n * ```\n * @param subject The subject of this document.\n */\n PDFDocument.prototype.setSubject = function (subject) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(subject, 'author', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Subject');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(subject));\n };\n /**\n * Set this document's keyword metadata. These keywords will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setKeywords(['eggs', 'wall', 'fall', 'king', 'horses', 'men'])\n * ```\n * @param keywords An array of keywords associated with this document.\n */\n PDFDocument.prototype.setKeywords = function (keywords) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(keywords, 'keywords', [Array]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Keywords');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(keywords.join(' ')));\n };\n /**\n * Set this document's creator metadata. The creator will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setCreator('PDF App 9000 🤖')\n * ```\n * @param creator The creator of this document.\n */\n PDFDocument.prototype.setCreator = function (creator) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(creator, 'creator', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Creator');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(creator));\n };\n /**\n * Set this document's producer metadata. The producer will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setProducer('PDF App 9000 🤖')\n * ```\n * @param producer The producer of this document.\n */\n PDFDocument.prototype.setProducer = function (producer) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(producer, 'creator', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Producer');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(producer));\n };\n /**\n * Set this document's language metadata. The language will appear in the\n * \"Document Properties\" section of some PDF readers. For example:\n * ```js\n * pdfDoc.setLanguage('en-us')\n * ```\n *\n * @param language An RFC 3066 _Language-Tag_ denoting the language of this\n * document, or an empty string if the language is unknown.\n */\n PDFDocument.prototype.setLanguage = function (language) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(language, 'language', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Lang');\n this.catalog.set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].of(language));\n };\n /**\n * Set this document's creation date metadata. The creation date will appear\n * in the \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setCreationDate(new Date())\n * ```\n * @param creationDate The date this document was created.\n */\n PDFDocument.prototype.setCreationDate = function (creationDate) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(creationDate, 'creationDate', [[Date, 'Date']]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('CreationDate');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].fromDate(creationDate));\n };\n /**\n * Set this document's modification date metadata. The modification date will\n * appear in the \"Document Properties\" section of most PDF readers. For\n * example:\n * ```js\n * pdfDoc.setModificationDate(new Date())\n * ```\n * @param modificationDate The date this document was last modified.\n */\n PDFDocument.prototype.setModificationDate = function (modificationDate) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(modificationDate, 'modificationDate', [[Date, 'Date']]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('ModDate');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].fromDate(modificationDate));\n };\n /**\n * Get the number of pages contained in this document. For example:\n * ```js\n * const totalPages = pdfDoc.getPageCount()\n * ```\n * @returns The number of pages in this document.\n */\n PDFDocument.prototype.getPageCount = function () {\n if (this.pageCount === undefined)\n this.pageCount = this.getPages().length;\n return this.pageCount;\n };\n /**\n * Get an array of all the pages contained in this document. The pages are\n * stored in the array in the same order that they are rendered in the\n * document. For example:\n * ```js\n * const pages = pdfDoc.getPages()\n * pages[0] // The first page of the document\n * pages[2] // The third page of the document\n * pages[197] // The 198th page of the document\n * ```\n * @returns An array of all the pages contained in this document.\n */\n PDFDocument.prototype.getPages = function () {\n return this.pageCache.access();\n };\n /**\n * Get the page rendered at a particular `index` of the document. For example:\n * ```js\n * pdfDoc.getPage(0) // The first page of the document\n * pdfDoc.getPage(2) // The third page of the document\n * pdfDoc.getPage(197) // The 198th page of the document\n * ```\n * @returns The [[PDFPage]] rendered at the given `index` of the document.\n */\n PDFDocument.prototype.getPage = function (index) {\n var pages = this.getPages();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pages.length - 1);\n return pages[index];\n };\n /**\n * Get an array of indices for all the pages contained in this document. The\n * array will contain a range of integers from\n * `0..pdfDoc.getPageCount() - 1`. For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n * pdfDoc.addPage()\n * pdfDoc.addPage()\n * pdfDoc.addPage()\n *\n * const indices = pdfDoc.getPageIndices()\n * indices // => [0, 1, 2]\n * ```\n * @returns An array of indices for all pages contained in this document.\n */\n PDFDocument.prototype.getPageIndices = function () {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"range\"])(0, this.getPageCount());\n };\n /**\n * Remove the page at a given index from this document. For example:\n * ```js\n * pdfDoc.removePage(0) // Remove the first page of the document\n * pdfDoc.removePage(2) // Remove the third page of the document\n * pdfDoc.removePage(197) // Remove the 198th page of the document\n * ```\n * Once a page has been removed, it will no longer be rendered at that index\n * in the document.\n * @param index The index of the page to be removed.\n */\n PDFDocument.prototype.removePage = function (index) {\n var pageCount = this.getPageCount();\n if (this.pageCount === 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"RemovePageFromEmptyDocumentError\"]();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pageCount - 1);\n this.catalog.removeLeafNode(index);\n this.pageCount = pageCount - 1;\n };\n /**\n * Add a page to the end of this document. This method accepts three\n * different value types for the `page` parameter:\n *\n * | Type | Behavior |\n * | ------------------ | ----------------------------------------------------------------------------------- |\n * | `undefined` | Create a new page and add it to the end of this document |\n * | `[number, number]` | Create a new page with the given dimensions and add it to the end of this document |\n * | `PDFPage` | Add the existing page to the end of this document |\n *\n * For example:\n * ```js\n * // page=undefined\n * const newPage = pdfDoc.addPage()\n *\n * // page=[number, number]\n * import { PageSizes } from 'pdf-lib'\n * const newPage1 = pdfDoc.addPage(PageSizes.A7)\n * const newPage2 = pdfDoc.addPage(PageSizes.Letter)\n * const newPage3 = pdfDoc.addPage([500, 750])\n *\n * // page=PDFPage\n * const pdfDoc1 = await PDFDocument.create()\n * const pdfDoc2 = await PDFDocument.load(...)\n * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0])\n * pdfDoc1.addPage(existingPage)\n * ```\n *\n * @param page Optionally, the desired dimensions or existing page.\n * @returns The newly created (or existing) page.\n */\n PDFDocument.prototype.addPage = function (page) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', ['undefined', [_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage'], Array]);\n return this.insertPage(this.getPageCount(), page);\n };\n /**\n * Insert a page at a given index within this document. This method accepts\n * three different value types for the `page` parameter:\n *\n * | Type | Behavior |\n * | ------------------ | ------------------------------------------------------------------------------ |\n * | `undefined` | Create a new page and insert it into this document |\n * | `[number, number]` | Create a new page with the given dimensions and insert it into this document |\n * | `PDFPage` | Insert the existing page into this document |\n *\n * For example:\n * ```js\n * // page=undefined\n * const newPage = pdfDoc.insertPage(2)\n *\n * // page=[number, number]\n * import { PageSizes } from 'pdf-lib'\n * const newPage1 = pdfDoc.insertPage(2, PageSizes.A7)\n * const newPage2 = pdfDoc.insertPage(0, PageSizes.Letter)\n * const newPage3 = pdfDoc.insertPage(198, [500, 750])\n *\n * // page=PDFPage\n * const pdfDoc1 = await PDFDocument.create()\n * const pdfDoc2 = await PDFDocument.load(...)\n * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0])\n * pdfDoc1.insertPage(0, existingPage)\n * ```\n *\n * @param index The index at which the page should be inserted (zero-based).\n * @param page Optionally, the desired dimensions or existing page.\n * @returns The newly created (or existing) page.\n */\n PDFDocument.prototype.insertPage = function (index, page) {\n var pageCount = this.getPageCount();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pageCount);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', ['undefined', [_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage'], Array]);\n if (!page || Array.isArray(page)) {\n var dims = Array.isArray(page) ? page : _sizes__WEBPACK_IMPORTED_MODULE_7__[\"PageSizes\"].A4;\n page = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].create(this);\n page.setSize.apply(page, dims);\n }\n else if (page.doc !== this) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"ForeignPageError\"]();\n }\n var parentRef = this.catalog.insertLeafNode(page.ref, index);\n page.node.setParent(parentRef);\n this.pageMap.set(page.node, page);\n this.pageCache.invalidate();\n this.pageCount = pageCount + 1;\n return page;\n };\n /**\n * Copy pages from a source document into this document. Allows pages to be\n * copied between different [[PDFDocument]] instances. For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n * const srcDoc = await PDFDocument.load(...)\n *\n * const copiedPages = await pdfDoc.copyPages(srcDoc, [0, 3, 89])\n * const [firstPage, fourthPage, ninetiethPage] = copiedPages;\n *\n * pdfDoc.addPage(fourthPage)\n * pdfDoc.insertPage(0, ninetiethPage)\n * pdfDoc.addPage(firstPage)\n * ```\n * @param srcDoc The document from which pages should be copied.\n * @param indices The indices of the pages that should be copied.\n * @returns Resolves with an array of pages copied into this document.\n */\n PDFDocument.prototype.copyPages = function (srcDoc, indices) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(indices, 'indices', [Array]);\n return [4 /*yield*/, srcDoc.flush()];\n case 1:\n _a.sent();\n copier = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFObjectCopier\"].for(srcDoc.context, this.context);\n srcPages = srcDoc.getPages();\n copiedPages = new Array(indices.length);\n for (idx = 0, len = indices.length; idx < len; idx++) {\n srcPage = srcPages[indices[idx]];\n copiedPage = copier.copy(srcPage.node);\n ref = this.context.register(copiedPage);\n copiedPages[idx] = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(copiedPage, ref, this);\n }\n return [2 /*return*/, copiedPages];\n }\n });\n });\n };\n /**\n * Get a copy of this document.\n *\n * For example:\n * ```js\n * const srcDoc = await PDFDocument.load(...)\n * const pdfDoc = await srcDoc.copy()\n * ```\n *\n * > **NOTE:** This method won't copy all information over to the new\n * > document (acroforms, outlines, etc...).\n *\n * @returns Resolves with a copy this document.\n */\n PDFDocument.prototype.copy = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var pdfCopy, contentPages, idx, len;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, PDFDocument.create()];\n case 1:\n pdfCopy = _a.sent();\n return [4 /*yield*/, pdfCopy.copyPages(this, this.getPageIndices())];\n case 2:\n contentPages = _a.sent();\n for (idx = 0, len = contentPages.length; idx < len; idx++) {\n pdfCopy.addPage(contentPages[idx]);\n }\n if (this.getAuthor() !== undefined) {\n pdfCopy.setAuthor(this.getAuthor());\n }\n if (this.getCreationDate() !== undefined) {\n pdfCopy.setCreationDate(this.getCreationDate());\n }\n if (this.getCreator() !== undefined) {\n pdfCopy.setCreator(this.getCreator());\n }\n if (this.getModificationDate() !== undefined) {\n pdfCopy.setModificationDate(this.getModificationDate());\n }\n if (this.getProducer() !== undefined) {\n pdfCopy.setProducer(this.getProducer());\n }\n if (this.getSubject() !== undefined) {\n pdfCopy.setSubject(this.getSubject());\n }\n if (this.getTitle() !== undefined) {\n pdfCopy.setTitle(this.getTitle());\n }\n pdfCopy.defaultWordBreaks = this.defaultWordBreaks;\n return [2 /*return*/, pdfCopy];\n }\n });\n });\n };\n /**\n * Add JavaScript to this document. The supplied `script` is executed when the\n * document is opened. The `script` can be used to perform some operation\n * when the document is opened (e.g. logging to the console), or it can be\n * used to define a function that can be referenced later in a JavaScript\n * action. For example:\n * ```js\n * // Show \"Hello World!\" in the console when the PDF is opened\n * pdfDoc.addJavaScript(\n * 'main',\n * 'console.show(); console.println(\"Hello World!\");'\n * );\n *\n * // Define a function named \"foo\" that can be called in JavaScript Actions\n * pdfDoc.addJavaScript(\n * 'foo',\n * 'function foo() { return \"foo\"; }'\n * );\n * ```\n * See the [JavaScript for Acrobat API Reference](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf)\n * for details.\n * @param name The name of the script. Must be unique per document.\n * @param script The JavaScript to execute.\n */\n PDFDocument.prototype.addJavaScript = function (name, script) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(name, 'name', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(script, 'script', ['string']);\n var embedder = _core_embedders_JavaScriptEmbedder__WEBPACK_IMPORTED_MODULE_14__[\"default\"].for(script, name);\n var ref = this.context.nextRef();\n var javaScript = _PDFJavaScript__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(ref, this, embedder);\n this.javaScripts.push(javaScript);\n };\n /**\n * Add an attachment to this document. Attachments are visible in the\n * \"Attachments\" panel of Adobe Acrobat and some other PDF readers. Any\n * type of file can be added as an attachment. This includes, but is not\n * limited to, `.png`, `.jpg`, `.pdf`, `.csv`, `.docx`, and `.xlsx` files.\n *\n * The input data can be provided in multiple formats:\n *\n * | Type | Contents |\n * | ------------- | -------------------------------------------------------------- |\n * | `string` | A base64 encoded string (or data URI) containing an attachment |\n * | `Uint8Array` | The raw bytes of an attachment |\n * | `ArrayBuffer` | The raw bytes of an attachment |\n *\n * For example:\n * ```js\n * // attachment=string\n * await pdfDoc.attach('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...', 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n * await pdfDoc.attach('data:image/jpeg;base64,/9j/4AAQ...', 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n *\n * // attachment=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg')\n * await pdfDoc.attach(uint8Array, 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n *\n * // attachment=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * await pdfDoc.attach(arrayBuffer, 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n * ```\n *\n * @param attachment The input data containing the file to be attached.\n * @param name The name of the file to be attached.\n * @returns Resolves when the attachment is complete.\n */\n PDFDocument.prototype.attach = function (attachment, name, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, embeddedFile;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(name, 'name', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.mimeType, 'mimeType', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.description, 'description', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.creationDate, 'options.creationDate', [Date]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.modificationDate, 'options.modificationDate', [\n Date,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIsOneOfOrUndefined\"])(options.afRelationship, 'options.afRelationship', _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"AFRelationship\"]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(attachment);\n embedder = _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"default\"].for(bytes, name, options);\n ref = this.context.nextRef();\n embeddedFile = _PDFEmbeddedFile__WEBPACK_IMPORTED_MODULE_12__[\"default\"].of(ref, this, embedder);\n this.embeddedFiles.push(embeddedFile);\n return [2 /*return*/];\n });\n });\n };\n /**\n * Embed a font into this document. The input data can be provided in multiple\n * formats:\n *\n * | Type | Contents |\n * | --------------- | ------------------------------------------------------- |\n * | `StandardFonts` | One of the standard 14 fonts |\n * | `string` | A base64 encoded string (or data URI) containing a font |\n * | `Uint8Array` | The raw bytes of a font |\n * | `ArrayBuffer` | The raw bytes of a font |\n *\n * For example:\n * ```js\n * // font=StandardFonts\n * import { StandardFonts } from 'pdf-lib'\n * const font1 = await pdfDoc.embedFont(StandardFonts.Helvetica)\n *\n * // font=string\n * const font2 = await pdfDoc.embedFont('AAEAAAAVAQAABABQRFNJRx/upe...')\n * const font3 = await pdfDoc.embedFont('data:font/opentype;base64,AAEAAA...')\n *\n * // font=Uint8Array\n * import fs from 'fs'\n * const font4 = await pdfDoc.embedFont(fs.readFileSync('Ubuntu-R.ttf'))\n *\n * // font=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/ubuntu/Ubuntu-R.ttf'\n * const ubuntuBytes = await fetch(url).then(res => res.arrayBuffer())\n * const font5 = await pdfDoc.embedFont(ubuntuBytes)\n * ```\n * See also: [[registerFontkit]]\n * @param font The input data for a font.\n * @param options The options to be used when embedding the font.\n * @returns Resolves with the embedded font.\n */\n PDFDocument.prototype.embedFont = function (font, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(font, 'font', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(subset, 'subset', ['boolean']);\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"isStandardFont\"])(font)) return [3 /*break*/, 1];\n embedder = _core__WEBPACK_IMPORTED_MODULE_8__[\"StandardFontEmbedder\"].for(font, customName);\n return [3 /*break*/, 7];\n case 1:\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"canBeConvertedToUint8Array\"])(font)) return [3 /*break*/, 6];\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(font);\n fontkit = this.assertFontkit();\n if (!subset) return [3 /*break*/, 3];\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"CustomFontSubsetEmbedder\"].for(fontkit, bytes, customName, features)];\n case 2:\n _b = _c.sent();\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"CustomFontEmbedder\"].for(fontkit, bytes, customName, features)];\n case 4:\n _b = _c.sent();\n _c.label = 5;\n case 5:\n embedder = _b;\n return [3 /*break*/, 7];\n case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');\n case 7:\n ref = this.context.nextRef();\n pdfFont = _PDFFont__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(ref, this, embedder);\n this.fonts.push(pdfFont);\n return [2 /*return*/, pdfFont];\n }\n });\n });\n };\n /**\n * Embed a standard font into this document.\n * For example:\n * ```js\n * import { StandardFonts } from 'pdf-lib'\n * const helveticaFont = pdfDoc.embedFont(StandardFonts.Helvetica)\n * ```\n * @param font The standard font to be embedded.\n * @param customName The name to be used when embedding the font.\n * @returns The embedded font.\n */\n PDFDocument.prototype.embedStandardFont = function (font, customName) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(font, 'font', ['string']);\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"isStandardFont\"])(font)) {\n throw new TypeError('`font` must be one of type `StandardFonts`');\n }\n var embedder = _core__WEBPACK_IMPORTED_MODULE_8__[\"StandardFontEmbedder\"].for(font, customName);\n var ref = this.context.nextRef();\n var pdfFont = _PDFFont__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(ref, this, embedder);\n this.fonts.push(pdfFont);\n return pdfFont;\n };\n /**\n * Embed a JPEG image into this document. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------------- |\n * | `string` | A base64 encoded string (or data URI) containing a JPEG image |\n * | `Uint8Array` | The raw bytes of a JPEG image |\n * | `ArrayBuffer` | The raw bytes of a JPEG image |\n *\n * For example:\n * ```js\n * // jpg=string\n * const image1 = await pdfDoc.embedJpg('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...')\n * const image2 = await pdfDoc.embedJpg('data:image/jpeg;base64,/9j/4AAQ...')\n *\n * // jpg=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg')\n * const image3 = await pdfDoc.embedJpg(uint8Array)\n *\n * // jpg=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const image4 = await pdfDoc.embedJpg(arrayBuffer)\n * ```\n *\n * @param jpg The input data for a JPEG image.\n * @returns Resolves with the embedded image.\n */\n PDFDocument.prototype.embedJpg = function (jpg) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, pdfImage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(jpg);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"JpegEmbedder\"].for(bytes)];\n case 1:\n embedder = _a.sent();\n ref = this.context.nextRef();\n pdfImage = _PDFImage__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(ref, this, embedder);\n this.images.push(pdfImage);\n return [2 /*return*/, pdfImage];\n }\n });\n });\n };\n /**\n * Embed a PNG image into this document. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------------ |\n * | `string` | A base64 encoded string (or data URI) containing a PNG image |\n * | `Uint8Array` | The raw bytes of a PNG image |\n * | `ArrayBuffer` | The raw bytes of a PNG image |\n *\n * For example:\n * ```js\n * // png=string\n * const image1 = await pdfDoc.embedPng('iVBORw0KGgoAAAANSUhEUgAAAlgAAAF3...')\n * const image2 = await pdfDoc.embedPng('data:image/png;base64,iVBORw0KGg...')\n *\n * // png=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('small_mario.png')\n * const image3 = await pdfDoc.embedPng(uint8Array)\n *\n * // png=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/small_mario.png'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const image4 = await pdfDoc.embedPng(arrayBuffer)\n * ```\n *\n * @param png The input data for a PNG image.\n * @returns Resolves with the embedded image.\n */\n PDFDocument.prototype.embedPng = function (png) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, pdfImage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(png, 'png', ['string', Uint8Array, ArrayBuffer]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(png);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PngEmbedder\"].for(bytes)];\n case 1:\n embedder = _a.sent();\n ref = this.context.nextRef();\n pdfImage = _PDFImage__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(ref, this, embedder);\n this.images.push(pdfImage);\n return [2 /*return*/, pdfImage];\n }\n });\n });\n };\n /**\n * Embed one or more PDF pages into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n *\n * // Embed page 74 of `sourcePdf` into `pdfDoc`\n * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, [73])\n * ```\n *\n * See [[PDFDocument.load]] for examples of the allowed input data formats.\n *\n * @param pdf The input data containing a PDF document.\n * @param indices The indices of the pages that should be embedded.\n * @returns Resolves with an array of the embedded pages.\n */\n PDFDocument.prototype.embedPdf = function (pdf, indices) {\n if (indices === void 0) { indices = [0]; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var srcDoc, _a, srcPages;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(pdf, 'pdf', [\n 'string',\n Uint8Array,\n ArrayBuffer,\n [PDFDocument, 'PDFDocument'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(indices, 'indices', [Array]);\n if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1];\n _a = pdf;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, PDFDocument.load(pdf)];\n case 2:\n _a = _b.sent();\n _b.label = 3;\n case 3:\n srcDoc = _a;\n srcPages = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"pluckIndices\"])(srcDoc.getPages(), indices);\n return [2 /*return*/, this.embedPages(srcPages)];\n }\n });\n });\n };\n /**\n * Embed a single PDF page into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n * const sourcePdfDoc = await PDFDocument.load(sourceBuffer)\n * const sourcePdfPage = sourcePdfDoc.getPages()[73]\n *\n * const embeddedPage = await pdfDoc.embedPage(\n * sourcePdfPage,\n *\n * // Clip a section of the source page so that we only embed part of it\n * { left: 100, right: 450, bottom: 330, top: 570 },\n *\n * // Translate all drawings of the embedded page by (10, 200) units\n * [1, 0, 0, 1, 10, 200],\n * )\n * ```\n *\n * @param page The page to be embedded.\n * @param boundingBox\n * Optionally, an area of the source page that should be embedded\n * (defaults to entire page).\n * @param transformationMatrix\n * Optionally, a transformation matrix that is always applied to the embedded\n * page anywhere it is drawn.\n * @returns Resolves with the embedded pdf page.\n */\n PDFDocument.prototype.embedPage = function (page, boundingBox, transformationMatrix) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var embeddedPage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage']]);\n return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])];\n case 1:\n embeddedPage = (_a.sent())[0];\n return [2 /*return*/, embeddedPage];\n }\n });\n });\n };\n /**\n * Embed one or more PDF pages into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n * const sourcePdfDoc = await PDFDocument.load(sourceBuffer)\n *\n * const page1 = sourcePdfDoc.getPages()[0]\n * const page2 = sourcePdfDoc.getPages()[52]\n * const page3 = sourcePdfDoc.getPages()[73]\n *\n * const embeddedPages = await pdfDoc.embedPages([page1, page2, page3])\n * ```\n *\n * @param page\n * The pages to be embedded (they must all share the same context).\n * @param boundingBoxes\n * Optionally, an array of clipping boundaries - one for each page\n * (defaults to entirety of each page).\n * @param transformationMatrices\n * Optionally, an array of transformation matrices - one for each page\n * (each page's transformation will apply anywhere it is drawn).\n * @returns Resolves with an array of the embedded pdf pages.\n */\n PDFDocument.prototype.embedPages = function (pages, boundingBoxes, transformationMatrices) {\n if (boundingBoxes === void 0) { boundingBoxes = []; }\n if (transformationMatrices === void 0) { transformationMatrices = []; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref;\n var _a;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (pages.length === 0)\n return [2 /*return*/, []];\n // Assert all pages have the same context\n for (idx = 0, len = pages.length - 1; idx < len; idx++) {\n currPage = pages[idx];\n nextPage = pages[idx + 1];\n if (currPage.node.context !== nextPage.node.context) {\n throw new _core__WEBPACK_IMPORTED_MODULE_8__[\"PageEmbeddingMismatchedContextError\"]();\n }\n }\n context = pages[0].node.context;\n maybeCopyPage = context === this.context\n ? function (p) { return p; }\n : _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFObjectCopier\"].for(context, this.context).copy;\n embeddedPages = new Array(pages.length);\n idx = 0, len = pages.length;\n _b.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n page = maybeCopyPage(pages[idx].node);\n box = boundingBoxes[idx];\n matrix = transformationMatrices[idx];\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageEmbedder\"].for(page, box, matrix)];\n case 2:\n embedder = _b.sent();\n ref = this.context.nextRef();\n embeddedPages[idx] = _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(ref, this, embedder);\n _b.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4:\n (_a = this.embeddedPages).push.apply(_a, embeddedPages);\n return [2 /*return*/, embeddedPages];\n }\n });\n });\n };\n /**\n * > **NOTE:** You shouldn't need to call this method directly. The [[save]]\n * > and [[saveAsBase64]] methods will automatically ensure that all embedded\n * > assets are flushed before serializing the document.\n *\n * Flush all embedded fonts, PDF pages, and images to this document's\n * [[context]].\n *\n * @returns Resolves when the flush is complete.\n */\n PDFDocument.prototype.flush = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedAll(this.fonts)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.images)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.embeddedPages)];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.embeddedFiles)];\n case 4:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.javaScripts)];\n case 5:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Serialize this document to an array of bytes making up a PDF file.\n * For example:\n * ```js\n * const pdfBytes = await pdfDoc.save()\n * ```\n *\n * There are a number of things you can do with the serialized document,\n * depending on the JavaScript environment you're running in:\n * * Write it to a file in Node or React Native\n * * Download it as a Blob in the browser\n * * Render it in an `iframe`\n *\n * @param options The options to be used when saving the document.\n * @returns Resolves with the bytes of the serialized document.\n */\n PDFDocument.prototype.save = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(useObjectStreams, 'useObjectStreams', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(addDefaultPage, 'addDefaultPage', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(objectsPerTick, 'objectsPerTick', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);\n if (addDefaultPage && this.getPageCount() === 0)\n this.addPage();\n if (updateFieldAppearances) {\n form = this.formCache.getValue();\n if (form)\n form.updateFieldAppearances();\n }\n return [4 /*yield*/, this.flush()];\n case 1:\n _e.sent();\n Writer = useObjectStreams ? _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFStreamWriter\"] : _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFWriter\"];\n return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()];\n }\n });\n });\n };\n /**\n * Serialize this document to a base64 encoded string or data URI making up a\n * PDF file. For example:\n * ```js\n * const base64String = await pdfDoc.saveAsBase64()\n * base64String // => 'JVBERi0xLjcKJYGBgYEKC...'\n *\n * const base64DataUri = await pdfDoc.saveAsBase64({ dataUri: true })\n * base64DataUri // => 'data:application/pdf;base64,JVBERi0xLjcKJYGBgYEKC...'\n * ```\n *\n * @param options The options to be used when saving the document.\n * @returns Resolves with a base64 encoded string or data URI of the\n * serialized document.\n */\n PDFDocument.prototype.saveAsBase64 = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, dataUri, otherOptions, bytes, base64;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(options, [\"dataUri\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(dataUri, 'dataUri', ['boolean']);\n return [4 /*yield*/, this.save(otherOptions)];\n case 1:\n bytes = _b.sent();\n base64 = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"encodeToBase64\"])(bytes);\n return [2 /*return*/, dataUri ? \"data:application/pdf;base64,\" + base64 : base64];\n }\n });\n });\n };\n PDFDocument.prototype.findPageForAnnotationRef = function (ref) {\n var pages = this.getPages();\n for (var idx = 0, len = pages.length; idx < len; idx++) {\n var page = pages[idx];\n var annotations = page.node.Annots();\n if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) {\n return page;\n }\n }\n return undefined;\n };\n PDFDocument.prototype.embedAll = function (embeddables) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var idx, len;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n idx = 0, len = embeddables.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n return [4 /*yield*/, embeddables[idx].embed()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PDFDocument.prototype.updateInfoDict = function () {\n var pdfLib = \"pdf-lib (https://github.com/Hopding/pdf-lib)\";\n var now = new Date();\n var info = this.getInfoDict();\n this.setProducer(pdfLib);\n this.setModificationDate(now);\n if (!info.get(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Creator')))\n this.setCreator(pdfLib);\n if (!info.get(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('CreationDate')))\n this.setCreationDate(now);\n };\n PDFDocument.prototype.getInfoDict = function () {\n var existingInfo = this.context.lookup(this.context.trailerInfo.Info);\n if (existingInfo instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFDict\"])\n return existingInfo;\n var newInfo = this.context.obj({});\n this.context.trailerInfo.Info = this.context.register(newInfo);\n return newInfo;\n };\n PDFDocument.prototype.assertFontkit = function () {\n if (!this.fontkit)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"FontkitNotRegisteredError\"]();\n return this.fontkit;\n };\n return PDFDocument;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDocument);\n/* tslint:disable-next-line only-arrow-functions */\nfunction assertIsLiteralOrHexString(pdfObject) {\n if (!(pdfObject instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"]) &&\n !(pdfObject instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"])) {\n throw new _core__WEBPACK_IMPORTED_MODULE_8__[\"UnexpectedObjectTypeError\"]([_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"], _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"]], pdfObject);\n }\n}\n//# sourceMappingURL=PDFDocument.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js ***! + \****************************************************************************/ +/*! exports provided: ParseSpeeds */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return ParseSpeeds; });\nvar ParseSpeeds;\n(function (ParseSpeeds) {\n ParseSpeeds[ParseSpeeds[\"Fastest\"] = Infinity] = \"Fastest\";\n ParseSpeeds[ParseSpeeds[\"Fast\"] = 1500] = \"Fast\";\n ParseSpeeds[ParseSpeeds[\"Medium\"] = 500] = \"Medium\";\n ParseSpeeds[ParseSpeeds[\"Slow\"] = 100] = \"Slow\";\n})(ParseSpeeds || (ParseSpeeds = {}));\n//# sourceMappingURL=PDFDocumentOptions.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n/**\n * Represents a file that has been embedded in a [[PDFDocument]].\n */\nvar PDFEmbeddedFile = /** @class */ (function () {\n function PDFEmbeddedFile(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n this.ref = ref;\n this.doc = doc;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all embeddable files get embedded.\n *\n * Embed this embeddable file in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFEmbeddedFile.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var ref, Names, EmbeddedFiles, EFNames, AF;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n ref = _a.sent();\n if (!this.doc.catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n this.doc.catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), this.doc.context.obj({}));\n }\n Names = this.doc.catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Names.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'))) {\n Names.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'), this.doc.context.obj({}));\n }\n EmbeddedFiles = Names.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!EmbeddedFiles.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n EmbeddedFiles.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), this.doc.context.obj([]));\n }\n EFNames = EmbeddedFiles.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n EFNames.push(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"].fromText(this.embedder.fileName));\n EFNames.push(ref);\n /**\n * The AF-Tag is needed to achieve PDF-A3 compliance for embedded files\n *\n * The following document outlines the uses cases of the associated files (AF) tag.\n * See:\n * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf\n */\n if (!this.doc.catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'))) {\n this.doc.catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'), this.doc.context.obj([]));\n }\n AF = this.doc.catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n AF.push(ref);\n this.alreadyEmbedded = true;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.attach]] method, which will create\n * instances of [[PDFEmbeddedFile]] for you.\n *\n * Create an instance of [[PDFEmbeddedFile]] from an existing ref and embedder\n *\n * @param ref The unique reference for this file.\n * @param doc The document to which the file will belong.\n * @param embedder The embedder that will be used to embed the file.\n */\n PDFEmbeddedFile.of = function (ref, doc, embedder) {\n return new PDFEmbeddedFile(ref, doc, embedder);\n };\n return PDFEmbeddedFile;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFEmbeddedFile);\n//# sourceMappingURL=PDFEmbeddedFile.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a PDF page that has been embedded in a [[PDFDocument]].\n */\nvar PDFEmbeddedPage = /** @class */ (function () {\n function PDFEmbeddedPage(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFPageEmbedder\"], 'PDFPageEmbedder']]);\n this.ref = ref;\n this.doc = doc;\n this.width = embedder.width;\n this.height = embedder.height;\n this.embedder = embedder;\n }\n /**\n * Compute the width and height of this page after being scaled by the\n * given `factor`. For example:\n * ```js\n * embeddedPage.width // => 500\n * embeddedPage.height // => 250\n *\n * const scaled = embeddedPage.scale(0.5)\n * scaled.width // => 250\n * scaled.height // => 125\n * ```\n * This operation is often useful before drawing a page with\n * [[PDFPage.drawPage]] to compute the `width` and `height` options.\n * @param factor The factor by which this page should be scaled.\n * @returns The width and height of the page after being scaled.\n */\n PDFEmbeddedPage.prototype.scale = function (factor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(factor, 'factor', ['number']);\n return { width: this.width * factor, height: this.height * factor };\n };\n /**\n * Get the width and height of this page. For example:\n * ```js\n * const { width, height } = embeddedPage.size()\n * ```\n * @returns The width and height of the page.\n */\n PDFEmbeddedPage.prototype.size = function () {\n return this.scale(1);\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all embeddable pages get embedded.\n *\n * Embed this embeddable page in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFEmbeddedPage.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n _a.sent();\n this.alreadyEmbedded = true;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedPdf]] and\n * > [[PDFDocument.embedPage]] methods, which will create instances of\n * > [[PDFEmbeddedPage]] for you.\n *\n * Create an instance of [[PDFEmbeddedPage]] from an existing ref and embedder\n *\n * @param ref The unique reference for this embedded page.\n * @param doc The document to which the embedded page will belong.\n * @param embedder The embedder that will be used to embed the page.\n */\n PDFEmbeddedPage.of = function (ref, doc, embedder) {\n return new PDFEmbeddedPage(ref, doc, embedder);\n };\n return PDFEmbeddedPage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFEmbeddedPage);\n//# sourceMappingURL=PDFEmbeddedPage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a font that has been embedded in a [[PDFDocument]].\n */\nvar PDFFont = /** @class */ (function () {\n function PDFFont(ref, doc, embedder) {\n this.modified = true;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"CustomFontEmbedder\"], 'CustomFontEmbedder'],\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"StandardFontEmbedder\"], 'StandardFontEmbedder'],\n ]);\n this.ref = ref;\n this.doc = doc;\n this.name = embedder.fontName;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFPage.drawText]] method will automatically encode the text it is\n * > given.\n *\n * Encodes a string of text in this font.\n *\n * @param text The text to be encoded.\n * @returns The encoded text as a hex string.\n */\n PDFFont.prototype.encodeText = function (text) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(text, 'text', ['string']);\n this.modified = true;\n return this.embedder.encodeText(text);\n };\n /**\n * Measure the width of a string of text drawn in this font at a given size.\n * For example:\n * ```js\n * const width = font.widthOfTextAtSize('Foo Bar Qux Baz', 36)\n * ```\n * @param text The string of text to be measured.\n * @param size The font size to be used for this measurement.\n * @returns The width of the string of text when drawn in this font at the\n * given size.\n */\n PDFFont.prototype.widthOfTextAtSize = function (text, size) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(size, 'size', ['number']);\n return this.embedder.widthOfTextAtSize(text, size);\n };\n /**\n * Measure the height of this font at a given size. For example:\n * ```js\n * const height = font.heightAtSize(24)\n * ```\n *\n * The `options.descender` value controls whether or not the font's\n * descender is included in the height calculation.\n *\n * @param size The font size to be used for this measurement.\n * @param options The options to be used when computing this measurement.\n * @returns The height of this font at the given size.\n */\n PDFFont.prototype.heightAtSize = function (size, options) {\n var _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(size, 'size', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.descender, 'options.descender', ['boolean']);\n return this.embedder.heightOfFontAtSize(size, {\n descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true,\n });\n };\n /**\n * Compute the font size at which this font is a given height. For example:\n * ```js\n * const fontSize = font.sizeAtHeight(12)\n * ```\n * @param height The height to be used for this calculation.\n * @returns The font size at which this font is the given height.\n */\n PDFFont.prototype.sizeAtHeight = function (height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(height, 'height', ['number']);\n return this.embedder.sizeOfFontAtHeight(height);\n };\n /**\n * Get the set of unicode code points that can be represented by this font.\n * @returns The set of unicode code points supported by this font.\n */\n PDFFont.prototype.getCharacterSet = function () {\n if (this.embedder instanceof _core__WEBPACK_IMPORTED_MODULE_2__[\"StandardFontEmbedder\"]) {\n return this.embedder.encoding.supportedCodePoints;\n }\n else {\n return this.embedder.font.characterSet;\n }\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all fonts get embedded.\n *\n * Embed this font in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFFont.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.modified) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n _a.sent();\n this.modified = false;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedFont]] and\n * > [[PDFDocument.embedStandardFont]] methods, which will create instances\n * > of [[PDFFont]] for you.\n *\n * Create an instance of [[PDFFont]] from an existing ref and embedder\n *\n * @param ref The unique reference for this font.\n * @param doc The document to which the font will belong.\n * @param embedder The embedder that will be used to embed the font.\n */\n PDFFont.of = function (ref, doc, embedder) {\n return new PDFFont(ref, doc, embedder);\n };\n return PDFFont;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFFont);\n//# sourceMappingURL=PDFFont.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents an image that has been embedded in a [[PDFDocument]].\n */\nvar PDFImage = /** @class */ (function () {\n function PDFImage(ref, doc, embedder) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"JpegEmbedder\"], 'JpegEmbedder'],\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"PngEmbedder\"], 'PngEmbedder'],\n ]);\n this.ref = ref;\n this.doc = doc;\n this.width = embedder.width;\n this.height = embedder.height;\n this.embedder = embedder;\n }\n /**\n * Compute the width and height of this image after being scaled by the\n * given `factor`. For example:\n * ```js\n * image.width // => 500\n * image.height // => 250\n *\n * const scaled = image.scale(0.5)\n * scaled.width // => 250\n * scaled.height // => 125\n * ```\n * This operation is often useful before drawing an image with\n * [[PDFPage.drawImage]] to compute the `width` and `height` options.\n * @param factor The factor by which this image should be scaled.\n * @returns The width and height of the image after being scaled.\n */\n PDFImage.prototype.scale = function (factor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(factor, 'factor', ['number']);\n return { width: this.width * factor, height: this.height * factor };\n };\n /**\n * Get the width and height of this image after scaling it as large as\n * possible while maintaining its aspect ratio and not exceeding the\n * specified `width` and `height`. For example:\n * ```\n * image.width // => 500\n * image.height // => 250\n *\n * const scaled = image.scaleToFit(750, 1000)\n * scaled.width // => 750\n * scaled.height // => 375\n * ```\n * The `width` and `height` parameters can also be thought of as the width\n * and height of a box that the scaled image must fit within.\n * @param width The bounding box's width.\n * @param height The bounding box's height.\n * @returns The width and height of the image after being scaled.\n */\n PDFImage.prototype.scaleToFit = function (width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(height, 'height', ['number']);\n var imgWidthScale = width / this.width;\n var imgHeightScale = height / this.height;\n var scale = Math.min(imgWidthScale, imgHeightScale);\n return this.scale(scale);\n };\n /**\n * Get the width and height of this image. For example:\n * ```js\n * const { width, height } = image.size()\n * ```\n * @returns The width and height of the image.\n */\n PDFImage.prototype.size = function () {\n return this.scale(1);\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all images get embedded.\n *\n * Embed this image in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFImage.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, doc, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.embedder)\n return [2 /*return*/];\n // The image should only be embedded once. If there's a pending embed\n // operation then wait on it. Otherwise we need to start the embed.\n if (!this.embedTask) {\n _a = this, doc = _a.doc, ref = _a.ref;\n this.embedTask = this.embedder.embedIntoContext(doc.context, ref);\n }\n return [4 /*yield*/, this.embedTask];\n case 1:\n _b.sent();\n // We clear `this.embedder` so that the indirectly referenced image data\n // can be garbage collected, thus avoiding a memory leak.\n // See https://github.com/Hopding/pdf-lib/pull/1032/files.\n this.embedder = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedPng]] and [[PDFDocument.embedJpg]]\n * > methods, which will create instances of [[PDFImage]] for you.\n *\n * Create an instance of [[PDFImage]] from an existing ref and embedder\n *\n * @param ref The unique reference for this image.\n * @param doc The document to which the image will belong.\n * @param embedder The embedder that will be used to embed the image.\n */\n PDFImage.of = function (ref, doc, embedder) {\n return new PDFImage(ref, doc, embedder);\n };\n return PDFImage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFImage);\n//# sourceMappingURL=PDFImage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n/**\n * Represents JavaScript that has been embedded in a [[PDFDocument]].\n */\nvar PDFJavaScript = /** @class */ (function () {\n function PDFJavaScript(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n this.ref = ref;\n this.doc = doc;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all JavaScripts get embedded.\n *\n * Embed this JavaScript in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFJavaScript.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, catalog, context, ref, Names, Javascript, JSNames;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n _a = this.doc, catalog = _a.catalog, context = _a.context;\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n ref = _b.sent();\n if (!catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), context.obj({}));\n }\n Names = catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Names.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'))) {\n Names.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'), context.obj({}));\n }\n Javascript = Names.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Javascript.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n Javascript.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), context.obj([]));\n }\n JSNames = Javascript.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n JSNames.push(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"].fromText(this.embedder.scriptName));\n JSNames.push(ref);\n this.alreadyEmbedded = true;\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addJavaScript]] method, which will\n * create instances of [[PDFJavaScript]] for you.\n *\n * Create an instance of [[PDFJavaScript]] from an existing ref and script\n *\n * @param ref The unique reference for this script.\n * @param doc The document to which the script will belong.\n * @param embedder The embedder that will be used to embed the script.\n */\n PDFJavaScript.of = function (ref, doc, embedder) {\n return new PDFJavaScript(ref, doc, embedder);\n };\n return PDFJavaScript;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFJavaScript);\n//# sourceMappingURL=PDFJavaScript.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony import */ var _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFPageOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a single page of a [[PDFDocument]].\n */\nvar PDFPage = /** @class */ (function () {\n function PDFPage(leafNode, ref, doc) {\n this.fontSize = 24;\n this.fontColor = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n this.lineHeight = 24;\n this.x = 0;\n this.y = 0;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(leafNode, 'leafNode', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFPageLeaf\"], 'PDFPageLeaf']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 'PDFDocument']]);\n this.node = leafNode;\n this.ref = ref;\n this.doc = doc;\n }\n /**\n * Rotate this page by a multiple of 90 degrees. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * page.setRotation(degrees(-90))\n * page.setRotation(degrees(0))\n * page.setRotation(degrees(90))\n * page.setRotation(degrees(180))\n * page.setRotation(degrees(270))\n * ```\n * @param angle The angle to rotate this page.\n */\n PDFPage.prototype.setRotation = function (angle) {\n var degreesAngle = Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"toDegrees\"])(angle);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertMultiple\"])(degreesAngle, 'degreesAngle', 90);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of('Rotate'), this.doc.context.obj(degreesAngle));\n };\n /**\n * Get this page's rotation angle in degrees. For example:\n * ```js\n * const rotationAngle = page.getRotation().angle;\n * ```\n * @returns The rotation angle of the page in degrees (always a multiple of\n * 90 degrees).\n */\n PDFPage.prototype.getRotation = function () {\n var Rotate = this.node.Rotate();\n return Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(Rotate ? Rotate.asNumber() : 0);\n };\n /**\n * Resize this page by increasing or decreasing its width and height. For\n * example:\n * ```js\n * page.setSize(250, 500)\n * page.setSize(page.getWidth() + 50, page.getHeight() + 100)\n * page.setSize(page.getWidth() - 50, page.getHeight() - 100)\n * ```\n *\n * Note that the PDF specification does not allow for pages to have explicit\n * widths and heights. Instead it defines the \"size\" of a page in terms of\n * five rectangles: the MediaBox, CropBox, BleedBox, TrimBox, and ArtBox. As a\n * result, this method cannot directly change the width and height of a page.\n * Instead, it works by adjusting these five boxes.\n *\n * This method performs the following steps:\n * 1. Set width & height of MediaBox.\n * 2. Set width & height of CropBox, if it has same dimensions as MediaBox.\n * 3. Set width & height of BleedBox, if it has same dimensions as MediaBox.\n * 4. Set width & height of TrimBox, if it has same dimensions as MediaBox.\n * 5. Set width & height of ArtBox, if it has same dimensions as MediaBox.\n *\n * This approach works well for most PDF documents as all PDF pages must\n * have a MediaBox, but relatively few have a CropBox, BleedBox, TrimBox, or\n * ArtBox. And when they do have these additional boxes, they often have the\n * same dimensions as the MediaBox. However, if you find this method does not\n * work for your document, consider setting the boxes directly:\n * * [[PDFPage.setMediaBox]]\n * * [[PDFPage.setCropBox]]\n * * [[PDFPage.setBleedBox]]\n * * [[PDFPage.setTrimBox]]\n * * [[PDFPage.setArtBox]]\n *\n * @param width The new width of the page.\n * @param height The new height of the page.\n */\n PDFPage.prototype.setSize = function (width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var mediaBox = this.getMediaBox();\n this.setMediaBox(mediaBox.x, mediaBox.y, width, height);\n var cropBox = this.getCropBox();\n var bleedBox = this.getBleedBox();\n var trimBox = this.getTrimBox();\n var artBox = this.getArtBox();\n var hasCropBox = this.node.CropBox();\n var hasBleedBox = this.node.BleedBox();\n var hasTrimBox = this.node.TrimBox();\n var hasArtBox = this.node.ArtBox();\n if (hasCropBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(cropBox, mediaBox)) {\n this.setCropBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasBleedBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(bleedBox, mediaBox)) {\n this.setBleedBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasTrimBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(trimBox, mediaBox)) {\n this.setTrimBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasArtBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(artBox, mediaBox)) {\n this.setArtBox(mediaBox.x, mediaBox.y, width, height);\n }\n };\n /**\n * Resize this page by increasing or decreasing its width. For example:\n * ```js\n * page.setWidth(250)\n * page.setWidth(page.getWidth() + 50)\n * page.setWidth(page.getWidth() - 50)\n * ```\n *\n * This method uses [[PDFPage.setSize]] to set the page's width.\n *\n * @param width The new width of the page.\n */\n PDFPage.prototype.setWidth = function (width) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n this.setSize(width, this.getSize().height);\n };\n /**\n * Resize this page by increasing or decreasing its height. For example:\n * ```js\n * page.setHeight(500)\n * page.setHeight(page.getWidth() + 100)\n * page.setHeight(page.getWidth() - 100)\n * ```\n *\n * This method uses [[PDFPage.setSize]] to set the page's height.\n *\n * @param height The new height of the page.\n */\n PDFPage.prototype.setHeight = function (height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n this.setSize(this.getSize().width, height);\n };\n /**\n * Set the MediaBox of this page. For example:\n * ```js\n * const mediaBox = page.getMediaBox()\n *\n * page.setMediaBox(0, 0, 250, 500)\n * page.setMediaBox(mediaBox.x, mediaBox.y, 50, 100)\n * page.setMediaBox(15, 5, mediaBox.width - 50, mediaBox.height - 100)\n * ```\n *\n * See [[PDFPage.getMediaBox]] for details about what the MediaBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new MediaBox.\n * @param y The y coordinate of the lower left corner of the new MediaBox.\n * @param width The width of the new MediaBox.\n * @param height The height of the new MediaBox.\n */\n PDFPage.prototype.setMediaBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var mediaBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].MediaBox, mediaBox);\n };\n /**\n * Set the CropBox of this page. For example:\n * ```js\n * const cropBox = page.getCropBox()\n *\n * page.setCropBox(0, 0, 250, 500)\n * page.setCropBox(cropBox.x, cropBox.y, 50, 100)\n * page.setCropBox(15, 5, cropBox.width - 50, cropBox.height - 100)\n * ```\n *\n * See [[PDFPage.getCropBox]] for details about what the CropBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new CropBox.\n * @param y The y coordinate of the lower left corner of the new CropBox.\n * @param width The width of the new CropBox.\n * @param height The height of the new CropBox.\n */\n PDFPage.prototype.setCropBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var cropBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].CropBox, cropBox);\n };\n /**\n * Set the BleedBox of this page. For example:\n * ```js\n * const bleedBox = page.getBleedBox()\n *\n * page.setBleedBox(0, 0, 250, 500)\n * page.setBleedBox(bleedBox.x, bleedBox.y, 50, 100)\n * page.setBleedBox(15, 5, bleedBox.width - 50, bleedBox.height - 100)\n * ```\n *\n * See [[PDFPage.getBleedBox]] for details about what the BleedBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new BleedBox.\n * @param y The y coordinate of the lower left corner of the new BleedBox.\n * @param width The width of the new BleedBox.\n * @param height The height of the new BleedBox.\n */\n PDFPage.prototype.setBleedBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var bleedBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].BleedBox, bleedBox);\n };\n /**\n * Set the TrimBox of this page. For example:\n * ```js\n * const trimBox = page.getTrimBox()\n *\n * page.setTrimBox(0, 0, 250, 500)\n * page.setTrimBox(trimBox.x, trimBox.y, 50, 100)\n * page.setTrimBox(15, 5, trimBox.width - 50, trimBox.height - 100)\n * ```\n *\n * See [[PDFPage.getTrimBox]] for details about what the TrimBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new TrimBox.\n * @param y The y coordinate of the lower left corner of the new TrimBox.\n * @param width The width of the new TrimBox.\n * @param height The height of the new TrimBox.\n */\n PDFPage.prototype.setTrimBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var trimBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].TrimBox, trimBox);\n };\n /**\n * Set the ArtBox of this page. For example:\n * ```js\n * const artBox = page.getArtBox()\n *\n * page.setArtBox(0, 0, 250, 500)\n * page.setArtBox(artBox.x, artBox.y, 50, 100)\n * page.setArtBox(15, 5, artBox.width - 50, artBox.height - 100)\n * ```\n *\n * See [[PDFPage.getArtBox]] for details about what the ArtBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new ArtBox.\n * @param y The y coordinate of the lower left corner of the new ArtBox.\n * @param width The width of the new ArtBox.\n * @param height The height of the new ArtBox.\n */\n PDFPage.prototype.setArtBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var artBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].ArtBox, artBox);\n };\n /**\n * Get this page's width and height. For example:\n * ```js\n * const { width, height } = page.getSize()\n * ```\n *\n * This method uses [[PDFPage.getMediaBox]] to obtain the page's\n * width and height.\n *\n * @returns The width and height of the page.\n */\n PDFPage.prototype.getSize = function () {\n var _a = this.getMediaBox(), width = _a.width, height = _a.height;\n return { width: width, height: height };\n };\n /**\n * Get this page's width. For example:\n * ```js\n * const width = page.getWidth()\n * ```\n *\n * This method uses [[PDFPage.getSize]] to obtain the page's size.\n *\n * @returns The width of the page.\n */\n PDFPage.prototype.getWidth = function () {\n return this.getSize().width;\n };\n /**\n * Get this page's height. For example:\n * ```js\n * const height = page.getHeight()\n * ```\n *\n * This method uses [[PDFPage.getSize]] to obtain the page's size.\n *\n * @returns The height of the page.\n */\n PDFPage.prototype.getHeight = function () {\n return this.getSize().height;\n };\n /**\n * Get the rectangle defining this page's MediaBox. For example:\n * ```js\n * const { x, y, width, height } = page.getMediaBox()\n * ```\n *\n * The MediaBox of a page defines the boundaries of the physical medium on\n * which the page is to be displayed/printed. It may include extended area\n * surrounding the page content for bleed marks, printing marks, etc...\n * It may also include areas close to the edges of the medium that cannot be\n * marked because of physical limitations of the output device. Content\n * falling outside this boundary may safely be discarded without affecting\n * the meaning of the PDF file.\n *\n * @returns An object defining the lower left corner of the MediaBox and its\n * width & height.\n */\n PDFPage.prototype.getMediaBox = function () {\n var mediaBox = this.node.MediaBox();\n return mediaBox.asRectangle();\n };\n /**\n * Get the rectangle defining this page's CropBox. For example:\n * ```js\n * const { x, y, width, height } = page.getCropBox()\n * ```\n *\n * The CropBox of a page defines the region to which the contents of the page\n * shall be clipped when displayed or printed. Unlike the other boxes, the\n * CropBox does not necessarily represent the physical page geometry. It\n * merely imposes clipping on the page contents.\n *\n * The CropBox's default value is the page's MediaBox.\n *\n * @returns An object defining the lower left corner of the CropBox and its\n * width & height.\n */\n PDFPage.prototype.getCropBox = function () {\n var _a;\n var cropBox = this.node.CropBox();\n return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox();\n };\n /**\n * Get the rectangle defining this page's BleedBox. For example:\n * ```js\n * const { x, y, width, height } = page.getBleedBox()\n * ```\n *\n * The BleedBox of a page defines the region to which the contents of the\n * page shall be clipped when output in a production environment. This may\n * include any extra bleed area needed to accommodate the physical\n * limitations of cutting, folding, and trimming equipment. The actual\n * printed page may include printing marks that fall outside the BleedBox.\n *\n * The BleedBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the BleedBox and its\n * width & height.\n */\n PDFPage.prototype.getBleedBox = function () {\n var _a;\n var bleedBox = this.node.BleedBox();\n return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Get the rectangle defining this page's TrimBox. For example:\n * ```js\n * const { x, y, width, height } = page.getTrimBox()\n * ```\n *\n * The TrimBox of a page defines the intended dimensions of the finished\n * page after trimming. It may be smaller than the MediaBox to allow for\n * production-related content, such as printing instructions, cut marks, or\n * color bars.\n *\n * The TrimBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the TrimBox and its\n * width & height.\n */\n PDFPage.prototype.getTrimBox = function () {\n var _a;\n var trimBox = this.node.TrimBox();\n return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Get the rectangle defining this page's ArtBox. For example:\n * ```js\n * const { x, y, width, height } = page.getArtBox()\n * ```\n *\n * The ArtBox of a page defines the extent of the page's meaningful content\n * (including potential white space).\n *\n * The ArtBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the ArtBox and its\n * width & height.\n */\n PDFPage.prototype.getArtBox = function () {\n var _a;\n var artBox = this.node.ArtBox();\n return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Translate this page's content to a new location on the page. This operation\n * is often useful after resizing the page with [[setSize]]. For example:\n * ```js\n * // Add 50 units of whitespace to the top and right of the page\n * page.setSize(page.getWidth() + 50, page.getHeight() + 50)\n *\n * // Move the page's content from the lower-left corner of the page\n * // to the top-right corner.\n * page.translateContent(50, 50)\n *\n * // Now there are 50 units of whitespace to the left and bottom of the page\n * ```\n * See also: [[resetPosition]]\n * @param x The new position on the x-axis for this page's content.\n * @param y The new position on the y-axis for this page's content.\n */\n PDFPage.prototype.translateContent = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.node.normalize();\n this.getContentStream();\n var start = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"pushGraphicsState\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"translate\"])(x, y));\n var startRef = this.doc.context.register(start);\n var end = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"popGraphicsState\"])());\n var endRef = this.doc.context.register(end);\n this.node.wrapContentStreams(startRef, endRef);\n };\n /**\n * Scale the size, content, and annotations of a page.\n *\n * For example:\n * ```js\n * page.scale(0.5, 0.5);\n * ```\n *\n * @param x The factor by which the width for the page should be scaled\n * (e.g. `0.5` is 50%).\n * @param y The factor by which the height for the page should be scaled\n * (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scale = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.setSize(this.getWidth() * x, this.getHeight() * y);\n this.scaleContent(x, y);\n this.scaleAnnotations(x, y);\n };\n /**\n * Scale the content of a page. This is useful after resizing an existing\n * page. This scales only the content, not the annotations.\n *\n * For example:\n * ```js\n * // Bisect the size of the page\n * page.setSize(page.getWidth() / 2, page.getHeight() / 2);\n *\n * // Scale the content of the page down by 50% in x and y\n * page.scaleContent(0.5, 0.5);\n * ```\n * See also: [[scaleAnnotations]]\n * @param x The factor by which the x-axis for the content should be scaled\n * (e.g. `0.5` is 50%).\n * @param y The factor by which the y-axis for the content should be scaled\n * (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scaleContent = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.node.normalize();\n this.getContentStream();\n var start = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"pushGraphicsState\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"scale\"])(x, y));\n var startRef = this.doc.context.register(start);\n var end = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"popGraphicsState\"])());\n var endRef = this.doc.context.register(end);\n this.node.wrapContentStreams(startRef, endRef);\n };\n /**\n * Scale the annotations of a page. This is useful if you want to scale a\n * page with comments or other annotations.\n * ```js\n * // Scale the content of the page down by 50% in x and y\n * page.scaleContent(0.5, 0.5);\n *\n * // Scale the content of the page down by 50% in x and y\n * page.scaleAnnotations(0.5, 0.5);\n * ```\n * See also: [[scaleContent]]\n * @param x The factor by which the x-axis for the annotations should be\n * scaled (e.g. `0.5` is 50%).\n * @param y The factor by which the y-axis for the annotations should be\n * scaled (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scaleAnnotations = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n var annots = this.node.Annots();\n if (!annots)\n return;\n for (var idx = 0; idx < annots.size(); idx++) {\n var annot = annots.lookup(idx);\n if (annot instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFDict\"])\n this.scaleAnnot(annot, x, y);\n }\n };\n /**\n * Reset the x and y coordinates of this page to `(0, 0)`. This operation is\n * often useful after calling [[translateContent]]. For example:\n * ```js\n * // Shift the page's contents up and to the right by 50 units\n * page.translateContent(50, 50)\n *\n * // This text will shifted - it will be drawn at (50, 50)\n * page.drawText('I am shifted')\n *\n * // Move back to (0, 0)\n * page.resetPosition()\n *\n * // This text will not be shifted - it will be drawn at (0, 0)\n * page.drawText('I am not shifted')\n * ```\n */\n PDFPage.prototype.resetPosition = function () {\n this.getContentStream(false);\n this.x = 0;\n this.y = 0;\n };\n /**\n * Choose a default font for this page. The default font will be used whenever\n * text is drawn on this page and no font is specified. For example:\n * ```js\n * import { StandardFonts } from 'pdf-lib'\n *\n * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)\n * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const courierFont = await pdfDoc.embedFont(StandardFonts.Courier)\n *\n * const page = pdfDoc.addPage()\n *\n * page.setFont(helveticaFont)\n * page.drawText('I will be drawn in Helvetica')\n *\n * page.setFont(timesRomanFont)\n * page.drawText('I will be drawn in Courier', { font: courierFont })\n * ```\n * @param font The default font to be used when drawing text on this page.\n */\n PDFPage.prototype.setFont = function (font) {\n // TODO: Reuse image Font name if we've already added this image to Resources.Fonts\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_6__[\"default\"], 'PDFFont']]);\n this.font = font;\n this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref);\n };\n /**\n * Choose a default font size for this page. The default font size will be\n * used whenever text is drawn on this page and no font size is specified.\n * For example:\n * ```js\n * page.setFontSize(12)\n * page.drawText('I will be drawn in size 12')\n *\n * page.setFontSize(36)\n * page.drawText('I will be drawn in size 24', { fontSize: 24 })\n * ```\n * @param fontSize The default font size to be used when drawing text on this\n * page.\n */\n PDFPage.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(fontSize, 'fontSize', ['number']);\n this.fontSize = fontSize;\n };\n /**\n * Choose a default font color for this page. The default font color will be\n * used whenever text is drawn on this page and no font color is specified.\n * For example:\n * ```js\n * import { rgb, cmyk, grayscale } from 'pdf-lib'\n *\n * page.setFontColor(rgb(0.97, 0.02, 0.97))\n * page.drawText('I will be drawn in pink')\n *\n * page.setFontColor(cmyk(0.4, 0.7, 0.39, 0.15))\n * page.drawText('I will be drawn in gray', { color: grayscale(0.5) })\n * ```\n * @param fontColor The default font color to be used when drawing text on\n * this page.\n */\n PDFPage.prototype.setFontColor = function (fontColor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(fontColor, 'fontColor', [[Object, 'Color']]);\n this.fontColor = fontColor;\n };\n /**\n * Choose a default line height for this page. The default line height will be\n * used whenever text is drawn on this page and no line height is specified.\n * For example:\n * ```js\n * page.setLineHeight(12);\n * page.drawText('These lines will be vertically \\n separated by 12 units')\n *\n * page.setLineHeight(36);\n * page.drawText('These lines will be vertically \\n separated by 24 units', {\n * lineHeight: 24\n * })\n * ```\n * @param lineHeight The default line height to be used when drawing text on\n * this page.\n */\n PDFPage.prototype.setLineHeight = function (lineHeight) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(lineHeight, 'lineHeight', ['number']);\n this.lineHeight = lineHeight;\n };\n /**\n * Get the default position of this page. For example:\n * ```js\n * const { x, y } = page.getPosition()\n * ```\n * @returns The default position of the page.\n */\n PDFPage.prototype.getPosition = function () {\n return { x: this.x, y: this.y };\n };\n /**\n * Get the default x coordinate of this page. For example:\n * ```js\n * const x = page.getX()\n * ```\n * @returns The default x coordinate of the page.\n */\n PDFPage.prototype.getX = function () {\n return this.x;\n };\n /**\n * Get the default y coordinate of this page. For example:\n * ```js\n * const y = page.getY()\n * ```\n * @returns The default y coordinate of the page.\n */\n PDFPage.prototype.getY = function () {\n return this.y;\n };\n /**\n * Change the default position of this page. For example:\n * ```js\n * page.moveTo(0, 0)\n * page.drawText('I will be drawn at the origin')\n *\n * page.moveTo(0, 25)\n * page.drawText('I will be drawn 25 units up')\n *\n * page.moveTo(25, 25)\n * page.drawText('I will be drawn 25 units up and 25 units to the right')\n * ```\n * @param x The new default position on the x-axis for this page.\n * @param y The new default position on the y-axis for this page.\n */\n PDFPage.prototype.moveTo = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.x = x;\n this.y = y;\n };\n /**\n * Change the default position of this page to be further down the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveDown(10)\n * page.drawText('I will be drawn at (50, 40)')\n * ```\n * @param yDecrease The amount by which the page's default position along the\n * y-axis should be decreased.\n */\n PDFPage.prototype.moveDown = function (yDecrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(yDecrease, 'yDecrease', ['number']);\n this.y -= yDecrease;\n };\n /**\n * Change the default position of this page to be further up the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveUp(10)\n * page.drawText('I will be drawn at (50, 60)')\n * ```\n * @param yIncrease The amount by which the page's default position along the\n * y-axis should be increased.\n */\n PDFPage.prototype.moveUp = function (yIncrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(yIncrease, 'yIncrease', ['number']);\n this.y += yIncrease;\n };\n /**\n * Change the default position of this page to be further left on the x-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveLeft(10)\n * page.drawText('I will be drawn at (40, 50)')\n * ```\n * @param xDecrease The amount by which the page's default position along the\n * x-axis should be decreased.\n */\n PDFPage.prototype.moveLeft = function (xDecrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(xDecrease, 'xDecrease', ['number']);\n this.x -= xDecrease;\n };\n /**\n * Change the default position of this page to be further right on the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveRight(10)\n * page.drawText('I will be drawn at (60, 50)')\n * ```\n * @param xIncrease The amount by which the page's default position along the\n * x-axis should be increased.\n */\n PDFPage.prototype.moveRight = function (xIncrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(xIncrease, 'xIncrease', ['number']);\n this.x += xIncrease;\n };\n /**\n * Push one or more operators to the end of this page's current content\n * stream. For example:\n * ```js\n * import {\n * pushGraphicsState,\n * moveTo,\n * lineTo,\n * closePath,\n * setFillingColor,\n * rgb,\n * fill,\n * popGraphicsState,\n * } from 'pdf-lib'\n *\n * // Draw a green triangle in the lower-left corner of the page\n * page.pushOperators(\n * pushGraphicsState(),\n * moveTo(0, 0),\n * lineTo(100, 0),\n * lineTo(50, 100),\n * closePath(),\n * setFillingColor(rgb(0.0, 1.0, 0.0)),\n * fill(),\n * popGraphicsState(),\n * )\n * ```\n * @param operator The operators to be pushed.\n */\n PDFPage.prototype.pushOperators = function () {\n var operator = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operator[_i] = arguments[_i];\n }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertEachIs\"])(operator, 'operator', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFOperator\"], 'PDFOperator']]);\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, operator);\n };\n /**\n * Draw one or more lines of text on this page. For example:\n * ```js\n * import { StandardFonts, rgb } from 'pdf-lib'\n *\n * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)\n *\n * const page = pdfDoc.addPage()\n *\n * page.setFont(helveticaFont)\n *\n * page.moveTo(5, 200)\n * page.drawText('The Life of an Egg', { size: 36 })\n *\n * page.moveDown(36)\n * page.drawText('An Epic Tale of Woe', { size: 30 })\n *\n * page.drawText(\n * `Humpty Dumpty sat on a wall \\n` +\n * `Humpty Dumpty had a great fall; \\n` +\n * `All the king's horses and all the king's men \\n` +\n * `Couldn't put Humpty together again. \\n`,\n * {\n * x: 25,\n * y: 100,\n * font: timesRomanFont,\n * size: 24,\n * color: rgb(1, 0, 0),\n * lineHeight: 24,\n * opacity: 0.75,\n * },\n * )\n * ```\n * @param text The text to be drawn.\n * @param options The options to be used when drawing the text.\n */\n PDFPage.prototype.drawText = function (text, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.font, 'options.font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_6__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.size, 'options.size', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.lineHeight, 'options.lineHeight', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.maxWidth, 'options.maxWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.wordBreaks, 'options.wordBreaks', [Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey;\n var fontSize = options.size || this.fontSize;\n var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks;\n var textWidth = function (t) { return newFont.widthOfTextAtSize(t, fontSize); };\n var lines = options.maxWidth === undefined\n ? Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"lineSplit\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"cleanText\"])(text))\n : Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"breakTextIntoLines\"])(text, wordBreaks, options.maxWidth, textWidth);\n var encodedLines = new Array(lines.length);\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n encodedLines[idx] = newFont.encodeText(lines[idx]);\n }\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawLinesOfText\"])(encodedLines, {\n color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor,\n font: newFontKey,\n size: fontSize,\n rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x,\n y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y,\n lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight,\n graphicsState: graphicsStateKey,\n }));\n if (options.font) {\n if (oldFont)\n this.setFont(oldFont);\n else\n this.resetFont();\n }\n };\n /**\n * Draw an image on this page. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * const jpgUrl = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const jpgImageBytes = await fetch(jpgUrl).then((res) => res.arrayBuffer())\n *\n * const jpgImage = await pdfDoc.embedJpg(jpgImageBytes)\n * const jpgDims = jpgImage.scale(0.5)\n *\n * const page = pdfDoc.addPage()\n *\n * page.drawImage(jpgImage, {\n * x: 25,\n * y: 25,\n * width: jpgDims.width,\n * height: jpgDims.height,\n * rotate: degrees(30),\n * opacity: 0.75,\n * })\n * ```\n * @param image The image to be drawn.\n * @param options The options to be used when drawing the image.\n */\n PDFPage.prototype.drawImage = function (image, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options === void 0) { options = {}; }\n // TODO: Reuse image XObject name if we've already added this image to Resources.XObjects\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(image, 'image', [[_PDFImage__WEBPACK_IMPORTED_MODULE_7__[\"default\"], 'PDFImage']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var xObjectKey = this.node.newXObject('Image', image.ref);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawImage\"])(xObjectKey, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw an embedded PDF page on this page. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const page = pdfDoc.addPage()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n *\n * // Embed page 74 from the PDF\n * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, 73)\n *\n * page.drawPage(embeddedPage, {\n * x: 250,\n * y: 200,\n * xScale: 0.5,\n * yScale: 0.5,\n * rotate: degrees(30),\n * opacity: 0.75,\n * })\n * ```\n *\n * The `options` argument accepts both `width`/`height` and `xScale`/`yScale`\n * as options. Since each of these options defines the size of the drawn page,\n * if both options are given, `width` and `height` take precedence and the\n * corresponding scale variants are ignored.\n *\n * @param embeddedPage The embedded page to be drawn.\n * @param options The options to be used when drawing the embedded page.\n */\n PDFPage.prototype.drawPage = function (embeddedPage, options) {\n var _a, _b, _c, _d, _e;\n if (options === void 0) { options = {}; }\n // TODO: Reuse embeddedPage XObject name if we've already added this embeddedPage to Resources.XObjects\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(embeddedPage, 'embeddedPage', [\n [_PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFEmbeddedPage'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xScale, 'options.xScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.yScale, 'options.yScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var xObjectKey = this.node.newXObject('EmbeddedPdfPage', embeddedPage.ref);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n // prettier-ignore\n var xScale = (options.width !== undefined ? options.width / embeddedPage.width\n : options.xScale !== undefined ? options.xScale\n : 1);\n // prettier-ignore\n var yScale = (options.height !== undefined ? options.height / embeddedPage.height\n : options.yScale !== undefined ? options.yScale\n : 1);\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawPage\"])(xObjectKey, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n xScale: xScale,\n yScale: yScale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw an SVG path on this page. For example:\n * ```js\n * import { rgb } from 'pdf-lib'\n *\n * const svgPath = 'M 0,20 L 100,160 Q 130,200 150,120 C 190,-40 200,200 300,150 L 400,90'\n *\n * // Draw path as black line\n * page.drawSvgPath(svgPath, { x: 25, y: 75 })\n *\n * // Change border style and opacity\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 275,\n * borderColor: rgb(0.5, 0.5, 0.5),\n * borderWidth: 2,\n * borderOpacity: 0.75,\n * })\n *\n * // Set fill color and opacity\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 475,\n * color: rgb(1.0, 0, 0),\n * opacity: 0.75,\n * })\n *\n * // Draw 50% of original size\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 675,\n * scale: 0.5,\n * })\n * ```\n * @param path The SVG path to be drawn.\n * @param options The options to be used when drawing the SVG path.\n */\n PDFPage.prototype.drawSvgPath = function (path, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(path, 'path', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.scale, 'options.scale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawSvgPath\"])(path, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n scale: options.scale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n color: (_d = options.color) !== null && _d !== void 0 ? _d : undefined,\n borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : undefined,\n borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0,\n borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : undefined,\n borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : undefined,\n borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a line on this page. For example:\n * ```js\n * import { rgb } from 'pdf-lib'\n *\n * page.drawLine({\n * start: { x: 25, y: 75 },\n * end: { x: 125, y: 175 },\n * thickness: 2,\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the line.\n */\n PDFPage.prototype.drawLine = function (options) {\n var _a, _b, _c, _d, _e;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start, 'options.start', [\n [Object, '{ x: number, y: number }'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end, 'options.end', [\n [Object, '{ x: number, y: number }'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start.x, 'options.start.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start.y, 'options.start.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end.x, 'options.end.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end.y, 'options.end.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.thickness, 'options.thickness', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.dashArray, 'options.dashArray', [Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.dashPhase, 'options.dashPhase', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.lineCap, 'options.lineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n borderOpacity: options.opacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawLine\"])({\n start: options.start,\n end: options.end,\n thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1,\n color: (_b = options.color) !== null && _b !== void 0 ? _b : undefined,\n dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : undefined,\n dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : undefined,\n lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a rectangle on this page. For example:\n * ```js\n * import { degrees, grayscale, rgb } from 'pdf-lib'\n *\n * page.drawRectangle({\n * x: 25,\n * y: 75,\n * width: 250,\n * height: 75,\n * rotate: degrees(-15),\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the rectangle.\n */\n PDFPage.prototype.drawRectangle = function (options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawRectangle\"])({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 150,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 100,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0,\n color: (_j = options.color) !== null && _j !== void 0 ? _j : undefined,\n borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : undefined,\n borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : undefined,\n borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : undefined,\n graphicsState: graphicsStateKey,\n borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : undefined,\n }));\n };\n /**\n * Draw a square on this page. For example:\n * ```js\n * import { degrees, grayscale, rgb } from 'pdf-lib'\n *\n * page.drawSquare({\n * x: 25,\n * y: 75,\n * size: 100,\n * rotate: degrees(-15),\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the square.\n */\n PDFPage.prototype.drawSquare = function (options) {\n if (options === void 0) { options = {}; }\n var size = options.size;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(size, 'size', ['number']);\n this.drawRectangle(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { width: size, height: size }));\n };\n /**\n * Draw an ellipse on this page. For example:\n * ```js\n * import { grayscale, rgb } from 'pdf-lib'\n *\n * page.drawEllipse({\n * x: 200,\n * y: 75,\n * xScale: 100,\n * yScale: 50,\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the ellipse.\n */\n PDFPage.prototype.drawEllipse = function (options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xScale, 'options.xScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.yScale, 'options.yScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawEllipse\"])({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100,\n yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : undefined,\n color: (_f = options.color) !== null && _f !== void 0 ? _f : undefined,\n borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : undefined,\n borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0,\n borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : undefined,\n borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : undefined,\n borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a circle on this page. For example:\n * ```js\n * import { grayscale, rgb } from 'pdf-lib'\n *\n * page.drawCircle({\n * x: 200,\n * y: 150,\n * size: 100,\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the ellipse.\n */\n PDFPage.prototype.drawCircle = function (options) {\n if (options === void 0) { options = {}; }\n var _a = options.size, size = _a === void 0 ? 100 : _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(size, 'size', ['number']);\n this.drawEllipse(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { xScale: size, yScale: size }));\n };\n PDFPage.prototype.setOrEmbedFont = function (font) {\n var oldFont = this.font;\n var oldFontKey = this.fontKey;\n if (font)\n this.setFont(font);\n else\n this.getFont();\n var newFont = this.font;\n var newFontKey = this.fontKey;\n return { oldFont: oldFont, oldFontKey: oldFontKey, newFont: newFont, newFontKey: newFontKey };\n };\n PDFPage.prototype.getFont = function () {\n if (!this.font || !this.fontKey) {\n var font = this.doc.embedStandardFont(_StandardFonts__WEBPACK_IMPORTED_MODULE_10__[\"StandardFonts\"].Helvetica);\n this.setFont(font);\n }\n return [this.font, this.fontKey];\n };\n PDFPage.prototype.resetFont = function () {\n this.font = undefined;\n this.fontKey = undefined;\n };\n PDFPage.prototype.getContentStream = function (useExisting) {\n if (useExisting === void 0) { useExisting = true; }\n if (useExisting && this.contentStream)\n return this.contentStream;\n this.contentStream = this.createContentStream();\n this.contentStreamRef = this.doc.context.register(this.contentStream);\n this.node.addContentStream(this.contentStreamRef);\n return this.contentStream;\n };\n PDFPage.prototype.createContentStream = function () {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n var dict = this.doc.context.obj({});\n var contentStream = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFContentStream\"].of(dict, operators);\n return contentStream;\n };\n PDFPage.prototype.maybeEmbedGraphicsState = function (options) {\n var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode;\n if (opacity === undefined &&\n borderOpacity === undefined &&\n blendMode === undefined) {\n return undefined;\n }\n var graphicsState = this.doc.context.obj({\n Type: 'ExtGState',\n ca: opacity,\n CA: borderOpacity,\n BM: blendMode,\n });\n var key = this.node.newExtGState('GS', graphicsState);\n return key;\n };\n PDFPage.prototype.scaleAnnot = function (annot, x, y) {\n var selectors = ['RD', 'CL', 'Vertices', 'QuadPoints', 'L', 'Rect'];\n for (var idx = 0, len = selectors.length; idx < len; idx++) {\n var list = annot.lookup(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of(selectors[idx]));\n if (list instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"])\n list.scalePDFNumbers(x, y);\n }\n var inkLists = annot.lookup(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of('InkList'));\n if (inkLists instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"]) {\n for (var idx = 0, len = inkLists.size(); idx < len; idx++) {\n var arr = inkLists.lookup(idx);\n if (arr instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"])\n arr.scalePDFNumbers(x, y);\n }\n }\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]\n * > methods, which can create instances of [[PDFPage]] for you.\n *\n * Create an instance of [[PDFPage]] from an existing leaf node.\n *\n * @param leafNode The leaf node to be wrapped.\n * @param ref The unique reference for the page.\n * @param doc The document to which the page will belong.\n */\n PDFPage.of = function (leafNode, ref, doc) {\n return new PDFPage(leafNode, ref, doc);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]\n * > methods, which can create instances of [[PDFPage]] for you.\n *\n * Create an instance of [[PDFPage]].\n *\n * @param doc The document to which the page will belong.\n */\n PDFPage.create = function (doc) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 'PDFDocument']]);\n var dummyRef = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFRef\"].of(-1);\n var pageLeaf = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFPageLeaf\"].withContextAndParent(doc.context, dummyRef);\n var pageRef = doc.context.register(pageLeaf);\n return new PDFPage(pageLeaf, pageRef, doc);\n };\n return PDFPage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPage);\n//# sourceMappingURL=PDFPage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js ***! + \************************************************************************/ +/*! exports provided: BlendMode */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return BlendMode; });\nvar BlendMode;\n(function (BlendMode) {\n BlendMode[\"Normal\"] = \"Normal\";\n BlendMode[\"Multiply\"] = \"Multiply\";\n BlendMode[\"Screen\"] = \"Screen\";\n BlendMode[\"Overlay\"] = \"Overlay\";\n BlendMode[\"Darken\"] = \"Darken\";\n BlendMode[\"Lighten\"] = \"Lighten\";\n BlendMode[\"ColorDodge\"] = \"ColorDodge\";\n BlendMode[\"ColorBurn\"] = \"ColorBurn\";\n BlendMode[\"HardLight\"] = \"HardLight\";\n BlendMode[\"SoftLight\"] = \"SoftLight\";\n BlendMode[\"Difference\"] = \"Difference\";\n BlendMode[\"Exclusion\"] = \"Exclusion\";\n})(BlendMode || (BlendMode = {}));\n//# sourceMappingURL=PDFPageOptions.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js ***! + \***********************************************************************/ +/*! exports provided: StandardFonts */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return StandardFonts; });\nvar StandardFonts;\n(function (StandardFonts) {\n StandardFonts[\"Courier\"] = \"Courier\";\n StandardFonts[\"CourierBold\"] = \"Courier-Bold\";\n StandardFonts[\"CourierOblique\"] = \"Courier-Oblique\";\n StandardFonts[\"CourierBoldOblique\"] = \"Courier-BoldOblique\";\n StandardFonts[\"Helvetica\"] = \"Helvetica\";\n StandardFonts[\"HelveticaBold\"] = \"Helvetica-Bold\";\n StandardFonts[\"HelveticaOblique\"] = \"Helvetica-Oblique\";\n StandardFonts[\"HelveticaBoldOblique\"] = \"Helvetica-BoldOblique\";\n StandardFonts[\"TimesRoman\"] = \"Times-Roman\";\n StandardFonts[\"TimesRomanBold\"] = \"Times-Bold\";\n StandardFonts[\"TimesRomanItalic\"] = \"Times-Italic\";\n StandardFonts[\"TimesRomanBoldItalic\"] = \"Times-BoldItalic\";\n StandardFonts[\"Symbol\"] = \"Symbol\";\n StandardFonts[\"ZapfDingbats\"] = \"ZapfDingbats\";\n})(StandardFonts || (StandardFonts = {}));\n//# sourceMappingURL=StandardFonts.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/colors.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/colors.js ***! + \****************************************************************/ +/*! exports provided: ColorTypes, grayscale, rgb, cmyk, setFillingColor, setStrokingColor, componentsToColor, colorToComponents */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return ColorTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return grayscale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return rgb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return cmyk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return setFillingColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return setStrokingColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return componentsToColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return colorToComponents; });\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar ColorTypes;\n(function (ColorTypes) {\n ColorTypes[\"Grayscale\"] = \"Grayscale\";\n ColorTypes[\"RGB\"] = \"RGB\";\n ColorTypes[\"CMYK\"] = \"CMYK\";\n})(ColorTypes || (ColorTypes = {}));\nvar grayscale = function (gray) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(gray, 'gray', 0.0, 1.0);\n return { type: ColorTypes.Grayscale, gray: gray };\n};\nvar rgb = function (red, green, blue) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(red, 'red', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(green, 'green', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(blue, 'blue', 0, 1);\n return { type: ColorTypes.RGB, red: red, green: green, blue: blue };\n};\nvar cmyk = function (cyan, magenta, yellow, key) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(cyan, 'cyan', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(magenta, 'magenta', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(yellow, 'yellow', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(key, 'key', 0, 1);\n return { type: ColorTypes.CMYK, cyan: cyan, magenta: magenta, yellow: yellow, key: key };\n};\nvar Grayscale = ColorTypes.Grayscale, RGB = ColorTypes.RGB, CMYK = ColorTypes.CMYK;\n// prettier-ignore\nvar setFillingColor = function (color) {\n return color.type === Grayscale ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingGrayscaleColor\"])(color.gray)\n : color.type === RGB ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingRgbColor\"])(color.red, color.green, color.blue)\n : color.type === CMYK ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingCmykColor\"])(color.cyan, color.magenta, color.yellow, color.key)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n// prettier-ignore\nvar setStrokingColor = function (color) {\n return color.type === Grayscale ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingGrayscaleColor\"])(color.gray)\n : color.type === RGB ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingRgbColor\"])(color.red, color.green, color.blue)\n : color.type === CMYK ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingCmykColor\"])(color.cyan, color.magenta, color.yellow, color.key)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n// prettier-ignore\nvar componentsToColor = function (comps, scale) {\n if (scale === void 0) { scale = 1; }\n return ((comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale)\n : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale, comps[1] * scale, comps[2] * scale)\n : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale, comps[1] * scale, comps[2] * scale, comps[3] * scale)\n : undefined);\n};\n// prettier-ignore\nvar colorToComponents = function (color) {\n return color.type === Grayscale ? [color.gray]\n : color.type === RGB ? [color.red, color.green, color.blue]\n : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key]\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n//# sourceMappingURL=colors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/colors.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/errors.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/errors.js ***! + \****************************************************************/ +/*! exports provided: EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, NoSuchFieldError, UnexpectedFieldTypeError, MissingOnValueCheckError, FieldAlreadyExistsError, InvalidFieldNamePartError, FieldExistsAsNonTerminalError, RichTextFieldReadError, CombedTextLayoutError, ExceededMaxLengthError, InvalidMaxLengthError */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return EncryptedPDFError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return FontkitNotRegisteredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return ForeignPageError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return RemovePageFromEmptyDocumentError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return NoSuchFieldError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return UnexpectedFieldTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return MissingOnValueCheckError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return FieldAlreadyExistsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return InvalidFieldNamePartError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return FieldExistsAsNonTerminalError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return RichTextFieldReadError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return CombedTextLayoutError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return ExceededMaxLengthError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return InvalidMaxLengthError; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n// tslint:disable: max-classes-per-file\n\n// TODO: Include link to documentation with example\nvar EncryptedPDFError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EncryptedPDFError, _super);\n function EncryptedPDFError() {\n var _this = this;\n var msg = 'Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return EncryptedPDFError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar FontkitNotRegisteredError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FontkitNotRegisteredError, _super);\n function FontkitNotRegisteredError() {\n var _this = this;\n var msg = 'Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FontkitNotRegisteredError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar ForeignPageError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ForeignPageError, _super);\n function ForeignPageError() {\n var _this = this;\n var msg = 'A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ForeignPageError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar RemovePageFromEmptyDocumentError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RemovePageFromEmptyDocumentError, _super);\n function RemovePageFromEmptyDocumentError() {\n var _this = this;\n var msg = 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return RemovePageFromEmptyDocumentError;\n}(Error));\n\nvar NoSuchFieldError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NoSuchFieldError, _super);\n function NoSuchFieldError(name) {\n var _this = this;\n var msg = \"PDFDocument has no form field with the name \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return NoSuchFieldError;\n}(Error));\n\nvar UnexpectedFieldTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnexpectedFieldTypeError, _super);\n function UnexpectedFieldTypeError(name, expected, actual) {\n var _a, _b;\n var _this = this;\n var expectedType = expected === null || expected === void 0 ? void 0 : expected.name;\n var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual;\n var msg = \"Expected field \\\"\" + name + \"\\\" to be of type \" + expectedType + \", \" +\n (\"but it is actually of type \" + actualType);\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnexpectedFieldTypeError;\n}(Error));\n\nvar MissingOnValueCheckError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingOnValueCheckError, _super);\n function MissingOnValueCheckError(onValue) {\n var _this = this;\n var msg = \"Failed to select check box due to missing onValue: \\\"\" + onValue + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingOnValueCheckError;\n}(Error));\n\nvar FieldAlreadyExistsError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FieldAlreadyExistsError, _super);\n function FieldAlreadyExistsError(name) {\n var _this = this;\n var msg = \"A field already exists with the specified name: \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FieldAlreadyExistsError;\n}(Error));\n\nvar InvalidFieldNamePartError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidFieldNamePartError, _super);\n function InvalidFieldNamePartError(namePart) {\n var _this = this;\n var msg = \"Field name contains invalid component: \\\"\" + namePart + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidFieldNamePartError;\n}(Error));\n\nvar FieldExistsAsNonTerminalError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FieldExistsAsNonTerminalError, _super);\n function FieldExistsAsNonTerminalError(name) {\n var _this = this;\n var msg = \"A non-terminal field already exists with the specified name: \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FieldExistsAsNonTerminalError;\n}(Error));\n\nvar RichTextFieldReadError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RichTextFieldReadError, _super);\n function RichTextFieldReadError(fieldName) {\n var _this = this;\n var msg = \"Reading rich text fields is not supported: Attempted to read rich text field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return RichTextFieldReadError;\n}(Error));\n\nvar CombedTextLayoutError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CombedTextLayoutError, _super);\n function CombedTextLayoutError(lineLength, cellCount) {\n var _this = this;\n var msg = \"Failed to layout combed text as lineLength=\" + lineLength + \" is greater than cellCount=\" + cellCount;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return CombedTextLayoutError;\n}(Error));\n\nvar ExceededMaxLengthError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ExceededMaxLengthError, _super);\n function ExceededMaxLengthError(textLength, maxLength, name) {\n var _this = this;\n var msg = \"Attempted to set text with length=\" + textLength + \" for TextField with maxLength=\" + maxLength + \" and name=\" + name;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ExceededMaxLengthError;\n}(Error));\n\nvar InvalidMaxLengthError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidMaxLengthError, _super);\n function InvalidMaxLengthError(textLength, maxLength, name) {\n var _this = this;\n var msg = \"Attempted to set maxLength=\" + maxLength + \", which is less than \" + textLength + \", the length of this field's current value (name=\" + name + \")\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidMaxLengthError;\n}(Error));\n\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/errors.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _image_alignment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../image/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a button field of a [[PDFForm]].\n *\n * [[PDFButton]] fields are interactive controls that users can click with their\n * mouse. This type of [[PDFField]] is not stateful. The purpose of a button\n * is to perform an action when the user clicks on it, such as opening a print\n * modal or resetting the form. Buttons are typically rectangular in shape and\n * have a text label describing the action that they perform when clicked.\n */\nvar PDFButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFButton, _super);\n function PDFButton(acroPushButton, ref, doc) {\n var _this = _super.call(this, acroPushButton, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(acroPushButton, 'acroButton', [\n [_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFAcroPushButton\"], 'PDFAcroPushButton'],\n ]);\n _this.acroField = acroPushButton;\n return _this;\n }\n /**\n * Display an image inside the bounds of this button's widgets. For example:\n * ```js\n * const pngImage = await pdfDoc.embedPng(...)\n * const button = form.getButton('some.button.field')\n * button.setImage(pngImage, ImageAlignment.Center)\n * ```\n * This will update the appearances streams for each of this button's widgets.\n * @param image The image that should be displayed.\n * @param alignment The alignment of the image.\n */\n PDFButton.prototype.setImage = function (image, alignment) {\n if (alignment === void 0) { alignment = _image_alignment__WEBPACK_IMPORTED_MODULE_3__[\"ImageAlignment\"].Center; }\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var streamRef = this.createImageAppearanceStream(widget, image, alignment);\n this.updateWidgetAppearances(widget, { normal: streamRef });\n }\n this.markAsClean();\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this button. Font sizes may\n * be integer or floating point numbers. Supplying a negative font size will\n * cause this method to throw an error.\n *\n * For example:\n * ```js\n * const button = form.getButton('some.button.field')\n * button.setFontSize(4)\n * button.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFButton.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Show this button on the specified page with the given text. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const button = form.createButton('some.button.field')\n *\n * button.addToPage('Do Stuff', page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this button field.\n * @param text The text to be displayed for this button widget.\n * @param page The page to which this button widget should be added.\n * @param options The options to be used when adding this button widget.\n */\n PDFButton.prototype.addToPage = function (\n // TODO: This needs to be optional, e.g. for image buttons\n text, page, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"assertFieldAppearanceOptions\"])(options);\n // Create a widget for this button\n var widget = this.createWidget({\n x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2,\n y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2,\n width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100,\n height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50,\n textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : Object(_colors__WEBPACK_IMPORTED_MODULE_6__[\"rgb\"])(0, 0, 0),\n backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : Object(_colors__WEBPACK_IMPORTED_MODULE_6__[\"rgb\"])(0.75, 0.75, 0.75),\n borderColor: options === null || options === void 0 ? void 0 : options.borderColor,\n borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0,\n rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : Object(_rotations__WEBPACK_IMPORTED_MODULE_7__[\"degrees\"])(0),\n caption: text,\n hidden: options === null || options === void 0 ? void 0 : options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this button has been marked as dirty, or if any of this\n * button's widgets do not have an appearance stream. For example:\n * ```js\n * const button = form.getButton('some.button.field')\n * if (button.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this button needs an appearance update.\n */\n PDFButton.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this button's widgets using\n * the default appearance provider for buttons. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const button = form.getButton('some.button.field')\n * button.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFButton.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this button's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for buttons will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const button = form.getButton('some.button.field')\n * button.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return {\n * normal: drawButton(...),\n * down: drawButton(...),\n * }\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFButton.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n };\n PDFButton.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultButtonAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getButton]] method, which will create an\n * > instance of [[PDFButton]] for you.\n *\n * Create an instance of [[PDFButton]] from an existing acroPushButton and ref\n *\n * @param acroPushButton The underlying `PDFAcroPushButton` for this button.\n * @param ref The unique reference for this button.\n * @param doc The document to which this button will belong.\n */\n PDFButton.of = function (acroPushButton, ref, doc) { return new PDFButton(acroPushButton, ref, doc); };\n return PDFButton;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFButton);\n//# sourceMappingURL=PDFButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/**\n * Represents a check box field of a [[PDFForm]].\n *\n * [[PDFCheckBox]] fields are interactive boxes that users can click with their\n * mouse. This type of [[PDFField]] has two states: `on` and `off`. The purpose\n * of a check box is to enable users to select from one or more options, where\n * each option is represented by a single check box. Check boxes are typically\n * square in shape and display a check mark when they are in the `on` state.\n */\nvar PDFCheckBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCheckBox, _super);\n function PDFCheckBox(acroCheckBox, ref, doc) {\n var _this = _super.call(this, acroCheckBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(acroCheckBox, 'acroCheckBox', [\n [_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFAcroCheckBox\"], 'PDFAcroCheckBox'],\n ]);\n _this.acroField = acroCheckBox;\n return _this;\n }\n /**\n * Mark this check box. This operation is analogous to a human user clicking\n * a check box to fill it in a PDF reader. This method will update the\n * underlying state of the check box field to indicate it has been selected.\n * PDF libraries and readers will be able to extract this value from the\n * saved document and determine that it was selected.\n *\n * For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.check()\n * ```\n *\n * This method will mark this check box as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated appearance\n * streams will display a check mark inside the widgets of this check box\n * field.\n */\n PDFCheckBox.prototype.check = function () {\n var _a;\n var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes');\n this.markAsDirty();\n this.acroField.setValue(onValue);\n };\n /**\n * Clears this check box. This operation is analogous to a human user clicking\n * a check box to unmark it in a PDF reader. This method will update the\n * underlying state of the check box field to indicate it has been deselected.\n * PDF libraries and readers will be able to extract this value from the\n * saved document and determine that it was not selected.\n *\n * For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.uncheck()\n * ```\n *\n * This method will mark this check box as dirty. See [[PDFCheckBox.check]]\n * for more details about what this means.\n */\n PDFCheckBox.prototype.uncheck = function () {\n this.markAsDirty();\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n };\n /**\n * Returns `true` if this check box is selected (either by a human user via\n * a PDF reader, or else programmatically via software). For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * if (checkBox.isChecked()) console.log('check box is selected')\n * ```\n * @returns Whether or not this check box is selected.\n */\n PDFCheckBox.prototype.isChecked = function () {\n var onValue = this.acroField.getOnValue();\n return !!onValue && onValue === this.acroField.getValue();\n };\n /**\n * Show this check box on the specified page. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const checkBox = form.createCheckBox('some.checkBox.field')\n *\n * checkBox.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 25,\n * height: 25,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * })\n * ```\n * This will create a new widget for this check box field.\n * @param page The page to which this check box widget should be added.\n * @param options The options to be used when adding this check box widget.\n */\n PDFCheckBox.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this check box\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 50,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_4__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n widget.setAppearanceState(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n this.updateWidgetAppearance(widget, _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes'));\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if any of this check box's widgets do not have an\n * appearance stream for its current state. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * if (checkBox.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this check box needs an appearance update.\n */\n PDFCheckBox.prototype.needsAppearancesUpdate = function () {\n var _a;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getAppearanceState();\n var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (!(normal instanceof _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFDict\"]))\n return true;\n if (state && !normal.has(state))\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this check box's widgets using\n * the default appearance provider for check boxes. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.defaultUpdateAppearances()\n * ```\n */\n PDFCheckBox.prototype.defaultUpdateAppearances = function () {\n this.updateAppearances();\n };\n /**\n * Update the appearance streams for each of this check box's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for check boxs will be used. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.updateAppearances((field, widget) => {\n * ...\n * return {\n * normal: { on: drawCheckBox(...), off: drawCheckBox(...) },\n * down: { on: drawCheckBox(...), off: drawCheckBox(...) },\n * }\n * })\n * ```\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFCheckBox.prototype.updateAppearances = function (provider) {\n var _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes');\n if (!onValue)\n continue;\n this.updateWidgetAppearance(widget, onValue, provider);\n }\n this.markAsClean();\n };\n PDFCheckBox.prototype.updateWidgetAppearance = function (widget, onValue, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_2__[\"defaultCheckBoxAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_2__[\"normalizeAppearance\"])(apProvider(this, widget));\n this.updateOnOffWidgetAppearance(widget, onValue, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getCheckBox]] method, which will create an\n * > instance of [[PDFCheckBox]] for you.\n *\n * Create an instance of [[PDFCheckBox]] from an existing acroCheckBox and ref\n *\n * @param acroCheckBox The underlying `PDFAcroCheckBox` for this check box.\n * @param ref The unique reference for this check box.\n * @param doc The document to which this check box will belong.\n */\n PDFCheckBox.of = function (acroCheckBox, ref, doc) {\n return new PDFCheckBox(acroCheckBox, ref, doc);\n };\n return PDFCheckBox;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCheckBox);\n//# sourceMappingURL=PDFCheckBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Represents a dropdown field of a [[PDFForm]].\n *\n * [[PDFDropdown]] fields are interactive text boxes that display a single\n * element (the currently selected value). The purpose of a dropdown is to\n * enable users to select a single option from a set of possible options. Users\n * can click on a dropdown to view the full list of options it provides.\n * Clicking on an option in the list will cause it to be selected and displayed\n * in the dropdown's text box. Some dropdowns allow users to enter text\n * directly into the box from their keyboard, rather than only being allowed to\n * choose an option from the list (see [[PDFDropdown.isEditable]]).\n */\nvar PDFDropdown = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFDropdown, _super);\n function PDFDropdown(acroComboBox, ref, doc) {\n var _this = _super.call(this, acroComboBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(acroComboBox, 'acroComboBox', [\n [_core__WEBPACK_IMPORTED_MODULE_7__[\"PDFAcroComboBox\"], 'PDFAcroComboBox'],\n ]);\n _this.acroField = acroComboBox;\n return _this;\n }\n /**\n * Get the list of available options for this dropdown. These options will be\n * displayed to users who click on this dropdown in a PDF reader.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * const options = dropdown.getOptions()\n * console.log('Dropdown options:', options)\n * ```\n * @returns The options for this dropdown.\n */\n PDFDropdown.prototype.getOptions = function () {\n var rawOptions = this.acroField.getOptions();\n var options = new Array(rawOptions.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = rawOptions[idx], display = _a.display, value = _a.value;\n options[idx] = (display !== null && display !== void 0 ? display : value).decodeText();\n }\n return options;\n };\n /**\n * Get the selected options for this dropdown. These are the values that were\n * selected by a human user via a PDF reader, or programatically via\n * software.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * const selections = dropdown.getSelected()\n * console.log('Dropdown selections:', selections)\n * ```\n * > **NOTE:** Note that PDF readers only display one selected option when\n * > rendering dropdowns. However, the PDF specification does allow for\n * > multiple values to be selected in a dropdown. As such, the `pdf-lib`\n * > API supports this. However, in most cases the array returned by this\n * > method will contain only a single element (or no elements).\n * @returns The selected options in this dropdown.\n */\n PDFDropdown.prototype.getSelected = function () {\n var values = this.acroField.getValues();\n var selected = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n selected[idx] = values[idx].decodeText();\n }\n return selected;\n };\n /**\n * Set the list of options that are available for this dropdown. These are\n * the values that will be available for users to select when they view this\n * dropdown in a PDF reader. Note that preexisting options for this dropdown\n * will be removed. Only the values passed as `options` will be available to\n * select.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('planets.dropdown')\n * dropdown.setOptions(['Earth', 'Mars', 'Pluto', 'Venus'])\n * ```\n * @param options The options that should be available in this dropdown.\n */\n PDFDropdown.prototype.setOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', [Array]);\n var optionObjects = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n optionObjects[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(options[idx]) };\n }\n this.acroField.setOptions(optionObjects);\n };\n /**\n * Add to the list of options that are available for this dropdown. Users\n * will be able to select these values in a PDF reader. In addition to the\n * values passed as `options`, any preexisting options for this dropdown will\n * still be available for users to select.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('rockets.dropdown')\n * dropdown.addOptions(['Saturn IV', 'Falcon Heavy'])\n * ```\n * @param options New options that should be available in this dropdown.\n */\n PDFDropdown.prototype.addOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n var optionsArr = Array.isArray(options) ? options : [options];\n var existingOptions = this.acroField.getOptions();\n var newOptions = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n newOptions[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]) };\n }\n this.acroField.setOptions(existingOptions.concat(newOptions));\n };\n /**\n * Select one or more values for this dropdown. This operation is analogous\n * to a human user opening the dropdown in a PDF reader and clicking on a\n * value to select it. This method will update the underlying state of the\n * dropdown to indicate which values have been selected. PDF libraries and\n * readers will be able to extract these values from the saved document and\n * determine which values were selected.\n *\n * For example:\n * ```js\n * const dropdown = form.getDropdown('best.superhero.dropdown')\n * dropdown.select('One Punch Man')\n * ```\n *\n * This method will mark this dropdown as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the selected option inside the widgets of this dropdown.\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if the selected option for this field\n * contains characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFDropdown.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * Selecting an option that does not exist in this dropdown's option list\n * (see [[PDFDropdown.getOptions]]) will enable editing on this dropdown\n * (see [[PDFDropdown.enableEditing]]).\n *\n * > **NOTE:** PDF readers only display one selected option when rendering\n * > dropdowns. However, the PDF specification does allow for multiple values\n * > to be selected in a dropdown. As such, the `pdf-lib` API supports this.\n * > However, it is not recommended to select more than one value with this\n * > method, as only one will be visible. [[PDFOptionList]] fields are better\n * > suited for displaying multiple selected values.\n *\n * @param options The options to be selected.\n * @param merge Whether or not existing selections should be preserved.\n */\n PDFDropdown.prototype.select = function (options, merge) {\n if (merge === void 0) { merge = false; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(merge, 'merge', ['boolean']);\n var optionsArr = Array.isArray(options) ? options : [options];\n var validOptions = this.getOptions();\n var hasCustomOption = optionsArr.find(function (option) { return !validOptions.includes(option); });\n if (hasCustomOption)\n this.enableEditing();\n this.markAsDirty();\n if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) {\n this.enableMultiselect();\n }\n var values = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n values[idx] = _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]);\n }\n if (merge) {\n var existingValues = this.acroField.getValues();\n this.acroField.setValues(existingValues.concat(values));\n }\n else {\n this.acroField.setValues(values);\n }\n };\n /**\n * Clear all selected values for this dropdown. This operation is equivalent\n * to selecting an empty list. This method will update the underlying state\n * of the dropdown to indicate that no values have been selected.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.clear()\n * ```\n * This method will mark this text field as dirty. See [[PDFDropdown.select]]\n * for more details about what this means.\n */\n PDFDropdown.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValues([]);\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this dropdown. Font sizes may\n * be integer or floating point numbers. Supplying a negative font size will\n * cause this method to throw an error.\n *\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.setFontSize(4)\n * dropdown.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFDropdown.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if users are allowed to edit the selected value of this\n * dropdown directly and are not constrained by the list of available\n * options. See [[PDFDropdown.enableEditing]] and\n * [[PDFDropdown.disableEditing]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isEditable()) console.log('Editing is enabled')\n * ```\n * @returns Whether or not this dropdown is editable.\n */\n PDFDropdown.prototype.isEditable = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit);\n };\n /**\n * Allow users to edit the selected value of this dropdown in PDF readers\n * with their keyboard. This means that the selected value of this dropdown\n * will not be constrained by the list of available options. However, if this\n * dropdown has any available options, users will still be allowed to select\n * from that list.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableEditing()\n * ```\n */\n PDFDropdown.prototype.enableEditing = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit, true);\n };\n /**\n * Do not allow users to edit the selected value of this dropdown in PDF\n * readers with their keyboard. This will constrain the selected value of\n * this dropdown to the list of available options. Users will only be able\n * to select an option from that list.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableEditing()\n * ```\n */\n PDFDropdown.prototype.disableEditing = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit, false);\n };\n /**\n * Returns `true` if the option list of this dropdown is always displayed\n * in alphabetical order, irrespective of the order in which the options\n * were added to the dropdown. See [[PDFDropdown.enableSorting]] and\n * [[PDFDropdown.disableSorting]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSorted()) console.log('Sorting is enabled')\n * ```\n * @returns Whether or not this dropdown's options are sorted.\n */\n PDFDropdown.prototype.isSorted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort);\n };\n /**\n * Always display the option list of this dropdown in alphabetical order,\n * irrespective of the order in which the options were added to this dropdown.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSorting()\n * ```\n */\n PDFDropdown.prototype.enableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, true);\n };\n /**\n * Do not always display the option list of this dropdown in alphabetical\n * order. Instead, display the options in whichever order they were added\n * to the list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSorting()\n * ```\n */\n PDFDropdown.prototype.disableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, false);\n };\n /**\n * Returns `true` if multiple options can be selected from this dropdown's\n * option list. See [[PDFDropdown.enableMultiselect]] and\n * [[PDFDropdown.disableMultiselect]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isMultiselect()) console.log('Multiselect is enabled')\n * ```\n * @returns Whether or not multiple options can be selected.\n */\n PDFDropdown.prototype.isMultiselect = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect);\n };\n /**\n * Allow users to select more than one option from this dropdown's option\n * list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableMultiselect()\n * ```\n */\n PDFDropdown.prototype.enableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, true);\n };\n /**\n * Do not allow users to select more than one option from this dropdown's\n * option list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableMultiselect()\n * ```\n */\n PDFDropdown.prototype.disableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, false);\n };\n /**\n * Returns `true` if the selected option should be spell checked by PDF\n * readers. Spell checking will only be performed if this dropdown allows\n * editing (see [[PDFDropdown.isEditable]]). See\n * [[PDFDropdown.enableSpellChecking]] and\n * [[PDFDropdown.disableSpellChecking]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSpellChecked()) console.log('Spell checking is enabled')\n * ```\n * @returns Whether or not this dropdown can be spell checked.\n */\n PDFDropdown.prototype.isSpellChecked = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck);\n };\n /**\n * Allow PDF readers to spell check the selected option of this dropdown.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSpellChecking()\n * ```\n */\n PDFDropdown.prototype.enableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck, false);\n };\n /**\n * Do not allow PDF readers to spell check the selected option of this\n * dropdown. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSpellChecking()\n * ```\n */\n PDFDropdown.prototype.disableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck, true);\n };\n /**\n * Returns `true` if the option selected by a user is stored, or \"committed\",\n * when the user clicks the option. The alternative is that the user's\n * selection is stored when the user leaves this dropdown field (by clicking\n * outside of it - on another field, for example). See\n * [[PDFDropdown.enableSelectOnClick]] and\n * [[PDFDropdown.disableSelectOnClick]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSelectOnClick()) console.log('Select on click is enabled')\n * ```\n * @returns Whether or not options are selected immediately after they are\n * clicked.\n */\n PDFDropdown.prototype.isSelectOnClick = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange);\n };\n /**\n * Store the option selected by a user immediately after the user clicks the\n * option. Do not wait for the user to leave this dropdown field (by clicking\n * outside of it - on another field, for example). For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSelectOnClick()\n * ```\n */\n PDFDropdown.prototype.enableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, true);\n };\n /**\n * Wait to store the option selected by a user until they leave this dropdown\n * field (by clicking outside of it - on another field, for example).\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSelectOnClick()\n * ```\n */\n PDFDropdown.prototype.disableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, false);\n };\n /**\n * Show this dropdown on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const dropdown = form.createDropdown('best.gundam')\n * dropdown.setOptions(['Exia', 'Dynames'])\n * dropdown.select('Exia')\n *\n * dropdown.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this dropdown field.\n * @param page The page to which this dropdown widget should be added.\n * @param options The options to be used when adding this dropdown widget.\n */\n PDFDropdown.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this dropdown\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this dropdown has been marked as dirty, or if any of\n * this dropdown's widgets do not have an appearance stream. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this dropdown needs an appearance update.\n */\n PDFDropdown.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this dropdown's widgets using\n * the default appearance provider for dropdowns. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFDropdown.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this dropdown's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for dropdowns will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawTextField(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFDropdown.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n // getOption(index: number): string {}\n // getSelectedIndices(): number[] {}\n // removeOptions(option: string | string[]) {}\n // removeIndices(option: number[]) {}\n // deselect(options: string | string[]) {}\n // deselectIndices(optionIndices: number[]) {}\n PDFDropdown.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultDropdownAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getDropdown]] method, which will create an\n * > instance of [[PDFDropdown]] for you.\n *\n * Create an instance of [[PDFDropdown]] from an existing acroComboBox and ref\n *\n * @param acroComboBox The underlying `PDFAcroComboBox` for this dropdown.\n * @param ref The unique reference for this dropdown.\n * @param doc The document to which this dropdown will belong.\n */\n PDFDropdown.of = function (acroComboBox, ref, doc) {\n return new PDFDropdown(acroComboBox, ref, doc);\n };\n return PDFDropdown;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDropdown);\n//# sourceMappingURL=PDFDropdown.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js": +/*!***********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js ***! + \***********************************************************************/ +/*! exports provided: assertFieldAppearanceOptions, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertFieldAppearanceOptions\", function() { return assertFieldAppearanceOptions; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../image */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n\n\n\n\n\n\n\n\nvar assertFieldAppearanceOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.textColor, 'options.textColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.backgroundColor, 'options.backgroundColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n};\n/**\n * Represents a field of a [[PDFForm]].\n *\n * This class is effectively abstract. All fields in a [[PDFForm]] will\n * actually be an instance of a subclass of this class.\n *\n * Note that each field in a PDF is represented by a single field object.\n * However, a given field object may be rendered at multiple locations within\n * the document (across one or more pages). The rendering of a field is\n * controlled by its widgets. Each widget causes its field to be displayed at a\n * particular location in the document.\n *\n * Most of the time each field in a PDF has only a single widget, and thus is\n * only rendered once. However, if a field is rendered multiple times, it will\n * have multiple widgets - one for each location it is rendered.\n *\n * This abstraction of field objects and widgets is defined in the PDF\n * specification and dictates how PDF files store fields and where they are\n * to be rendered.\n */\nvar PDFField = /** @class */ (function () {\n function PDFField(acroField, ref, doc) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(acroField, 'acroField', [[_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFAcroTerminal\"], 'PDFAcroTerminal']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n this.acroField = acroField;\n this.ref = ref;\n this.doc = doc;\n }\n /**\n * Get the fully qualified name of this field. For example:\n * ```js\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const name = field.getName()\n * console.log('Field name:', name)\n * })\n * ```\n * Note that PDF fields are structured as a tree. Each field is the\n * descendent of a series of ancestor nodes all the way up to the form node,\n * which is always the root of the tree. Each node in the tree (except for\n * the form node) has a partial name. Partial names can be composed of any\n * unicode characters except a period (`.`). The fully qualified name of a\n * field is composed of the partial names of all its ancestors joined\n * with periods. This means that splitting the fully qualified name on\n * periods and taking the last element of the resulting array will give you\n * the partial name of a specific field.\n * @returns The fully qualified name of this field.\n */\n PDFField.prototype.getName = function () {\n var _a;\n return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : '';\n };\n /**\n * Returns `true` if this field is read only. This means that PDF readers\n * will not allow users to interact with the field or change its value. See\n * [[PDFField.enableReadOnly]] and [[PDFField.disableReadOnly]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isReadOnly()) console.log('Read only is enabled')\n * ```\n * @returns Whether or not this is a read only field.\n */\n PDFField.prototype.isReadOnly = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly);\n };\n /**\n * Prevent PDF readers from allowing users to interact with this field or\n * change its value. The field will not respond to mouse or keyboard input.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableReadOnly()\n * ```\n * Useful for fields whose values are computed, imported from a database, or\n * prefilled by software before being displayed to the user.\n */\n PDFField.prototype.enableReadOnly = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly, true);\n };\n /**\n * Allow users to interact with this field and change its value in PDF\n * readers via mouse and keyboard input. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableReadOnly()\n * ```\n */\n PDFField.prototype.disableReadOnly = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly, false);\n };\n /**\n * Returns `true` if this field must have a value when the form is submitted.\n * See [[PDFField.enableRequired]] and [[PDFField.disableRequired]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isRequired()) console.log('Field is required')\n * ```\n * @returns Whether or not this field is required.\n */\n PDFField.prototype.isRequired = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required);\n };\n /**\n * Require this field to have a value when the form is submitted.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableRequired()\n * ```\n */\n PDFField.prototype.enableRequired = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required, true);\n };\n /**\n * Do not require this field to have a value when the form is submitted.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableRequired()\n * ```\n */\n PDFField.prototype.disableRequired = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required, false);\n };\n /**\n * Returns `true` if this field's value should be exported when the form is\n * submitted. See [[PDFField.enableExporting]] and\n * [[PDFField.disableExporting]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isExported()) console.log('Exporting is enabled')\n * ```\n * @returns Whether or not this field's value should be exported.\n */\n PDFField.prototype.isExported = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport);\n };\n /**\n * Indicate that this field's value should be exported when the form is\n * submitted in a PDF reader. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableExporting()\n * ```\n */\n PDFField.prototype.enableExporting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport, false);\n };\n /**\n * Indicate that this field's value should **not** be exported when the form\n * is submitted in a PDF reader. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableExporting()\n * ```\n */\n PDFField.prototype.disableExporting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport, true);\n };\n /** @ignore */\n PDFField.prototype.needsAppearancesUpdate = function () {\n throw new _core__WEBPACK_IMPORTED_MODULE_4__[\"MethodNotImplementedError\"](this.constructor.name, 'needsAppearancesUpdate');\n };\n /** @ignore */\n PDFField.prototype.defaultUpdateAppearances = function (_font) {\n throw new _core__WEBPACK_IMPORTED_MODULE_4__[\"MethodNotImplementedError\"](this.constructor.name, 'defaultUpdateAppearances');\n };\n PDFField.prototype.markAsDirty = function () {\n this.doc.getForm().markFieldAsDirty(this.ref);\n };\n PDFField.prototype.markAsClean = function () {\n this.doc.getForm().markFieldAsClean(this.ref);\n };\n PDFField.prototype.isDirty = function () {\n return this.doc.getForm().fieldIsDirty(this.ref);\n };\n PDFField.prototype.createWidget = function (options) {\n var _a;\n var textColor = options.textColor;\n var backgroundColor = options.backgroundColor;\n var borderColor = options.borderColor;\n var borderWidth = options.borderWidth;\n var degreesAngle = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toDegrees\"])(options.rotate);\n var caption = options.caption;\n var x = options.x;\n var y = options.y;\n var width = options.width + borderWidth;\n var height = options.height + borderWidth;\n var hidden = Boolean(options.hidden);\n var pageRef = options.page;\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertMultiple\"])(degreesAngle, 'degreesAngle', 90);\n // Create a widget for this field\n var widget = _core__WEBPACK_IMPORTED_MODULE_4__[\"PDFWidgetAnnotation\"].create(this.doc.context, this.ref);\n // Set widget properties\n var rect = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"rotateRectangle\"])({ x: x, y: y, width: width, height: height }, borderWidth, degreesAngle);\n widget.setRectangle(rect);\n if (pageRef)\n widget.setP(pageRef);\n var ac = widget.getOrCreateAppearanceCharacteristics();\n if (backgroundColor) {\n ac.setBackgroundColor(Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"])(backgroundColor));\n }\n ac.setRotation(degreesAngle);\n if (caption)\n ac.setCaptions({ normal: caption });\n if (borderColor)\n ac.setBorderColor(Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"])(borderColor));\n var bs = widget.getOrCreateBorderStyle();\n if (borderWidth !== undefined)\n bs.setWidth(borderWidth);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Print, true);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Hidden, hidden);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Invisible, false);\n // Set acrofield properties\n if (textColor) {\n var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var newDa = da + '\\n' + Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"])(textColor).toString();\n this.acroField.setDefaultAppearance(newDa);\n }\n return widget;\n };\n PDFField.prototype.updateWidgetAppearanceWithFont = function (widget, font, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n this.updateWidgetAppearances(widget, {\n normal: this.createAppearanceStream(widget, normal, font),\n rollover: rollover && this.createAppearanceStream(widget, rollover, font),\n down: down && this.createAppearanceStream(widget, down, font),\n });\n };\n PDFField.prototype.updateOnOffWidgetAppearance = function (widget, onValue, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n this.updateWidgetAppearances(widget, {\n normal: this.createAppearanceDict(widget, normal, onValue),\n rollover: rollover && this.createAppearanceDict(widget, rollover, onValue),\n down: down && this.createAppearanceDict(widget, down, onValue),\n });\n };\n PDFField.prototype.updateWidgetAppearances = function (widget, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n widget.setNormalAppearance(normal);\n if (rollover) {\n widget.setRolloverAppearance(rollover);\n }\n else {\n widget.removeRolloverAppearance();\n }\n if (down) {\n widget.setDownAppearance(down);\n }\n else {\n widget.removeDownAppearance();\n }\n };\n // // TODO: Do we need to do this...?\n // private foo(font: PDFFont, dict: PDFDict) {\n // if (!dict.lookup(PDFName.of('DR'))) {\n // dict.set(PDFName.of('DR'), dict.context.obj({}));\n // }\n // const DR = dict.lookup(PDFName.of('DR'), PDFDict);\n // if (!DR.lookup(PDFName.of('Font'))) {\n // DR.set(PDFName.of('Font'), dict.context.obj({}));\n // }\n // const Font = DR.lookup(PDFName.of('Font'), PDFDict);\n // Font.set(PDFName.of(font.name), font.ref);\n // }\n PDFField.prototype.createAppearanceStream = function (widget, appearance, font) {\n var _a;\n var context = this.acroField.dict.context;\n var _b = widget.getRectangle(), width = _b.width, height = _b.height;\n // TODO: Do we need to do this...?\n // if (font) {\n // this.foo(font, widget.dict);\n // this.foo(font, this.doc.getForm().acroForm.dict);\n // }\n // END TODO\n var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) };\n var stream = context.formXObject(appearance, {\n Resources: Resources,\n BBox: context.obj([0, 0, width, height]),\n Matrix: context.obj([1, 0, 0, 1, 0, 0]),\n });\n var streamRef = context.register(stream);\n return streamRef;\n };\n /**\n * Create a FormXObject of the supplied image and add it to context.\n * The FormXObject size is calculated based on the widget (including\n * the alignment).\n * @param widget The widget that should display the image.\n * @param alignment The alignment of the image.\n * @param image The image that should be displayed.\n * @returns The ref for the FormXObject that was added to the context.\n */\n PDFField.prototype.createImageAppearanceStream = function (widget, image, alignment) {\n // NOTE: This implementation doesn't handle image borders.\n // NOTE: Acrobat seems to resize the image (maybe even skewing its aspect\n // ratio) to fit perfectly within the widget's rectangle. This method\n // does not currently do that. Should there be an option for that?\n var _a;\n var _b;\n var context = this.acroField.dict.context;\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_7__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var adj = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation);\n var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2);\n // Support borders on images and maybe other properties\n var options = {\n x: borderWidth,\n y: borderWidth,\n width: imageDims.width,\n height: imageDims.height,\n //\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n };\n if (alignment === _image__WEBPACK_IMPORTED_MODULE_6__[\"ImageAlignment\"].Center) {\n options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2;\n options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2;\n }\n else if (alignment === _image__WEBPACK_IMPORTED_MODULE_6__[\"ImageAlignment\"].Right) {\n options.x = adj.width - borderWidth - imageDims.width;\n options.y = adj.height - borderWidth - imageDims.height;\n }\n var imageName = this.doc.context.addRandomSuffix('Image', 10);\n var appearance = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_7__[\"drawImage\"])(imageName, options));\n ////////////\n var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) };\n var stream = context.formXObject(appearance, {\n Resources: Resources,\n BBox: context.obj([0, 0, rectangle.width, rectangle.height]),\n Matrix: context.obj([1, 0, 0, 1, 0, 0]),\n });\n return context.register(stream);\n };\n PDFField.prototype.createAppearanceDict = function (widget, appearance, onValue) {\n var context = this.acroField.dict.context;\n var onStreamRef = this.createAppearanceStream(widget, appearance.on);\n var offStreamRef = this.createAppearanceStream(widget, appearance.off);\n var appearanceDict = context.obj({});\n appearanceDict.set(onValue, onStreamRef);\n appearanceDict.set(_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFName\"].of('Off'), offStreamRef);\n return appearanceDict;\n };\n return PDFField;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFField);\n//# sourceMappingURL=PDFField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _PDFButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFButton */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js\");\n/* harmony import */ var _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js\");\n/* harmony import */ var _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFDropdown */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js\");\n/* harmony import */ var _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFOptionList */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js\");\n/* harmony import */ var _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFRadioGroup */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js\");\n/* harmony import */ var _PDFSignature__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js\");\n/* harmony import */ var _PDFTextField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFTextField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents the interactive form of a [[PDFDocument]].\n *\n * Interactive forms (sometimes called _AcroForms_) are collections of fields\n * designed to gather information from a user. A PDF document may contains any\n * number of fields that appear on various pages, all of which make up a single,\n * global interactive form spanning the entire document. This means that\n * instances of [[PDFDocument]] shall contain at most one [[PDFForm]].\n *\n * The fields of an interactive form are represented by [[PDFField]] instances.\n */\nvar PDFForm = /** @class */ (function () {\n function PDFForm(acroForm, doc) {\n var _this = this;\n this.embedDefaultFont = function () {\n return _this.doc.embedStandardFont(_StandardFonts__WEBPACK_IMPORTED_MODULE_11__[\"StandardFonts\"].Helvetica);\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(acroForm, 'acroForm', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroForm\"], 'PDFAcroForm']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n this.acroForm = acroForm;\n this.doc = doc;\n this.dirtyFields = new Set();\n this.defaultFontCache = _utils__WEBPACK_IMPORTED_MODULE_15__[\"Cache\"].populatedBy(this.embedDefaultFont);\n }\n /**\n * Returns `true` if this [[PDFForm]] has XFA data. Most PDFs with form\n * fields do not use XFA as it is not widely supported by PDF readers.\n *\n * > `pdf-lib` does not support creation, modification, or reading of XFA\n * > fields.\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * if (form.hasXFA()) console.log('PDF has XFA data')\n * ```\n * @returns Whether or not this form has XFA data.\n */\n PDFForm.prototype.hasXFA = function () {\n return this.acroForm.dict.has(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('XFA'));\n };\n /**\n * Disconnect the XFA data from this [[PDFForm]] (if any exists). This will\n * force readers to fallback to standard fields if the [[PDFDocument]]\n * contains any. For example:\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * form.deleteXFA()\n * ```\n */\n PDFForm.prototype.deleteXFA = function () {\n this.acroForm.dict.delete(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('XFA'));\n };\n /**\n * Get all fields contained in this [[PDFForm]]. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const type = field.constructor.name\n * const name = field.getName()\n * console.log(`${type}: ${name}`)\n * })\n * ```\n * @returns An array of all fields in this form.\n */\n PDFForm.prototype.getFields = function () {\n var allFields = this.acroForm.getAllFields();\n var fields = [];\n for (var idx = 0, len = allFields.length; idx < len; idx++) {\n var _a = allFields[idx], acroField = _a[0], ref = _a[1];\n var field = convertToPDFField(acroField, ref, this.doc);\n if (field)\n fields.push(field);\n }\n return fields;\n };\n /**\n * Get the field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getFieldMaybe('Page1.Foo.Bar[0]')\n * if (field) console.log('Field exists!')\n * ```\n * @param name A fully qualified field name.\n * @returns The field with the specified name, if one exists.\n */\n PDFForm.prototype.getFieldMaybe = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var fields = this.getFields();\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n if (field.getName() === name)\n return field;\n }\n return undefined;\n };\n /**\n * Get the field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('Page1.Foo.Bar[0]')\n * ```\n * If no field exists with the provided name, an error will be thrown.\n * @param name A fully qualified field name.\n * @returns The field with the specified name.\n */\n PDFForm.prototype.getField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getFieldMaybe(name);\n if (field)\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"NoSuchFieldError\"](name);\n };\n /**\n * Get the button field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const button = form.getButton('Page1.Foo.Button[0]')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a button.\n * @param name A fully qualified button name.\n * @returns The button with the specified name.\n */\n PDFForm.prototype.getButton = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], field);\n };\n /**\n * Get the check box field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const checkBox = form.getCheckBox('Page1.Foo.CheckBox[0]')\n * checkBox.check()\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a check box.\n * @param name A fully qualified check box name.\n * @returns The check box with the specified name.\n */\n PDFForm.prototype.getCheckBox = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"], field);\n };\n /**\n * Get the dropdown field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const dropdown = form.getDropdown('Page1.Foo.Dropdown[0]')\n * const options = dropdown.getOptions()\n * dropdown.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a dropdown.\n * @param name A fully qualified dropdown name.\n * @returns The dropdown with the specified name.\n */\n PDFForm.prototype.getDropdown = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"], field);\n };\n /**\n * Get the option list field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const optionList = form.getOptionList('Page1.Foo.OptionList[0]')\n * const options = optionList.getOptions()\n * optionList.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not an option list.\n * @param name A fully qualified option list name.\n * @returns The option list with the specified name.\n */\n PDFForm.prototype.getOptionList = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"], field);\n };\n /**\n * Get the radio group field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const radioGroup = form.getRadioGroup('Page1.Foo.RadioGroup[0]')\n * const options = radioGroup.getOptions()\n * radioGroup.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a radio group.\n * @param name A fully qualified radio group name.\n * @returns The radio group with the specified name.\n */\n PDFForm.prototype.getRadioGroup = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"], field);\n };\n /**\n * Get the signature field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const signature = form.getSignature('Page1.Foo.Signature[0]')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a signature.\n * @param name A fully qualified signature name.\n * @returns The signature with the specified name.\n */\n PDFForm.prototype.getSignature = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"], field);\n };\n /**\n * Get the text field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const textField = form.getTextField('Page1.Foo.TextField[0]')\n * textField.setText('Are you designed to act or to be acted upon?')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a text field.\n * @param name A fully qualified text field name.\n * @returns The text field with the specified name.\n */\n PDFForm.prototype.getTextField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"], field);\n };\n /**\n * Create a new button field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const button = form.createButton('cool.new.button')\n *\n * button.addToPage('Do Stuff', font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new button.\n * @returns The new button field.\n */\n PDFForm.prototype.createButton = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var button = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroPushButton\"].create(this.doc.context);\n button.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [button, button.ref], nameParts.terminal);\n return _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(button, button.ref, this.doc);\n };\n /**\n * Create a new check box field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const checkBox = form.createCheckBox('cool.new.checkBox')\n *\n * checkBox.addToPage(page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new check box.\n * @returns The new check box field.\n */\n PDFForm.prototype.createCheckBox = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var checkBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroCheckBox\"].create(this.doc.context);\n checkBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal);\n return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(checkBox, checkBox.ref, this.doc);\n };\n /**\n * Create a new dropdown field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const dropdown = form.createDropdown('cool.new.dropdown')\n *\n * dropdown.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new dropdown.\n * @returns The new dropdown field.\n */\n PDFForm.prototype.createDropdown = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var comboBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroComboBox\"].create(this.doc.context);\n comboBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal);\n return _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(comboBox, comboBox.ref, this.doc);\n };\n /**\n * Create a new option list field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const optionList = form.createOptionList('cool.new.optionList')\n *\n * optionList.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new option list.\n * @returns The new option list field.\n */\n PDFForm.prototype.createOptionList = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var listBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroListBox\"].create(this.doc.context);\n listBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal);\n return _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(listBox, listBox.ref, this.doc);\n };\n /**\n * Create a new radio group field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const radioGroup = form.createRadioGroup('cool.new.radioGroup')\n *\n * radioGroup.addOptionToPage('is-dog', page, { y: 0 })\n * radioGroup.addOptionToPage('is-cat', page, { y: 75 })\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new radio group.\n * @returns The new radio group field.\n */\n PDFForm.prototype.createRadioGroup = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var radioButton = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroRadioButton\"].create(this.doc.context);\n radioButton.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal);\n return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(radioButton, radioButton.ref, this.doc);\n };\n /**\n * Create a new text field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const textField = form.createTextField('cool.new.textField')\n *\n * textField.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new radio group.\n * @returns The new radio group field.\n */\n PDFForm.prototype.createTextField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var text = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroText\"].create(this.doc.context);\n text.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [text, text.ref], nameParts.terminal);\n return _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(text, text.ref, this.doc);\n };\n /**\n * Flatten all fields in this [[PDFForm]].\n *\n * Flattening a form field will take the current appearance for each of that\n * field's widgets and make them part of their page's content stream. All form\n * fields and annotations associated are then removed. Note that once a form\n * has been flattened its fields can no longer be accessed or edited.\n *\n * This operation is often used after filling form fields to ensure a\n * consistent appearance across different PDF readers and/or printers.\n * Another common use case is to copy a template document with form fields\n * into another document. In this scenario you would load the template\n * document, fill its fields, flatten it, and then copy its pages into the\n * recipient document - the filled fields will be copied over.\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm();\n * form.flatten();\n * ```\n */\n PDFForm.prototype.flatten = function (options) {\n if (options === void 0) { options = { updateFieldAppearances: true }; }\n if (options.updateFieldAppearances) {\n this.updateFieldAppearances();\n }\n var fields = this.getFields();\n for (var i = 0, lenFields = fields.length; i < lenFields; i++) {\n var field = fields[i];\n var widgets = field.acroField.getWidgets();\n for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) {\n var widget = widgets[j];\n var page = this.findWidgetPage(widget);\n var widgetRef = this.findWidgetAppearanceRef(field, widget);\n var xObjectKey = page.node.newXObject('FlatWidget', widgetRef);\n var rectangle = widget.getRectangle();\n var operators = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"pushGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"translate\"])(rectangle.x, rectangle.y)\n ], Object(_operations__WEBPACK_IMPORTED_MODULE_12__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: 0 })), [\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"drawObject\"])(xObjectKey),\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n page.pushOperators.apply(page, operators);\n }\n this.removeField(field);\n }\n };\n /**\n * Remove a field from this [[PDFForm]].\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm();\n * const ageField = form.getFields().find(x => x.getName() === 'Age');\n * form.removeField(ageField);\n * ```\n */\n PDFForm.prototype.removeField = function (field) {\n var widgets = field.acroField.getWidgets();\n var pages = new Set();\n for (var i = 0, len = widgets.length; i < len; i++) {\n var widget = widgets[i];\n var widgetRef = this.findWidgetAppearanceRef(field, widget);\n var page = this.findWidgetPage(widget);\n pages.add(page);\n page.node.removeAnnot(widgetRef);\n }\n pages.forEach(function (page) { return page.node.removeAnnot(field.ref); });\n this.acroForm.removeField(field.acroField);\n var fieldKids = field.acroField.normalizedEntries().Kids;\n var kidsCount = fieldKids.size();\n for (var childIndex = 0; childIndex < kidsCount; childIndex++) {\n var child = fieldKids.get(childIndex);\n if (child instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"]) {\n this.doc.context.delete(child);\n }\n }\n this.doc.context.delete(field.ref);\n };\n /**\n * Update the appearance streams for all widgets of all fields in this\n * [[PDFForm]]. Appearance streams will only be created for a widget if it\n * does not have any existing appearance streams, or the field's value has\n * changed (e.g. by calling [[PDFTextField.setText]] or\n * [[PDFDropdown.select]]).\n *\n * For example:\n * ```js\n * const courier = await pdfDoc.embedFont(StandardFonts.Courier)\n * const form = pdfDoc.getForm()\n * form.updateFieldAppearances(courier)\n * ```\n *\n * **IMPORTANT:** The default value for the `font` parameter is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if any fields contain text with\n * characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing that as the `font`\n * parameter allows you to generate appearance streams with non WinAnsi\n * characters (assuming your custom font supports them).\n *\n * > **NOTE:** The [[PDFDocument.save]] method will call this method to\n * > update appearances automatically if a form was accessed via the\n * > [[PDFDocument.getForm]] method prior to saving.\n *\n * @param font Optionally, the font to use when creating new appearances.\n */\n PDFForm.prototype.updateFieldAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_10__[\"default\"], 'PDFFont']]);\n font = font !== null && font !== void 0 ? font : this.getDefaultFont();\n var fields = this.getFields();\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n if (field.needsAppearancesUpdate()) {\n field.defaultUpdateAppearances(font);\n }\n }\n };\n /**\n * Mark a field as dirty. This will cause its appearance streams to be\n * updated by [[PDFForm.updateFieldAppearances]].\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * form.markFieldAsDirty(field.ref)\n * ```\n * @param fieldRef The reference to the field that should be marked.\n */\n PDFForm.prototype.markFieldAsDirty = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n this.dirtyFields.add(fieldRef);\n };\n /**\n * Mark a field as dirty. This will cause its appearance streams to not be\n * updated by [[PDFForm.updateFieldAppearances]].\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * form.markFieldAsClean(field.ref)\n * ```\n * @param fieldRef The reference to the field that should be marked.\n */\n PDFForm.prototype.markFieldAsClean = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n this.dirtyFields.delete(fieldRef);\n };\n /**\n * Returns `true` is the specified field has been marked as dirty.\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * if (form.fieldIsDirty(field.ref)) console.log('Field is dirty')\n * ```\n * @param fieldRef The reference to the field that should be checked.\n * @returns Whether or not the specified field is dirty.\n */\n PDFForm.prototype.fieldIsDirty = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n return this.dirtyFields.has(fieldRef);\n };\n PDFForm.prototype.getDefaultFont = function () {\n return this.defaultFontCache.access();\n };\n PDFForm.prototype.findWidgetPage = function (widget) {\n var pageRef = widget.P();\n var page = this.doc.getPages().find(function (x) { return x.ref === pageRef; });\n if (page === undefined) {\n var widgetRef = this.doc.context.getObjectRef(widget.dict);\n if (widgetRef === undefined) {\n throw new Error('Could not find PDFRef for PDFObject');\n }\n page = this.doc.findPageForAnnotationRef(widgetRef);\n if (page === undefined) {\n throw new Error(\"Could not find page for PDFRef \" + widgetRef);\n }\n }\n return page;\n };\n PDFForm.prototype.findWidgetAppearanceRef = function (field, widget) {\n var _a;\n var refOrDict = widget.getNormalAppearance();\n if (refOrDict instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFDict\"] &&\n (field instanceof _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || field instanceof _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"])) {\n var value = field.acroField.getValue();\n var ref = (_a = refOrDict.get(value)) !== null && _a !== void 0 ? _a : refOrDict.get(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('Off'));\n if (ref instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"]) {\n refOrDict = ref;\n }\n }\n if (!(refOrDict instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"])) {\n var name_1 = field.getName();\n throw new Error(\"Failed to extract appearance ref for: \" + name_1);\n }\n return refOrDict;\n };\n PDFForm.prototype.findOrCreateNonTerminals = function (partialNames) {\n var nonTerminal = [\n this.acroForm,\n ];\n for (var idx = 0, len = partialNames.length; idx < len; idx++) {\n var namePart = partialNames[idx];\n if (!namePart)\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"InvalidFieldNamePartError\"](namePart);\n var parent_1 = nonTerminal[0], parentRef = nonTerminal[1];\n var res = this.findNonTerminal(namePart, parent_1);\n if (res) {\n nonTerminal = res;\n }\n else {\n var node = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroNonTerminal\"].create(this.doc.context);\n node.setPartialName(namePart);\n node.setParent(parentRef);\n var nodeRef = this.doc.context.register(node.dict);\n parent_1.addField(nodeRef);\n nonTerminal = [node, nodeRef];\n }\n }\n return nonTerminal;\n };\n PDFForm.prototype.findNonTerminal = function (partialName, parent) {\n var fields = parent instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroForm\"]\n ? this.acroForm.getFields()\n : Object(_core__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"])(parent.Kids());\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var _a = fields[idx], field = _a[0], ref = _a[1];\n if (field.getPartialName() === partialName) {\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroNonTerminal\"])\n return [field, ref];\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"FieldAlreadyExistsError\"](partialName);\n }\n }\n return undefined;\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.getForm]] method, which will create an\n * > instance of [[PDFForm]] for you.\n *\n * Create an instance of [[PDFForm]] from an existing acroForm and embedder\n *\n * @param acroForm The underlying `PDFAcroForm` for this form.\n * @param doc The document to which the form will belong.\n */\n PDFForm.of = function (acroForm, doc) {\n return new PDFForm(acroForm, doc);\n };\n return PDFForm;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFForm);\nvar convertToPDFField = function (field, ref, doc) {\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroPushButton\"])\n return _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroCheckBox\"])\n return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroComboBox\"])\n return _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroListBox\"])\n return _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroText\"])\n return _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroRadioButton\"]) {\n return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(field, ref, doc);\n }\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroSignature\"]) {\n return _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(field, ref, doc);\n }\n return undefined;\n};\nvar splitFieldName = function (fullyQualifiedName) {\n if (fullyQualifiedName.length === 0) {\n throw new Error('PDF field names must not be empty strings');\n }\n var parts = fullyQualifiedName.split('.');\n for (var idx = 0, len = parts.length; idx < len; idx++) {\n if (parts[idx] === '') {\n throw new Error(\"Periods in PDF field names must be separated by at least one character: \\\"\" + fullyQualifiedName + \"\\\"\");\n }\n }\n if (parts.length === 1)\n return { nonTerminal: [], terminal: parts[0] };\n return {\n nonTerminal: parts.slice(0, parts.length - 1),\n terminal: parts[parts.length - 1],\n };\n};\nvar addFieldToParent = function (_a, _b, partialName) {\n var parent = _a[0], parentRef = _a[1];\n var field = _b[0], fieldRef = _b[1];\n var entries = parent.normalizedEntries();\n var fields = Object(_core__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"])('Kids' in entries ? entries.Kids : entries.Fields);\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n if (fields[idx][0].getPartialName() === partialName) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"FieldAlreadyExistsError\"](partialName);\n }\n }\n parent.addField(fieldRef);\n field.setParent(parentRef);\n};\n//# sourceMappingURL=PDFForm.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Represents an option list field of a [[PDFForm]].\n *\n * [[PDFOptionList]] fields are interactive lists of options. The purpose of an\n * option list is to enable users to select one or more options from a set of\n * possible options. Users are able to see the full set of options without\n * first having to click on the field (though scrolling may be necessary).\n * Clicking an option in the list will cause it to be selected and displayed\n * with a highlighted background. Some option lists allow users to select\n * more than one option (see [[PDFOptionList.isMultiselect]]).\n */\nvar PDFOptionList = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFOptionList, _super);\n function PDFOptionList(acroListBox, ref, doc) {\n var _this = _super.call(this, acroListBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(acroListBox, 'acroListBox', [[_core__WEBPACK_IMPORTED_MODULE_7__[\"PDFAcroListBox\"], 'PDFAcroListBox']]);\n _this.acroField = acroListBox;\n return _this;\n }\n /**\n * Get the list of available options for this option list. These options will\n * be displayed to users who view this option list in a PDF reader.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * const options = optionList.getOptions()\n * console.log('Option List options:', options)\n * ```\n * @returns The options for this option list.\n */\n PDFOptionList.prototype.getOptions = function () {\n var rawOptions = this.acroField.getOptions();\n var options = new Array(rawOptions.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = rawOptions[idx], display = _a.display, value = _a.value;\n options[idx] = (display !== null && display !== void 0 ? display : value).decodeText();\n }\n return options;\n };\n /**\n * Get the selected options for this option list. These are the values that\n * were selected by a human user via a PDF reader, or programatically via\n * software.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * const selections = optionList.getSelected()\n * console.log('Option List selections:', selections)\n * ```\n * @returns The selected options for this option list.\n */\n PDFOptionList.prototype.getSelected = function () {\n var values = this.acroField.getValues();\n var selected = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n selected[idx] = values[idx].decodeText();\n }\n return selected;\n };\n /**\n * Set the list of options that are available for this option list. These are\n * the values that will be available for users to select when they view this\n * option list in a PDF reader. Note that preexisting options for this\n * option list will be removed. Only the values passed as `options` will be\n * available to select.\n *\n * For example:\n * ```js\n * const optionList = form.getOptionList('planets.optionList')\n * optionList.setOptions(['Earth', 'Mars', 'Pluto', 'Venus'])\n * ```\n *\n * This method will mark this option list as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the options this field contains inside the widgets of this text\n * field (with selected options highlighted).\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if this field contains any options\n * with characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFOptionList.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * @param options The options that should be available in this option list.\n */\n PDFOptionList.prototype.setOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', [Array]);\n this.markAsDirty();\n var optionObjects = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n optionObjects[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(options[idx]) };\n }\n this.acroField.setOptions(optionObjects);\n };\n /**\n * Add to the list of options that are available for this option list. Users\n * will be able to select these values in a PDF reader. In addition to the\n * values passed as `options`, any preexisting options for this option list\n * will still be available for users to select.\n * For example:\n * ```js\n * const optionList = form.getOptionList('rockets.optionList')\n * optionList.addOptions(['Saturn IV', 'Falcon Heavy'])\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n * @param options New options that should be available in this option list.\n */\n PDFOptionList.prototype.addOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n this.markAsDirty();\n var optionsArr = Array.isArray(options) ? options : [options];\n var existingOptions = this.acroField.getOptions();\n var newOptions = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n newOptions[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]) };\n }\n this.acroField.setOptions(existingOptions.concat(newOptions));\n };\n /**\n * Select one or more values for this option list. This operation is analogous\n * to a human user opening the option list in a PDF reader and clicking on one\n * or more values to select them. This method will update the underlying state\n * of the option list to indicate which values have been selected. PDF\n * libraries and readers will be able to extract these values from the saved\n * document and determine which values were selected.\n * For example:\n * ```js\n * const optionList = form.getOptionList('best.superheroes.optionList')\n * optionList.select(['One Punch Man', 'Iron Man'])\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n * @param options The options to be selected.\n * @param merge Whether or not existing selections should be preserved.\n */\n PDFOptionList.prototype.select = function (options, merge) {\n if (merge === void 0) { merge = false; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(merge, 'merge', ['boolean']);\n var optionsArr = Array.isArray(options) ? options : [options];\n var validOptions = this.getOptions();\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIsSubset\"])(optionsArr, 'option', validOptions);\n this.markAsDirty();\n if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) {\n this.enableMultiselect();\n }\n var values = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n values[idx] = _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]);\n }\n if (merge) {\n var existingValues = this.acroField.getValues();\n this.acroField.setValues(existingValues.concat(values));\n }\n else {\n this.acroField.setValues(values);\n }\n };\n /**\n * Clear all selected values for this option list. This operation is\n * equivalent to selecting an empty list. This method will update the\n * underlying state of the option list to indicate that no values have been\n * selected.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.clear()\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n */\n PDFOptionList.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValues([]);\n };\n /**\n * Set the font size for the text in this field. There needs to be a\n * default appearance string (DA) set with a font value specified\n * for this to work. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.setFontSize(4);\n * ```\n * @param fontSize The font size to set the font to.\n */\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this option list. Font sizes\n * may be integer or floating point numbers. Supplying a negative font size\n * will cause this method to throw an error.\n *\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.setFontSize(4)\n * optionList.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFOptionList.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if the options of this option list are always displayed\n * in alphabetical order, irrespective of the order in which the options\n * were added to the option list. See [[PDFOptionList.enableSorting]] and\n * [[PDFOptionList.disableSorting]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isSorted()) console.log('Sorting is enabled')\n * ```\n * @returns Whether or not this option list is sorted.\n */\n PDFOptionList.prototype.isSorted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort);\n };\n /**\n * Always display the options of this option list in alphabetical order,\n * irrespective of the order in which the options were added to this option\n * list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableSorting()\n * ```\n */\n PDFOptionList.prototype.enableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, true);\n };\n /**\n * Do not always display the options of this option list in alphabetical\n * order. Instead, display the options in whichever order they were added\n * to this option list. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableSorting()\n * ```\n */\n PDFOptionList.prototype.disableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, false);\n };\n /**\n * Returns `true` if multiple options can be selected from this option list.\n * See [[PDFOptionList.enableMultiselect]] and\n * [[PDFOptionList.disableMultiselect]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isMultiselect()) console.log('Multiselect is enabled')\n * ```\n * @returns Whether or not multiple options can be selected.\n */\n PDFOptionList.prototype.isMultiselect = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect);\n };\n /**\n * Allow users to select more than one option from this option list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableMultiselect()\n * ```\n */\n PDFOptionList.prototype.enableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, true);\n };\n /**\n * Do not allow users to select more than one option from this option list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableMultiselect()\n * ```\n */\n PDFOptionList.prototype.disableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, false);\n };\n /**\n * Returns `true` if the option selected by a user is stored, or \"committed\",\n * when the user clicks the option. The alternative is that the user's\n * selection is stored when the user leaves this option list field (by\n * clicking outside of it - on another field, for example). See\n * [[PDFOptionList.enableSelectOnClick]] and\n * [[PDFOptionList.disableSelectOnClick]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isSelectOnClick()) console.log('Select on click is enabled')\n * ```\n * @returns Whether or not options are selected immediately after they are\n * clicked.\n */\n PDFOptionList.prototype.isSelectOnClick = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange);\n };\n /**\n * Store the option selected by a user immediately after the user clicks the\n * option. Do not wait for the user to leave this option list field (by\n * clicking outside of it - on another field, for example). For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableSelectOnClick()\n * ```\n */\n PDFOptionList.prototype.enableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, true);\n };\n /**\n * Wait to store the option selected by a user until they leave this option\n * list field (by clicking outside of it - on another field, for example).\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableSelectOnClick()\n * ```\n */\n PDFOptionList.prototype.disableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, false);\n };\n /**\n * Show this option list on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const optionList = form.createOptionList('best.gundams')\n * optionList.setOptions(['Exia', 'Dynames', 'Kyrios', 'Virtue'])\n * optionList.select(['Exia', 'Virtue'])\n *\n * optionList.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this option list field.\n * @param page The page to which this option list widget should be added.\n * @param options The options to be used when adding this option list widget.\n */\n PDFOptionList.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this option list\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 100,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this option list has been marked as dirty, or if any of\n * this option list's widgets do not have an appearance stream. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this option list needs an appearance update.\n */\n PDFOptionList.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this option list's widgets using\n * the default appearance provider for option lists. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFOptionList.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this option list's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for option lists will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawOptionList(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFOptionList.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n // getOption(index: number): string {}\n // getSelectedIndices(): number[] {}\n // removeOptions(option: string | string[]) {}\n // removeIndices(option: number[]) {}\n // deselect(options: string | string[]) {}\n // deselectIndices(optionIndices: number[]) {}\n PDFOptionList.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultOptionListAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getOptionList]] method, which will create\n * > an instance of [[PDFOptionList]] for you.\n *\n * Create an instance of [[PDFOptionList]] from an existing acroListBox and\n * ref\n *\n * @param acroComboBox The underlying `PDFAcroListBox` for this option list.\n * @param ref The unique reference for this option list.\n * @param doc The document to which this option list will belong.\n */\n PDFOptionList.of = function (acroListBox, ref, doc) {\n return new PDFOptionList(acroListBox, ref, doc);\n };\n return PDFOptionList;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOptionList);\n//# sourceMappingURL=PDFOptionList.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/**\n * Represents a radio group field of a [[PDFForm]].\n *\n * [[PDFRadioGroup]] fields are collections of radio buttons. The purpose of a\n * radio group is to enable users to select one option from a set of mutually\n * exclusive choices. Each choice in a radio group is represented by a radio\n * button. Radio buttons each have two states: `on` and `off`. At most one\n * radio button in a group may be in the `on` state at any time. Users can\n * click on a radio button to select it (and thereby automatically deselect any\n * other radio button that might have already been selected). Some radio\n * groups allow users to toggle a selected radio button `off` by clicking on\n * it (see [[PDFRadioGroup.isOffToggleable]]).\n *\n * Note that some radio groups allow multiple radio buttons to be in the `on`\n * state at the same type **if** they represent the same underlying value (see\n * [[PDFRadioGroup.isMutuallyExclusive]]).\n */\nvar PDFRadioGroup = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRadioGroup, _super);\n function PDFRadioGroup(acroRadioButton, ref, doc) {\n var _this = _super.call(this, acroRadioButton, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(acroRadioButton, 'acroRadioButton', [\n [_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFAcroRadioButton\"], 'PDFAcroRadioButton'],\n ]);\n _this.acroField = acroRadioButton;\n return _this;\n }\n /**\n * Get the list of available options for this radio group. Each option is\n * represented by a radio button. These radio buttons are displayed at\n * various locations in the document, potentially on different pages (though\n * typically they are stacked horizontally or vertically on the same page).\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * const options = radioGroup.getOptions()\n * console.log('Radio Group options:', options)\n * ```\n * @returns The options for this radio group.\n */\n PDFRadioGroup.prototype.getOptions = function () {\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n var exportOptions = new Array(exportValues.length);\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n exportOptions[idx] = exportValues[idx].decodeText();\n }\n return exportOptions;\n }\n var onValues = this.acroField.getOnValues();\n var onOptions = new Array(onValues.length);\n for (var idx = 0, len = onOptions.length; idx < len; idx++) {\n onOptions[idx] = onValues[idx].decodeText();\n }\n return onOptions;\n };\n /**\n * Get the selected option for this radio group. The selected option is\n * represented by the radio button in this group that is turned on. At most\n * one radio button in a group can be selected. If no buttons in this group\n * are selected, `undefined` is returned.\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * const selected = radioGroup.getSelected()\n * console.log('Selected radio button:', selected)\n * ```\n * @returns The selected option for this radio group.\n */\n PDFRadioGroup.prototype.getSelected = function () {\n var value = this.acroField.getValue();\n if (value === _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'))\n return undefined;\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n var onValues = this.acroField.getOnValues();\n for (var idx = 0, len = onValues.length; idx < len; idx++) {\n if (onValues[idx] === value)\n return exportValues[idx].decodeText();\n }\n }\n return value.decodeText();\n };\n // // TODO: Figure out why this seems to crash Acrobat. Maybe it's because we\n // // aren't removing the widget reference from the page's Annots?\n // removeOption(option: string) {\n // assertIs(option, 'option', ['string']);\n // // TODO: Assert is valid `option`!\n // const onValues = this.acroField.getOnValues();\n // const exportValues = this.acroField.getExportValues();\n // if (exportValues) {\n // for (let idx = 0, len = exportValues.length; idx < len; idx++) {\n // if (exportValues[idx].decodeText() === option) {\n // this.acroField.removeWidget(idx);\n // this.acroField.removeExportValue(idx);\n // }\n // }\n // } else {\n // for (let idx = 0, len = onValues.length; idx < len; idx++) {\n // const value = onValues[idx];\n // if (value.decodeText() === option) {\n // this.acroField.removeWidget(idx);\n // this.acroField.removeExportValue(idx);\n // }\n // }\n // }\n // }\n /**\n * Select an option for this radio group. This operation is analogous to a\n * human user clicking one of the radio buttons in this group via a PDF\n * reader to toggle it on. This method will update the underlying state of\n * the radio group to indicate which option has been selected. PDF libraries\n * and readers will be able to extract this value from the saved document and\n * determine which option was selected.\n *\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('best.superhero.radioGroup')\n * radioGroup.select('One Punch Man')\n * ```\n *\n * This method will mark this radio group as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated appearance\n * streams will display a dot inside the widget of this check box field\n * that represents the selected option.\n *\n * @param option The option to be selected.\n */\n PDFRadioGroup.prototype.select = function (option) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(option, 'option', ['string']);\n var validOptions = this.getOptions();\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIsOneOf\"])(option, 'option', validOptions);\n this.markAsDirty();\n var onValues = this.acroField.getOnValues();\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n if (exportValues[idx].decodeText() === option) {\n this.acroField.setValue(onValues[idx]);\n }\n }\n }\n else {\n for (var idx = 0, len = onValues.length; idx < len; idx++) {\n var value = onValues[idx];\n if (value.decodeText() === option)\n this.acroField.setValue(value);\n }\n }\n };\n /**\n * Clear any selected option for this dropdown. This will result in all\n * radio buttons in this group being toggled off. This method will update\n * the underlying state of the dropdown to indicate that no radio buttons\n * have been selected.\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.clear()\n * ```\n * This method will mark this radio group as dirty. See\n * [[PDFRadioGroup.select]] for more details about what this means.\n */\n PDFRadioGroup.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n };\n /**\n * Returns `true` if users can click on radio buttons in this group to toggle\n * them off. The alternative is that once a user clicks on a radio button\n * to select it, the only way to deselect it is by selecting on another radio\n * button in the group. See [[PDFRadioGroup.enableOffToggling]] and\n * [[PDFRadioGroup.disableOffToggling]]. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.isOffToggleable()) console.log('Off toggling is enabled')\n * ```\n */\n PDFRadioGroup.prototype.isOffToggleable = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff);\n };\n /**\n * Allow users to click on selected radio buttons in this group to toggle\n * them off. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.enableOffToggling()\n * ```\n * > **NOTE:** This feature is documented in the PDF specification\n * > (Table 226). However, most PDF readers do not respect this option and\n * > prevent users from toggling radio buttons off even when it is enabled.\n * > At the time of this writing (9/6/2020) Mac's Preview software did\n * > respect the option. Adobe Acrobat, Foxit Reader, and Google Chrome did\n * > not.\n */\n PDFRadioGroup.prototype.enableOffToggling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff, false);\n };\n /**\n * Prevent users from clicking on selected radio buttons in this group to\n * toggle them off. Clicking on a selected radio button will have no effect.\n * The only way to deselect a selected radio button is to click on a\n * different radio button in the group. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.disableOffToggling()\n * ```\n */\n PDFRadioGroup.prototype.disableOffToggling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff, true);\n };\n /**\n * Returns `true` if the radio buttons in this group are mutually exclusive.\n * This means that when the user selects a radio button, only that specific\n * button will be turned on. Even if other radio buttons in the group\n * represent the same value, they will not be enabled. The alternative to\n * this is that clicking a radio button will select that button along with\n * any other radio buttons in the group that share the same value. See\n * [[PDFRadioGroup.enableMutualExclusion]] and\n * [[PDFRadioGroup.disableMutualExclusion]].\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.isMutuallyExclusive()) console.log('Mutual exclusion is enabled')\n * ```\n */\n PDFRadioGroup.prototype.isMutuallyExclusive = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison);\n };\n /**\n * When the user clicks a radio button in this group it will be selected. In\n * addition, any other radio buttons in this group that share the same\n * underlying value will also be selected. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.enableMutualExclusion()\n * ```\n * Note that this option must be enabled prior to adding options to the\n * radio group. It does not currently apply retroactively to existing\n * radio buttons in the group.\n */\n PDFRadioGroup.prototype.enableMutualExclusion = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison, false);\n };\n /**\n * When the user clicks a radio button in this group only it will be selected.\n * No other radio buttons in the group will be selected, even if they share\n * the same underlying value. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.disableMutualExclusion()\n * ```\n * Note that this option must be disabled prior to adding options to the\n * radio group. It does not currently apply retroactively to existing\n * radio buttons in the group.\n */\n PDFRadioGroup.prototype.disableMutualExclusion = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison, true);\n };\n /**\n * Add a new radio button to this group on the specified page. For example:\n * ```js\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const radioGroup = form.createRadioGroup('best.gundam')\n *\n * const options = {\n * x: 50,\n * width: 25,\n * height: 25,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * }\n *\n * radioGroup.addOptionToPage('Exia', page, { ...options, y: 50 })\n * radioGroup.addOptionToPage('Dynames', page, { ...options, y: 110 })\n * ```\n * This will create a new radio button widget for this radio group field.\n * @param option The option that the radio button widget represents.\n * @param page The page to which the radio button widget should be added.\n * @param options The options to be used when adding the radio button widget.\n */\n PDFRadioGroup.prototype.addOptionToPage = function (option, page, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(option, 'option', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_2__[\"assertFieldAppearanceOptions\"])(options);\n // Create a widget for this radio button\n var widget = this.createWidget({\n x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50,\n height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(0, 0, 0),\n backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(1, 1, 1),\n borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(0, 0, 0),\n borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1,\n rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : Object(_rotations__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"])(0),\n hidden: options === null || options === void 0 ? void 0 : options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFHexString\"].fromText(option), !this.isMutuallyExclusive());\n // Set appearance streams for widget\n widget.setAppearanceState(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n this.updateWidgetAppearance(widget, apStateValue);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if any of this group's radio button widgets do not have an\n * appearance stream for their current state. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this radio group needs an appearance update.\n */\n PDFRadioGroup.prototype.needsAppearancesUpdate = function () {\n var _a;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getAppearanceState();\n var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (!(normal instanceof _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFDict\"]))\n return true;\n if (state && !normal.has(state))\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this group's radio button widgets\n * using the default appearance provider for radio groups. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.defaultUpdateAppearances()\n * ```\n */\n PDFRadioGroup.prototype.defaultUpdateAppearances = function () {\n this.updateAppearances();\n };\n // rg.updateAppearances((field: any, widget: any) => {\n // assert(field === rg);\n // assert(widget instanceof PDFWidgetAnnotation);\n // return { on: [...rectangle, ...circle], off: [...rectangle, ...circle] };\n // });\n /**\n * Update the appearance streams for each of this group's radio button widgets\n * using the given appearance provider. If no `provider` is passed, the\n * default appearance provider for radio groups will be used. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.updateAppearances((field, widget) => {\n * ...\n * return {\n * normal: { on: drawRadioButton(...), off: drawRadioButton(...) },\n * down: { on: drawRadioButton(...), off: drawRadioButton(...) },\n * }\n * })\n * ```\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFRadioGroup.prototype.updateAppearances = function (provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var onValue = widget.getOnValue();\n if (!onValue)\n continue;\n this.updateWidgetAppearance(widget, onValue, provider);\n }\n };\n PDFRadioGroup.prototype.updateWidgetAppearance = function (widget, onValue, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_3__[\"defaultRadioGroupAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_3__[\"normalizeAppearance\"])(apProvider(this, widget));\n this.updateOnOffWidgetAppearance(widget, onValue, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getOptionList]] method, which will create an\n * > instance of [[PDFOptionList]] for you.\n *\n * Create an instance of [[PDFOptionList]] from an existing acroRadioButton\n * and ref\n *\n * @param acroRadioButton The underlying `PDFAcroRadioButton` for this\n * radio group.\n * @param ref The unique reference for this radio group.\n * @param doc The document to which this radio group will belong.\n */\n PDFRadioGroup.of = function (acroRadioButton, ref, doc) { return new PDFRadioGroup(acroRadioButton, ref, doc); };\n return PDFRadioGroup;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRadioGroup);\n//# sourceMappingURL=PDFRadioGroup.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a signature field of a [[PDFForm]].\n *\n * [[PDFSignature]] fields are digital signatures. `pdf-lib` does not\n * currently provide any specialized APIs for creating digital signatures or\n * reading the contents of existing digital signatures.\n */\nvar PDFSignature = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFSignature, _super);\n function PDFSignature(acroSignature, ref, doc) {\n var _this = _super.call(this, acroSignature, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(acroSignature, 'acroSignature', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFAcroSignature\"], 'PDFAcroSignature'],\n ]);\n _this.acroField = acroSignature;\n return _this;\n }\n PDFSignature.prototype.needsAppearancesUpdate = function () {\n return false;\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getSignature]] method, which will create an\n * > instance of [[PDFSignature]] for you.\n *\n * Create an instance of [[PDFSignature]] from an existing acroSignature and\n * ref\n *\n * @param acroSignature The underlying `PDFAcroSignature` for this signature.\n * @param ref The unique reference for this signature.\n * @param doc The document to which this signature will belong.\n */\n PDFSignature.of = function (acroSignature, ref, doc) { return new PDFSignature(acroSignature, ref, doc); };\n return PDFSignature;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFSignature);\n//# sourceMappingURL=PDFSignature.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _image_alignment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../image/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony import */ var _text_alignment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../text/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a text field of a [[PDFForm]].\n *\n * [[PDFTextField]] fields are boxes that display text entered by the user. The\n * purpose of a text field is to enable users to enter text or view text values\n * in the document prefilled by software. Users can click on a text field and\n * input text via their keyboard. Some text fields allow multiple lines of text\n * to be entered (see [[PDFTextField.isMultiline]]).\n */\nvar PDFTextField = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFTextField, _super);\n function PDFTextField(acroText, ref, doc) {\n var _this = _super.call(this, acroText, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(acroText, 'acroText', [[_core__WEBPACK_IMPORTED_MODULE_10__[\"PDFAcroText\"], 'PDFAcroText']]);\n _this.acroField = acroText;\n return _this;\n }\n /**\n * Get the text that this field contains. This text is visible to users who\n * view this field in a PDF reader.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const text = textField.getText()\n * console.log('Text field contents:', text)\n * ```\n *\n * Note that if this text field contains no underlying value, `undefined`\n * will be returned. Text fields may also contain an underlying value that\n * is simply an empty string (`''`). This detail is largely irrelevant for\n * most applications. In general, you'll want to treat both cases the same\n * way and simply consider the text field to be empty. In either case, the\n * text field will appear empty to users when viewed in a PDF reader.\n *\n * An error will be thrown if this is a rich text field. `pdf-lib` does not\n * support reading rich text fields. Nor do most PDF readers and writers.\n * Rich text fields are based on XFA (XML Forms Architecture). Relatively few\n * PDFs use rich text fields or XFA. Unlike PDF itself, XFA is not an ISO\n * standard. XFA has been deprecated in PDF 2.0:\n * * https://en.wikipedia.org/wiki/XFA\n * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/\n *\n * @returns The text contained in this text field.\n */\n PDFTextField.prototype.getText = function () {\n var value = this.acroField.getValue();\n if (!value && this.isRichFormatted()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"RichTextFieldReadError\"](this.getName());\n }\n return value === null || value === void 0 ? void 0 : value.decodeText();\n };\n /**\n * Set the text for this field. This operation is analogous to a human user\n * clicking on the text field in a PDF reader and typing in text via their\n * keyboard. This method will update the underlying state of the text field\n * to indicate what text has been set. PDF libraries and readers will be able\n * to extract these values from the saved document and determine what text\n * was set.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('best.superhero.text.field')\n * textField.setText('One Punch Man')\n * ```\n *\n * This method will mark this text field as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the text this field contains inside the widgets of this text\n * field.\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if this field contains text outside\n * the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFTextField.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * If this is a rich text field, it will be converted to a standard text\n * field in order to set the text. `pdf-lib` does not support writing rich\n * text strings. Nor do most PDF readers and writers. See\n * [[PDFTextField.getText]] for more information about rich text fields and\n * their deprecation in PDF 2.0.\n *\n * @param text The text this field should contain.\n */\n PDFTextField.prototype.setText = function (text) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertOrUndefined\"])(text, 'text', ['string']);\n var maxLength = this.getMaxLength();\n if (maxLength !== undefined && text && text.length > maxLength) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"ExceededMaxLengthError\"](text.length, maxLength, this.getName());\n }\n this.markAsDirty();\n this.disableRichFormatting();\n if (text) {\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_10__[\"PDFHexString\"].fromText(text));\n }\n else {\n this.acroField.removeValue();\n }\n };\n /**\n * Get the alignment for this text field. This value represents the\n * justification of the text when it is displayed to the user in PDF readers.\n * There are three possible alignments: left, center, and right. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const alignment = textField.getAlignment()\n * if (alignment === TextAlignment.Left) console.log('Text is left justified')\n * if (alignment === TextAlignment.Center) console.log('Text is centered')\n * if (alignment === TextAlignment.Right) console.log('Text is right justified')\n * ```\n * @returns The alignment of this text field.\n */\n PDFTextField.prototype.getAlignment = function () {\n var quadding = this.acroField.getQuadding();\n // prettier-ignore\n return (quadding === 0 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Left\n : quadding === 1 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Center\n : quadding === 2 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Right\n : _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Left);\n };\n /**\n * Set the alignment for this text field. This will determine the\n * justification of the text when it is displayed to the user in PDF readers.\n * There are three possible alignments: left, center, and right. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n *\n * // Text will be left justified when displayed\n * textField.setAlignment(TextAlignment.Left)\n *\n * // Text will be centered when displayed\n * textField.setAlignment(TextAlignment.Center)\n *\n * // Text will be right justified when displayed\n * textField.setAlignment(TextAlignment.Right)\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n * @param alignment The alignment for this text field.\n */\n PDFTextField.prototype.setAlignment = function (alignment) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIsOneOf\"])(alignment, 'alignment', _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"]);\n this.markAsDirty();\n this.acroField.setQuadding(alignment);\n };\n /**\n * Get the maximum length of this field. This value represents the maximum\n * number of characters that can be typed into this field by the user. If\n * this field does not have a maximum length, `undefined` is returned.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const maxLength = textField.getMaxLength()\n * if (maxLength === undefined) console.log('No max length')\n * else console.log(`Max length is ${maxLength}`)\n * ```\n * @returns The maximum number of characters allowed in this field, or\n * `undefined` if no limit exists.\n */\n PDFTextField.prototype.getMaxLength = function () {\n return this.acroField.getMaxLength();\n };\n /**\n * Set the maximum length of this field. This limits the number of characters\n * that can be typed into this field by the user. This also limits the length\n * of the string that can be passed to [[PDFTextField.setText]]. This limit\n * can be removed by passing `undefined` as `maxLength`. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n *\n * // Allow between 0 and 5 characters to be entered\n * textField.setMaxLength(5)\n *\n * // Allow any number of characters to be entered\n * textField.setMaxLength(undefined)\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n * @param maxLength The maximum number of characters allowed in this field, or\n * `undefined` to remove the limit.\n */\n PDFTextField.prototype.setMaxLength = function (maxLength) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertRangeOrUndefined\"])(maxLength, 'maxLength', 0, Number.MAX_SAFE_INTEGER);\n this.markAsDirty();\n if (maxLength === undefined) {\n this.acroField.removeMaxLength();\n }\n else {\n var text = this.getText();\n if (text && text.length > maxLength) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"InvalidMaxLengthError\"](text.length, maxLength, this.getName());\n }\n this.acroField.setMaxLength(maxLength);\n }\n };\n /**\n * Remove the maximum length for this text field. This allows any number of\n * characters to be typed into this field by the user. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.removeMaxLength()\n * ```\n * Calling this method is equivalent to passing `undefined` to\n * [[PDFTextField.setMaxLength]].\n */\n PDFTextField.prototype.removeMaxLength = function () {\n this.markAsDirty();\n this.acroField.removeMaxLength();\n };\n /**\n * Display an image inside the bounds of this text field's widgets. For example:\n * ```js\n * const pngImage = await pdfDoc.embedPng(...)\n * const textField = form.getTextField('some.text.field')\n * textField.setImage(pngImage)\n * ```\n * This will update the appearances streams for each of this text field's widgets.\n * @param image The image that should be displayed.\n */\n PDFTextField.prototype.setImage = function (image) {\n var fieldAlignment = this.getAlignment();\n // prettier-ignore\n var alignment = fieldAlignment === _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Center ? _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Center\n : fieldAlignment === _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Right ? _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Right\n : _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Left;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var streamRef = this.createImageAppearanceStream(widget, image, alignment);\n this.updateWidgetAppearances(widget, { normal: streamRef });\n }\n this.markAsClean();\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this text field. Font sizes\n * may be integer or floating point numbers. Supplying a negative font size\n * will cause this method to throw an error.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.setFontSize(4)\n * textField.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFTextField.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if each line of text is shown on a new line when this\n * field is displayed in a PDF reader. The alternative is that all lines of\n * text are merged onto a single line when displayed. See\n * [[PDFTextField.enableMultiline]] and [[PDFTextField.disableMultiline]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isMultiline()) console.log('Multiline is enabled')\n * ```\n * @returns Whether or not this is a multiline text field.\n */\n PDFTextField.prototype.isMultiline = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline);\n };\n /**\n * Display each line of text on a new line when this field is displayed in a\n * PDF reader. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableMultiline()\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.enableMultiline = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline, true);\n };\n /**\n * Display each line of text on the same line when this field is displayed\n * in a PDF reader. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableMultiline()\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.disableMultiline = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline, false);\n };\n /**\n * Returns `true` if this is a password text field. This means that the field\n * is intended for storing a secure password. See\n * [[PDFTextField.enablePassword]] and [[PDFTextField.disablePassword]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isPassword()) console.log('Password is enabled')\n * ```\n * @returns Whether or not this is a password text field.\n */\n PDFTextField.prototype.isPassword = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password);\n };\n /**\n * Indicate that this text field is intended for storing a secure password.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enablePassword()\n * ```\n * Values entered into password text fields should not be displayed on the\n * screen by PDF readers. Most PDF readers will display the value as\n * asterisks or bullets. PDF readers should never store values entered by the\n * user into password text fields. Similarly, applications should not\n * write data to a password text field.\n *\n * **Please note that this method does not cause entered values to be\n * encrypted or secured in any way! It simply sets a flag that PDF software\n * and readers can access to determine the _purpose_ of this field.**\n */\n PDFTextField.prototype.enablePassword = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password, true);\n };\n /**\n * Indicate that this text field is **not** intended for storing a secure\n * password. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disablePassword()\n * ```\n */\n PDFTextField.prototype.disablePassword = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password, false);\n };\n /**\n * Returns `true` if the contents of this text field represent a file path.\n * See [[PDFTextField.enableFileSelection]] and\n * [[PDFTextField.disableFileSelection]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isFileSelector()) console.log('Is a file selector')\n * ```\n * @returns Whether or not this field should contain file paths.\n */\n PDFTextField.prototype.isFileSelector = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect);\n };\n /**\n * Indicate that this text field is intended to store a file path. The\n * contents of the file stored at that path should be submitted as the value\n * of the field. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableFileSelection()\n * ```\n */\n PDFTextField.prototype.enableFileSelection = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect, true);\n };\n /**\n * Indicate that this text field is **not** intended to store a file path.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableFileSelection()\n * ```\n */\n PDFTextField.prototype.disableFileSelection = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect, false);\n };\n /**\n * Returns `true` if the text entered in this field should be spell checked\n * by PDF readers. See [[PDFTextField.enableSpellChecking]] and\n * [[PDFTextField.disableSpellChecking]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isSpellChecked()) console.log('Spell checking is enabled')\n * ```\n * @returns Whether or not this field should be spell checked.\n */\n PDFTextField.prototype.isSpellChecked = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck);\n };\n /**\n * Allow PDF readers to spell check the text entered in this field.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableSpellChecking()\n * ```\n */\n PDFTextField.prototype.enableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck, false);\n };\n /**\n * Do not allow PDF readers to spell check the text entered in this field.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableSpellChecking()\n * ```\n */\n PDFTextField.prototype.disableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck, true);\n };\n /**\n * Returns `true` if PDF readers should allow the user to scroll the text\n * field when its contents do not fit within the field's view bounds. See\n * [[PDFTextField.enableScrolling]] and [[PDFTextField.disableScrolling]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isScrollable()) console.log('Scrolling is enabled')\n * ```\n * @returns Whether or not the field is scrollable in PDF readers.\n */\n PDFTextField.prototype.isScrollable = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll);\n };\n /**\n * Allow PDF readers to present a scroll bar to the user when the contents\n * of this text field do not fit within its view bounds. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableScrolling()\n * ```\n * A horizontal scroll bar should be shown for singleline fields. A vertical\n * scroll bar should be shown for multiline fields.\n */\n PDFTextField.prototype.enableScrolling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll, false);\n };\n /**\n * Do not allow PDF readers to present a scroll bar to the user when the\n * contents of this text field do not fit within its view bounds. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableScrolling()\n * ```\n */\n PDFTextField.prototype.disableScrolling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll, true);\n };\n /**\n * Returns `true` if this is a combed text field. This means that the field\n * is split into `n` equal size cells with one character in each (where `n`\n * is equal to the max length of the text field). The result is that all\n * characters in this field are displayed an equal distance apart from one\n * another. See [[PDFTextField.enableCombing]] and\n * [[PDFTextField.disableCombing]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isCombed()) console.log('Combing is enabled')\n * ```\n * Note that in order for a text field to be combed, the following must be\n * true (in addition to enabling combing):\n * * It must not be a multiline field (see [[PDFTextField.isMultiline]])\n * * It must not be a password field (see [[PDFTextField.isPassword]])\n * * It must not be a file selector field (see [[PDFTextField.isFileSelector]])\n * * It must have a max length defined (see [[PDFTextField.setMaxLength]])\n * @returns Whether or not this field is combed.\n */\n PDFTextField.prototype.isCombed = function () {\n return (this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb) &&\n !this.isMultiline() &&\n !this.isPassword() &&\n !this.isFileSelector() &&\n this.getMaxLength() !== undefined);\n };\n /**\n * Split this field into `n` equal size cells with one character in each\n * (where `n` is equal to the max length of the text field). This will cause\n * all characters in the field to be displayed an equal distance apart from\n * one another. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableCombing()\n * ```\n *\n * In addition to calling this method, text fields must have a max length\n * defined in order to be combed (see [[PDFTextField.setMaxLength]]).\n *\n * This method will also call the following three methods internally:\n * * [[PDFTextField.disableMultiline]]\n * * [[PDFTextField.disablePassword]]\n * * [[PDFTextField.disableFileSelection]]\n *\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.enableCombing = function () {\n if (this.getMaxLength() === undefined) {\n var msg = \"PDFTextFields must have a max length in order to be combed\";\n console.warn(msg);\n }\n this.markAsDirty();\n this.disableMultiline();\n this.disablePassword();\n this.disableFileSelection();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb, true);\n };\n /**\n * Turn off combing for this text field. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableCombing()\n * ```\n * See [[PDFTextField.isCombed]] and [[PDFTextField.enableCombing]] for more\n * information about what combing is.\n *\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.disableCombing = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb, false);\n };\n /**\n * Returns `true` if this text field contains rich text. See\n * [[PDFTextField.enableRichFormatting]] and\n * [[PDFTextField.disableRichFormatting]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isRichFormatted()) console.log('Rich formatting enabled')\n * ```\n * @returns Whether or not this field contains rich text.\n */\n PDFTextField.prototype.isRichFormatted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText);\n };\n /**\n * Indicate that this field contains XFA data - or rich text. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableRichFormatting()\n * ```\n * Note that `pdf-lib` does not support reading or writing rich text fields.\n * Nor do most PDF readers and writers. Rich text fields are based on XFA\n * (XML Forms Architecture). Relatively few PDFs use rich text fields or XFA.\n * Unlike PDF itself, XFA is not an ISO standard. XFA has been deprecated in\n * PDF 2.0:\n * * https://en.wikipedia.org/wiki/XFA\n * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/\n */\n PDFTextField.prototype.enableRichFormatting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText, true);\n };\n /**\n * Indicate that this is a standard text field that does not XFA data (rich\n * text). For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableRichFormatting()\n * ```\n */\n PDFTextField.prototype.disableRichFormatting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText, false);\n };\n /**\n * Show this text field on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const textField = form.createTextField('best.gundam')\n * textField.setText('Exia')\n *\n * textField.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this text field.\n * @param page The page to which this text field widget should be added.\n * @param options The options to be used when adding this text field widget.\n */\n PDFTextField.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this text field\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this text field has been marked as dirty, or if any of\n * this text field's widgets do not have an appearance stream. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this text field needs an appearance update.\n */\n PDFTextField.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_10__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this text field's widgets using\n * the default appearance provider for text fields. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const textField = form.getTextField('some.text.field')\n * textField.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFTextField.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this text field's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for text fields will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const textField = form.getTextField('some.text.field')\n * textField.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawTextField(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFTextField.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n PDFTextField.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultTextFieldAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getTextField]] method, which will create an\n * > instance of [[PDFTextField]] for you.\n *\n * Create an instance of [[PDFTextField]] from an existing acroText and ref\n *\n * @param acroText The underlying `PDFAcroText` for this text field.\n * @param ref The unique reference for this text field.\n * @param doc The document to which this text field will belong.\n */\n PDFTextField.of = function (acroText, ref, doc) {\n return new PDFTextField(acroText, ref, doc);\n };\n return PDFTextField;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTextField);\n//# sourceMappingURL=PDFTextField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js ***! + \**************************************************************************/ +/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return normalizeAppearance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return defaultCheckBoxAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return defaultRadioGroupAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return defaultButtonAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return defaultTextFieldAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return defaultDropdownAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return defaultOptionListAppearanceProvider; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _text_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../text/layout */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js\");\n/* harmony import */ var _text_alignment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../text/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/********************* Appearance Provider Functions **************************/\nvar normalizeAppearance = function (appearance) {\n if ('normal' in appearance)\n return appearance;\n return { normal: appearance };\n};\n// Examples:\n// `/Helv 12 Tf` -> ['/Helv 12 Tf', 'Helv', '12']\n// `/HeBo 8.00 Tf` -> ['/HeBo 8 Tf', 'HeBo', '8.00']\nvar tfRegex = /\\/([^\\0\\t\\n\\f\\r\\ ]+)[\\0\\t\\n\\f\\r\\ ]+(\\d*\\.\\d+|\\d+)[\\0\\t\\n\\f\\r\\ ]+Tf/;\nvar getDefaultFontSize = function (field) {\n var _a, _b;\n var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var daMatch = (_b = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, tfRegex).match) !== null && _b !== void 0 ? _b : [];\n var defaultFontSize = Number(daMatch[2]);\n return isFinite(defaultFontSize) ? defaultFontSize : undefined;\n};\n// Examples:\n// `0.3 g` -> ['0.3', 'g']\n// `0.3 1 .3 rg` -> ['0.3', '1', '.3', 'rg']\n// `0.3 1 .3 0 k` -> ['0.3', '1', '.3', '0', 'k']\nvar colorRegex = /(\\d*\\.\\d+|\\d+)[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]+(g|rg|k)/;\nvar getDefaultColor = function (field) {\n var _a;\n var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var daMatch = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, colorRegex).match;\n var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5];\n if (colorSpace === 'g' && c1) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"grayscale\"])(Number(c1));\n }\n if (colorSpace === 'rg' && c1 && c2 && c3) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(Number(c1), Number(c2), Number(c3));\n }\n if (colorSpace === 'k' && c1 && c2 && c3 && c4) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"cmyk\"])(Number(c1), Number(c2), Number(c3), Number(c4));\n }\n return undefined;\n};\nvar updateDefaultAppearance = function (field, color, font, fontSize) {\n var _a;\n if (fontSize === void 0) { fontSize = 0; }\n var da = [\n Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"])(color).toString(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_6__[\"setFontAndSize\"])((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : 'dummy__noop', fontSize).toString(),\n ].join('\\n');\n field.setDefaultAppearance(da);\n};\nvar defaultCheckBoxAppearanceProvider = function (checkBox, widget) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(checkBox.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = (_b = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black;\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n // Update color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor) {\n updateDefaultAppearance(widget, textColor);\n }\n else {\n updateDefaultAppearance(checkBox.acroField, textColor);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n thickness: 1.5,\n borderWidth: borderWidth,\n borderColor: borderColor,\n markColor: textColor,\n };\n return {\n normal: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: false }))),\n },\n down: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: false }))),\n },\n };\n};\nvar defaultRadioGroupAppearanceProvider = function (radioGroup, widget) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(radioGroup.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = (_b = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black;\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n // Update color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor) {\n updateDefaultAppearance(widget, textColor);\n }\n else {\n updateDefaultAppearance(radioGroup.acroField, textColor);\n }\n var options = {\n x: width / 2,\n y: height / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth,\n borderColor: borderColor,\n dotColor: textColor,\n };\n return {\n normal: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: false }))),\n },\n down: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: false }))),\n },\n };\n};\nvar defaultButtonAppearanceProvider = function (button, widget, font) {\n var _a, _b, _c, _d, _e;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(button.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(button.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions();\n var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : '';\n var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : '';\n var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _f = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _f.width, height = _f.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n var bounds = {\n x: borderWidth,\n y: borderWidth,\n width: width - borderWidth * 2,\n height: height - borderWidth * 2,\n };\n var normalLayout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(normalText, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Center,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n var downLayout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(downText, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Center,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n // Update font size and color\n var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize);\n var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(button.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n };\n return {\n normal: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))),\n down: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))),\n };\n};\nvar defaultTextFieldAppearanceProvider = function (textField, widget, font) {\n var _a, _b, _c, _d;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(textField.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(textField.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var text = (_a = textField.getText()) !== null && _a !== void 0 ? _a : '';\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _e = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _e.width, height = _e.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var textLines;\n var fontSize;\n var padding = textField.isCombed() ? 0 : 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n if (textField.isMultiline()) {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutMultilineText\"])(text, {\n alignment: textField.getAlignment(),\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n textLines = layout.lines;\n fontSize = layout.fontSize;\n }\n else if (textField.isCombed()) {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutCombedText\"])(text, {\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0,\n });\n textLines = layout.cells;\n fontSize = layout.fontSize;\n }\n else {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(text, {\n alignment: textField.getAlignment(),\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n textLines = [layout.line];\n fontSize = layout.fontSize;\n }\n // Update font size and color\n var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(textField.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: textLines,\n padding: padding,\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawTextField\"])(options));\n};\nvar defaultDropdownAppearanceProvider = function (dropdown, widget, font) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(dropdown.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(dropdown.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var text = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : '';\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var padding = 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n var _e = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(text, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Left,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n }), line = _e.line, fontSize = _e.fontSize;\n // Update font size and color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: [line],\n padding: padding,\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawTextField\"])(options));\n};\nvar defaultOptionListAppearanceProvider = function (optionList, widget, font) {\n var _a, _b;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(optionList.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(optionList.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _c = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _c.width, height = _c.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var options = optionList.getOptions();\n var selected = optionList.getSelected();\n if (optionList.isSorted())\n options.sort();\n var text = '';\n for (var idx = 0, len = options.length; idx < len; idx++) {\n text += options[idx];\n if (idx < len - 1)\n text += '\\n';\n }\n var padding = 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n var _d = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutMultilineText\"])(text, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Left,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight;\n var selectedLines = [];\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var line = lines[idx];\n if (selected.includes(line.text))\n selectedLines.push(idx);\n }\n var blue = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(153 / 255, 193 / 255, 218 / 255);\n // Update font size and color\n var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(optionList.acroField, textColor, font, fontSize);\n }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawOptionList\"])({\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: lines,\n lineHeight: lineHeight,\n selectedColor: blue,\n selectedLines: selectedLines,\n padding: padding,\n }));\n};\n//# sourceMappingURL=appearances.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js ***! + \********************************************************************/ +/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider, PDFButton, PDFCheckBox, PDFDropdown, PDFField, PDFForm, PDFOptionList, PDFRadioGroup, PDFSignature, PDFTextField */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony import */ var _PDFButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFButton */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _PDFButton__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFCheckBox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFDropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFDropdown */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _PDFDropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _PDFField__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _PDFForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFForm */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _PDFForm__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _PDFOptionList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFOptionList */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _PDFOptionList__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFRadioGroup */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _PDFSignature__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _PDFSignature__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _PDFTextField__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFTextField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _PDFTextField__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js ***! + \*************************************************************************/ +/*! exports provided: ImageAlignment */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return ImageAlignment; });\nvar ImageAlignment;\n(function (ImageAlignment) {\n ImageAlignment[ImageAlignment[\"Left\"] = 0] = \"Left\";\n ImageAlignment[ImageAlignment[\"Center\"] = 1] = \"Center\";\n ImageAlignment[ImageAlignment[\"Right\"] = 2] = \"Right\";\n})(ImageAlignment || (ImageAlignment = {}));\n//# sourceMappingURL=alignment.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js ***! + \*********************************************************************/ +/*! exports provided: ImageAlignment */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _alignment__WEBPACK_IMPORTED_MODULE_0__[\"ImageAlignment\"]; });\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/index.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/index.js ***! + \***************************************************************/ +/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider, PDFButton, PDFCheckBox, PDFDropdown, PDFField, PDFForm, PDFOptionList, PDFRadioGroup, PDFSignature, PDFTextField, TextAlignment, layoutMultilineText, layoutCombedText, layoutSinglelineText, ColorTypes, grayscale, rgb, cmyk, setFillingColor, setStrokingColor, componentsToColor, colorToComponents, EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, NoSuchFieldError, UnexpectedFieldTypeError, MissingOnValueCheckError, FieldAlreadyExistsError, InvalidFieldNamePartError, FieldExistsAsNonTerminalError, RichTextFieldReadError, CombedTextLayoutError, ExceededMaxLengthError, InvalidMaxLengthError, ImageAlignment, asPDFName, asPDFNumber, asNumber, drawText, drawLinesOfText, drawImage, drawPage, drawLine, drawRectangle, drawEllipsePath, drawEllipse, drawSvgPath, drawCheckMark, rotateInPlace, drawCheckBox, drawRadioButton, drawButton, drawTextLines, drawTextField, drawOptionList, clip, clipEvenOdd, concatTransformationMatrix, translate, scale, rotateRadians, rotateDegrees, skewRadians, skewDegrees, setDashPattern, restoreDashPattern, LineCapStyle, setLineCap, LineJoinStyle, setLineJoin, setGraphicsState, pushGraphicsState, popGraphicsState, setLineWidth, appendBezierCurve, appendQuadraticCurve, closePath, moveTo, lineTo, rectangle, square, stroke, fill, fillAndStroke, endPath, nextLine, moveText, showText, beginText, endText, setFontAndSize, setCharacterSpacing, setWordSpacing, setCharacterSqueeze, setLineHeight, setTextRise, TextRenderingMode, setTextRenderingMode, setTextMatrix, rotateAndSkewTextRadiansAndTranslate, rotateAndSkewTextDegreesAndTranslate, drawObject, setFillingGrayscaleColor, setStrokingGrayscaleColor, setFillingRgbColor, setStrokingRgbColor, setFillingCmykColor, setStrokingCmykColor, beginMarkedContent, endMarkedContent, RotationTypes, radians, degrees, degreesToRadians, radiansToDegrees, toRadians, toDegrees, reduceRotation, adjustDimsForRotation, rotateRectangle, PageSizes, BlendMode, ParseSpeeds, StandardFonts, PDFDocument, PDFFont, PDFImage, PDFPage, PDFEmbeddedPage, PDFJavaScript */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFRadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFTextField\"]; });\n\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutSinglelineText\"]; });\n\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"ColorTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"grayscale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"cmyk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"setStrokingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"]; });\n\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"EncryptedPDFError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FontkitNotRegisteredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"ForeignPageError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"RemovePageFromEmptyDocumentError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"NoSuchFieldError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedFieldTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"MissingOnValueCheckError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FieldAlreadyExistsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidFieldNamePartError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FieldExistsAsNonTerminalError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"RichTextFieldReadError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"CombedTextLayoutError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"ExceededMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidMaxLengthError\"]; });\n\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./image */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _image__WEBPACK_IMPORTED_MODULE_4__[\"ImageAlignment\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asPDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asPDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"]; });\n\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawLinesOfText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawEllipsePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawEllipse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawSvgPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawCheckMark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"rotateInPlace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawTextLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawOptionList\"]; });\n\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"clip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"clipEvenOdd\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"concatTransformationMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"translate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"scale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"skewRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"skewDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"restoreDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"LineCapStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineCap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"LineJoinStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineJoin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"pushGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"popGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineWidth\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"appendBezierCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"appendQuadraticCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"closePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"moveTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"lineTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"square\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"stroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"fill\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"fillAndStroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"nextLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"moveText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"showText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"beginText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFontAndSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setCharacterSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setWordSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setCharacterSqueeze\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineHeight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextRise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"TextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateAndSkewTextRadiansAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateAndSkewTextDegreesAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"drawObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"beginMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endMarkedContent\"]; });\n\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"RotationTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"radians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"degrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"degreesToRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"radiansToDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"toRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"toDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"reduceRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"adjustDimsForRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"rotateRectangle\"]; });\n\n/* harmony import */ var _sizes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./sizes */ \"../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return _sizes__WEBPACK_IMPORTED_MODULE_9__[\"PageSizes\"]; });\n\n/* harmony import */ var _PDFPageOptions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFPageOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return _PDFPageOptions__WEBPACK_IMPORTED_MODULE_10__[\"BlendMode\"]; });\n\n/* harmony import */ var _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFDocumentOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_11__[\"ParseSpeeds\"]; });\n\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return _StandardFonts__WEBPACK_IMPORTED_MODULE_12__[\"StandardFonts\"]; });\n\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDocument\", function() { return _PDFDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFont\", function() { return _PDFFont__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFImage\", function() { return _PDFImage__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPage\", function() { return _PDFPage__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFEmbeddedPage\", function() { return _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _PDFJavaScript__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./PDFJavaScript */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFJavaScript\", function() { return _PDFJavaScript__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/objects.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/objects.js ***! + \*****************************************************************/ +/*! exports provided: asPDFName, asPDFNumber, asNumber */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return asPDFName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return asPDFNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return asNumber; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\nvar asPDFName = function (name) {\n return name instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFName\"] ? name : _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFName\"].of(name);\n};\nvar asPDFNumber = function (num) {\n return num instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"] ? num : _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"].of(num);\n};\nvar asNumber = function (num) {\n return num instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"] ? num.asNumber() : num;\n};\n//# sourceMappingURL=objects.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/objects.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/operations.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/operations.js ***! + \********************************************************************/ +/*! exports provided: drawText, drawLinesOfText, drawImage, drawPage, drawLine, drawRectangle, drawEllipsePath, drawEllipse, drawSvgPath, drawCheckMark, rotateInPlace, drawCheckBox, drawRadioButton, drawButton, drawTextLines, drawTextField, drawOptionList */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return drawText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return drawLinesOfText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return drawImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return drawPage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return drawLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return drawRectangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return drawEllipsePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return drawEllipse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return drawSvgPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return drawCheckMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return rotateInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return drawCheckBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return drawRadioButton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return drawButton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return drawTextLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return drawTextField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return drawOptionList; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _svgPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./svgPath */ \"../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js\");\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n\n\n\n\n\n\nvar drawText = function (line, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(line),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawLinesOfText = function (lines, options) {\n var operators = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineHeight\"])(options.lineHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), options.x, options.y),\n ].filter(Boolean);\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(lines[idx]), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"nextLine\"])());\n }\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])());\n return operators;\n};\nvar drawImage = function (name, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"drawObject\"])(name),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawPage = function (name, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.xScale, options.yScale),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"drawObject\"])(name),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawLine = function (options) {\n var _a, _b;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.thickness),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(options.start.x, options.start.y),\n options.lineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.lineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(options.start.x, options.start.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.end.x, options.end.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawRectangle = function (options) {\n var _a, _b;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(0, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(0, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.width, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0);\n/** @deprecated */\nvar drawEllipsePath = function (config) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.y);\n var xScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.xScale);\n var yScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.yScale);\n x -= xScale;\n y -= yScale;\n var ox = xScale * KAPPA;\n var oy = yScale * KAPPA;\n var xe = x + xScale * 2;\n var ye = y + yScale * 2;\n var xm = x + xScale;\n var ym = y + yScale;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(x, ym - oy, xm - ox, y, xm, y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm + ox, y, xe, ym - oy, xe, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xe, ym + oy, xm + ox, ye, xm, ye),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm - ox, ye, x, ym + oy, x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ];\n};\nvar drawEllipseCurves = function (config) {\n var centerX = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.x);\n var centerY = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.y);\n var xScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.xScale);\n var yScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.yScale);\n var x = -xScale;\n var y = -yScale;\n var ox = xScale * KAPPA;\n var oy = yScale * KAPPA;\n var xe = x + xScale * 2;\n var ye = y + yScale * 2;\n var xm = x + xScale;\n var ym = y + yScale;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(centerX, centerY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(config.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(x, ym - oy, xm - ox, y, xm, y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm + ox, y, xe, ym - oy, xe, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xe, ym + oy, xm + ox, ye, xm, ye),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm - ox, ye, x, ym + oy, x, ym),\n ];\n};\nvar drawEllipse = function (options) {\n var _a, _b, _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0)\n ], (options.rotate === undefined\n ? drawEllipsePath({\n x: options.x,\n y: options.y,\n xScale: options.xScale,\n yScale: options.yScale,\n })\n : drawEllipseCurves({\n x: options.x,\n y: options.y,\n xScale: options.xScale,\n yScale: options.yScale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n })), [\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n};\nvar drawSvgPath = function (path, options) {\n var _a, _b, _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])((_a = options.rotate) !== null && _a !== void 0 ? _a : Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0))),\n // SVG path Y axis is opposite pdf-lib's\n options.scale ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.scale, -options.scale) : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(1, -1),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n options.borderWidth && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0)\n ], Object(_svgPath__WEBPACK_IMPORTED_MODULE_4__[\"svgPathToOperators\"])(path), [\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n};\nvar drawCheckMark = function (options) {\n var size = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.size);\n /*********************** Define Check Mark Points ***************************/\n // A check mark is defined by three points in some coordinate space. Here, we\n // define these points in a unit coordinate system, where the range of the x\n // and y axis are both [-1, 1].\n //\n // Note that we do not hard code `p1y` in case we wish to change the\n // size/shape of the check mark in the future. We want the check mark to\n // always form a right angle. This means that the dot product between (p1-p2)\n // and (p3-p2) should be zero:\n //\n // (p1x-p2x) * (p3x-p2x) + (p1y-p2y) * (p3y-p2y) = 0\n //\n // We can now rejigger this equation to solve for `p1y`:\n //\n // (p1y-p2y) * (p3y-p2y) = -((p1x-p2x) * (p3x-p2x))\n // (p1y-p2y) = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y)\n // p1y = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y) + p2y\n //\n // Thanks to my friend Joel Walker (https://github.com/JWalker1995) for\n // devising the above equation and unit coordinate system approach!\n // (x, y) coords of the check mark's bottommost point\n var p2x = -1 + 0.75;\n var p2y = -1 + 0.51;\n // (x, y) coords of the check mark's topmost point\n var p3y = 1 - 0.525;\n var p3x = 1 - 0.31;\n // (x, y) coords of the check mark's center (vertically) point\n var p1x = -1 + 0.325;\n var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y;\n /****************************************************************************/\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.thickness),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(p1x * size, p1y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(p2x * size, p2y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(p3x * size, p3y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\n// prettier-ignore\nvar rotateInPlace = function (options) {\n return options.rotation === 0 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(0, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(0)\n ]\n : options.rotation === 90 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.width, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(90)\n ]\n : options.rotation === 180 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(180)\n ]\n : options.rotation === 270 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(0, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(270)\n ]\n : [];\n}; // Invalid rotation - noop\nvar drawCheckBox = function (options) {\n var outline = drawRectangle({\n x: options.x,\n y: options.y,\n width: options.width,\n height: options.height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n if (!options.filled)\n return outline;\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var checkMarkSize = Math.min(width, height) / 2;\n var checkMark = drawCheckMark({\n x: width / 2,\n y: height / 2,\n size: checkMarkSize,\n thickness: options.thickness,\n color: options.markColor,\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], outline, checkMark, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawRadioButton = function (options) {\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var outlineScale = Math.min(width, height) / 2;\n var outline = drawEllipse({\n x: options.x,\n y: options.y,\n xScale: outlineScale,\n yScale: outlineScale,\n color: options.color,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n });\n if (!options.filled)\n return outline;\n var dot = drawEllipse({\n x: options.x,\n y: options.y,\n xScale: outlineScale * 0.45,\n yScale: outlineScale * 0.45,\n color: options.dotColor,\n borderColor: undefined,\n borderWidth: 0,\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], outline, dot, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawButton = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], background, lines, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawTextLines = function (lines, options) {\n var operators = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n ];\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y;\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), x, y), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(encoded));\n }\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])());\n return operators;\n};\nvar drawTextField = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var borderWidth = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.borderWidth);\n var padding = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.padding);\n var clipX = x + borderWidth / 2 + padding;\n var clipY = y + borderWidth / 2 + padding;\n var clipWidth = width - (borderWidth / 2 + padding) * 2;\n var clipHeight = height - (borderWidth / 2 + padding) * 2;\n var clippingArea = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(clipX, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"clip\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endPath\"])(),\n ];\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var markedContent = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginMarkedContent\"])('Tx'),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], lines, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endMarkedContent\"])(),\n ]);\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], background, clippingArea, markedContent, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]);\n};\nvar drawOptionList = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var lineHeight = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.lineHeight);\n var borderWidth = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.borderWidth);\n var padding = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.padding);\n var clipX = x + borderWidth / 2 + padding;\n var clipY = y + borderWidth / 2 + padding;\n var clipWidth = width - (borderWidth / 2 + padding) * 2;\n var clipHeight = height - (borderWidth / 2 + padding) * 2;\n var clippingArea = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(clipX, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"clip\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endPath\"])(),\n ];\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var highlights = [];\n for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) {\n var line = options.textLines[options.selectedLines[idx]];\n highlights.push.apply(highlights, drawRectangle({\n x: line.x - padding,\n y: line.y - (lineHeight - line.height) / 2,\n width: width - borderWidth,\n height: line.height + (lineHeight - line.height) / 2,\n borderWidth: 0,\n color: options.selectedColor,\n borderColor: undefined,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n }));\n }\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var markedContent = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginMarkedContent\"])('Tx'),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], lines, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endMarkedContent\"])(),\n ]);\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], background, highlights, clippingArea, markedContent, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]);\n};\n//# sourceMappingURL=operations.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/operations.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/operators.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/operators.js ***! + \*******************************************************************/ +/*! exports provided: clip, clipEvenOdd, concatTransformationMatrix, translate, scale, rotateRadians, rotateDegrees, skewRadians, skewDegrees, setDashPattern, restoreDashPattern, LineCapStyle, setLineCap, LineJoinStyle, setLineJoin, setGraphicsState, pushGraphicsState, popGraphicsState, setLineWidth, appendBezierCurve, appendQuadraticCurve, closePath, moveTo, lineTo, rectangle, square, stroke, fill, fillAndStroke, endPath, nextLine, moveText, showText, beginText, endText, setFontAndSize, setCharacterSpacing, setWordSpacing, setCharacterSqueeze, setLineHeight, setTextRise, TextRenderingMode, setTextRenderingMode, setTextMatrix, rotateAndSkewTextRadiansAndTranslate, rotateAndSkewTextDegreesAndTranslate, drawObject, setFillingGrayscaleColor, setStrokingGrayscaleColor, setFillingRgbColor, setStrokingRgbColor, setFillingCmykColor, setStrokingCmykColor, beginMarkedContent, endMarkedContent */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return clip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return clipEvenOdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return concatTransformationMatrix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return translate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return rotateRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return rotateDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return skewRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return skewDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return setDashPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return restoreDashPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return LineCapStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return setLineCap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return LineJoinStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return setLineJoin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return setGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return pushGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return popGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return setLineWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return appendBezierCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return appendQuadraticCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return closePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return moveTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return lineTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return rectangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return square; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return stroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return fill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return fillAndStroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return endPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return nextLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return moveText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return showText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return beginText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return endText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return setFontAndSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return setCharacterSpacing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return setWordSpacing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return setCharacterSqueeze; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return setLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return setTextRise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return TextRenderingMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return setTextRenderingMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return setTextMatrix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return rotateAndSkewTextRadiansAndTranslate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return rotateAndSkewTextDegreesAndTranslate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return drawObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return setFillingGrayscaleColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return setStrokingGrayscaleColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return setFillingRgbColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return setStrokingRgbColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return setFillingCmykColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return setStrokingCmykColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return beginMarkedContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return endMarkedContent; });\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n\n/* ==================== Clipping Path Operators ==================== */\nvar clip = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClipNonZero); };\nvar clipEvenOdd = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClipEvenOdd); };\n/* ==================== Graphics State Operators ==================== */\nvar cos = Math.cos, sin = Math.sin, tan = Math.tan;\nvar concatTransformationMatrix = function (a, b, c, d, e, f) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ConcatTransformationMatrix, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(a),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(b),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(c),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(d),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(e),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(f),\n ]);\n};\nvar translate = function (xPos, yPos) {\n return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos);\n};\nvar scale = function (xPos, yPos) {\n return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0);\n};\nvar rotateRadians = function (angle) {\n return concatTransformationMatrix(cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), -sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), 0, 0);\n};\nvar rotateDegrees = function (angle) {\n return rotateRadians(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)));\n};\nvar skewRadians = function (xSkewAngle, ySkewAngle) {\n return concatTransformationMatrix(1, tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), 1, 0, 0);\n};\nvar skewDegrees = function (xSkewAngle, ySkewAngle) {\n return skewRadians(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)));\n};\nvar setDashPattern = function (dashArray, dashPhase) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineDashPattern, [\n \"[\" + dashArray.map(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"]).join(' ') + \"]\",\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(dashPhase),\n ]);\n};\nvar restoreDashPattern = function () { return setDashPattern([], 0); };\nvar LineCapStyle;\n(function (LineCapStyle) {\n LineCapStyle[LineCapStyle[\"Butt\"] = 0] = \"Butt\";\n LineCapStyle[LineCapStyle[\"Round\"] = 1] = \"Round\";\n LineCapStyle[LineCapStyle[\"Projecting\"] = 2] = \"Projecting\";\n})(LineCapStyle || (LineCapStyle = {}));\nvar setLineCap = function (style) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineCapStyle, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(style)]);\n};\nvar LineJoinStyle;\n(function (LineJoinStyle) {\n LineJoinStyle[LineJoinStyle[\"Miter\"] = 0] = \"Miter\";\n LineJoinStyle[LineJoinStyle[\"Round\"] = 1] = \"Round\";\n LineJoinStyle[LineJoinStyle[\"Bevel\"] = 2] = \"Bevel\";\n})(LineJoinStyle || (LineJoinStyle = {}));\nvar setLineJoin = function (style) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineJoinStyle, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(style)]);\n};\nvar setGraphicsState = function (state) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetGraphicsStateParams, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(state)]);\n};\nvar pushGraphicsState = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].PushGraphicsState); };\nvar popGraphicsState = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].PopGraphicsState); };\nvar setLineWidth = function (width) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineWidth, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(width)]);\n};\n/* ==================== Path Construction Operators ==================== */\nvar appendBezierCurve = function (x1, y1, x2, y2, x3, y3) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].AppendBezierCurve, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x3),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y3),\n ]);\n};\nvar appendQuadraticCurve = function (x1, y1, x2, y2) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].CurveToReplicateInitialPoint, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y2),\n ]);\n};\nvar closePath = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClosePath); };\nvar moveTo = function (xPos, yPos) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].MoveTo, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos)]);\n};\nvar lineTo = function (xPos, yPos) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].LineTo, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos)]);\n};\n/**\n * @param xPos x coordinate for the lower left corner of the rectangle\n * @param yPos y coordinate for the lower left corner of the rectangle\n * @param width width of the rectangle\n * @param height height of the rectangle\n */\nvar rectangle = function (xPos, yPos, width, height) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].AppendRectangle, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(width),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(height),\n ]);\n};\n/**\n * @param xPos x coordinate for the lower left corner of the square\n * @param yPos y coordinate for the lower left corner of the square\n * @param size width and height of the square\n */\nvar square = function (xPos, yPos, size) {\n return rectangle(xPos, yPos, size, size);\n};\n/* ==================== Path Painting Operators ==================== */\nvar stroke = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokePath); };\nvar fill = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].FillNonZero); };\nvar fillAndStroke = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].FillNonZeroAndStroke); };\nvar endPath = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndPath); };\n/* ==================== Text Positioning Operators ==================== */\nvar nextLine = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NextLine); };\nvar moveText = function (x, y) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].MoveText, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y)]);\n};\n/* ==================== Text Showing Operators ==================== */\nvar showText = function (text) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ShowText, [text]);\n};\n/* ==================== Text State Operators ==================== */\nvar beginText = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].BeginText); };\nvar endText = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndText); };\nvar setFontAndSize = function (name, size) { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetFontAndSize, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(name), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(size)]); };\nvar setCharacterSpacing = function (spacing) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetCharacterSpacing, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(spacing)]);\n};\nvar setWordSpacing = function (spacing) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetWordSpacing, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(spacing)]);\n};\n/** @param squeeze horizontal character spacing */\nvar setCharacterSqueeze = function (squeeze) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextHorizontalScaling, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(squeeze)]);\n};\nvar setLineHeight = function (lineHeight) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextLineHeight, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(lineHeight)]);\n};\nvar setTextRise = function (rise) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextRise, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(rise)]);\n};\nvar TextRenderingMode;\n(function (TextRenderingMode) {\n TextRenderingMode[TextRenderingMode[\"Fill\"] = 0] = \"Fill\";\n TextRenderingMode[TextRenderingMode[\"Outline\"] = 1] = \"Outline\";\n TextRenderingMode[TextRenderingMode[\"FillAndOutline\"] = 2] = \"FillAndOutline\";\n TextRenderingMode[TextRenderingMode[\"Invisible\"] = 3] = \"Invisible\";\n TextRenderingMode[TextRenderingMode[\"FillAndClip\"] = 4] = \"FillAndClip\";\n TextRenderingMode[TextRenderingMode[\"OutlineAndClip\"] = 5] = \"OutlineAndClip\";\n TextRenderingMode[TextRenderingMode[\"FillAndOutlineAndClip\"] = 6] = \"FillAndOutlineAndClip\";\n TextRenderingMode[TextRenderingMode[\"Clip\"] = 7] = \"Clip\";\n})(TextRenderingMode || (TextRenderingMode = {}));\nvar setTextRenderingMode = function (mode) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextRenderingMode, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(mode)]);\n};\nvar setTextMatrix = function (a, b, c, d, e, f) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextMatrix, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(a),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(b),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(c),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(d),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(e),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(f),\n ]);\n};\nvar rotateAndSkewTextRadiansAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) {\n return setTextMatrix(cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)) + tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), -sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)) + tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), x, y);\n};\nvar rotateAndSkewTextDegreesAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) {\n return rotateAndSkewTextRadiansAndTranslate(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), x, y);\n};\n/* ==================== XObject Operator ==================== */\nvar drawObject = function (name) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].DrawObject, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(name)]);\n};\n/* ==================== Color Operators ==================== */\nvar setFillingGrayscaleColor = function (gray) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorGray, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(gray)]);\n};\nvar setStrokingGrayscaleColor = function (gray) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorGray, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(gray)]);\n};\nvar setFillingRgbColor = function (red, green, blue) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorRgb, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(red),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(green),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(blue),\n ]);\n};\nvar setStrokingRgbColor = function (red, green, blue) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorRgb, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(red),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(green),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(blue),\n ]);\n};\nvar setFillingCmykColor = function (cyan, magenta, yellow, key) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorCmyk, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(cyan),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(magenta),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yellow),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(key),\n ]);\n};\nvar setStrokingCmykColor = function (cyan, magenta, yellow, key) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorCmyk, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(cyan),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(magenta),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yellow),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(key),\n ]);\n};\n/* ==================== Marked Content Operators ==================== */\nvar beginMarkedContent = function (tag) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].BeginMarkedContent, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(tag)]);\n};\nvar endMarkedContent = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndMarkedContent); };\n//# sourceMappingURL=operators.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/operators.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js ***! + \*******************************************************************/ +/*! exports provided: RotationTypes, radians, degrees, degreesToRadians, radiansToDegrees, toRadians, toDegrees, reduceRotation, adjustDimsForRotation, rotateRectangle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return RotationTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return radians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return degrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return degreesToRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return radiansToDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return toRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return toDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return reduceRotation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return adjustDimsForRotation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return rotateRectangle; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\nvar RotationTypes;\n(function (RotationTypes) {\n RotationTypes[\"Degrees\"] = \"degrees\";\n RotationTypes[\"Radians\"] = \"radians\";\n})(RotationTypes || (RotationTypes = {}));\nvar radians = function (radianAngle) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"assertIs\"])(radianAngle, 'radianAngle', ['number']);\n return { type: RotationTypes.Radians, angle: radianAngle };\n};\nvar degrees = function (degreeAngle) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"assertIs\"])(degreeAngle, 'degreeAngle', ['number']);\n return { type: RotationTypes.Degrees, angle: degreeAngle };\n};\nvar Radians = RotationTypes.Radians, Degrees = RotationTypes.Degrees;\nvar degreesToRadians = function (degree) { return (degree * Math.PI) / 180; };\nvar radiansToDegrees = function (radian) { return (radian * 180) / Math.PI; };\n// prettier-ignore\nvar toRadians = function (rotation) {\n return rotation.type === Radians ? rotation.angle\n : rotation.type === Degrees ? degreesToRadians(rotation.angle)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Invalid rotation: \" + JSON.stringify(rotation));\n};\n// prettier-ignore\nvar toDegrees = function (rotation) {\n return rotation.type === Radians ? radiansToDegrees(rotation.angle)\n : rotation.type === Degrees ? rotation.angle\n : Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Invalid rotation: \" + JSON.stringify(rotation));\n};\nvar reduceRotation = function (degreeAngle) {\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var quadrants = (degreeAngle / 90) % 4;\n if (quadrants === 0)\n return 0;\n if (quadrants === 1)\n return 90;\n if (quadrants === 2)\n return 180;\n if (quadrants === 3)\n return 270;\n return 0; // `degreeAngle` is not a multiple of 90\n};\nvar adjustDimsForRotation = function (dims, degreeAngle) {\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var rotation = reduceRotation(degreeAngle);\n return rotation === 90 || rotation === 270\n ? { width: dims.height, height: dims.width }\n : { width: dims.width, height: dims.height };\n};\nvar rotateRectangle = function (rectangle, borderWidth, degreeAngle) {\n if (borderWidth === void 0) { borderWidth = 0; }\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height;\n var r = reduceRotation(degreeAngle);\n var b = borderWidth / 2;\n // prettier-ignore\n if (r === 0)\n return { x: x - b, y: y - b, width: w, height: h };\n else if (r === 90)\n return { x: x - h + b, y: y - b, width: h, height: w };\n else if (r === 180)\n return { x: x - w + b, y: y - h + b, width: w, height: h };\n else if (r === 270)\n return { x: x - b, y: y - w + b, width: h, height: w };\n else\n return { x: x - b, y: y - b, width: w, height: h };\n};\n//# sourceMappingURL=rotations.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js ***! + \***************************************************************/ +/*! exports provided: PageSizes */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return PageSizes; });\nvar PageSizes = {\n '4A0': [4767.87, 6740.79],\n '2A0': [3370.39, 4767.87],\n A0: [2383.94, 3370.39],\n A1: [1683.78, 2383.94],\n A2: [1190.55, 1683.78],\n A3: [841.89, 1190.55],\n A4: [595.28, 841.89],\n A5: [419.53, 595.28],\n A6: [297.64, 419.53],\n A7: [209.76, 297.64],\n A8: [147.4, 209.76],\n A9: [104.88, 147.4],\n A10: [73.7, 104.88],\n B0: [2834.65, 4008.19],\n B1: [2004.09, 2834.65],\n B2: [1417.32, 2004.09],\n B3: [1000.63, 1417.32],\n B4: [708.66, 1000.63],\n B5: [498.9, 708.66],\n B6: [354.33, 498.9],\n B7: [249.45, 354.33],\n B8: [175.75, 249.45],\n B9: [124.72, 175.75],\n B10: [87.87, 124.72],\n C0: [2599.37, 3676.54],\n C1: [1836.85, 2599.37],\n C2: [1298.27, 1836.85],\n C3: [918.43, 1298.27],\n C4: [649.13, 918.43],\n C5: [459.21, 649.13],\n C6: [323.15, 459.21],\n C7: [229.61, 323.15],\n C8: [161.57, 229.61],\n C9: [113.39, 161.57],\n C10: [79.37, 113.39],\n RA0: [2437.8, 3458.27],\n RA1: [1729.13, 2437.8],\n RA2: [1218.9, 1729.13],\n RA3: [864.57, 1218.9],\n RA4: [609.45, 864.57],\n SRA0: [2551.18, 3628.35],\n SRA1: [1814.17, 2551.18],\n SRA2: [1275.59, 1814.17],\n SRA3: [907.09, 1275.59],\n SRA4: [637.8, 907.09],\n Executive: [521.86, 756.0],\n Folio: [612.0, 936.0],\n Legal: [612.0, 1008.0],\n Letter: [612.0, 792.0],\n Tabloid: [792.0, 1224.0],\n};\n//# sourceMappingURL=sizes.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js ***! + \*****************************************************************/ +/*! exports provided: svgPathToOperators */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"svgPathToOperators\", function() { return svgPathToOperators; });\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n// Originated from pdfkit Copyright (c) 2014 Devon Govett\n// https://github.com/foliojs/pdfkit/blob/1e62e6ffe24b378eb890df507a47610f4c4a7b24/lib/path.js\n// MIT LICENSE\n// Updated for pdf-lib & TypeScript by Jeremy Messenger\n\nvar cx = 0;\nvar cy = 0;\nvar px = 0;\nvar py = 0;\nvar sx = 0;\nvar sy = 0;\nvar parameters = new Map([\n ['A', 7],\n ['a', 7],\n ['C', 6],\n ['c', 6],\n ['H', 1],\n ['h', 1],\n ['L', 2],\n ['l', 2],\n ['M', 2],\n ['m', 2],\n ['Q', 4],\n ['q', 4],\n ['S', 4],\n ['s', 4],\n ['T', 2],\n ['t', 2],\n ['V', 1],\n ['v', 1],\n ['Z', 0],\n ['z', 0],\n]);\nvar parse = function (path) {\n var cmd;\n var ret = [];\n var args = [];\n var curArg = '';\n var foundDecimal = false;\n var params = 0;\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n var c = path_1[_i];\n if (parameters.has(c)) {\n params = parameters.get(c);\n if (cmd) {\n // save existing command\n if (curArg.length > 0) {\n args[args.length] = +curArg;\n }\n ret[ret.length] = { cmd: cmd, args: args };\n args = [];\n curArg = '';\n foundDecimal = false;\n }\n cmd = c;\n }\n else if ([' ', ','].includes(c) ||\n (c === '-' && curArg.length > 0 && curArg[curArg.length - 1] !== 'e') ||\n (c === '.' && foundDecimal)) {\n if (curArg.length === 0) {\n continue;\n }\n if (args.length === params) {\n // handle reused commands\n ret[ret.length] = { cmd: cmd, args: args };\n args = [+curArg];\n // handle assumed commands\n if (cmd === 'M') {\n cmd = 'L';\n }\n if (cmd === 'm') {\n cmd = 'l';\n }\n }\n else {\n args[args.length] = +curArg;\n }\n foundDecimal = c === '.';\n // fix for negative numbers or repeated decimals with no delimeter between commands\n curArg = ['-', '.'].includes(c) ? c : '';\n }\n else {\n curArg += c;\n if (c === '.') {\n foundDecimal = true;\n }\n }\n }\n // add the last command\n if (curArg.length > 0) {\n if (args.length === params) {\n // handle reused commands\n ret[ret.length] = { cmd: cmd, args: args };\n args = [+curArg];\n // handle assumed commands\n if (cmd === 'M') {\n cmd = 'L';\n }\n if (cmd === 'm') {\n cmd = 'l';\n }\n }\n else {\n args[args.length] = +curArg;\n }\n }\n ret[ret.length] = { cmd: cmd, args: args };\n return ret;\n};\nvar apply = function (commands) {\n // current point, control point, and subpath starting point\n cx = cy = px = py = sx = sy = 0;\n // run the commands\n var cmds = [];\n for (var i = 0; i < commands.length; i++) {\n var c = commands[i];\n if (c.cmd && typeof runners[c.cmd] === 'function') {\n var cmd = runners[c.cmd](c.args);\n if (Array.isArray(cmd)) {\n cmds = cmds.concat(cmd);\n }\n else {\n cmds.push(cmd);\n }\n }\n }\n return cmds;\n};\nvar runners = {\n M: function (a) {\n cx = a[0];\n cy = a[1];\n px = py = null;\n sx = cx;\n sy = cy;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"])(cx, cy);\n },\n m: function (a) {\n cx += a[0];\n cy += a[1];\n px = py = null;\n sx = cx;\n sy = cy;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"])(cx, cy);\n },\n C: function (a) {\n cx = a[4];\n cy = a[5];\n px = a[2];\n py = a[3];\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(a[0], a[1], a[2], a[3], a[4], a[5]);\n },\n c: function (a) {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy);\n px = cx + a[2];\n py = cy + a[3];\n cx += a[4];\n cy += a[5];\n return cmd;\n },\n S: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]);\n px = a[0];\n py = a[1];\n cx = a[2];\n cy = a[3];\n return cmd;\n },\n s: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]);\n px = cx + a[0];\n py = cy + a[1];\n cx += a[2];\n cy += a[3];\n return cmd;\n },\n Q: function (a) {\n px = a[0];\n py = a[1];\n cx = a[2];\n cy = a[3];\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(a[0], a[1], cx, cy);\n },\n q: function (a) {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy);\n px = cx + a[0];\n py = cy + a[1];\n cx += a[2];\n cy += a[3];\n return cmd;\n },\n T: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n else {\n px = cx - (px - cx);\n py = cy - (py - cy);\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(px, py, a[0], a[1]);\n px = cx - (px - cx);\n py = cy - (py - cy);\n cx = a[0];\n cy = a[1];\n return cmd;\n },\n t: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n else {\n px = cx - (px - cx);\n py = cy - (py - cy);\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(px, py, cx + a[0], cy + a[1]);\n cx += a[0];\n cy += a[1];\n return cmd;\n },\n A: function (a) {\n var cmds = solveArc(cx, cy, a);\n cx = a[5];\n cy = a[6];\n return cmds;\n },\n a: function (a) {\n a[5] += cx;\n a[6] += cy;\n var cmds = solveArc(cx, cy, a);\n cx = a[5];\n cy = a[6];\n return cmds;\n },\n L: function (a) {\n cx = a[0];\n cy = a[1];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n l: function (a) {\n cx += a[0];\n cy += a[1];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n H: function (a) {\n cx = a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n h: function (a) {\n cx += a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n V: function (a) {\n cy = a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n v: function (a) {\n cy += a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n Z: function () {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"])();\n cx = sx;\n cy = sy;\n return cmd;\n },\n z: function () {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"])();\n cx = sx;\n cy = sy;\n return cmd;\n },\n};\nvar solveArc = function (x, y, coords) {\n var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6];\n var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y);\n var cmds = [];\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var bez = segmentToBezier.apply(void 0, seg);\n cmds.push(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"].apply(void 0, bez));\n }\n return cmds;\n};\n// from Inkscape svgtopdf, thanks!\nvar arcToSegments = function (x, y, rx, ry, large, sweep, rotateX, ox, oy) {\n var th = rotateX * (Math.PI / 180);\n var sinTh = Math.sin(th);\n var cosTh = Math.cos(th);\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5;\n py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5;\n var pl = (px * px) / (rx * rx) + (py * py) / (ry * ry);\n if (pl > 1) {\n pl = Math.sqrt(pl);\n rx *= pl;\n ry *= pl;\n }\n var a00 = cosTh / rx;\n var a01 = sinTh / rx;\n var a10 = -sinTh / ry;\n var a11 = cosTh / ry;\n var x0 = a00 * ox + a01 * oy;\n var y0 = a10 * ox + a11 * oy;\n var x1 = a00 * x + a01 * y;\n var y1 = a10 * x + a11 * y;\n var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);\n var sfactorSq = 1 / d - 0.25;\n if (sfactorSq < 0) {\n sfactorSq = 0;\n }\n var sfactor = Math.sqrt(sfactorSq);\n if (sweep === large) {\n sfactor = -sfactor;\n }\n var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0);\n var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0);\n var th0 = Math.atan2(y0 - yc, x0 - xc);\n var th1 = Math.atan2(y1 - yc, x1 - xc);\n var thArc = th1 - th0;\n if (thArc < 0 && sweep === 1) {\n thArc += 2 * Math.PI;\n }\n else if (thArc > 0 && sweep === 0) {\n thArc -= 2 * Math.PI;\n }\n var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 0.001)));\n var result = [];\n for (var i = 0; i < segments; i++) {\n var th2 = th0 + (i * thArc) / segments;\n var th3 = th0 + ((i + 1) * thArc) / segments;\n result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh];\n }\n return result;\n};\nvar segmentToBezier = function (cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) {\n var a00 = cosTh * rx;\n var a01 = -sinTh * ry;\n var a10 = sinTh * rx;\n var a11 = cosTh * ry;\n var thHalf = 0.5 * (th1 - th0);\n var t = ((8 / 3) * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5)) /\n Math.sin(thHalf);\n var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0);\n var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0);\n var x3 = cx1 + Math.cos(th1);\n var y3 = cy1 + Math.sin(th1);\n var x2 = x3 + t * Math.sin(th1);\n var y2 = y3 - t * Math.cos(th1);\n var result = [\n a00 * x1 + a01 * y1,\n a10 * x1 + a11 * y1,\n a00 * x2 + a01 * y2,\n a10 * x2 + a11 * y2,\n a00 * x3 + a01 * y3,\n a10 * x3 + a11 * y3,\n ];\n return result;\n};\nvar svgPathToOperators = function (path) { return apply(parse(path)); };\n//# sourceMappingURL=svgPath.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js ***! + \************************************************************************/ +/*! exports provided: TextAlignment */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return TextAlignment; });\nvar TextAlignment;\n(function (TextAlignment) {\n TextAlignment[TextAlignment[\"Left\"] = 0] = \"Left\";\n TextAlignment[TextAlignment[\"Center\"] = 1] = \"Center\";\n TextAlignment[TextAlignment[\"Right\"] = 2] = \"Right\";\n})(TextAlignment || (TextAlignment = {}));\n//# sourceMappingURL=alignment.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js": +/*!********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js ***! + \********************************************************************/ +/*! exports provided: TextAlignment, layoutMultilineText, layoutCombedText, layoutSinglelineText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _alignment__WEBPACK_IMPORTED_MODULE_0__[\"TextAlignment\"]; });\n\n/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layout */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutSinglelineText\"]; });\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js ***! + \*********************************************************************/ +/*! exports provided: layoutMultilineText, layoutCombedText, layoutSinglelineText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return layoutMultilineText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return layoutCombedText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return layoutSinglelineText; });\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar MIN_FONT_SIZE = 4;\nvar MAX_FONT_SIZE = 500;\nvar computeFontSize = function (lines, font, bounds, multiline) {\n if (multiline === void 0) { multiline = false; }\n var fontSize = MIN_FONT_SIZE;\n while (fontSize < MAX_FONT_SIZE) {\n var linesUsed = 0;\n for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) {\n linesUsed += 1;\n var line = lines[lineIdx];\n var words = line.split(' ');\n // Layout the words using the current `fontSize`, line wrapping\n // whenever we reach the end of the current line.\n var spaceInLineRemaining = bounds.width;\n for (var idx = 0, len = words.length; idx < len; idx++) {\n var isLastWord = idx === len - 1;\n var word = isLastWord ? words[idx] : words[idx] + ' ';\n var widthOfWord = font.widthOfTextAtSize(word, fontSize);\n spaceInLineRemaining -= widthOfWord;\n if (spaceInLineRemaining <= 0) {\n linesUsed += 1;\n spaceInLineRemaining = bounds.width - widthOfWord;\n }\n }\n }\n // Return if we exceeded the allowed width\n if (!multiline && linesUsed > lines.length)\n return fontSize - 1;\n var height = font.heightAtSize(fontSize);\n var lineHeight = height + height * 0.2;\n var totalHeight = lineHeight * linesUsed;\n // Return if we exceeded the allowed height\n if (totalHeight > Math.abs(bounds.height))\n return fontSize - 1;\n fontSize += 1;\n }\n return fontSize;\n};\nvar computeCombedFontSize = function (line, font, bounds, cellCount) {\n var cellWidth = bounds.width / cellCount;\n var cellHeight = bounds.height;\n var fontSize = MIN_FONT_SIZE;\n var chars = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"charSplit\"])(line);\n while (fontSize < MAX_FONT_SIZE) {\n for (var idx = 0, len = chars.length; idx < len; idx++) {\n var c = chars[idx];\n var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75;\n if (tooLong)\n return fontSize - 1;\n }\n var height = font.heightAtSize(fontSize, { descender: false });\n if (height > cellHeight)\n return fontSize - 1;\n fontSize += 1;\n }\n return fontSize;\n};\nvar lastIndexOfWhitespace = function (line) {\n for (var idx = line.length; idx > 0; idx--) {\n if (/\\s/.test(line[idx]))\n return idx;\n }\n return undefined;\n};\nvar splitOutLines = function (input, maxWidth, font, fontSize) {\n var _a;\n var lastWhitespaceIdx = input.length;\n while (lastWhitespaceIdx > 0) {\n var line = input.substring(0, lastWhitespaceIdx);\n var encoded = font.encodeText(line);\n var width = font.widthOfTextAtSize(line, fontSize);\n if (width < maxWidth) {\n var remainder = input.substring(lastWhitespaceIdx) || undefined;\n return { line: line, encoded: encoded, width: width, remainder: remainder };\n }\n lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0;\n }\n // We were unable to split the input enough to get a chunk that would fit\n // within the specified `maxWidth` so we'll just return everything\n return {\n line: input,\n encoded: font.encodeText(input),\n width: font.widthOfTextAtSize(input, fontSize),\n remainder: undefined,\n };\n};\nvar layoutMultilineText = function (text, _a) {\n var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds;\n var lines = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"lineSplit\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeFontSize(lines, font, bounds, true);\n }\n var height = font.heightAtSize(fontSize);\n var lineHeight = height + height * 0.2;\n var textLines = [];\n var minX = bounds.x;\n var minY = bounds.y;\n var maxX = bounds.x + bounds.width;\n var maxY = bounds.y + bounds.height;\n var y = bounds.y + bounds.height;\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var prevRemainder = lines[idx];\n while (prevRemainder !== undefined) {\n var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder;\n // prettier-ignore\n var x = (alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Left ? bounds.x\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Center ? bounds.x + (bounds.width / 2) - (width / 2)\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Right ? bounds.x + bounds.width - width\n : bounds.x);\n y -= lineHeight;\n if (x < minX)\n minX = x;\n if (y < minY)\n minY = y;\n if (x + width > maxX)\n maxX = x + width;\n if (y + height > maxY)\n maxY = y + height;\n textLines.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y });\n // Only trim lines that we had to split ourselves. So we won't trim lines\n // that the user provided themselves with whitespace.\n prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim();\n }\n }\n return {\n fontSize: fontSize,\n lineHeight: lineHeight,\n lines: textLines,\n bounds: {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n },\n };\n};\nvar layoutCombedText = function (text, _a) {\n var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount;\n var line = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (line.length > cellCount) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"CombedTextLayoutError\"](line.length, cellCount);\n }\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeCombedFontSize(line, font, bounds, cellCount);\n }\n var cellWidth = bounds.width / cellCount;\n var height = font.heightAtSize(fontSize, { descender: false });\n var y = bounds.y + (bounds.height / 2 - height / 2);\n var cells = [];\n var minX = bounds.x;\n var minY = bounds.y;\n var maxX = bounds.x + bounds.width;\n var maxY = bounds.y + bounds.height;\n var cellOffset = 0;\n var charOffset = 0;\n while (cellOffset < cellCount) {\n var _b = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"charAtIndex\"])(line, charOffset), char = _b[0], charLength = _b[1];\n var encoded = font.encodeText(char);\n var width = font.widthOfTextAtSize(char, fontSize);\n var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2);\n var x = cellCenter - width / 2;\n if (x < minX)\n minX = x;\n if (y < minY)\n minY = y;\n if (x + width > maxX)\n maxX = x + width;\n if (y + height > maxY)\n maxY = y + height;\n cells.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y });\n cellOffset += 1;\n charOffset += charLength;\n }\n return {\n fontSize: fontSize,\n cells: cells,\n bounds: {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n },\n };\n};\nvar layoutSinglelineText = function (text, _a) {\n var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds;\n var line = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeFontSize([line], font, bounds);\n }\n var encoded = font.encodeText(line);\n var width = font.widthOfTextAtSize(line, fontSize);\n var height = font.heightAtSize(fontSize, { descender: false });\n // prettier-ignore\n var x = (alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Left ? bounds.x\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Center ? bounds.x + (bounds.width / 2) - (width / 2)\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Right ? bounds.x + bounds.width - width\n : bounds.x);\n var y = bounds.y + (bounds.height / 2 - height / 2);\n return {\n fontSize: fontSize,\n line: { text: line, encoded: encoded, width: width, height: height, x: x, y: y },\n bounds: { x: x, y: y, width: width, height: height },\n };\n};\n//# sourceMappingURL=layout.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./operators/PDFOperator */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js\");\n/* harmony import */ var _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./operators/PDFOperatorNames */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js\");\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _utils_rng__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/rng */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar byAscendingObjectNumber = function (_a, _b) {\n var a = _a[0];\n var b = _b[0];\n return a.objectNumber - b.objectNumber;\n};\nvar PDFContext = /** @class */ (function () {\n function PDFContext() {\n this.largestObjectNumber = 0;\n this.header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(1, 7);\n this.trailerInfo = {};\n this.indirectObjects = new Map();\n this.rng = _utils_rng__WEBPACK_IMPORTED_MODULE_17__[\"SimpleRNG\"].withSeed(1);\n }\n PDFContext.prototype.assign = function (ref, object) {\n this.indirectObjects.set(ref, object);\n if (ref.objectNumber > this.largestObjectNumber) {\n this.largestObjectNumber = ref.objectNumber;\n }\n };\n PDFContext.prototype.nextRef = function () {\n this.largestObjectNumber += 1;\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"].of(this.largestObjectNumber);\n };\n PDFContext.prototype.register = function (object) {\n var ref = this.nextRef();\n this.assign(ref, object);\n return ref;\n };\n PDFContext.prototype.delete = function (ref) {\n return this.indirectObjects.delete(ref);\n };\n PDFContext.prototype.lookupMaybe = function (ref) {\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n var result = ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"] ? this.indirectObjects.get(ref) : ref;\n if (!result || (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"] && !preservePDFNull))\n return undefined;\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n if (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return result;\n }\n else {\n if (result instanceof type)\n return result;\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedObjectTypeError\"](types, result);\n };\n PDFContext.prototype.lookup = function (ref) {\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n var result = ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"] ? this.indirectObjects.get(ref) : ref;\n if (types.length === 0)\n return result;\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n if (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return result;\n }\n else {\n if (result instanceof type)\n return result;\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedObjectTypeError\"](types, result);\n };\n PDFContext.prototype.getObjectRef = function (pdfObject) {\n var entries = Array.from(this.indirectObjects.entries());\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], ref = _a[0], object = _a[1];\n if (object === pdfObject) {\n return ref;\n }\n }\n return undefined;\n };\n PDFContext.prototype.enumerateIndirectObjects = function () {\n return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber);\n };\n PDFContext.prototype.obj = function (literal) {\n if (literal instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_10__[\"default\"]) {\n return literal;\n }\n else if (literal === null || literal === undefined) {\n return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n }\n else if (typeof literal === 'string') {\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(literal);\n }\n else if (typeof literal === 'number') {\n return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(literal);\n }\n else if (typeof literal === 'boolean') {\n return literal ? _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].True : _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].False;\n }\n else if (Array.isArray(literal)) {\n var array = _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"].withContext(this);\n for (var idx = 0, len = literal.length; idx < len; idx++) {\n array.push(this.obj(literal[idx]));\n }\n return array;\n }\n else {\n var dict = _objects_PDFDict__WEBPACK_IMPORTED_MODULE_6__[\"default\"].withContext(this);\n var keys = Object.keys(literal);\n for (var idx = 0, len = keys.length; idx < len; idx++) {\n var key = keys[idx];\n var value = literal[key];\n if (value !== undefined)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(key), this.obj(value));\n }\n return dict;\n }\n };\n PDFContext.prototype.stream = function (contents, dict) {\n if (dict === void 0) { dict = {}; }\n return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_11__[\"default\"].of(this.obj(dict), Object(_utils__WEBPACK_IMPORTED_MODULE_16__[\"typedArrayFor\"])(contents));\n };\n PDFContext.prototype.flateStream = function (contents, dict) {\n if (dict === void 0) { dict = {}; }\n return this.stream(pako__WEBPACK_IMPORTED_MODULE_1___default.a.deflate(Object(_utils__WEBPACK_IMPORTED_MODULE_16__[\"typedArrayFor\"])(contents)), Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, dict), { Filter: 'FlateDecode' }));\n };\n PDFContext.prototype.contentStream = function (operators, dict) {\n if (dict === void 0) { dict = {}; }\n return _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(this.obj(dict), operators);\n };\n PDFContext.prototype.formXObject = function (operators, dict) {\n if (dict === void 0) { dict = {}; }\n return this.contentStream(operators, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: 'XObject', Subtype: 'Form' }));\n };\n /*\n * Reference to PDFContentStream that contains a single PDFOperator: `q`.\n * Used by [[PDFPageLeaf]] instances to ensure that when content streams are\n * added to a modified PDF, they start in the default, unchanged graphics\n * state.\n */\n PDFContext.prototype.getPushGraphicsStateContentStream = function () {\n if (this.pushGraphicsStateContentStreamRef) {\n return this.pushGraphicsStateContentStreamRef;\n }\n var dict = this.obj({});\n var op = _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(_operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__[\"default\"].PushGraphicsState);\n var stream = _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(dict, [op]);\n this.pushGraphicsStateContentStreamRef = this.register(stream);\n return this.pushGraphicsStateContentStreamRef;\n };\n /*\n * Reference to PDFContentStream that contains a single PDFOperator: `Q`.\n * Used by [[PDFPageLeaf]] instances to ensure that when content streams are\n * added to a modified PDF, they start in the default, unchanged graphics\n * state.\n */\n PDFContext.prototype.getPopGraphicsStateContentStream = function () {\n if (this.popGraphicsStateContentStreamRef) {\n return this.popGraphicsStateContentStreamRef;\n }\n var dict = this.obj({});\n var op = _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(_operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__[\"default\"].PopGraphicsState);\n var stream = _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(dict, [op]);\n this.popGraphicsStateContentStreamRef = this.register(stream);\n return this.popGraphicsStateContentStreamRef;\n };\n PDFContext.prototype.addRandomSuffix = function (prefix, suffixLength) {\n if (suffixLength === void 0) { suffixLength = 4; }\n return prefix + \"-\" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength));\n };\n PDFContext.create = function () { return new PDFContext(); };\n return PDFContext;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFContext);\n//# sourceMappingURL=PDFContext.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n\n\n\n\n\n\n/**\n * PDFObjectCopier copies PDFObjects from a src context to a dest context.\n * The primary use case for this is to copy pages between PDFs.\n *\n * _Copying_ an object with a PDFObjectCopier is different from _cloning_ an\n * object with its [[PDFObject.clone]] method:\n *\n * ```\n * const src: PDFContext = ...\n * const dest: PDFContext = ...\n * const originalObject: PDFObject = ...\n * const copiedObject = PDFObjectCopier.for(src, dest).copy(originalObject);\n * const clonedObject = originalObject.clone();\n * ```\n *\n * Copying an object is equivalent to cloning it and then copying over any other\n * objects that it references. Note that only dictionaries, arrays, and streams\n * (or structures build from them) can contain indirect references to other\n * objects. Copying a PDFObject that is not a dictionary, array, or stream is\n * supported, but is equivalent to cloning it.\n */\nvar PDFObjectCopier = /** @class */ (function () {\n function PDFObjectCopier(src, dest) {\n var _this = this;\n this.traversedObjects = new Map();\n // prettier-ignore\n this.copy = function (object) { return (object instanceof _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"] ? _this.copyPDFPage(object)\n : object instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _this.copyPDFDict(object)\n : object instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _this.copyPDFArray(object)\n : object instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"] ? _this.copyPDFStream(object)\n : object instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__[\"default\"] ? _this.copyPDFIndirectObject(object)\n : object.clone()); };\n this.copyPDFPage = function (originalPage) {\n var clonedPage = originalPage.clone();\n // Move any entries that the originalPage is inheriting from its parent\n // tree nodes directly into originalPage so they are preserved during\n // the copy.\n var InheritableEntries = _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"].InheritableEntries;\n for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) {\n var key = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(InheritableEntries[idx]);\n var value = clonedPage.getInheritableAttribute(key);\n if (!clonedPage.get(key) && value)\n clonedPage.set(key, value);\n }\n // Remove the parent reference to prevent the whole donor document's page\n // tree from being copied when we only need a single page.\n clonedPage.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Parent'));\n return _this.copyPDFDict(clonedPage);\n };\n this.copyPDFDict = function (originalDict) {\n if (_this.traversedObjects.has(originalDict)) {\n return _this.traversedObjects.get(originalDict);\n }\n var clonedDict = originalDict.clone(_this.dest);\n _this.traversedObjects.set(originalDict, clonedDict);\n var entries = originalDict.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clonedDict.set(key, _this.copy(value));\n }\n return clonedDict;\n };\n this.copyPDFArray = function (originalArray) {\n if (_this.traversedObjects.has(originalArray)) {\n return _this.traversedObjects.get(originalArray);\n }\n var clonedArray = originalArray.clone(_this.dest);\n _this.traversedObjects.set(originalArray, clonedArray);\n for (var idx = 0, len = originalArray.size(); idx < len; idx++) {\n var value = originalArray.get(idx);\n clonedArray.set(idx, _this.copy(value));\n }\n return clonedArray;\n };\n this.copyPDFStream = function (originalStream) {\n if (_this.traversedObjects.has(originalStream)) {\n return _this.traversedObjects.get(originalStream);\n }\n var clonedStream = originalStream.clone(_this.dest);\n _this.traversedObjects.set(originalStream, clonedStream);\n var entries = originalStream.dict.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clonedStream.dict.set(key, _this.copy(value));\n }\n return clonedStream;\n };\n this.copyPDFIndirectObject = function (ref) {\n var alreadyMapped = _this.traversedObjects.has(ref);\n if (!alreadyMapped) {\n var newRef = _this.dest.nextRef();\n _this.traversedObjects.set(ref, newRef);\n var dereferencedValue = _this.src.lookup(ref);\n if (dereferencedValue) {\n var cloned = _this.copy(dereferencedValue);\n _this.dest.assign(newRef, cloned);\n }\n }\n return _this.traversedObjects.get(ref);\n };\n this.src = src;\n this.dest = dest;\n }\n PDFObjectCopier.for = function (src, dest) {\n return new PDFObjectCopier(src, dest);\n };\n return PDFObjectCopier;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectCopier);\n//# sourceMappingURL=PDFObjectCopier.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\nvar PDFAcroButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroButton, _super);\n function PDFAcroButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroButton.prototype.Opt = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Opt'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n };\n PDFAcroButton.prototype.setOpt = function (opt) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Opt'), this.dict.context.obj(opt));\n };\n PDFAcroButton.prototype.getExportValues = function () {\n var opt = this.Opt();\n if (!opt)\n return undefined;\n if (opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return [opt];\n }\n var values = [];\n for (var idx = 0, len = opt.size(); idx < len; idx++) {\n var value = opt.lookup(idx);\n if (value instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || value instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n values.push(value);\n }\n }\n return values;\n };\n PDFAcroButton.prototype.removeExportValue = function (idx) {\n var opt = this.Opt();\n if (!opt)\n return;\n if (opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n if (idx !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"IndexOutOfBoundsError\"](idx, 0, 0);\n this.setOpt([]);\n }\n else {\n if (idx < 0 || idx > opt.size()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"IndexOutOfBoundsError\"](idx, 0, opt.size());\n }\n opt.remove(idx);\n }\n };\n // Enforce use use of /Opt even if it isn't strictly necessary\n PDFAcroButton.prototype.normalizeExportValues = function () {\n var _a, _b, _c, _d;\n var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : [];\n var Opt = [];\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : '');\n Opt.push(exportVal);\n }\n this.setOpt(Opt);\n };\n /**\n * Reuses existing opt if one exists with the same value (assuming\n * `useExistingIdx` is `true`). Returns index of existing (or new) opt.\n */\n PDFAcroButton.prototype.addOpt = function (opt, useExistingOptIdx) {\n var _a;\n this.normalizeExportValues();\n var optText = opt.decodeText();\n var existingIdx;\n if (useExistingOptIdx) {\n var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : [];\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n var exportVal = exportValues[idx];\n if (exportVal.decodeText() === optText)\n existingIdx = idx;\n }\n }\n var Opt = this.Opt();\n Opt.push(opt);\n return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1;\n };\n PDFAcroButton.prototype.addWidgetWithOpt = function (widget, opt, useExistingOptIdx) {\n var optIdx = this.addOpt(opt, useExistingOptIdx);\n var apStateValue = _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(String(optIdx));\n this.addWidget(widget);\n return apStateValue;\n };\n return PDFAcroButton;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroButton);\n//# sourceMappingURL=PDFAcroButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js": +/*!***********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js ***! + \***********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\nvar PDFAcroCheckBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroCheckBox, _super);\n function PDFAcroCheckBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroCheckBox.prototype.setValue = function (value) {\n var _a;\n var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Yes');\n if (value !== onValue && value !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off')) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidAcroFieldValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('V'), value);\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getOnValue() === value ? value : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n widget.setAppearanceState(state);\n }\n };\n PDFAcroCheckBox.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return v;\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n };\n PDFAcroCheckBox.prototype.getOnValue = function () {\n var widget = this.getWidgets()[0];\n return widget === null || widget === void 0 ? void 0 : widget.getOnValue();\n };\n PDFAcroCheckBox.fromDict = function (dict, ref) {\n return new PDFAcroCheckBox(dict, ref);\n };\n PDFAcroCheckBox.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroCheckBox(dict, ref);\n };\n return PDFAcroCheckBox;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroCheckBox);\n//# sourceMappingURL=PDFAcroCheckBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\n\nvar PDFAcroChoice = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroChoice, _super);\n function PDFAcroChoice() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroChoice.prototype.setValues = function (values) {\n if (this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].Combo) &&\n !this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].Edit) &&\n !this.valuesAreValid(values)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"InvalidAcroFieldValueError\"]();\n }\n if (values.length === 0) {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'));\n }\n if (values.length === 1) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'), values[0]);\n }\n if (values.length > 1) {\n if (!this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].MultiSelect)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"MultiSelectValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'), this.dict.context.obj(values));\n }\n this.updateSelectedIndices(values);\n };\n PDFAcroChoice.prototype.valuesAreValid = function (values) {\n var options = this.getOptions();\n var _loop_1 = function (idx, len) {\n var val = values[idx].decodeText();\n if (!options.find(function (o) { return val === (o.display || o.value).decodeText(); })) {\n return { value: false };\n }\n };\n for (var idx = 0, len = values.length; idx < len; idx++) {\n var state_1 = _loop_1(idx, len);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return true;\n };\n PDFAcroChoice.prototype.updateSelectedIndices = function (values) {\n if (values.length > 1) {\n var indices = new Array(values.length);\n var options = this.getOptions();\n var _loop_2 = function (idx, len) {\n var val = values[idx].decodeText();\n indices[idx] = options.findIndex(function (o) { return val === (o.display || o.value).decodeText(); });\n };\n for (var idx = 0, len = values.length; idx < len; idx++) {\n _loop_2(idx, len);\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('I'), this.dict.context.obj(indices.sort()));\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('I'));\n }\n };\n PDFAcroChoice.prototype.getValues = function () {\n var v = this.V();\n if (v instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || v instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return [v];\n if (v instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n var values = [];\n for (var idx = 0, len = v.size(); idx < len; idx++) {\n var value = v.lookup(idx);\n if (value instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || value instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n values.push(value);\n }\n }\n return values;\n }\n return [];\n };\n PDFAcroChoice.prototype.Opt = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('Opt'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFAcroChoice.prototype.setOptions = function (options) {\n var newOpt = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = options[idx], value = _a.value, display = _a.display;\n newOpt[idx] = this.dict.context.obj([value, display || value]);\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('Opt'), this.dict.context.obj(newOpt));\n };\n PDFAcroChoice.prototype.getOptions = function () {\n var Opt = this.Opt();\n // Not supposed to happen - Opt _should_ always be `PDFArray | undefined`\n if (Opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || Opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return [{ value: Opt, display: Opt }];\n }\n if (Opt instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n var res = [];\n for (var idx = 0, len = Opt.size(); idx < len; idx++) {\n var item = Opt.lookup(idx);\n // If `item` is a string, use that as both the export and text value\n if (item instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || item instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n res.push({ value: item, display: item });\n }\n // If `item` is an array of one, treat it the same as just a string,\n // if it's an array of two then `item[0]` is the export value and\n // `item[1]` is the text value\n if (item instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n if (item.size() > 0) {\n var first = item.lookup(0, _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var second = item.lookupMaybe(1, _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n res.push({ value: first, display: second || first });\n }\n }\n }\n return res;\n }\n return [];\n };\n return PDFAcroChoice;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroChoice);\n//# sourceMappingURL=PDFAcroChoice.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js": +/*!***********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js ***! + \***********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\nvar PDFAcroComboBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroComboBox, _super);\n function PDFAcroComboBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroComboBox.fromDict = function (dict, ref) {\n return new PDFAcroComboBox(dict, ref);\n };\n PDFAcroComboBox.create = function (context) {\n var dict = context.obj({\n FT: 'Ch',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_2__[\"AcroChoiceFlags\"].Combo,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroComboBox(dict, ref);\n };\n return PDFAcroComboBox;\n}(_PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroComboBox);\n//# sourceMappingURL=PDFAcroComboBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js": +/*!********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js ***! + \********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\n\n\n// Examples:\n// `/Helv 12 Tf` -> ['Helv', '12']\n// `/HeBo 8.00 Tf` -> ['HeBo', '8.00']\n// `/HeBo Tf` -> ['HeBo', undefined]\nvar tfRegex = /\\/([^\\0\\t\\n\\f\\r\\ ]+)[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]+Tf/;\nvar PDFAcroField = /** @class */ (function () {\n function PDFAcroField(dict, ref) {\n this.dict = dict;\n this.ref = ref;\n }\n PDFAcroField.prototype.T = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFAcroField.prototype.Ff = function () {\n var numberOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Ff'));\n return this.dict.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFAcroField.prototype.V = function () {\n var valueOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('V'));\n return this.dict.context.lookup(valueOrRef);\n };\n PDFAcroField.prototype.Kids = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n };\n // Parent(): PDFDict | undefined {\n // return this.dict.lookupMaybe(PDFName.of('Parent'), PDFDict);\n // }\n PDFAcroField.prototype.DA = function () {\n var da = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DA'));\n if (da instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || da instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return da;\n return undefined;\n };\n PDFAcroField.prototype.setKids = function (kids) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), this.dict.context.obj(kids));\n };\n PDFAcroField.prototype.getParent = function () {\n // const parent = this.Parent();\n // if (!parent) return undefined;\n // return new PDFAcroField(parent);\n var parentRef = this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n if (parentRef instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n var parent_1 = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return new PDFAcroField(parent_1, parentRef);\n }\n return undefined;\n };\n PDFAcroField.prototype.setParent = function (parent) {\n if (!parent)\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n else\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), parent);\n };\n PDFAcroField.prototype.getFullyQualifiedName = function () {\n var parent = this.getParent();\n if (!parent)\n return this.getPartialName();\n return parent.getFullyQualifiedName() + \".\" + this.getPartialName();\n };\n PDFAcroField.prototype.getPartialName = function () {\n var _a;\n return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText();\n };\n PDFAcroField.prototype.setPartialName = function (partialName) {\n if (!partialName)\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'));\n else\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'), _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(partialName));\n };\n PDFAcroField.prototype.setDefaultAppearance = function (appearance) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DA'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(appearance));\n };\n PDFAcroField.prototype.getDefaultAppearance = function () {\n var DA = this.DA();\n if (DA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return DA.decodeText();\n }\n return DA === null || DA === void 0 ? void 0 : DA.asString();\n };\n PDFAcroField.prototype.setFontSize = function (fontSize) {\n var _a;\n var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : '';\n var da = this.getDefaultAppearance();\n if (!da)\n throw new _errors__WEBPACK_IMPORTED_MODULE_8__[\"MissingDAEntryError\"](name);\n var daMatch = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, tfRegex);\n if (!daMatch.match)\n throw new _errors__WEBPACK_IMPORTED_MODULE_8__[\"MissingTfOperatorError\"](name);\n var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length);\n var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : '';\n var fontName = daMatch.match[1];\n var modifiedDa = daStart + \" /\" + fontName + \" \" + fontSize + \" Tf \" + daEnd;\n this.setDefaultAppearance(modifiedDa);\n };\n PDFAcroField.prototype.getFlags = function () {\n var _a, _b;\n return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0;\n };\n PDFAcroField.prototype.setFlags = function (flags) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Ff'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(flags));\n };\n PDFAcroField.prototype.hasFlag = function (flag) {\n var flags = this.getFlags();\n return (flags & flag) !== 0;\n };\n PDFAcroField.prototype.setFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags | flag);\n };\n PDFAcroField.prototype.clearFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags & ~flag);\n };\n PDFAcroField.prototype.setFlagTo = function (flag, enable) {\n if (enable)\n this.setFlag(flag);\n else\n this.clearFlag(flag);\n };\n PDFAcroField.prototype.getInheritableAttribute = function (name) {\n var attribute;\n this.ascend(function (node) {\n if (!attribute)\n attribute = node.dict.get(name);\n });\n return attribute;\n };\n PDFAcroField.prototype.ascend = function (visitor) {\n visitor(this);\n var parent = this.getParent();\n if (parent)\n parent.ascend(visitor);\n };\n return PDFAcroField;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroField);\n//# sourceMappingURL=PDFAcroField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js\");\n\n\n\n\n\nvar PDFAcroForm = /** @class */ (function () {\n function PDFAcroForm(dict) {\n this.dict = dict;\n }\n PDFAcroForm.prototype.Fields = function () {\n var fields = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Fields'));\n if (fields instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return fields;\n return undefined;\n };\n PDFAcroForm.prototype.getFields = function () {\n var Fields = this.normalizedEntries().Fields;\n var fields = new Array(Fields.size());\n for (var idx = 0, len = Fields.size(); idx < len; idx++) {\n var ref = Fields.get(idx);\n var dict = Fields.lookup(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n fields[idx] = [Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"createPDFAcroField\"])(dict, ref), ref];\n }\n return fields;\n };\n PDFAcroForm.prototype.getAllFields = function () {\n var allFields = [];\n var pushFields = function (fields) {\n if (!fields)\n return;\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n allFields.push(field);\n var fieldModel = field[0];\n if (fieldModel instanceof _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n pushFields(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"createPDFAcroFields\"])(fieldModel.Kids()));\n }\n }\n };\n pushFields(this.getFields());\n return allFields;\n };\n PDFAcroForm.prototype.addField = function (field) {\n var Fields = this.normalizedEntries().Fields;\n Fields === null || Fields === void 0 ? void 0 : Fields.push(field);\n };\n PDFAcroForm.prototype.removeField = function (field) {\n var parent = field.getParent();\n var fields = parent === undefined ? this.normalizedEntries().Fields : parent.Kids();\n var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref);\n if (fields === undefined || index === undefined) {\n throw new Error(\"Tried to remove inexistent field \" + field.getFullyQualifiedName());\n }\n fields.remove(index);\n if (parent !== undefined && fields.size() === 0) {\n this.removeField(parent);\n }\n };\n PDFAcroForm.prototype.normalizedEntries = function () {\n var Fields = this.Fields();\n if (!Fields) {\n Fields = this.dict.context.obj([]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Fields'), Fields);\n }\n return { Fields: Fields };\n };\n PDFAcroForm.fromDict = function (dict) { return new PDFAcroForm(dict); };\n PDFAcroForm.create = function (context) {\n var dict = context.obj({ Fields: [] });\n return new PDFAcroForm(dict);\n };\n return PDFAcroForm;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroForm);\n//# sourceMappingURL=PDFAcroForm.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js ***! + \**********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n\n\nvar PDFAcroListBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroListBox, _super);\n function PDFAcroListBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroListBox.fromDict = function (dict, ref) {\n return new PDFAcroListBox(dict, ref);\n };\n PDFAcroListBox.create = function (context) {\n var dict = context.obj({\n FT: 'Ch',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroListBox(dict, ref);\n };\n return PDFAcroListBox;\n}(_PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroListBox);\n//# sourceMappingURL=PDFAcroListBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js": +/*!**************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js ***! + \**************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n\n\n\nvar PDFAcroNonTerminal = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroNonTerminal, _super);\n function PDFAcroNonTerminal() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroNonTerminal.prototype.addField = function (field) {\n var Kids = this.normalizedEntries().Kids;\n Kids === null || Kids === void 0 ? void 0 : Kids.push(field);\n };\n PDFAcroNonTerminal.prototype.normalizedEntries = function () {\n var Kids = this.Kids();\n if (!Kids) {\n Kids = this.dict.context.obj([]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Kids'), Kids);\n }\n return { Kids: Kids };\n };\n PDFAcroNonTerminal.fromDict = function (dict, ref) {\n return new PDFAcroNonTerminal(dict, ref);\n };\n PDFAcroNonTerminal.create = function (context) {\n var dict = context.obj({});\n var ref = context.register(dict);\n return new PDFAcroNonTerminal(dict, ref);\n };\n return PDFAcroNonTerminal;\n}(_PDFAcroField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroNonTerminal);\n//# sourceMappingURL=PDFAcroNonTerminal.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js": +/*!*************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\nvar PDFAcroPushButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroPushButton, _super);\n function PDFAcroPushButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroPushButton.fromDict = function (dict, ref) {\n return new PDFAcroPushButton(dict, ref);\n };\n PDFAcroPushButton.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_2__[\"AcroButtonFlags\"].PushButton,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroPushButton(dict, ref);\n };\n return PDFAcroPushButton;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroPushButton);\n//# sourceMappingURL=PDFAcroPushButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js": +/*!**************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js ***! + \**************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFAcroRadioButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroRadioButton, _super);\n function PDFAcroRadioButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroRadioButton.prototype.setValue = function (value) {\n var onValues = this.getOnValues();\n if (!onValues.includes(value) && value !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off')) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidAcroFieldValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('V'), value);\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getOnValue() === value ? value : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n widget.setAppearanceState(state);\n }\n };\n PDFAcroRadioButton.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return v;\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n };\n PDFAcroRadioButton.prototype.getOnValues = function () {\n var widgets = this.getWidgets();\n var onValues = [];\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var onValue = widgets[idx].getOnValue();\n if (onValue)\n onValues.push(onValue);\n }\n return onValues;\n };\n PDFAcroRadioButton.fromDict = function (dict, ref) {\n return new PDFAcroRadioButton(dict, ref);\n };\n PDFAcroRadioButton.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_3__[\"AcroButtonFlags\"].Radio,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroRadioButton(dict, ref);\n };\n return PDFAcroRadioButton;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroRadioButton);\n//# sourceMappingURL=PDFAcroRadioButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js ***! + \************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n\n\nvar PDFAcroSignature = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroSignature, _super);\n function PDFAcroSignature() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroSignature.fromDict = function (dict, ref) {\n return new PDFAcroSignature(dict, ref);\n };\n return PDFAcroSignature;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroSignature);\n//# sourceMappingURL=PDFAcroSignature.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js": +/*!***********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js ***! + \***********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n/* harmony import */ var _annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../annotation/PDFWidgetAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\nvar PDFAcroTerminal = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroTerminal, _super);\n function PDFAcroTerminal() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroTerminal.prototype.FT = function () {\n var nameOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FT'));\n return this.dict.context.lookup(nameOrRef, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFAcroTerminal.prototype.getWidgets = function () {\n var kidDicts = this.Kids();\n // This field is itself a widget\n if (!kidDicts)\n return [_annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(this.dict)];\n // This field's kids are its widgets\n var widgets = new Array(kidDicts.size());\n for (var idx = 0, len = kidDicts.size(); idx < len; idx++) {\n var dict = kidDicts.lookup(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n widgets[idx] = _annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(dict);\n }\n return widgets;\n };\n PDFAcroTerminal.prototype.addWidget = function (ref) {\n var Kids = this.normalizedEntries().Kids;\n Kids.push(ref);\n };\n PDFAcroTerminal.prototype.removeWidget = function (idx) {\n var kidDicts = this.Kids();\n if (!kidDicts) {\n // This field is itself a widget\n if (idx !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_5__[\"IndexOutOfBoundsError\"](idx, 0, 0);\n this.setKids([]);\n }\n else {\n // This field's kids are its widgets\n if (idx < 0 || idx > kidDicts.size()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_5__[\"IndexOutOfBoundsError\"](idx, 0, kidDicts.size());\n }\n kidDicts.remove(idx);\n }\n };\n PDFAcroTerminal.prototype.normalizedEntries = function () {\n var Kids = this.Kids();\n // If this field is itself a widget (because it was only rendered once in\n // the document, so the field and widget properties were merged) then we\n // add itself to the `Kids` array. The alternative would be to try\n // splitting apart the widget properties and creating a separate object\n // for them.\n if (!Kids) {\n Kids = this.dict.context.obj([this.ref]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Kids'), Kids);\n }\n return { Kids: Kids };\n };\n PDFAcroTerminal.fromDict = function (dict, ref) {\n return new PDFAcroTerminal(dict, ref);\n };\n return PDFAcroTerminal;\n}(_PDFAcroField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroTerminal);\n//# sourceMappingURL=PDFAcroTerminal.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n\n\n\n\n\n\nvar PDFAcroText = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroText, _super);\n function PDFAcroText() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroText.prototype.MaxLen = function () {\n var maxLen = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'));\n if (maxLen instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return maxLen;\n return undefined;\n };\n PDFAcroText.prototype.Q = function () {\n var q = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Q'));\n if (q instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return q;\n return undefined;\n };\n PDFAcroText.prototype.setMaxLength = function (maxLength) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(maxLength));\n };\n PDFAcroText.prototype.removeMaxLength = function () {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'));\n };\n PDFAcroText.prototype.getMaxLength = function () {\n var _a;\n return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n PDFAcroText.prototype.setQuadding = function (quadding) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Q'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(quadding));\n };\n PDFAcroText.prototype.getQuadding = function () {\n var _a;\n return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n PDFAcroText.prototype.setValue = function (value) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('V'), value);\n // const widgets = this.getWidgets();\n // for (let idx = 0, len = widgets.length; idx < len; idx++) {\n // const widget = widgets[idx];\n // const state = widget.getOnValue() === value ? value : PDFName.of('Off');\n // widget.setAppearanceState(state);\n // }\n };\n PDFAcroText.prototype.removeValue = function () {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('V'));\n };\n PDFAcroText.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_2__[\"default\"] || v instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return v;\n return undefined;\n };\n PDFAcroText.fromDict = function (dict, ref) { return new PDFAcroText(dict, ref); };\n PDFAcroText.create = function (context) {\n var dict = context.obj({\n FT: 'Tx',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroText(dict, ref);\n };\n return PDFAcroText;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroText);\n//# sourceMappingURL=PDFAcroText.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js ***! + \*************************************************************************/ +/*! exports provided: AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return AcroFieldFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return AcroButtonFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return AcroTextFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return AcroChoiceFlags; });\nvar flag = function (bitIndex) { return 1 << bitIndex; };\n/** From PDF spec table 221 */\nvar AcroFieldFlags;\n(function (AcroFieldFlags) {\n /**\n * If set, the user may not change the value of the field. Any associated\n * widget annotations will not interact with the user; that is, they will not\n * respond to mouse clicks or change their appearance in response to mouse\n * motions. This flag is useful for fields whose values are computed or\n * imported from a database.\n */\n AcroFieldFlags[AcroFieldFlags[\"ReadOnly\"] = flag(1 - 1)] = \"ReadOnly\";\n /**\n * If set, the field shall have a value at the time it is exported by a\n * submit-form action (see 12.7.5.2, \"Submit-Form Action\").\n */\n AcroFieldFlags[AcroFieldFlags[\"Required\"] = flag(2 - 1)] = \"Required\";\n /**\n * If set, the field shall not be exported by a submit-form action\n * (see 12.7.5.2, \"Submit-Form Action\").\n */\n AcroFieldFlags[AcroFieldFlags[\"NoExport\"] = flag(3 - 1)] = \"NoExport\";\n})(AcroFieldFlags || (AcroFieldFlags = {}));\n/** From PDF spec table 226 */\nvar AcroButtonFlags;\n(function (AcroButtonFlags) {\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at\n * all times; selecting the currently selected button has no effect. If clear,\n * clicking the selected button deselects it, leaving no button selected.\n */\n AcroButtonFlags[AcroButtonFlags[\"NoToggleToOff\"] = flag(15 - 1)] = \"NoToggleToOff\";\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a check\n * box. This flag may be set only if the Pushbutton flag is clear.\n */\n AcroButtonFlags[AcroButtonFlags[\"Radio\"] = flag(16 - 1)] = \"Radio\";\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n */\n AcroButtonFlags[AcroButtonFlags[\"PushButton\"] = flag(17 - 1)] = \"PushButton\";\n /**\n * If set, a group of radio buttons within a radio button field that use the\n * same value for the on state will turn on and off in unison; that is if one\n * is checked, they are all checked. If clear, the buttons are mutually\n * exclusive (the same behavior as HTML radio buttons).\n */\n AcroButtonFlags[AcroButtonFlags[\"RadiosInUnison\"] = flag(26 - 1)] = \"RadiosInUnison\";\n})(AcroButtonFlags || (AcroButtonFlags = {}));\n/** From PDF spec table 228 */\nvar AcroTextFlags;\n(function (AcroTextFlags) {\n /**\n * If set, the field may contain multiple lines of text; if clear, the field's\n * text shall be restricted to a single line.\n */\n AcroTextFlags[AcroTextFlags[\"Multiline\"] = flag(13 - 1)] = \"Multiline\";\n /**\n * If set, the field is intended for entering a secure password that should\n * not be echoed visibly to the screen. Characters typed from the keyboard\n * shall instead be echoed in some unreadable form, such as asterisks or\n * bullet characters.\n * > NOTE To protect password confidentiality, readers should never store\n * > the value of the text field in the PDF file if this flag is set.\n */\n AcroTextFlags[AcroTextFlags[\"Password\"] = flag(14 - 1)] = \"Password\";\n /**\n * If set, the text entered in the field represents the pathname of a file\n * whose contents shall be submitted as the value of the field.\n */\n AcroTextFlags[AcroTextFlags[\"FileSelect\"] = flag(21 - 1)] = \"FileSelect\";\n /**\n * If set, text entered in the field shall not be spell-checked.\n */\n AcroTextFlags[AcroTextFlags[\"DoNotSpellCheck\"] = flag(23 - 1)] = \"DoNotSpellCheck\";\n /**\n * If set, the field shall not scroll (horizontally for single-line fields,\n * vertically for multiple-line fields) to accommodate more text than fits\n * within its annotation rectangle. Once the field is full, no further text\n * shall be accepted for interactive form filling; for non-interactive form\n * filling, the filler should take care not to add more character than will\n * visibly fit in the defined area.\n */\n AcroTextFlags[AcroTextFlags[\"DoNotScroll\"] = flag(24 - 1)] = \"DoNotScroll\";\n /**\n * May be set only if the MaxLen entry is present in the text field dictionary\n * (see Table 229) and if the Multiline, Password, and FileSelect flags are\n * clear. If set, the field shall be automatically divided into as many\n * equally spaced positions, or combs, as the value of MaxLen, and the text\n * is laid out into those combs.\n */\n AcroTextFlags[AcroTextFlags[\"Comb\"] = flag(25 - 1)] = \"Comb\";\n /**\n * If set, the value of this field shall be a rich text string\n * (see 12.7.3.4, \"Rich Text Strings\"). If the field has a value, the RV\n * entry of the field dictionary (Table 222) shall specify the rich text\n * string.\n */\n AcroTextFlags[AcroTextFlags[\"RichText\"] = flag(26 - 1)] = \"RichText\";\n})(AcroTextFlags || (AcroTextFlags = {}));\n/** From PDF spec table 230 */\nvar AcroChoiceFlags;\n(function (AcroChoiceFlags) {\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Combo\"] = flag(18 - 1)] = \"Combo\";\n /**\n * If set, the combo box shall include an editable text box as well as a\n * drop-down list; if clear, it shall include only a drop-down list. This\n * flag shall be used only if the Combo flag is set.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Edit\"] = flag(19 - 1)] = \"Edit\";\n /**\n * If set, the field's option items shall be sorted alphabetically. This flag\n * is intended for use by writers, not by readers. Conforming readers shall\n * display the options in the order in which they occur in the Opt array\n * (see Table 231).\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Sort\"] = flag(20 - 1)] = \"Sort\";\n /**\n * If set, more than one of the field's option items may be selected\n * simultaneously; if clear, at most one item shall be selected.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"MultiSelect\"] = flag(22 - 1)] = \"MultiSelect\";\n /**\n * If set, text entered in the field shall not be spell-checked. This flag\n * shall not be used unless the Combo and Edit flags are both set.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"DoNotSpellCheck\"] = flag(23 - 1)] = \"DoNotSpellCheck\";\n /**\n * If set, the new value shall be committed as soon as a selection is made\n * (commonly with the pointing device). In this case, supplying a value for\n * a field involves three actions: selecting the field for fill-in,\n * selecting a choice for the fill-in value, and leaving that field, which\n * finalizes or \"commits\" the data choice and triggers any actions associated\n * with the entry or changing of this data. If this flag is on, then\n * processing does not wait for leaving the field action to occur, but\n * immediately proceeds to the third step.\n *\n * This option enables applications to perform an action once a selection is\n * made, without requiring the user to exit the field. If clear, the new\n * value is not committed until the user exits the field.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"CommitOnSelChange\"] = flag(27 - 1)] = \"CommitOnSelChange\";\n})(AcroChoiceFlags || (AcroChoiceFlags = {}));\n//# sourceMappingURL=flags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js ***! + \*************************************************************************/ +/*! exports provided: PDFAcroButton, PDFAcroCheckBox, PDFAcroChoice, PDFAcroComboBox, PDFAcroField, PDFAcroForm, PDFAcroListBox, PDFAcroNonTerminal, PDFAcroPushButton, PDFAcroRadioButton, PDFAcroSignature, PDFAcroTerminal, PDFAcroText, AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags, createPDFAcroFields, createPDFAcroField */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _PDFAcroButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroComboBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _PDFAcroField__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroForm */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _PDFAcroForm__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFAcroListBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFAcroPushButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFAcroRadioButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFAcroSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroText__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFAcroText */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _PDFAcroText__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroChoiceFlags\"]; });\n\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _utils__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _utils__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroField\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js ***! + \*************************************************************************/ +/*! exports provided: createPDFAcroFields, createPDFAcroField */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return createPDFAcroFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return createPDFAcroField; });\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony import */ var _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAcroSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js\");\n/* harmony import */ var _PDFAcroText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFAcroText */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js\");\n/* harmony import */ var _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFAcroPushButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js\");\n/* harmony import */ var _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFAcroRadioButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js\");\n/* harmony import */ var _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFAcroCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js\");\n/* harmony import */ var _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFAcroComboBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js\");\n/* harmony import */ var _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFAcroListBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar createPDFAcroFields = function (kidDicts) {\n if (!kidDicts)\n return [];\n var kids = [];\n for (var idx = 0, len = kidDicts.size(); idx < len; idx++) {\n var ref = kidDicts.get(idx);\n var dict = kidDicts.lookup(idx);\n // if (dict instanceof PDFDict) kids.push(PDFAcroField.fromDict(dict));\n if (ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && dict instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n kids.push([createPDFAcroField(dict, ref), ref]);\n }\n }\n return kids;\n};\nvar createPDFAcroField = function (dict, ref) {\n var isNonTerminal = isNonTerminalAcroField(dict);\n if (isNonTerminal)\n return _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(dict, ref);\n return createPDFAcroTerminal(dict, ref);\n};\n// TODO: Maybe just check if the dict is *not* a widget? That might be better.\n// According to the PDF spec:\n//\n// > A field's children in the hierarchy may also include widget annotations\n// > that define its appearance on the page. A field that has children that\n// > are fields is called a non-terminal field. A field that does not have\n// > children that are fields is called a terminal field.\n//\n// The spec is not entirely clear about how to determine whether a given\n// dictionary represents an acrofield or a widget annotation. So we will assume\n// that a dictionary is an acrofield if it is a member of the `/Kids` array\n// and it contains a `/T` entry (widgets do not have `/T` entries). This isn't\n// a bullet proof solution, because the `/T` entry is technically defined as\n// optional for acrofields by the PDF spec. But in practice all acrofields seem\n// to have a `/T` entry defined.\nvar isNonTerminalAcroField = function (dict) {\n var kids = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Kids'));\n if (kids instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n for (var idx = 0, len = kids.size(); idx < len; idx++) {\n var kid = kids.lookup(idx);\n var kidIsField = kid instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && kid.has(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('T'));\n if (kidIsField)\n return true;\n }\n }\n return false;\n};\nvar createPDFAcroTerminal = function (dict, ref) {\n var ftNameOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FT'));\n var type = dict.context.lookup(ftNameOrRef, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Btn'))\n return createPDFAcroButton(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ch'))\n return createPDFAcroChoice(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Tx'))\n return _PDFAcroText__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Sig'))\n return _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"].fromDict(dict, ref);\n // We should never reach this line. But there are a lot of weird PDFs out\n // there. So, just to be safe, we'll try to handle things gracefully instead\n // of throwing an error.\n return _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromDict(dict, ref);\n};\nvar createPDFAcroButton = function (dict, ref) {\n var _a;\n var ffNumberOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ff'));\n var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0;\n if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroButtonFlags\"].PushButton)) {\n return _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"].fromDict(dict, ref);\n }\n else if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroButtonFlags\"].Radio)) {\n return _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_10__[\"default\"].fromDict(dict, ref);\n }\n else {\n return _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_11__[\"default\"].fromDict(dict, ref);\n }\n};\nvar createPDFAcroChoice = function (dict, ref) {\n var _a;\n var ffNumberOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ff'));\n var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0;\n if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroChoiceFlags\"].Combo)) {\n return _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_12__[\"default\"].fromDict(dict, ref);\n }\n else {\n return _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_13__[\"default\"].fromDict(dict, ref);\n }\n};\nvar flagIsSet = function (flags, flag) {\n return (flags & flag) !== 0;\n};\nvar getInheritableAttribute = function (startNode, name) {\n var attribute;\n ascend(startNode, function (node) {\n if (!attribute)\n attribute = node.get(name);\n });\n return attribute;\n};\nvar ascend = function (startNode, visitor) {\n visitor(startNode);\n var Parent = startNode.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Parent'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n if (Parent)\n ascend(Parent, visitor);\n};\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js": +/*!***********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js ***! + \***********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n\n\n\n\n\nvar AppearanceCharacteristics = /** @class */ (function () {\n function AppearanceCharacteristics(dict) {\n this.dict = dict;\n }\n AppearanceCharacteristics.prototype.R = function () {\n var R = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('R'));\n if (R instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return R;\n return undefined;\n };\n AppearanceCharacteristics.prototype.BC = function () {\n var BC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BC'));\n if (BC instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return BC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.BG = function () {\n var BG = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BG'));\n if (BG instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return BG;\n return undefined;\n };\n AppearanceCharacteristics.prototype.CA = function () {\n var CA = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('CA'));\n if (CA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || CA instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return CA;\n return undefined;\n };\n AppearanceCharacteristics.prototype.RC = function () {\n var RC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'));\n if (RC instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || RC instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return RC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.AC = function () {\n var AC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'));\n if (AC instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || AC instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return AC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.getRotation = function () {\n var _a;\n return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n AppearanceCharacteristics.prototype.getBorderColor = function () {\n var BC = this.BC();\n if (!BC)\n return undefined;\n var components = [];\n for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) {\n var component = BC.get(idx);\n if (component instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n components.push(component.asNumber());\n }\n return components;\n };\n AppearanceCharacteristics.prototype.getBackgroundColor = function () {\n var BG = this.BG();\n if (!BG)\n return undefined;\n var components = [];\n for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) {\n var component = BG.get(idx);\n if (component instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n components.push(component.asNumber());\n }\n return components;\n };\n AppearanceCharacteristics.prototype.getCaptions = function () {\n var CA = this.CA();\n var RC = this.RC();\n var AC = this.AC();\n return {\n normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(),\n rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(),\n down: AC === null || AC === void 0 ? void 0 : AC.decodeText(),\n };\n };\n AppearanceCharacteristics.prototype.setRotation = function (rotation) {\n var R = this.dict.context.obj(rotation);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('R'), R);\n };\n AppearanceCharacteristics.prototype.setBorderColor = function (color) {\n var BC = this.dict.context.obj(color);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BC'), BC);\n };\n AppearanceCharacteristics.prototype.setBackgroundColor = function (color) {\n var BG = this.dict.context.obj(color);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BG'), BG);\n };\n AppearanceCharacteristics.prototype.setCaptions = function (captions) {\n var CA = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.normal);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('CA'), CA);\n if (captions.rollover) {\n var RC = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.rollover);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'), RC);\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'));\n }\n if (captions.down) {\n var AC = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.down);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'), AC);\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'));\n }\n };\n AppearanceCharacteristics.fromDict = function (dict) {\n return new AppearanceCharacteristics(dict);\n };\n return AppearanceCharacteristics;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (AppearanceCharacteristics);\n//# sourceMappingURL=AppearanceCharacteristics.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n\n\n// TODO: Also handle the `/S` and `/D` entries\nvar BorderStyle = /** @class */ (function () {\n function BorderStyle(dict) {\n this.dict = dict;\n }\n BorderStyle.prototype.W = function () {\n var W = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('W'));\n if (W instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return W;\n return undefined;\n };\n BorderStyle.prototype.getWidth = function () {\n var _a, _b;\n return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1;\n };\n BorderStyle.prototype.setWidth = function (width) {\n var W = this.dict.context.obj(width);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('W'), W);\n };\n BorderStyle.fromDict = function (dict) { return new BorderStyle(dict); };\n return BorderStyle;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (BorderStyle);\n//# sourceMappingURL=BorderStyle.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js": +/*!***********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js ***! + \***********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n\n\n\n\n\n\nvar PDFAnnotation = /** @class */ (function () {\n function PDFAnnotation(dict) {\n this.dict = dict;\n }\n // This is technically required by the PDF spec\n PDFAnnotation.prototype.Rect = function () {\n return this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Rect'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n };\n PDFAnnotation.prototype.AP = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n };\n PDFAnnotation.prototype.F = function () {\n var numberOrRef = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('F'));\n return this.dict.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n };\n PDFAnnotation.prototype.getRectangle = function () {\n var _a;\n var Rect = this.Rect();\n return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 };\n };\n PDFAnnotation.prototype.setRectangle = function (rect) {\n var x = rect.x, y = rect.y, width = rect.width, height = rect.height;\n var Rect = this.dict.context.obj([x, y, x + width, y + height]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Rect'), Rect);\n };\n PDFAnnotation.prototype.getAppearanceState = function () {\n var AS = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AS'));\n if (AS instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return AS;\n return undefined;\n };\n PDFAnnotation.prototype.setAppearanceState = function (state) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AS'), state);\n };\n PDFAnnotation.prototype.setAppearances = function (appearances) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), appearances);\n };\n PDFAnnotation.prototype.ensureAP = function () {\n var AP = this.AP();\n if (!AP) {\n AP = this.dict.context.obj({});\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), AP);\n }\n return AP;\n };\n PDFAnnotation.prototype.getNormalAppearance = function () {\n var AP = this.ensureAP();\n var N = AP.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'));\n if (N instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"] || N instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n return N;\n throw new Error(\"Unexpected N type: \" + (N === null || N === void 0 ? void 0 : N.constructor.name));\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setNormalAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), appearance);\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setRolloverAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'), appearance);\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setDownAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'), appearance);\n };\n PDFAnnotation.prototype.removeRolloverAppearance = function () {\n var AP = this.AP();\n AP === null || AP === void 0 ? void 0 : AP.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'));\n };\n PDFAnnotation.prototype.removeDownAppearance = function () {\n var AP = this.AP();\n AP === null || AP === void 0 ? void 0 : AP.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'));\n };\n PDFAnnotation.prototype.getAppearances = function () {\n var AP = this.AP();\n if (!AP)\n return undefined;\n var N = AP.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var R = AP.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var D = AP.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return { normal: N, rollover: R, down: D };\n };\n PDFAnnotation.prototype.getFlags = function () {\n var _a, _b;\n return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0;\n };\n PDFAnnotation.prototype.setFlags = function (flags) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('F'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(flags));\n };\n PDFAnnotation.prototype.hasFlag = function (flag) {\n var flags = this.getFlags();\n return (flags & flag) !== 0;\n };\n PDFAnnotation.prototype.setFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags | flag);\n };\n PDFAnnotation.prototype.clearFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags & ~flag);\n };\n PDFAnnotation.prototype.setFlagTo = function (flag, enable) {\n if (enable)\n this.setFlag(flag);\n else\n this.clearFlag(flag);\n };\n PDFAnnotation.fromDict = function (dict) { return new PDFAnnotation(dict); };\n return PDFAnnotation;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAnnotation);\n//# sourceMappingURL=PDFAnnotation.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js ***! + \*****************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _BorderStyle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BorderStyle */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js\");\n/* harmony import */ var _PDFAnnotation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js\");\n/* harmony import */ var _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./AppearanceCharacteristics */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js\");\n\n\n\n\n\n\n\n\n\nvar PDFWidgetAnnotation = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFWidgetAnnotation, _super);\n function PDFWidgetAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFWidgetAnnotation.prototype.MK = function () {\n var MK = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('MK'));\n if (MK instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return MK;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.BS = function () {\n var BS = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('BS'));\n if (BS instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return BS;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.DA = function () {\n var da = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DA'));\n if (da instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"] || da instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\n return da;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.P = function () {\n var P = this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('P'));\n if (P instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return P;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.setP = function (page) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('P'), page);\n };\n PDFWidgetAnnotation.prototype.setDefaultAppearance = function (appearance) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DA'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(appearance));\n };\n PDFWidgetAnnotation.prototype.getDefaultAppearance = function () {\n var DA = this.DA();\n if (DA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n return DA.decodeText();\n }\n return DA === null || DA === void 0 ? void 0 : DA.asString();\n };\n PDFWidgetAnnotation.prototype.getAppearanceCharacteristics = function () {\n var MK = this.MK();\n if (MK)\n return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(MK);\n return undefined;\n };\n PDFWidgetAnnotation.prototype.getOrCreateAppearanceCharacteristics = function () {\n var MK = this.MK();\n if (MK)\n return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(MK);\n var ac = _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(this.dict.context.obj({}));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('MK'), ac.dict);\n return ac;\n };\n PDFWidgetAnnotation.prototype.getBorderStyle = function () {\n var BS = this.BS();\n if (BS)\n return _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(BS);\n return undefined;\n };\n PDFWidgetAnnotation.prototype.getOrCreateBorderStyle = function () {\n var BS = this.BS();\n if (BS)\n return _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(BS);\n var bs = _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(this.dict.context.obj({}));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('BS'), bs.dict);\n return bs;\n };\n PDFWidgetAnnotation.prototype.getOnValue = function () {\n var _a;\n var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (normal instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n var keys = normal.keys();\n for (var idx = 0, len = keys.length; idx < len; idx++) {\n var key = keys[idx];\n if (key !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Off'))\n return key;\n }\n }\n return undefined;\n };\n PDFWidgetAnnotation.fromDict = function (dict) {\n return new PDFWidgetAnnotation(dict);\n };\n PDFWidgetAnnotation.create = function (context, parent) {\n var dict = context.obj({\n Type: 'Annot',\n Subtype: 'Widget',\n Rect: [0, 0, 0, 0],\n Parent: parent,\n });\n return new PDFWidgetAnnotation(dict);\n };\n return PDFWidgetAnnotation;\n}(_PDFAnnotation__WEBPACK_IMPORTED_MODULE_7__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFWidgetAnnotation);\n//# sourceMappingURL=PDFWidgetAnnotation.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js ***! + \***************************************************************************/ +/*! exports provided: AnnotationFlags */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return AnnotationFlags; });\nvar flag = function (bitIndex) { return 1 << bitIndex; };\n/** From PDF spec table 165 */\nvar AnnotationFlags;\n(function (AnnotationFlags) {\n /**\n * If set, do not display the annotation if it does not belong to one of the\n * standard annotation types and no annotation handler is available. If clear,\n * display such an unknown annotation using an appearance stream specified by\n * its appearance dictionary, if any.\n */\n AnnotationFlags[AnnotationFlags[\"Invisible\"] = flag(1 - 1)] = \"Invisible\";\n /**\n * If set, do not display or print the annotation or allow it to interact with\n * the user, regardless of its annotation type or whether an annotation\n * handler is available.\n *\n * In cases where screen space is limited, the ability to hide and show\n * annotations selectively can be used in combination with appearance streams\n * to display auxiliary pop-up information similar in function to online help\n * systems.\n */\n AnnotationFlags[AnnotationFlags[\"Hidden\"] = flag(2 - 1)] = \"Hidden\";\n /**\n * If set, print the annotation when the page is printed. If clear, never\n * print the annotation, regardless of whether it is displayed on the screen.\n *\n * This can be useful for annotations representing interactive pushbuttons,\n * which would serve no meaningful purpose on the printed page.\n */\n AnnotationFlags[AnnotationFlags[\"Print\"] = flag(3 - 1)] = \"Print\";\n /**\n * If set, do not scale the annotation’s appearance to match the magnification\n * of the page. The location of the annotation on the page (defined by the\n * upper-left corner of its annotation rectangle) shall remain fixed,\n * regardless of the page magnification.\n */\n AnnotationFlags[AnnotationFlags[\"NoZoom\"] = flag(4 - 1)] = \"NoZoom\";\n /**\n * If set, do not rotate the annotation’s appearance to match the rotation of\n * the page. The upper-left corner of the annotation rectangle shall remain in\n * a fixed location on the page, regardless of the page rotation.\n */\n AnnotationFlags[AnnotationFlags[\"NoRotate\"] = flag(5 - 1)] = \"NoRotate\";\n /**\n * If set, do not display the annotation on the screen or allow it to interact\n * with the user. The annotation may be printed (depending on the setting of\n * the Print flag) but should be considered hidden for purposes of on-screen\n * display and user interaction.\n */\n AnnotationFlags[AnnotationFlags[\"NoView\"] = flag(6 - 1)] = \"NoView\";\n /**\n * If set, do not allow the annotation to interact with the user. The\n * annotation may be displayed or printed (depending on the settings of the\n * NoView and Print flags) but should not respond to mouse clicks or change\n * its appearance in response to mouse motions.\n *\n * This flag shall be ignored for widget annotations; its function is\n * subsumed by the ReadOnly flag of the associated form field.\n */\n AnnotationFlags[AnnotationFlags[\"ReadOnly\"] = flag(7 - 1)] = \"ReadOnly\";\n /**\n * If set, do not allow the annotation to be deleted or its properties\n * (including position and size) to be modified by the user. However, this\n * flag does not restrict changes to the annotation’s contents, such as the\n * value of a form field.\n */\n AnnotationFlags[AnnotationFlags[\"Locked\"] = flag(8 - 1)] = \"Locked\";\n /**\n * If set, invert the interpretation of the NoView flag for certain events.\n *\n * A typical use is to have an annotation that appears only when a mouse\n * cursor is held over it.\n */\n AnnotationFlags[AnnotationFlags[\"ToggleNoView\"] = flag(9 - 1)] = \"ToggleNoView\";\n /**\n * If set, do not allow the contents of the annotation to be modified by the\n * user. This flag does not restrict deletion of the annotation or changes to\n * other annotation properties, such as position and size.\n */\n AnnotationFlags[AnnotationFlags[\"LockedContents\"] = flag(10 - 1)] = \"LockedContents\";\n})(AnnotationFlags || (AnnotationFlags = {}));\n//# sourceMappingURL=flags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js ***! + \***************************************************************************/ +/*! exports provided: PDFAnnotation, PDFWidgetAnnotation, AppearanceCharacteristics, AnnotationFlags */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PDFAnnotation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PDFAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _PDFAnnotation__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFWidgetAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppearanceCharacteristics */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_3__[\"AnnotationFlags\"]; });\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js": +/*!**************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js ***! + \**************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n/**\n * Entries should be added using the [[addEntry]] and [[addDeletedEntry]]\n * methods **in order of ascending object number**.\n */\nvar PDFCrossRefSection = /** @class */ (function () {\n function PDFCrossRefSection(firstEntry) {\n this.subsections = firstEntry ? [[firstEntry]] : [];\n this.chunkIdx = 0;\n this.chunkLength = firstEntry ? 1 : 0;\n }\n PDFCrossRefSection.prototype.addEntry = function (ref, offset) {\n this.append({ ref: ref, offset: offset, deleted: false });\n };\n PDFCrossRefSection.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) {\n this.append({ ref: ref, offset: nextFreeObjectNumber, deleted: true });\n };\n PDFCrossRefSection.prototype.toString = function () {\n var section = \"xref\\n\";\n for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) {\n var range = this.subsections[rangeIdx];\n section += range[0].ref.objectNumber + \" \" + range.length + \"\\n\";\n for (var entryIdx = 0, entryLen = range.length; entryIdx < entryLen; entryIdx++) {\n var entry = range[entryIdx];\n section += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.offset), 10, '0');\n section += ' ';\n section += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.ref.generationNumber), 5, '0');\n section += ' ';\n section += entry.deleted ? 'f' : 'n';\n section += ' \\n';\n }\n }\n return section;\n };\n PDFCrossRefSection.prototype.sizeInBytes = function () {\n var size = 5;\n for (var idx = 0, len = this.subsections.length; idx < len; idx++) {\n var subsection = this.subsections[idx];\n var subsectionLength = subsection.length;\n var firstEntry = subsection[0];\n size += 2;\n size += String(firstEntry.ref.objectNumber).length;\n size += String(subsectionLength).length;\n size += 20 * subsectionLength;\n }\n return size;\n };\n PDFCrossRefSection.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset);\n return offset - initialOffset;\n };\n PDFCrossRefSection.prototype.copySubsectionsIntoBuffer = function (subsections, buffer, offset) {\n var initialOffset = offset;\n var length = subsections.length;\n for (var idx = 0; idx < length; idx++) {\n var subsection = this.subsections[idx];\n var firstObjectNumber = String(subsection[0].ref.objectNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(firstObjectNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n var rangeLength = String(subsection.length);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(rangeLength, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n offset += this.copyEntriesIntoBuffer(subsection, buffer, offset);\n }\n return offset - initialOffset;\n };\n PDFCrossRefSection.prototype.copyEntriesIntoBuffer = function (entries, buffer, offset) {\n var length = entries.length;\n for (var idx = 0; idx < length; idx++) {\n var entry = entries[idx];\n var entryOffset = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.offset), 10, '0');\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(entryOffset, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n var entryGen = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.ref.generationNumber), 5, '0');\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(entryGen, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n buffer[offset++] = entry.deleted ? _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f : _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n }\n return 20 * length;\n };\n PDFCrossRefSection.prototype.append = function (currEntry) {\n if (this.chunkLength === 0) {\n this.subsections.push([currEntry]);\n this.chunkIdx = 0;\n this.chunkLength = 1;\n return;\n }\n var chunk = this.subsections[this.chunkIdx];\n var prevEntry = chunk[this.chunkLength - 1];\n if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {\n this.subsections.push([currEntry]);\n this.chunkIdx += 1;\n this.chunkLength = 1;\n }\n else {\n chunk.push(currEntry);\n this.chunkLength += 1;\n }\n };\n PDFCrossRefSection.create = function () {\n return new PDFCrossRefSection({\n ref: _objects_PDFRef__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of(0, 65535),\n offset: 0,\n deleted: true,\n });\n };\n PDFCrossRefSection.createEmpty = function () { return new PDFCrossRefSection(); };\n return PDFCrossRefSection;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCrossRefSection);\n//# sourceMappingURL=PDFCrossRefSection.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar PDFHeader = /** @class */ (function () {\n function PDFHeader(major, minor) {\n this.major = String(major);\n this.minor = String(minor);\n }\n PDFHeader.prototype.toString = function () {\n var bc = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"charFromCode\"])(129);\n return \"%PDF-\" + this.major + \".\" + this.minor + \"\\n%\" + bc + bc + bc + bc;\n };\n PDFHeader.prototype.sizeInBytes = function () {\n return 12 + this.major.length + this.minor.length;\n };\n PDFHeader.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].P;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].D;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].F;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Dash;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.major, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Period;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.minor, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n return offset - initialOffset;\n };\n PDFHeader.forVersion = function (major, minor) {\n return new PDFHeader(major, minor);\n };\n return PDFHeader;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFHeader);\n//# sourceMappingURL=PDFHeader.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js ***! + \******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar PDFTrailer = /** @class */ (function () {\n function PDFTrailer(lastXRefOffset) {\n this.lastXRefOffset = String(lastXRefOffset);\n }\n PDFTrailer.prototype.toString = function () {\n return \"startxref\\n\" + this.lastXRefOffset + \"\\n%%EOF\";\n };\n PDFTrailer.prototype.sizeInBytes = function () {\n return 16 + this.lastXRefOffset.length;\n };\n PDFTrailer.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].x;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.lastXRefOffset, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].E;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].O;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].F;\n return offset - initialOffset;\n };\n PDFTrailer.forLastCrossRefSectionOffset = function (offset) {\n return new PDFTrailer(offset);\n };\n return PDFTrailer;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTrailer);\n//# sourceMappingURL=PDFTrailer.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js ***! + \**********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar PDFTrailerDict = /** @class */ (function () {\n function PDFTrailerDict(dict) {\n this.dict = dict;\n }\n PDFTrailerDict.prototype.toString = function () {\n return \"trailer\\n\" + this.dict.toString();\n };\n PDFTrailerDict.prototype.sizeInBytes = function () {\n return 8 + this.dict.sizeInBytes();\n };\n PDFTrailerDict.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].i;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n offset += this.dict.copyBytesInto(buffer, offset);\n return offset - initialOffset;\n };\n PDFTrailerDict.of = function (dict) { return new PDFTrailerDict(dict); };\n return PDFTrailerDict;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTrailerDict);\n//# sourceMappingURL=PDFTrailerDict.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js ***! + \*************************************************************************/ +/*! exports provided: createCmap */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCmap\", function() { return createCmap; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _utils_unicode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/unicode */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js\");\n\n\n/** `glyphs` should be an array of unique glyphs */\nvar createCmap = function (glyphs, glyphId) {\n var bfChars = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var glyph = glyphs[idx];\n var id = cmapHexFormat(cmapHexString(glyphId(glyph)));\n var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat));\n bfChars[idx] = [id, unicode];\n }\n return fillCmapTemplate(bfChars);\n};\n/* =============================== Templates ================================ */\nvar fillCmapTemplate = function (bfChars) { return \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\\n\" + bfChars.length + \" beginbfchar\\n\" + bfChars.map(function (_a) {\n var glyphId = _a[0], codePoint = _a[1];\n return glyphId + \" \" + codePoint;\n}).join('\\n') + \"\\nendbfchar\\nendcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"; };\n/* =============================== Utilities ================================ */\nvar cmapHexFormat = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n return \"<\" + values.join('') + \">\";\n};\nvar cmapHexString = function (value) { return Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"toHexStringOfMinLength\"])(value, 4); };\nvar cmapCodePointFormat = function (codePoint) {\n if (Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"isWithinBMP\"])(codePoint))\n return cmapHexString(codePoint);\n if (Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"hasSurrogates\"])(codePoint)) {\n var hs = Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"highSurrogate\"])(codePoint);\n var ls = Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"lowSurrogate\"])(codePoint);\n return \"\" + cmapHexString(hs) + cmapHexString(ls);\n }\n var hex = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint);\n var msg = \"0x\" + hex + \" is not a valid UTF-8 or UTF-16 codepoint.\";\n throw new Error(msg);\n};\n//# sourceMappingURL=CMap.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js ***! + \***************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CMap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CMap */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js\");\n/* harmony import */ var _FontFlags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FontFlags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee\n */\nvar CustomFontEmbedder = /** @class */ (function () {\n function CustomFontEmbedder(font, fontData, customName, fontFeatures) {\n var _this = this;\n this.allGlyphsInFontSortedById = function () {\n var glyphs = new Array(_this.font.characterSet.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var codePoint = _this.font.characterSet[idx];\n glyphs[idx] = _this.font.glyphForCodePoint(codePoint);\n }\n return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"sortedUniq\"])(glyphs.sort(_utils__WEBPACK_IMPORTED_MODULE_5__[\"byAscendingId\"]), function (g) { return g.id; });\n };\n this.font = font;\n this.scale = 1000 / this.font.unitsPerEm;\n this.fontData = fontData;\n this.fontName = this.font.postscriptName || 'Font';\n this.customName = customName;\n this.fontFeatures = fontFeatures;\n this.baseFontName = '';\n this.glyphCache = _utils__WEBPACK_IMPORTED_MODULE_5__[\"Cache\"].populatedBy(this.allGlyphsInFontSortedById);\n }\n CustomFontEmbedder.for = function (fontkit, fontData, customName, fontFeatures) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var font;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fontkit.create(fontData)];\n case 1:\n font = _a.sent();\n return [2 /*return*/, new CustomFontEmbedder(font, fontData, customName, fontFeatures)];\n }\n });\n });\n };\n /**\n * Encode the JavaScript string into this font. (JavaScript encodes strings in\n * Unicode, but embedded fonts use their own custom encodings)\n */\n CustomFontEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toHexStringOfMinLength\"])(glyphs[idx].id, 4);\n }\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(hexCodes.join(''));\n };\n // The advanceWidth takes into account kerning automatically, so we don't\n // have to do that manually like we do for the standard fonts.\n CustomFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var totalWidth = 0;\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n totalWidth += glyphs[idx].advanceWidth * this.scale;\n }\n var scale = size / 1000;\n return totalWidth * scale;\n };\n CustomFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {\n if (options === void 0) { options = {}; }\n var _a = options.descender, descender = _a === void 0 ? true : _a;\n var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox;\n var yTop = (ascent || bbox.maxY) * this.scale;\n var yBottom = (descent || bbox.minY) * this.scale;\n var height = yTop - yBottom;\n if (!descender)\n height -= Math.abs(descent) || 0;\n return (height / 1000) * size;\n };\n CustomFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {\n var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox;\n var yTop = (ascent || bbox.maxY) * this.scale;\n var yBottom = (descent || bbox.minY) * this.scale;\n return (1000 * height) / (yTop - yBottom);\n };\n CustomFontEmbedder.prototype.embedIntoContext = function (context, ref) {\n this.baseFontName =\n this.customName || context.addRandomSuffix(this.fontName);\n return this.embedFontDict(context, ref);\n };\n CustomFontEmbedder.prototype.embedFontDict = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var cidFontDictRef, unicodeCMapRef, fontDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedCIDFontDict(context)];\n case 1:\n cidFontDictRef = _a.sent();\n unicodeCMapRef = this.embedUnicodeCmap(context);\n fontDict = context.obj({\n Type: 'Font',\n Subtype: 'Type0',\n BaseFont: this.baseFontName,\n Encoding: 'Identity-H',\n DescendantFonts: [cidFontDictRef],\n ToUnicode: unicodeCMapRef,\n });\n if (ref) {\n context.assign(ref, fontDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(fontDict)];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.isCFF = function () {\n return this.font.cff;\n };\n CustomFontEmbedder.prototype.embedCIDFontDict = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontDescriptorRef, cidFontDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedFontDescriptor(context)];\n case 1:\n fontDescriptorRef = _a.sent();\n cidFontDict = context.obj({\n Type: 'Font',\n Subtype: this.isCFF() ? 'CIDFontType0' : 'CIDFontType2',\n CIDToGIDMap: 'Identity',\n BaseFont: this.baseFontName,\n CIDSystemInfo: {\n Registry: _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Adobe'),\n Ordering: _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Identity'),\n Supplement: 0,\n },\n FontDescriptor: fontDescriptorRef,\n W: this.computeWidths(),\n });\n return [2 /*return*/, context.register(cidFontDict)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.embedFontDescriptor = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontStreamRef, scale, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor;\n var _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.embedFontStream(context)];\n case 1:\n fontStreamRef = _d.sent();\n scale = this.scale;\n _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight;\n _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY;\n fontDescriptor = context.obj((_c = {\n Type: 'FontDescriptor',\n FontName: this.baseFontName,\n Flags: Object(_FontFlags__WEBPACK_IMPORTED_MODULE_2__[\"deriveFontFlags\"])(this.font),\n FontBBox: [minX * scale, minY * scale, maxX * scale, maxY * scale],\n ItalicAngle: italicAngle,\n Ascent: ascent * scale,\n Descent: descent * scale,\n CapHeight: (capHeight || ascent) * scale,\n XHeight: (xHeight || 0) * scale,\n // Not sure how to compute/find this, nor is anybody else really:\n // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font\n StemV: 0\n },\n _c[this.isCFF() ? 'FontFile3' : 'FontFile2'] = fontStreamRef,\n _c));\n return [2 /*return*/, context.register(fontDescriptor)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.serializeFont = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n return [2 /*return*/, this.fontData];\n });\n });\n };\n CustomFontEmbedder.prototype.embedFontStream = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontStream, _a, _b;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0:\n _b = (_a = context).flateStream;\n return [4 /*yield*/, this.serializeFont()];\n case 1:\n fontStream = _b.apply(_a, [_c.sent(), {\n Subtype: this.isCFF() ? 'CIDFontType0C' : undefined,\n }]);\n return [2 /*return*/, context.register(fontStream)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.embedUnicodeCmap = function (context) {\n var cmap = Object(_CMap__WEBPACK_IMPORTED_MODULE_1__[\"createCmap\"])(this.glyphCache.access(), this.glyphId.bind(this));\n var cmapStream = context.flateStream(cmap);\n return context.register(cmapStream);\n };\n CustomFontEmbedder.prototype.glyphId = function (glyph) {\n return glyph ? glyph.id : -1;\n };\n CustomFontEmbedder.prototype.computeWidths = function () {\n var glyphs = this.glyphCache.access();\n var widths = [];\n var currSection = [];\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var currGlyph = glyphs[idx];\n var prevGlyph = glyphs[idx - 1];\n var currGlyphId = this.glyphId(currGlyph);\n var prevGlyphId = this.glyphId(prevGlyph);\n if (idx === 0) {\n widths.push(currGlyphId);\n }\n else if (currGlyphId - prevGlyphId !== 1) {\n widths.push(currSection);\n widths.push(currGlyphId);\n currSection = [];\n }\n currSection.push(currGlyph.advanceWidth * this.scale);\n }\n widths.push(currSection);\n return widths;\n };\n return CustomFontEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomFontEmbedder);\n//# sourceMappingURL=CustomFontEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js": +/*!*********************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js ***! + \*********************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CustomFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee\n */\nvar CustomFontSubsetEmbedder = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CustomFontSubsetEmbedder, _super);\n function CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures) {\n var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this;\n _this.subset = _this.font.createSubset();\n _this.glyphs = [];\n _this.glyphCache = _utils__WEBPACK_IMPORTED_MODULE_3__[\"Cache\"].populatedBy(function () { return _this.glyphs; });\n _this.glyphIdMap = new Map();\n return _this;\n }\n CustomFontSubsetEmbedder.for = function (fontkit, fontData, customFontName, fontFeatures) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var font;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fontkit.create(fontData)];\n case 1:\n font = _a.sent();\n return [2 /*return*/, new CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures)];\n }\n });\n });\n };\n CustomFontSubsetEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var glyph = glyphs[idx];\n var subsetGlyphId = this.subset.includeGlyph(glyph);\n this.glyphs[subsetGlyphId - 1] = glyph;\n this.glyphIdMap.set(glyph.id, subsetGlyphId);\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"])(subsetGlyphId, 4);\n }\n this.glyphCache.invalidate();\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(hexCodes.join(''));\n };\n CustomFontSubsetEmbedder.prototype.isCFF = function () {\n return this.subset.cff;\n };\n CustomFontSubsetEmbedder.prototype.glyphId = function (glyph) {\n return glyph ? this.glyphIdMap.get(glyph.id) : -1;\n };\n CustomFontSubsetEmbedder.prototype.serializeFont = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var parts = [];\n _this.subset\n .encodeStream()\n .on('data', function (bytes) { return parts.push(bytes); })\n .on('end', function () { return resolve(Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"mergeUint8Arrays\"])(parts)); })\n .on('error', function (err) { return reject(err); });\n });\n };\n return CustomFontSubsetEmbedder;\n}(_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomFontSubsetEmbedder);\n//# sourceMappingURL=CustomFontSubsetEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js ***! + \*********************************************************************************/ +/*! exports provided: AFRelationship, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return AFRelationship; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n\n\n\n/**\n * From the PDF-A3 specification, section **3.1. Requirements - General**.\n * See:\n * * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf\n */\nvar AFRelationship;\n(function (AFRelationship) {\n AFRelationship[\"Source\"] = \"Source\";\n AFRelationship[\"Data\"] = \"Data\";\n AFRelationship[\"Alternative\"] = \"Alternative\";\n AFRelationship[\"Supplement\"] = \"Supplement\";\n AFRelationship[\"EncryptedPayload\"] = \"EncryptedPayload\";\n AFRelationship[\"FormData\"] = \"EncryptedPayload\";\n AFRelationship[\"Schema\"] = \"Schema\";\n AFRelationship[\"Unspecified\"] = \"Unspecified\";\n})(AFRelationship || (AFRelationship = {}));\nvar FileEmbedder = /** @class */ (function () {\n function FileEmbedder(fileData, fileName, options) {\n if (options === void 0) { options = {}; }\n this.fileData = fileData;\n this.fileName = fileName;\n this.options = options;\n }\n FileEmbedder.for = function (bytes, fileName, options) {\n if (options === void 0) { options = {}; }\n return new FileEmbedder(bytes, fileName, options);\n };\n FileEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship;\n embeddedFileStream = context.flateStream(this.fileData, {\n Type: 'EmbeddedFile',\n Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : undefined,\n Params: {\n Size: this.fileData.length,\n CreationDate: creationDate\n ? _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromDate(creationDate)\n : undefined,\n ModDate: modificationDate\n ? _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromDate(modificationDate)\n : undefined,\n },\n });\n embeddedFileStreamRef = context.register(embeddedFileStream);\n fileSpecDict = context.obj({\n Type: 'Filespec',\n F: _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.fileName),\n UF: _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(this.fileName),\n EF: { F: embeddedFileStreamRef },\n Desc: description ? _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(description) : undefined,\n AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : undefined,\n });\n if (ref) {\n context.assign(ref, fileSpecDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(fileSpecDict)];\n }\n return [2 /*return*/];\n });\n });\n };\n return FileEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (FileEmbedder);\n//# sourceMappingURL=FileEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js ***! + \******************************************************************************/ +/*! exports provided: deriveFontFlags */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deriveFontFlags\", function() { return deriveFontFlags; });\n// prettier-ignore\nvar makeFontFlags = function (options) {\n var flags = 0;\n var flipBit = function (bit) { flags |= (1 << (bit - 1)); };\n if (options.fixedPitch)\n flipBit(1);\n if (options.serif)\n flipBit(2);\n if (options.symbolic)\n flipBit(3);\n if (options.script)\n flipBit(4);\n if (options.nonsymbolic)\n flipBit(6);\n if (options.italic)\n flipBit(7);\n if (options.allCap)\n flipBit(17);\n if (options.smallCap)\n flipBit(18);\n if (options.forceBold)\n flipBit(19);\n return flags;\n};\n// From: https://github.com/foliojs/pdfkit/blob/83f5f7243172a017adcf6a7faa5547c55982c57b/lib/font/embedded.js#L123-L129\nvar deriveFontFlags = function (font) {\n var familyClass = font['OS/2'] ? font['OS/2'].sFamilyClass : 0;\n var flags = makeFontFlags({\n fixedPitch: font.post.isFixedPitch,\n serif: 1 <= familyClass && familyClass <= 7,\n symbolic: true,\n script: familyClass === 10,\n italic: font.head.macStyle.italic,\n });\n return flags;\n};\n//# sourceMappingURL=FontFlags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js ***! + \***************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n\n\nvar JavaScriptEmbedder = /** @class */ (function () {\n function JavaScriptEmbedder(script, scriptName) {\n this.script = script;\n this.scriptName = scriptName;\n }\n JavaScriptEmbedder.for = function (script, scriptName) {\n return new JavaScriptEmbedder(script, scriptName);\n };\n JavaScriptEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var jsActionDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n jsActionDict = context.obj({\n Type: 'Action',\n S: 'JavaScript',\n JS: _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromText(this.script),\n });\n if (ref) {\n context.assign(ref, jsActionDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(jsActionDict)];\n }\n return [2 /*return*/];\n });\n });\n };\n return JavaScriptEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (JavaScriptEmbedder);\n//# sourceMappingURL=JavaScriptEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n\n// prettier-ignore\nvar MARKERS = [\n 0xffc0, 0xffc1, 0xffc2,\n 0xffc3, 0xffc5, 0xffc6,\n 0xffc7, 0xffc8, 0xffc9,\n 0xffca, 0xffcb, 0xffcc,\n 0xffcd, 0xffce, 0xffcf,\n];\nvar ColorSpace;\n(function (ColorSpace) {\n ColorSpace[\"DeviceGray\"] = \"DeviceGray\";\n ColorSpace[\"DeviceRGB\"] = \"DeviceRGB\";\n ColorSpace[\"DeviceCMYK\"] = \"DeviceCMYK\";\n})(ColorSpace || (ColorSpace = {}));\nvar ChannelToColorSpace = {\n 1: ColorSpace.DeviceGray,\n 3: ColorSpace.DeviceRGB,\n 4: ColorSpace.DeviceCMYK,\n};\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/foliojs/pdfkit/blob/a6af76467ce06bd6a2af4aa7271ccac9ff152a7d/lib/image/jpeg.js\n */\nvar JpegEmbedder = /** @class */ (function () {\n function JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace) {\n this.imageData = imageData;\n this.bitsPerComponent = bitsPerComponent;\n this.width = width;\n this.height = height;\n this.colorSpace = colorSpace;\n }\n JpegEmbedder.for = function (imageData) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n dataView = new DataView(imageData.buffer);\n soi = dataView.getUint16(0);\n if (soi !== 0xffd8)\n throw new Error('SOI not found in JPEG');\n pos = 2;\n while (pos < dataView.byteLength) {\n marker = dataView.getUint16(pos);\n pos += 2;\n if (MARKERS.includes(marker))\n break;\n pos += dataView.getUint16(pos);\n }\n if (!MARKERS.includes(marker))\n throw new Error('Invalid JPEG');\n pos += 2;\n bitsPerComponent = dataView.getUint8(pos++);\n height = dataView.getUint16(pos);\n pos += 2;\n width = dataView.getUint16(pos);\n pos += 2;\n channelByte = dataView.getUint8(pos++);\n channelName = ChannelToColorSpace[channelByte];\n if (!channelName)\n throw new Error('Unknown JPEG channel.');\n colorSpace = channelName;\n return [2 /*return*/, new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace)];\n });\n });\n };\n JpegEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n xObject = context.stream(this.imageData, {\n Type: 'XObject',\n Subtype: 'Image',\n BitsPerComponent: this.bitsPerComponent,\n Width: this.width,\n Height: this.height,\n ColorSpace: this.colorSpace,\n Filter: 'DCTDecode',\n // CMYK JPEG streams in PDF are typically stored complemented,\n // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4).\n //\n // Standalone CMYK JPEG (usually exported by Photoshop) are\n // stored inverse, with 0 as 'off' and 1 as 'on', like RGB.\n //\n // Applying a swap here as a hedge that most bytes passing\n // through this method will benefit from it.\n Decode: this.colorSpace === ColorSpace.DeviceCMYK\n ? [1, 0, 1, 0, 1, 0, 1, 0]\n : undefined,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n return JpegEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (JpegEmbedder);\n//# sourceMappingURL=JpegEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js ***! + \************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\nvar fullPageBoundingBox = function (page) {\n var mediaBox = page.MediaBox();\n var width = mediaBox.lookup(2, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber() -\n mediaBox.lookup(0, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber();\n var height = mediaBox.lookup(3, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber() -\n mediaBox.lookup(1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber();\n return { left: 0, bottom: 0, right: width, top: height };\n};\n// Returns the identity matrix, modified to position the content of the given\n// bounding box at (0, 0).\nvar boundingBoxAdjustedMatrix = function (bb) { return [1, 0, 0, 1, -bb.left, -bb.bottom]; };\nvar PDFPageEmbedder = /** @class */ (function () {\n function PDFPageEmbedder(page, boundingBox, transformationMatrix) {\n this.page = page;\n var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page);\n this.width = bb.right - bb.left;\n this.height = bb.top - bb.bottom;\n this.boundingBox = bb;\n this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb);\n }\n PDFPageEmbedder.for = function (page, boundingBox, transformationMatrix) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n return [2 /*return*/, new PDFPageEmbedder(page, boundingBox, transformationMatrix)];\n });\n });\n };\n PDFPageEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources;\n if (!Contents)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MissingPageContentsEmbeddingError\"]();\n decodedContents = this.decodeContents(Contents);\n _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top;\n xObject = context.flateStream(decodedContents, {\n Type: 'XObject',\n Subtype: 'Form',\n FormType: 1,\n BBox: [left, bottom, right, top],\n Matrix: this.transformationMatrix,\n Resources: Resources,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n // `contents` is an array of streams which are merged to include them in the XObject.\n // This methods extracts each stream and joins them with a newline character.\n PDFPageEmbedder.prototype.decodeContents = function (contents) {\n var newline = Uint8Array.of(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Newline);\n var decodedContents = [];\n for (var idx = 0, len = contents.size(); idx < len; idx++) {\n var stream = contents.lookup(idx, _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n var content = void 0;\n if (stream instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n content = Object(_streams_decode__WEBPACK_IMPORTED_MODULE_5__[\"decodePDFRawStream\"])(stream).decode();\n }\n else if (stream instanceof _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n content = stream.getUnencodedContents();\n }\n else {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"UnrecognizedStreamTypeError\"](stream);\n }\n decodedContents.push(content, newline);\n }\n return _utils__WEBPACK_IMPORTED_MODULE_8__[\"mergeIntoTypedArray\"].apply(void 0, decodedContents);\n };\n return PDFPageEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageEmbedder);\n//# sourceMappingURL=PDFPageEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js": +/*!********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js ***! + \********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/png */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/png.js\");\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/png.coffee\n */\nvar PngEmbedder = /** @class */ (function () {\n function PngEmbedder(png) {\n this.image = png;\n this.bitsPerComponent = png.bitsPerComponent;\n this.width = png.width;\n this.height = png.height;\n this.colorSpace = 'DeviceRGB';\n }\n PngEmbedder.for = function (imageData) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var png;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n png = _utils_png__WEBPACK_IMPORTED_MODULE_1__[\"PNG\"].load(imageData);\n return [2 /*return*/, new PngEmbedder(png)];\n });\n });\n };\n PngEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var SMask, xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n SMask = this.embedAlphaChannel(context);\n xObject = context.flateStream(this.image.rgbChannel, {\n Type: 'XObject',\n Subtype: 'Image',\n BitsPerComponent: this.image.bitsPerComponent,\n Width: this.image.width,\n Height: this.image.height,\n ColorSpace: this.colorSpace,\n SMask: SMask,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n PngEmbedder.prototype.embedAlphaChannel = function (context) {\n if (!this.image.alphaChannel)\n return undefined;\n var xObject = context.flateStream(this.image.alphaChannel, {\n Type: 'XObject',\n Subtype: 'Image',\n Height: this.image.height,\n Width: this.image.width,\n BitsPerComponent: this.image.bitsPerComponent,\n ColorSpace: 'DeviceGray',\n Decode: [0, 1],\n });\n return context.register(xObject);\n };\n return PngEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PngEmbedder);\n//# sourceMappingURL=PngEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js": +/*!*****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js ***! + \*****************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/standard-fonts */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee\n */\nvar StandardFontEmbedder = /** @class */ (function () {\n function StandardFontEmbedder(fontName, customName) {\n // prettier-ignore\n this.encoding = (fontName === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"].ZapfDingbats ? _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].ZapfDingbats\n : fontName === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"].Symbol ? _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].Symbol\n : _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].WinAnsi);\n this.font = _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Font\"].load(fontName);\n this.fontName = this.font.FontName;\n this.customName = customName;\n }\n /**\n * Encode the JavaScript string into this font. (JavaScript encodes strings in\n * Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol\n * encodings)\n */\n StandardFontEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.encodeTextAsGlyphs(text);\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"toHexString\"])(glyphs[idx].code);\n }\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(hexCodes.join(''));\n };\n StandardFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {\n var glyphs = this.encodeTextAsGlyphs(text);\n var totalWidth = 0;\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var left = glyphs[idx].name;\n var right = (glyphs[idx + 1] || {}).name;\n var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0;\n totalWidth += this.widthOfGlyph(left) + kernAmount;\n }\n var scale = size / 1000;\n return totalWidth * scale;\n };\n StandardFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {\n if (options === void 0) { options = {}; }\n var _a = options.descender, descender = _a === void 0 ? true : _a;\n var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox;\n var yTop = Ascender || FontBBox[3];\n var yBottom = Descender || FontBBox[1];\n var height = yTop - yBottom;\n if (!descender)\n height += Descender || 0;\n return (height / 1000) * size;\n };\n StandardFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {\n var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox;\n var yTop = Ascender || FontBBox[3];\n var yBottom = Descender || FontBBox[1];\n return (1000 * height) / (yTop - yBottom);\n };\n StandardFontEmbedder.prototype.embedIntoContext = function (context, ref) {\n var fontDict = context.obj({\n Type: 'Font',\n Subtype: 'Type1',\n BaseFont: this.customName || this.fontName,\n Encoding: this.encoding === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].WinAnsi ? 'WinAnsiEncoding' : undefined,\n });\n if (ref) {\n context.assign(ref, fontDict);\n return ref;\n }\n else {\n return context.register(fontDict);\n }\n };\n StandardFontEmbedder.prototype.widthOfGlyph = function (glyphName) {\n // Default to 250 if font doesn't specify a width\n return this.font.getWidthOfGlyph(glyphName) || 250;\n };\n StandardFontEmbedder.prototype.encodeTextAsGlyphs = function (text) {\n var codePoints = Array.from(text);\n var glyphs = new Array(codePoints.length);\n for (var idx = 0, len = codePoints.length; idx < len; idx++) {\n var codePoint = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"toCodePoint\"])(codePoints[idx]);\n glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint);\n }\n return glyphs;\n };\n StandardFontEmbedder.for = function (fontName, customName) {\n return new StandardFontEmbedder(fontName, customName);\n };\n return StandardFontEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (StandardFontEmbedder);\n//# sourceMappingURL=StandardFontEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/errors.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/errors.js ***! + \*****************************************************************/ +/*! exports provided: MethodNotImplementedError, PrivateConstructorError, UnexpectedObjectTypeError, UnsupportedEncodingError, ReparseError, MissingCatalogError, MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError, PageEmbeddingMismatchedContextError, PDFArrayIsNotRectangleError, InvalidPDFDateStringError, InvalidTargetIndexError, CorruptPageTreeError, IndexOutOfBoundsError, InvalidAcroFieldValueError, MultiSelectValueError, MissingDAEntryError, MissingTfOperatorError, NumberParsingError, PDFParsingError, NextByteAssertionError, PDFObjectParsingError, PDFInvalidObjectParsingError, PDFStreamParsingError, UnbalancedParenthesisError, StalledParserError, MissingPDFHeaderError, MissingKeywordError */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return MethodNotImplementedError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return PrivateConstructorError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return UnexpectedObjectTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return UnsupportedEncodingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return ReparseError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return MissingCatalogError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return MissingPageContentsEmbeddingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return UnrecognizedStreamTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return PageEmbeddingMismatchedContextError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return PDFArrayIsNotRectangleError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return InvalidPDFDateStringError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return InvalidTargetIndexError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return CorruptPageTreeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return IndexOutOfBoundsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return InvalidAcroFieldValueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return MultiSelectValueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return MissingDAEntryError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return MissingTfOperatorError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return NumberParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return PDFParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return NextByteAssertionError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return PDFObjectParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return PDFInvalidObjectParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return PDFStreamParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return UnbalancedParenthesisError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return StalledParserError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return MissingPDFHeaderError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return MissingKeywordError; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar MethodNotImplementedError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MethodNotImplementedError, _super);\n function MethodNotImplementedError(className, methodName) {\n var _this = this;\n var msg = \"Method \" + className + \".\" + methodName + \"() not implemented\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MethodNotImplementedError;\n}(Error));\n\nvar PrivateConstructorError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PrivateConstructorError, _super);\n function PrivateConstructorError(className) {\n var _this = this;\n var msg = \"Cannot construct \" + className + \" - it has a private constructor\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PrivateConstructorError;\n}(Error));\n\nvar UnexpectedObjectTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnexpectedObjectTypeError, _super);\n function UnexpectedObjectTypeError(expected, actual) {\n var _this = this;\n var name = function (t) { var _a, _b; return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; };\n var expectedTypes = Array.isArray(expected)\n ? expected.map(name)\n : [name(expected)];\n var msg = \"Expected instance of \" + expectedTypes.join(' or ') + \", \" +\n (\"but got instance of \" + (actual ? name(actual) : actual));\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnexpectedObjectTypeError;\n}(Error));\n\nvar UnsupportedEncodingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnsupportedEncodingError, _super);\n function UnsupportedEncodingError(encoding) {\n var _this = this;\n var msg = encoding + \" stream encoding not supported\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnsupportedEncodingError;\n}(Error));\n\nvar ReparseError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ReparseError, _super);\n function ReparseError(className, methodName) {\n var _this = this;\n var msg = \"Cannot call \" + className + \".\" + methodName + \"() more than once\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ReparseError;\n}(Error));\n\nvar MissingCatalogError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingCatalogError, _super);\n function MissingCatalogError(ref) {\n var _this = this;\n var msg = \"Missing catalog (ref=\" + ref + \")\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingCatalogError;\n}(Error));\n\nvar MissingPageContentsEmbeddingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingPageContentsEmbeddingError, _super);\n function MissingPageContentsEmbeddingError() {\n var _this = this;\n var msg = \"Can't embed page with missing Contents\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingPageContentsEmbeddingError;\n}(Error));\n\nvar UnrecognizedStreamTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnrecognizedStreamTypeError, _super);\n function UnrecognizedStreamTypeError(stream) {\n var _a, _b, _c;\n var _this = this;\n var streamType = (_c = (_b = (_a = stream === null || stream === void 0 ? void 0 : stream.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream === null || stream === void 0 ? void 0 : stream.name) !== null && _c !== void 0 ? _c : stream;\n var msg = \"Unrecognized stream type: \" + streamType;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnrecognizedStreamTypeError;\n}(Error));\n\nvar PageEmbeddingMismatchedContextError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PageEmbeddingMismatchedContextError, _super);\n function PageEmbeddingMismatchedContextError() {\n var _this = this;\n var msg = \"Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PageEmbeddingMismatchedContextError;\n}(Error));\n\nvar PDFArrayIsNotRectangleError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFArrayIsNotRectangleError, _super);\n function PDFArrayIsNotRectangleError(size) {\n var _this = this;\n var msg = \"Attempted to convert PDFArray with \" + size + \" elements to rectangle, but must have exactly 4 elements.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PDFArrayIsNotRectangleError;\n}(Error));\n\nvar InvalidPDFDateStringError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidPDFDateStringError, _super);\n function InvalidPDFDateStringError(value) {\n var _this = this;\n var msg = \"Attempted to convert \\\"\" + value + \"\\\" to a date, but it does not match the PDF date string format.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidPDFDateStringError;\n}(Error));\n\nvar InvalidTargetIndexError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidTargetIndexError, _super);\n function InvalidTargetIndexError(targetIndex, Count) {\n var _this = this;\n var msg = \"Invalid targetIndex specified: targetIndex=\" + targetIndex + \" must be less than Count=\" + Count;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidTargetIndexError;\n}(Error));\n\nvar CorruptPageTreeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CorruptPageTreeError, _super);\n function CorruptPageTreeError(targetIndex, operation) {\n var _this = this;\n var msg = \"Failed to \" + operation + \" at targetIndex=\" + targetIndex + \" due to corrupt page tree: It is likely that one or more 'Count' entries are invalid\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return CorruptPageTreeError;\n}(Error));\n\nvar IndexOutOfBoundsError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(IndexOutOfBoundsError, _super);\n function IndexOutOfBoundsError(index, min, max) {\n var _this = this;\n var msg = \"index should be at least \" + min + \" and at most \" + max + \", but was actually \" + index;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return IndexOutOfBoundsError;\n}(Error));\n\nvar InvalidAcroFieldValueError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidAcroFieldValueError, _super);\n function InvalidAcroFieldValueError() {\n var _this = this;\n var msg = \"Attempted to set invalid field value\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidAcroFieldValueError;\n}(Error));\n\nvar MultiSelectValueError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MultiSelectValueError, _super);\n function MultiSelectValueError() {\n var _this = this;\n var msg = \"Attempted to select multiple values for single-select field\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MultiSelectValueError;\n}(Error));\n\nvar MissingDAEntryError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingDAEntryError, _super);\n function MissingDAEntryError(fieldName) {\n var _this = this;\n var msg = \"No /DA (default appearance) entry found for field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingDAEntryError;\n}(Error));\n\nvar MissingTfOperatorError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingTfOperatorError, _super);\n function MissingTfOperatorError(fieldName) {\n var _this = this;\n var msg = \"No Tf operator found for DA of field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingTfOperatorError;\n}(Error));\n\nvar NumberParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NumberParsingError, _super);\n function NumberParsingError(pos, value) {\n var _this = this;\n var msg = \"Failed to parse number \" +\n (\"(line:\" + pos.line + \" col:\" + pos.column + \" offset=\" + pos.offset + \"): \\\"\" + value + \"\\\"\");\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return NumberParsingError;\n}(Error));\n\nvar PDFParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFParsingError, _super);\n function PDFParsingError(pos, details) {\n var _this = this;\n var msg = \"Failed to parse PDF document \" +\n (\"(line:\" + pos.line + \" col:\" + pos.column + \" offset=\" + pos.offset + \"): \" + details);\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PDFParsingError;\n}(Error));\n\nvar NextByteAssertionError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NextByteAssertionError, _super);\n function NextByteAssertionError(pos, expectedByte, actualByte) {\n var _this = this;\n var msg = \"Expected next byte to be \" + expectedByte + \" but it was actually \" + actualByte;\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return NextByteAssertionError;\n}(PDFParsingError));\n\nvar PDFObjectParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectParsingError, _super);\n function PDFObjectParsingError(pos, byte) {\n var _this = this;\n var msg = \"Failed to parse PDF object starting with the following byte: \" + byte;\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFObjectParsingError;\n}(PDFParsingError));\n\nvar PDFInvalidObjectParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFInvalidObjectParsingError, _super);\n function PDFInvalidObjectParsingError(pos) {\n var _this = this;\n var msg = \"Failed to parse invalid PDF object\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFInvalidObjectParsingError;\n}(PDFParsingError));\n\nvar PDFStreamParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStreamParsingError, _super);\n function PDFStreamParsingError(pos) {\n var _this = this;\n var msg = \"Failed to parse PDF stream\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFStreamParsingError;\n}(PDFParsingError));\n\nvar UnbalancedParenthesisError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnbalancedParenthesisError, _super);\n function UnbalancedParenthesisError(pos) {\n var _this = this;\n var msg = \"Failed to parse PDF literal string due to unbalanced parenthesis\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return UnbalancedParenthesisError;\n}(PDFParsingError));\n\nvar StalledParserError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(StalledParserError, _super);\n function StalledParserError(pos) {\n var _this = this;\n var msg = \"Parser stalled\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return StalledParserError;\n}(PDFParsingError));\n\nvar MissingPDFHeaderError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingPDFHeaderError, _super);\n function MissingPDFHeaderError(pos) {\n var _this = this;\n var msg = \"No PDF header found\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return MissingPDFHeaderError;\n}(PDFParsingError));\n\nvar MissingKeywordError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingKeywordError, _super);\n function MissingKeywordError(pos, keyword) {\n var _this = this;\n var msg = \"Did not find expected keyword '\" + Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"arrayAsString\"])(keyword) + \"'\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return MissingKeywordError;\n}(PDFParsingError));\n\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/errors.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/index.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/index.js ***! + \****************************************************************/ +/*! exports provided: MethodNotImplementedError, PrivateConstructorError, UnexpectedObjectTypeError, UnsupportedEncodingError, ReparseError, MissingCatalogError, MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError, PageEmbeddingMismatchedContextError, PDFArrayIsNotRectangleError, InvalidPDFDateStringError, InvalidTargetIndexError, CorruptPageTreeError, IndexOutOfBoundsError, InvalidAcroFieldValueError, MultiSelectValueError, MissingDAEntryError, MissingTfOperatorError, NumberParsingError, PDFParsingError, NextByteAssertionError, PDFObjectParsingError, PDFInvalidObjectParsingError, PDFStreamParsingError, UnbalancedParenthesisError, StalledParserError, MissingPDFHeaderError, MissingKeywordError, CharCodes, PDFContext, PDFObjectCopier, PDFWriter, PDFStreamWriter, PDFHeader, PDFTrailer, PDFTrailerDict, PDFCrossRefSection, StandardFontEmbedder, CustomFontEmbedder, CustomFontSubsetEmbedder, FileEmbedder, AFRelationship, JpegEmbedder, PngEmbedder, PDFPageEmbedder, ViewerPreferences, NonFullScreenPageMode, ReadingDirection, PrintScaling, Duplex, PDFObject, PDFBool, PDFNumber, PDFString, PDFHexString, PDFName, PDFNull, PDFArray, PDFDict, PDFRef, PDFInvalidObject, PDFStream, PDFRawStream, PDFCatalog, PDFContentStream, PDFCrossRefStream, PDFObjectStream, PDFPageTree, PDFPageLeaf, PDFFlateStream, PDFOperator, PDFOperatorNames, PDFObjectParser, PDFObjectStreamParser, PDFParser, PDFXRefStreamParser, decodePDFRawStream, PDFAnnotation, PDFWidgetAnnotation, AppearanceCharacteristics, AnnotationFlags, PDFAcroButton, PDFAcroCheckBox, PDFAcroChoice, PDFAcroComboBox, PDFAcroField, PDFAcroForm, PDFAcroListBox, PDFAcroNonTerminal, PDFAcroPushButton, PDFAcroRadioButton, PDFAcroSignature, PDFAcroTerminal, PDFAcroText, AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags, createPDFAcroFields, createPDFAcroField */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PrivateConstructorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedObjectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnsupportedEncodingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"ReparseError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingCatalogError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingPageContentsEmbeddingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnrecognizedStreamTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PageEmbeddingMismatchedContextError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFArrayIsNotRectangleError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidPDFDateStringError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidTargetIndexError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"CorruptPageTreeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"IndexOutOfBoundsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidAcroFieldValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingDAEntryError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingTfOperatorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"NextByteAssertionError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFInvalidObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFStreamParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnbalancedParenthesisError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"StalledParserError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingPDFHeaderError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingKeywordError\"]; });\n\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharCodes\", function() { return _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFContext */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContext\", function() { return _PDFContext__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFObjectCopier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFObjectCopier */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectCopier\", function() { return _PDFObjectCopier__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _writers_PDFWriter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./writers/PDFWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWriter\", function() { return _writers_PDFWriter__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _writers_PDFStreamWriter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./writers/PDFStreamWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamWriter\", function() { return _writers_PDFStreamWriter__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHeader\", function() { return _document_PDFHeader__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailer\", function() { return _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./document/PDFTrailerDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailerDict\", function() { return _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefSection\", function() { return _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _embedders_StandardFontEmbedder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./embedders/StandardFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontEmbedder\", function() { return _embedders_StandardFontEmbedder__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _embedders_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./embedders/CustomFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontEmbedder\", function() { return _embedders_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _embedders_CustomFontSubsetEmbedder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./embedders/CustomFontSubsetEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontSubsetEmbedder\", function() { return _embedders_CustomFontSubsetEmbedder__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./embedders/FileEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FileEmbedder\", function() { return _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__[\"AFRelationship\"]; });\n\n/* harmony import */ var _embedders_JpegEmbedder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./embedders/JpegEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JpegEmbedder\", function() { return _embedders_JpegEmbedder__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _embedders_PngEmbedder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./embedders/PngEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PngEmbedder\", function() { return _embedders_PngEmbedder__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _embedders_PDFPageEmbedder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./embedders/PDFPageEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageEmbedder\", function() { return _embedders_PDFPageEmbedder__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./interactive/ViewerPreferences */ \"../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewerPreferences\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"NonFullScreenPageMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"ReadingDirection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"PrintScaling\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"Duplex\"]; });\n\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObject\", function() { return _objects_PDFObject__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFBool\", function() { return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNumber\", function() { return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFString\", function() { return _objects_PDFString__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHexString\", function() { return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFName\", function() { return _objects_PDFName__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNull\", function() { return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArray\", function() { return _objects_PDFArray__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDict\", function() { return _objects_PDFDict__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRef\", function() { return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObject\", function() { return _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStream\", function() { return _objects_PDFStream__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRawStream\", function() { return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./structures/PDFCatalog */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCatalog\", function() { return _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContentStream\", function() { return _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./structures/PDFCrossRefStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefStream\", function() { return _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStream\", function() { return _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./structures/PDFPageTree */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageTree\", function() { return _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageLeaf\", function() { return _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFFlateStream__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./structures/PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFlateStream\", function() { return _structures_PDFFlateStream__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./operators/PDFOperator */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperator\", function() { return _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./operators/PDFOperatorNames */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperatorNames\", function() { return _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFObjectParser__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./parser/PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParser\", function() { return _parser_PDFObjectParser__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./parser/PDFObjectStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStreamParser\", function() { return _parser_PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFParser__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./parser/PDFParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParser\", function() { return _parser_PDFParser__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./parser/PDFXRefStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFXRefStreamParser\", function() { return _parser_PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return _streams_decode__WEBPACK_IMPORTED_MODULE_44__[\"decodePDFRawStream\"]; });\n\n/* harmony import */ var _annotation__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./annotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"PDFAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"PDFWidgetAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"AppearanceCharacteristics\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"AnnotationFlags\"]; });\n\n/* harmony import */ var _acroform__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./acroform */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroChoice\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroComboBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroListBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroNonTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroPushButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroChoiceFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"createPDFAcroField\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js": +/*!****************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js ***! + \****************************************************************************************/ +/*! exports provided: NonFullScreenPageMode, ReadingDirection, PrintScaling, Duplex, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return NonFullScreenPageMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return ReadingDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return PrintScaling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return Duplex; });\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar asEnum = function (rawValue, enumType) {\n if (rawValue === undefined)\n return undefined;\n return enumType[rawValue];\n};\nvar NonFullScreenPageMode;\n(function (NonFullScreenPageMode) {\n /**\n * After exiting FullScreen mode, neither the document outline nor thumbnail\n * images should be visible.\n */\n NonFullScreenPageMode[\"UseNone\"] = \"UseNone\";\n /** After exiting FullScreen mode, the document outline should be visible. */\n NonFullScreenPageMode[\"UseOutlines\"] = \"UseOutlines\";\n /** After exiting FullScreen mode, thumbnail images should be visible. */\n NonFullScreenPageMode[\"UseThumbs\"] = \"UseThumbs\";\n /**\n * After exiting FullScreen mode, the optional content group panel should be\n * visible.\n */\n NonFullScreenPageMode[\"UseOC\"] = \"UseOC\";\n})(NonFullScreenPageMode || (NonFullScreenPageMode = {}));\nvar ReadingDirection;\n(function (ReadingDirection) {\n /** The predominant reading order is Left to Right. */\n ReadingDirection[\"L2R\"] = \"L2R\";\n /**\n * The predominant reading order is Right to left (including vertical writing\n * systems, such as Chinese, Japanese and Korean).\n */\n ReadingDirection[\"R2L\"] = \"R2L\";\n})(ReadingDirection || (ReadingDirection = {}));\nvar PrintScaling;\n(function (PrintScaling) {\n /** No page scaling. */\n PrintScaling[\"None\"] = \"None\";\n /* Use the PDF reader's default print scaling. */\n PrintScaling[\"AppDefault\"] = \"AppDefault\";\n})(PrintScaling || (PrintScaling = {}));\nvar Duplex;\n(function (Duplex) {\n /** The PDF reader should print single-sided. */\n Duplex[\"Simplex\"] = \"Simplex\";\n /**\n * The PDF reader should print double sided and flip on the short edge of the\n * sheet.\n */\n Duplex[\"DuplexFlipShortEdge\"] = \"DuplexFlipShortEdge\";\n /**\n * The PDF reader should print double sided and flip on the long edge of the\n * sheet.\n */\n Duplex[\"DuplexFlipLongEdge\"] = \"DuplexFlipLongEdge\";\n})(Duplex || (Duplex = {}));\nvar ViewerPreferences = /** @class */ (function () {\n /** @ignore */\n function ViewerPreferences(dict) {\n this.dict = dict;\n }\n ViewerPreferences.prototype.lookupBool = function (key) {\n var returnObj = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(key));\n if (returnObj instanceof _objects_PDFBool__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return returnObj;\n return undefined;\n };\n ViewerPreferences.prototype.lookupName = function (key) {\n var returnObj = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(key));\n if (returnObj instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return returnObj;\n return undefined;\n };\n /** @ignore */\n ViewerPreferences.prototype.HideToolbar = function () {\n return this.lookupBool('HideToolbar');\n };\n /** @ignore */\n ViewerPreferences.prototype.HideMenubar = function () {\n return this.lookupBool('HideMenubar');\n };\n /** @ignore */\n ViewerPreferences.prototype.HideWindowUI = function () {\n return this.lookupBool('HideWindowUI');\n };\n /** @ignore */\n ViewerPreferences.prototype.FitWindow = function () {\n return this.lookupBool('FitWindow');\n };\n /** @ignore */\n ViewerPreferences.prototype.CenterWindow = function () {\n return this.lookupBool('CenterWindow');\n };\n /** @ignore */\n ViewerPreferences.prototype.DisplayDocTitle = function () {\n return this.lookupBool('DisplayDocTitle');\n };\n /** @ignore */\n ViewerPreferences.prototype.NonFullScreenPageMode = function () {\n return this.lookupName('NonFullScreenPageMode');\n };\n /** @ignore */\n ViewerPreferences.prototype.Direction = function () {\n return this.lookupName('Direction');\n };\n /** @ignore */\n ViewerPreferences.prototype.PrintScaling = function () {\n return this.lookupName('PrintScaling');\n };\n /** @ignore */\n ViewerPreferences.prototype.Duplex = function () {\n return this.lookupName('Duplex');\n };\n /** @ignore */\n ViewerPreferences.prototype.PickTrayByPDFSize = function () {\n return this.lookupBool('PickTrayByPDFSize');\n };\n /** @ignore */\n ViewerPreferences.prototype.PrintPageRange = function () {\n var PrintPageRange = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintPageRange'));\n if (PrintPageRange instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n return PrintPageRange;\n return undefined;\n };\n /** @ignore */\n ViewerPreferences.prototype.NumCopies = function () {\n var NumCopies = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NumCopies'));\n if (NumCopies instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return NumCopies;\n return undefined;\n };\n /**\n * Returns `true` if PDF readers should hide the toolbar menus when displaying\n * this document.\n * @returns Whether or not toolbars should be hidden.\n */\n ViewerPreferences.prototype.getHideToolbar = function () {\n var _a, _b;\n return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should hide the menu bar when displaying this\n * document.\n * @returns Whether or not the menu bar should be hidden.\n */\n ViewerPreferences.prototype.getHideMenubar = function () {\n var _a, _b;\n return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should hide the user interface elements in\n * the document's window (such as scroll bars and navigation controls),\n * leaving only the document's contents displayed.\n * @returns Whether or not user interface elements should be hidden.\n */\n ViewerPreferences.prototype.getHideWindowUI = function () {\n var _a, _b;\n return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should resize the document's window to fit\n * the size of the first displayed page.\n * @returns Whether or not the window should be resized to fit.\n */\n ViewerPreferences.prototype.getFitWindow = function () {\n var _a, _b;\n return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should position the document's window in the\n * center of the screen.\n * @returns Whether or not to center the document window.\n */\n ViewerPreferences.prototype.getCenterWindow = function () {\n var _a, _b;\n return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if the window's title bar should display the document\n * `Title`, taken from the document metadata (see [[PDFDocument.getTitle]]).\n * Returns `false` if the title bar should instead display the filename of the\n * PDF file.\n * @returns Whether to display the document title.\n */\n ViewerPreferences.prototype.getDisplayDocTitle = function () {\n var _a, _b;\n return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns the page mode, which tells the PDF reader how to display the\n * document after exiting full-screen mode.\n * @returns The page mode after exiting full-screen mode.\n */\n ViewerPreferences.prototype.getNonFullScreenPageMode = function () {\n var _a, _b;\n var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone;\n };\n /**\n * Returns the predominant reading order for text.\n * @returns The text reading order.\n */\n ViewerPreferences.prototype.getReadingDirection = function () {\n var _a, _b;\n var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R;\n };\n /**\n * Returns the page scaling option that the PDF reader should select when the\n * print dialog is displayed.\n * @returns The page scaling option.\n */\n ViewerPreferences.prototype.getPrintScaling = function () {\n var _a, _b;\n var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault;\n };\n /**\n * Returns the paper handling option that should be used when printing the\n * file from the print dialog.\n * @returns The paper handling option.\n */\n ViewerPreferences.prototype.getDuplex = function () {\n var _a;\n var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return asEnum(duplex, Duplex);\n };\n /**\n * Returns `true` if the PDF page size should be used to select the input\n * paper tray.\n * @returns Whether or not the PDF page size should be used to select the\n * input paper tray.\n */\n ViewerPreferences.prototype.getPickTrayByPDFSize = function () {\n var _a;\n return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean();\n };\n /**\n * Returns an array of page number ranges, which are the values used to\n * initialize the print dialog box when the file is printed. Each range\n * specifies the first (`start`) and last (`end`) pages in a sub-range of\n * pages to be printed. The first page of the PDF file is denoted by 0.\n * For example:\n * ```js\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * const includesPage3 = viewerPrefs\n * .getPrintRanges()\n * .some(pr => pr.start =< 2 && pr.end >= 2)\n * if (includesPage3) console.log('printRange includes page 3')\n * ```\n * @returns An array of objects, each with the properties `start` and `end`,\n * denoting page indices. If not, specified an empty array is\n * returned.\n */\n ViewerPreferences.prototype.getPrintPageRange = function () {\n var rng = this.PrintPageRange();\n if (!rng)\n return [];\n var pageRanges = [];\n for (var i = 0; i < rng.size(); i += 2) {\n // Despite the spec clearly stating that \"The first page of the PDF file\n // shall be donoted by 1\", several test PDFs (spec 1.7) created in\n // Acrobat XI 11.0 and also read with Reader DC 2020.013 indicate this is\n // actually a 0 based index.\n var start = rng.lookup(i, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n var end = rng.lookup(i + 1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n pageRanges.push({ start: start, end: end });\n }\n return pageRanges;\n };\n /**\n * Returns the number of copies to be printed when the print dialog is opened\n * for this document.\n * @returns The default number of copies to be printed.\n */\n ViewerPreferences.prototype.getNumCopies = function () {\n var _a, _b;\n return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1;\n };\n /**\n * Choose whether the PDF reader's toolbars should be hidden while the\n * document is active.\n * @param hideToolbar `true` if the toolbar should be hidden.\n */\n ViewerPreferences.prototype.setHideToolbar = function (hideToolbar) {\n var HideToolbar = this.dict.context.obj(hideToolbar);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideToolbar'), HideToolbar);\n };\n /**\n * Choose whether the PDF reader's menu bar should be hidden while the\n * document is active.\n * @param hideMenubar `true` if the menu bar should be hidden.\n */\n ViewerPreferences.prototype.setHideMenubar = function (hideMenubar) {\n var HideMenubar = this.dict.context.obj(hideMenubar);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideMenubar'), HideMenubar);\n };\n /**\n * Choose whether the PDF reader should hide user interface elements in the\n * document's window (such as scroll bars and navigation controls), leaving\n * only the document's contents displayed.\n * @param hideWindowUI `true` if the user interface elements should be hidden.\n */\n ViewerPreferences.prototype.setHideWindowUI = function (hideWindowUI) {\n var HideWindowUI = this.dict.context.obj(hideWindowUI);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideWindowUI'), HideWindowUI);\n };\n /**\n * Choose whether the PDF reader should resize the document's window to fit\n * the size of the first displayed page.\n * @param fitWindow `true` if the window should be resized.\n */\n ViewerPreferences.prototype.setFitWindow = function (fitWindow) {\n var FitWindow = this.dict.context.obj(fitWindow);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FitWindow'), FitWindow);\n };\n /**\n * Choose whether the PDF reader should position the document's window in the\n * center of the screen.\n * @param centerWindow `true` if the window should be centered.\n */\n ViewerPreferences.prototype.setCenterWindow = function (centerWindow) {\n var CenterWindow = this.dict.context.obj(centerWindow);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('CenterWindow'), CenterWindow);\n };\n /**\n * Choose whether the window's title bar should display the document `Title`\n * taken from the document metadata (see [[PDFDocument.setTitle]]). If\n * `false`, the title bar should instead display the PDF filename.\n * @param displayTitle `true` if the document title should be displayed.\n */\n ViewerPreferences.prototype.setDisplayDocTitle = function (displayTitle) {\n var DisplayDocTitle = this.dict.context.obj(displayTitle);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DisplayDocTitle'), DisplayDocTitle);\n };\n /**\n * Choose how the PDF reader should display the document upon exiting\n * full-screen mode. This entry is meaningful only if the value of the\n * `PageMode` entry in the document's [[PDFCatalog]] is `FullScreen`.\n *\n * For example:\n * ```js\n * import { PDFDocument, NonFullScreenPageMode, PDFName } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n *\n * // Set the PageMode\n * pdfDoc.catalog.set(PDFName.of('PageMode'),PDFName.of('FullScreen'))\n *\n * // Set what happens when full-screen is closed\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setNonFullScreenPageMode(NonFullScreenPageMode.UseOutlines)\n * ```\n *\n * @param nonFullScreenPageMode How the document should be displayed upon\n * exiting full screen mode.\n */\n ViewerPreferences.prototype.setNonFullScreenPageMode = function (nonFullScreenPageMode) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(nonFullScreenPageMode, 'nonFullScreenPageMode', NonFullScreenPageMode);\n var mode = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(nonFullScreenPageMode);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NonFullScreenPageMode'), mode);\n };\n /**\n * Choose the predominant reading order for text.\n *\n * This entry has no direct effect on the document's contents or page\n * numbering, but may be used to determine the relative positioning of pages\n * when displayed side by side or printed n-up.\n *\n * For example:\n * ```js\n * import { PDFDocument, ReadingDirection } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setReadingDirection(ReadingDirection.R2L)\n * ```\n *\n * @param readingDirection The reading order for text.\n */\n ViewerPreferences.prototype.setReadingDirection = function (readingDirection) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(readingDirection, 'readingDirection', ReadingDirection);\n var direction = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(readingDirection);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Direction'), direction);\n };\n /**\n * Choose the page scaling option that should be selected when a print dialog\n * is displayed for this document.\n *\n * For example:\n * ```js\n * import { PDFDocument, PrintScaling } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setPrintScaling(PrintScaling.None)\n * ```\n *\n * @param printScaling The print scaling option.\n */\n ViewerPreferences.prototype.setPrintScaling = function (printScaling) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(printScaling, 'printScaling', PrintScaling);\n var scaling = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(printScaling);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintScaling'), scaling);\n };\n /**\n * Choose the paper handling option that should be selected by default in the\n * print dialog.\n *\n * For example:\n * ```js\n * import { PDFDocument, Duplex } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setDuplex(Duplex.DuplexFlipShortEdge)\n * ```\n *\n * @param duplex The double or single sided printing option.\n */\n ViewerPreferences.prototype.setDuplex = function (duplex) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(duplex, 'duplex', Duplex);\n var dup = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(duplex);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Duplex'), dup);\n };\n /**\n * Choose whether the PDF document's page size should be used to select the\n * input paper tray when printing. This setting influences only the preset\n * values used to populate the print dialog presented by a PDF reader.\n *\n * If PickTrayByPDFSize is true, the check box in the print dialog associated\n * with input paper tray should be checked. This setting has no effect on\n * operating systems that do not provide the ability to pick the input tray\n * by size.\n *\n * @param pickTrayByPDFSize `true` if the document's page size should be used\n * to select the input paper tray.\n */\n ViewerPreferences.prototype.setPickTrayByPDFSize = function (pickTrayByPDFSize) {\n var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PickTrayByPDFSize'), PickTrayByPDFSize);\n };\n /**\n * Choose the page numbers used to initialize the print dialog box when the\n * file is printed. The first page of the PDF file is denoted by 0.\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n *\n * // We can set the default print range to only the first page\n * viewerPrefs.setPrintPageRange({ start: 0, end: 0 })\n *\n * // Or we can supply noncontiguous ranges (e.g. pages 1, 3, and 5-7)\n * viewerPrefs.setPrintPageRange([\n * { start: 0, end: 0 },\n * { start: 2, end: 2 },\n * { start: 4, end: 6 },\n * ])\n * ```\n *\n * @param printPageRange An object or array of objects, each with the\n * properties `start` and `end`, denoting a range of\n * page indices.\n */\n ViewerPreferences.prototype.setPrintPageRange = function (printPageRange) {\n if (!Array.isArray(printPageRange))\n printPageRange = [printPageRange];\n var flatRange = [];\n for (var idx = 0, len = printPageRange.length; idx < len; idx++) {\n flatRange.push(printPageRange[idx].start);\n flatRange.push(printPageRange[idx].end);\n }\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertEachIs\"])(flatRange, 'printPageRange', ['number']);\n var pageRanges = this.dict.context.obj(flatRange);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintPageRange'), pageRanges);\n };\n /**\n * Choose the default number of copies to be printed when the print dialog is\n * opened for this file.\n * @param numCopies The default number of copies.\n */\n ViewerPreferences.prototype.setNumCopies = function (numCopies) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertRange\"])(numCopies, 'numCopies', 1, Number.MAX_VALUE);\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertInteger\"])(numCopies, 'numCopies');\n var NumCopies = this.dict.context.obj(numCopies);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NumCopies'), NumCopies);\n };\n /** @ignore */\n ViewerPreferences.fromDict = function (dict) {\n return new ViewerPreferences(dict);\n };\n /** @ignore */\n ViewerPreferences.create = function (context) {\n var dict = context.obj({});\n return new ViewerPreferences(dict);\n };\n return ViewerPreferences;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (ViewerPreferences);\n//# sourceMappingURL=ViewerPreferences.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFArray = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFArray, _super);\n function PDFArray(context) {\n var _this = _super.call(this) || this;\n _this.array = [];\n _this.context = context;\n return _this;\n }\n PDFArray.prototype.size = function () {\n return this.array.length;\n };\n PDFArray.prototype.push = function (object) {\n this.array.push(object);\n };\n PDFArray.prototype.insert = function (index, object) {\n this.array.splice(index, 0, object);\n };\n PDFArray.prototype.indexOf = function (object) {\n var index = this.array.indexOf(object);\n return index === -1 ? undefined : index;\n };\n PDFArray.prototype.remove = function (index) {\n this.array.splice(index, 1);\n };\n PDFArray.prototype.set = function (idx, object) {\n this.array[idx] = object;\n };\n PDFArray.prototype.get = function (index) {\n return this.array[index];\n };\n PDFArray.prototype.lookupMaybe = function (index) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n return (_a = this.context).lookupMaybe.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(index)], types));\n };\n PDFArray.prototype.lookup = function (index) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n return (_a = this.context).lookup.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(index)], types));\n };\n PDFArray.prototype.asRectangle = function () {\n if (this.size() !== 4)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"PDFArrayIsNotRectangleError\"](this.size());\n var lowerLeftX = this.lookup(0, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var lowerLeftY = this.lookup(1, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var upperRightX = this.lookup(2, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var upperRightY = this.lookup(3, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var x = lowerLeftX;\n var y = lowerLeftY;\n var width = upperRightX - lowerLeftX;\n var height = upperRightY - lowerLeftY;\n return { x: x, y: y, width: width, height: height };\n };\n PDFArray.prototype.asArray = function () {\n return this.array.slice();\n };\n PDFArray.prototype.clone = function (context) {\n var clone = PDFArray.withContext(context || this.context);\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n clone.push(this.array[idx]);\n }\n return clone;\n };\n PDFArray.prototype.toString = function () {\n var arrayString = '[ ';\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n arrayString += this.get(idx).toString();\n arrayString += ' ';\n }\n arrayString += ']';\n return arrayString;\n };\n PDFArray.prototype.sizeInBytes = function () {\n var size = 3;\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n size += this.get(idx).sizeInBytes() + 1;\n }\n return size;\n };\n PDFArray.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].LeftSquareBracket;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Space;\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n offset += this.get(idx).copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Space;\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].RightSquareBracket;\n return offset - initialOffset;\n };\n PDFArray.prototype.scalePDFNumbers = function (x, y) {\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n var el = this.lookup(idx);\n if (el instanceof _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n var factor = idx % 2 === 0 ? x : y;\n this.set(idx, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(el.asNumber() * factor));\n }\n }\n };\n PDFArray.withContext = function (context) { return new PDFArray(context); };\n return PDFArray;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFArray);\n//# sourceMappingURL=PDFArray.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\nvar ENFORCER = {};\nvar PDFBool = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFBool, _super);\n function PDFBool(enforcer, value) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFBool');\n _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFBool.prototype.asBoolean = function () {\n return this.value;\n };\n PDFBool.prototype.clone = function () {\n return this;\n };\n PDFBool.prototype.toString = function () {\n return String(this.value);\n };\n PDFBool.prototype.sizeInBytes = function () {\n return this.value ? 4 : 5;\n };\n PDFBool.prototype.copyBytesInto = function (buffer, offset) {\n if (this.value) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].u;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].e;\n return 4;\n }\n else {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].e;\n return 5;\n }\n };\n PDFBool.True = new PDFBool(ENFORCER, true);\n PDFBool.False = new PDFBool(ENFORCER, false);\n return PDFBool;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFBool);\n//# sourceMappingURL=PDFBool.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFNull__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\n\nvar PDFDict = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFDict, _super);\n function PDFDict(map, context) {\n var _this = _super.call(this) || this;\n _this.dict = map;\n _this.context = context;\n return _this;\n }\n PDFDict.prototype.keys = function () {\n return Array.from(this.dict.keys());\n };\n PDFDict.prototype.values = function () {\n return Array.from(this.dict.values());\n };\n PDFDict.prototype.entries = function () {\n return Array.from(this.dict.entries());\n };\n PDFDict.prototype.set = function (key, value) {\n this.dict.set(key, value);\n };\n PDFDict.prototype.get = function (key, \n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n preservePDFNull) {\n if (preservePDFNull === void 0) { preservePDFNull = false; }\n var value = this.dict.get(key);\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.has = function (key) {\n var value = this.dict.get(key);\n return value !== undefined && value !== _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n };\n PDFDict.prototype.lookupMaybe = function (key) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var value = (_a = this.context).lookupMaybe.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(key, preservePDFNull)], types));\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.lookup = function (key) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var value = (_a = this.context).lookup.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(key, preservePDFNull)], types));\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.delete = function (key) {\n return this.dict.delete(key);\n };\n PDFDict.prototype.asMap = function () {\n return new Map(this.dict);\n };\n /** Generate a random key that doesn't exist in current key set */\n PDFDict.prototype.uniqueKey = function (tag) {\n if (tag === void 0) { tag = ''; }\n var existingKeys = this.keys();\n var key = _PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.context.addRandomSuffix(tag, 10));\n while (existingKeys.includes(key)) {\n key = _PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.context.addRandomSuffix(tag, 10));\n }\n return key;\n };\n PDFDict.prototype.clone = function (context) {\n var clone = PDFDict.withContext(context || this.context);\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clone.set(key, value);\n }\n return clone;\n };\n PDFDict.prototype.toString = function () {\n var dictString = '<<\\n';\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n dictString += key.toString() + ' ' + value.toString() + '\\n';\n }\n dictString += '>>';\n return dictString;\n };\n PDFDict.prototype.sizeInBytes = function () {\n var size = 5;\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n size += key.sizeInBytes() + value.sizeInBytes() + 2;\n }\n return size;\n };\n PDFDict.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].LessThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].LessThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n offset += key.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Space;\n offset += value.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].GreaterThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].GreaterThan;\n return offset - initialOffset;\n };\n PDFDict.withContext = function (context) { return new PDFDict(new Map(), context); };\n PDFDict.fromMapWithContext = function (map, context) {\n return new PDFDict(map, context);\n };\n return PDFDict;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDict);\n//# sourceMappingURL=PDFDict.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFHexString = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFHexString, _super);\n function PDFHexString(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFHexString.prototype.asBytes = function () {\n // Append a zero if the number of digits is odd. See PDF spec 7.3.4.3\n var hex = this.value + (this.value.length % 2 === 1 ? '0' : '');\n var hexLength = hex.length;\n var bytes = new Uint8Array(hex.length / 2);\n var hexOffset = 0;\n var bytesOffset = 0;\n // Interpret each pair of hex digits as a single byte\n while (hexOffset < hexLength) {\n var byte = parseInt(hex.substring(hexOffset, hexOffset + 2), 16);\n bytes[bytesOffset] = byte;\n hexOffset += 2;\n bytesOffset += 1;\n }\n return bytes;\n };\n PDFHexString.prototype.decodeText = function () {\n var bytes = this.asBytes();\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"])(bytes))\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"])(bytes);\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"])(bytes);\n };\n PDFHexString.prototype.decodeDate = function () {\n var text = this.decodeText();\n var date = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"])(text);\n if (!date)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidPDFDateStringError\"](text);\n return date;\n };\n PDFHexString.prototype.asString = function () {\n return this.value;\n };\n PDFHexString.prototype.clone = function () {\n return PDFHexString.of(this.value);\n };\n PDFHexString.prototype.toString = function () {\n return \"<\" + this.value + \">\";\n };\n PDFHexString.prototype.sizeInBytes = function () {\n return this.value.length + 2;\n };\n PDFHexString.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LessThan;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.value, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].GreaterThan;\n return this.value.length + 2;\n };\n PDFHexString.of = function (value) { return new PDFHexString(value); };\n PDFHexString.fromText = function (value) {\n var encoded = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"])(value);\n var hex = '';\n for (var idx = 0, len = encoded.length; idx < len; idx++) {\n hex += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"])(encoded[idx], 4);\n }\n return new PDFHexString(hex);\n };\n return PDFHexString;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFHexString);\n//# sourceMappingURL=PDFHexString.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js": +/*!***********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js ***! + \***********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n\n\nvar PDFInvalidObject = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFInvalidObject, _super);\n function PDFInvalidObject(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n PDFInvalidObject.prototype.clone = function () {\n return PDFInvalidObject.of(this.data.slice());\n };\n PDFInvalidObject.prototype.toString = function () {\n return \"PDFInvalidObject(\" + this.data.length + \" bytes)\";\n };\n PDFInvalidObject.prototype.sizeInBytes = function () {\n return this.data.length;\n };\n PDFInvalidObject.prototype.copyBytesInto = function (buffer, offset) {\n var length = this.data.length;\n for (var idx = 0; idx < length; idx++) {\n buffer[offset++] = this.data[idx];\n }\n return length;\n };\n PDFInvalidObject.of = function (data) { return new PDFInvalidObject(data); };\n return PDFInvalidObject;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFInvalidObject);\n//# sourceMappingURL=PDFInvalidObject.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Irregular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/Irregular */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar decodeName = function (name) {\n return name.replace(/#([\\dABCDEF]{2})/g, function (_, hex) { return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"charFromHexCode\"])(hex); });\n};\nvar isRegularChar = function (charCode) {\n return charCode >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExclamationPoint &&\n charCode <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Tilde &&\n !_syntax_Irregular__WEBPACK_IMPORTED_MODULE_4__[\"IsIrregular\"][charCode];\n};\nvar ENFORCER = {};\nvar pool = new Map();\nvar PDFName = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFName, _super);\n function PDFName(enforcer, name) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFName');\n _this = _super.call(this) || this;\n var encodedName = '/';\n for (var idx = 0, len = name.length; idx < len; idx++) {\n var character = name[idx];\n var code = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toCharCode\"])(character);\n encodedName += isRegularChar(code) ? character : \"#\" + Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toHexString\"])(code);\n }\n _this.encodedName = encodedName;\n return _this;\n }\n PDFName.prototype.asBytes = function () {\n var bytes = [];\n var hex = '';\n var escaped = false;\n var pushByte = function (byte) {\n if (byte !== undefined)\n bytes.push(byte);\n escaped = false;\n };\n for (var idx = 1, len = this.encodedName.length; idx < len; idx++) {\n var char = this.encodedName[idx];\n var byte = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toCharCode\"])(char);\n var nextChar = this.encodedName[idx + 1];\n if (!escaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Hash)\n escaped = true;\n else\n pushByte(byte);\n }\n else {\n if ((byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Zero && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Nine) ||\n (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].a && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].f) ||\n (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].A && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].F)) {\n hex += char;\n if (hex.length === 2 ||\n !((nextChar >= '0' && nextChar <= '9') ||\n (nextChar >= 'a' && nextChar <= 'f') ||\n (nextChar >= 'A' && nextChar <= 'F'))) {\n pushByte(parseInt(hex, 16));\n hex = '';\n }\n }\n else {\n pushByte(byte);\n }\n }\n }\n return new Uint8Array(bytes);\n };\n // TODO: This should probably use `utf8Decode()`\n // TODO: Polyfill Array.from?\n PDFName.prototype.decodeText = function () {\n var bytes = this.asBytes();\n return String.fromCharCode.apply(String, Array.from(bytes));\n };\n PDFName.prototype.asString = function () {\n return this.encodedName;\n };\n /** @deprecated in favor of [[PDFName.asString]] */\n PDFName.prototype.value = function () {\n return this.encodedName;\n };\n PDFName.prototype.clone = function () {\n return this;\n };\n PDFName.prototype.toString = function () {\n return this.encodedName;\n };\n PDFName.prototype.sizeInBytes = function () {\n return this.encodedName.length;\n };\n PDFName.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"copyStringIntoBuffer\"])(this.encodedName, buffer, offset);\n return this.encodedName.length;\n };\n PDFName.of = function (name) {\n var decodedValue = decodeName(name);\n var instance = pool.get(decodedValue);\n if (!instance) {\n instance = new PDFName(ENFORCER, decodedValue);\n pool.set(decodedValue, instance);\n }\n return instance;\n };\n /* tslint:disable member-ordering */\n PDFName.Length = PDFName.of('Length');\n PDFName.FlateDecode = PDFName.of('FlateDecode');\n PDFName.Resources = PDFName.of('Resources');\n PDFName.Font = PDFName.of('Font');\n PDFName.XObject = PDFName.of('XObject');\n PDFName.ExtGState = PDFName.of('ExtGState');\n PDFName.Contents = PDFName.of('Contents');\n PDFName.Type = PDFName.of('Type');\n PDFName.Parent = PDFName.of('Parent');\n PDFName.MediaBox = PDFName.of('MediaBox');\n PDFName.Page = PDFName.of('Page');\n PDFName.Annots = PDFName.of('Annots');\n PDFName.TrimBox = PDFName.of('TrimBox');\n PDFName.ArtBox = PDFName.of('ArtBox');\n PDFName.BleedBox = PDFName.of('BleedBox');\n PDFName.CropBox = PDFName.of('CropBox');\n PDFName.Rotate = PDFName.of('Rotate');\n PDFName.Title = PDFName.of('Title');\n PDFName.Author = PDFName.of('Author');\n PDFName.Subject = PDFName.of('Subject');\n PDFName.Creator = PDFName.of('Creator');\n PDFName.Keywords = PDFName.of('Keywords');\n PDFName.Producer = PDFName.of('Producer');\n PDFName.CreationDate = PDFName.of('CreationDate');\n PDFName.ModDate = PDFName.of('ModDate');\n return PDFName;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFName);\n//# sourceMappingURL=PDFName.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js ***! + \**************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\nvar PDFNull = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFNull, _super);\n function PDFNull() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFNull.prototype.asNull = function () {\n return null;\n };\n PDFNull.prototype.clone = function () {\n return this;\n };\n PDFNull.prototype.toString = function () {\n return 'null';\n };\n PDFNull.prototype.sizeInBytes = function () {\n return 4;\n };\n PDFNull.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].u;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].l;\n return 4;\n };\n return PDFNull;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (new PDFNull());\n//# sourceMappingURL=PDFNull.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n\n\n\nvar PDFNumber = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFNumber, _super);\n function PDFNumber(value) {\n var _this = _super.call(this) || this;\n _this.numberValue = value;\n _this.stringValue = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"numberToString\"])(value);\n return _this;\n }\n PDFNumber.prototype.asNumber = function () {\n return this.numberValue;\n };\n /** @deprecated in favor of [[PDFNumber.asNumber]] */\n PDFNumber.prototype.value = function () {\n return this.numberValue;\n };\n PDFNumber.prototype.clone = function () {\n return PDFNumber.of(this.numberValue);\n };\n PDFNumber.prototype.toString = function () {\n return this.stringValue;\n };\n PDFNumber.prototype.sizeInBytes = function () {\n return this.stringValue.length;\n };\n PDFNumber.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.stringValue, buffer, offset);\n return this.stringValue.length;\n };\n PDFNumber.of = function (value) { return new PDFNumber(value); };\n return PDFNumber;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFNumber);\n//# sourceMappingURL=PDFNumber.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\nvar PDFObject = /** @class */ (function () {\n function PDFObject() {\n }\n PDFObject.prototype.clone = function (_context) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'clone');\n };\n PDFObject.prototype.toString = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'toString');\n };\n PDFObject.prototype.sizeInBytes = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'sizeInBytes');\n };\n PDFObject.prototype.copyBytesInto = function (_buffer, _offset) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'copyBytesInto');\n };\n return PDFObject;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObject);\n//# sourceMappingURL=PDFObject.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar PDFRawStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRawStream, _super);\n function PDFRawStream(dict, contents) {\n var _this = _super.call(this, dict) || this;\n _this.contents = contents;\n return _this;\n }\n PDFRawStream.prototype.asUint8Array = function () {\n return this.contents.slice();\n };\n PDFRawStream.prototype.clone = function (context) {\n return PDFRawStream.of(this.dict.clone(context), this.contents.slice());\n };\n PDFRawStream.prototype.getContentsString = function () {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"arrayAsString\"])(this.contents);\n };\n PDFRawStream.prototype.getContents = function () {\n return this.contents;\n };\n PDFRawStream.prototype.getContentsSize = function () {\n return this.contents.length;\n };\n PDFRawStream.of = function (dict, contents) {\n return new PDFRawStream(dict, contents);\n };\n return PDFRawStream;\n}(_PDFStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRawStream);\n//# sourceMappingURL=PDFRawStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\nvar ENFORCER = {};\nvar pool = new Map();\nvar PDFRef = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRef, _super);\n function PDFRef(enforcer, objectNumber, generationNumber) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFRef');\n _this = _super.call(this) || this;\n _this.objectNumber = objectNumber;\n _this.generationNumber = generationNumber;\n _this.tag = objectNumber + \" \" + generationNumber + \" R\";\n return _this;\n }\n PDFRef.prototype.clone = function () {\n return this;\n };\n PDFRef.prototype.toString = function () {\n return this.tag;\n };\n PDFRef.prototype.sizeInBytes = function () {\n return this.tag.length;\n };\n PDFRef.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.tag, buffer, offset);\n return this.tag.length;\n };\n PDFRef.of = function (objectNumber, generationNumber) {\n if (generationNumber === void 0) { generationNumber = 0; }\n var tag = objectNumber + \" \" + generationNumber + \" R\";\n var instance = pool.get(tag);\n if (!instance) {\n instance = new PDFRef(ENFORCER, objectNumber, generationNumber);\n pool.set(tag, instance);\n }\n return instance;\n };\n return PDFRef;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRef);\n//# sourceMappingURL=PDFRef.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\n\n\nvar PDFStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStream, _super);\n function PDFStream(dict) {\n var _this = _super.call(this) || this;\n _this.dict = dict;\n return _this;\n }\n PDFStream.prototype.clone = function (_context) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'clone');\n };\n PDFStream.prototype.getContentsString = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContentsString');\n };\n PDFStream.prototype.getContents = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContents');\n };\n PDFStream.prototype.getContentsSize = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContentsSize');\n };\n PDFStream.prototype.updateDict = function () {\n var contentsSize = this.getContentsSize();\n this.dict.set(_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Length, _PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(contentsSize));\n };\n PDFStream.prototype.sizeInBytes = function () {\n this.updateDict();\n return this.dict.sizeInBytes() + this.getContentsSize() + 18;\n };\n PDFStream.prototype.toString = function () {\n this.updateDict();\n var streamString = this.dict.toString();\n streamString += '\\nstream\\n';\n streamString += this.getContentsString();\n streamString += '\\nendstream';\n return streamString;\n };\n PDFStream.prototype.copyBytesInto = function (buffer, offset) {\n this.updateDict();\n var initialOffset = offset;\n offset += this.dict.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].m;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n var contents = this.getContents();\n for (var idx = 0, len = contents.length; idx < len; idx++) {\n buffer[offset++] = contents[idx];\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].d;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].m;\n return offset - initialOffset;\n };\n return PDFStream;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFStream);\n//# sourceMappingURL=PDFStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFString = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFString, _super);\n function PDFString(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFString.prototype.asBytes = function () {\n var bytes = [];\n var octal = '';\n var escaped = false;\n var pushByte = function (byte) {\n if (byte !== undefined)\n bytes.push(byte);\n escaped = false;\n };\n for (var idx = 0, len = this.value.length; idx < len; idx++) {\n var char = this.value[idx];\n var byte = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toCharCode\"])(char);\n var nextChar = this.value[idx + 1];\n if (!escaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].BackSlash)\n escaped = true;\n else\n pushByte(byte);\n }\n else {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline)\n pushByte();\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CarriageReturn)\n pushByte();\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].n)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].r)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CarriageReturn);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].t)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Tab);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].b)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Backspace);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].f)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].FormFeed);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Backspace)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].BackSlash);\n else if (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Zero && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Seven) {\n octal += char;\n if (octal.length === 3 || !(nextChar >= '0' && nextChar <= '7')) {\n pushByte(parseInt(octal, 8));\n octal = '';\n }\n }\n else {\n pushByte(byte);\n }\n }\n }\n return new Uint8Array(bytes);\n };\n PDFString.prototype.decodeText = function () {\n var bytes = this.asBytes();\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"])(bytes))\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"])(bytes);\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"])(bytes);\n };\n PDFString.prototype.decodeDate = function () {\n var text = this.decodeText();\n var date = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"])(text);\n if (!date)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidPDFDateStringError\"](text);\n return date;\n };\n PDFString.prototype.asString = function () {\n return this.value;\n };\n PDFString.prototype.clone = function () {\n return PDFString.of(this.value);\n };\n PDFString.prototype.toString = function () {\n return \"(\" + this.value + \")\";\n };\n PDFString.prototype.sizeInBytes = function () {\n return this.value.length + 2;\n };\n PDFString.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.value, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen;\n return this.value.length + 2;\n };\n // The PDF spec allows newlines and parens to appear directly within a literal\n // string. These character _may_ be escaped. But they do not _have_ to be. So\n // for simplicity, we will not bother escaping them.\n PDFString.of = function (value) { return new PDFString(value); };\n PDFString.fromDate = function (date) {\n var year = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCFullYear()), 4, '0');\n var month = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCMonth() + 1), 2, '0');\n var day = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCDate()), 2, '0');\n var hours = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCHours()), 2, '0');\n var mins = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCMinutes()), 2, '0');\n var secs = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCSeconds()), 2, '0');\n return new PDFString(\"D:\" + year + month + day + hours + mins + secs + \"Z\");\n };\n return PDFString;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFString);\n//# sourceMappingURL=PDFString.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js": +/*!********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js ***! + \********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar PDFOperator = /** @class */ (function () {\n function PDFOperator(name, args) {\n this.name = name;\n this.args = args || [];\n }\n PDFOperator.prototype.clone = function (context) {\n var args = new Array(this.args.length);\n for (var idx = 0, len = args.length; idx < len; idx++) {\n var arg = this.args[idx];\n args[idx] = arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? arg.clone(context) : arg;\n }\n return PDFOperator.of(this.name, args);\n };\n PDFOperator.prototype.toString = function () {\n var value = '';\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n value += String(this.args[idx]) + ' ';\n }\n value += this.name;\n return value;\n };\n PDFOperator.prototype.sizeInBytes = function () {\n var size = 0;\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n var arg = this.args[idx];\n size += (arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? arg.sizeInBytes() : arg.length) + 1;\n }\n size += this.name.length;\n return size;\n };\n PDFOperator.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n var arg = this.args[idx];\n if (arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n offset += arg.copyBytesInto(buffer, offset);\n }\n else {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(arg, buffer, offset);\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n }\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(this.name, buffer, offset);\n return offset - initialOffset;\n };\n PDFOperator.of = function (name, args) {\n return new PDFOperator(name, args);\n };\n return PDFOperator;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOperator);\n//# sourceMappingURL=PDFOperator.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js": +/*!*************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar PDFOperatorNames;\n(function (PDFOperatorNames) {\n // Non Stroking Color Operators\n PDFOperatorNames[\"NonStrokingColor\"] = \"sc\";\n PDFOperatorNames[\"NonStrokingColorN\"] = \"scn\";\n PDFOperatorNames[\"NonStrokingColorRgb\"] = \"rg\";\n PDFOperatorNames[\"NonStrokingColorGray\"] = \"g\";\n PDFOperatorNames[\"NonStrokingColorCmyk\"] = \"k\";\n PDFOperatorNames[\"NonStrokingColorspace\"] = \"cs\";\n // Stroking Color Operators\n PDFOperatorNames[\"StrokingColor\"] = \"SC\";\n PDFOperatorNames[\"StrokingColorN\"] = \"SCN\";\n PDFOperatorNames[\"StrokingColorRgb\"] = \"RG\";\n PDFOperatorNames[\"StrokingColorGray\"] = \"G\";\n PDFOperatorNames[\"StrokingColorCmyk\"] = \"K\";\n PDFOperatorNames[\"StrokingColorspace\"] = \"CS\";\n // Marked Content Operators\n PDFOperatorNames[\"BeginMarkedContentSequence\"] = \"BDC\";\n PDFOperatorNames[\"BeginMarkedContent\"] = \"BMC\";\n PDFOperatorNames[\"EndMarkedContent\"] = \"EMC\";\n PDFOperatorNames[\"MarkedContentPointWithProps\"] = \"DP\";\n PDFOperatorNames[\"MarkedContentPoint\"] = \"MP\";\n PDFOperatorNames[\"DrawObject\"] = \"Do\";\n // Graphics State Operators\n PDFOperatorNames[\"ConcatTransformationMatrix\"] = \"cm\";\n PDFOperatorNames[\"PopGraphicsState\"] = \"Q\";\n PDFOperatorNames[\"PushGraphicsState\"] = \"q\";\n PDFOperatorNames[\"SetFlatness\"] = \"i\";\n PDFOperatorNames[\"SetGraphicsStateParams\"] = \"gs\";\n PDFOperatorNames[\"SetLineCapStyle\"] = \"J\";\n PDFOperatorNames[\"SetLineDashPattern\"] = \"d\";\n PDFOperatorNames[\"SetLineJoinStyle\"] = \"j\";\n PDFOperatorNames[\"SetLineMiterLimit\"] = \"M\";\n PDFOperatorNames[\"SetLineWidth\"] = \"w\";\n PDFOperatorNames[\"SetTextMatrix\"] = \"Tm\";\n PDFOperatorNames[\"SetRenderingIntent\"] = \"ri\";\n // Graphics Operators\n PDFOperatorNames[\"AppendRectangle\"] = \"re\";\n PDFOperatorNames[\"BeginInlineImage\"] = \"BI\";\n PDFOperatorNames[\"BeginInlineImageData\"] = \"ID\";\n PDFOperatorNames[\"EndInlineImage\"] = \"EI\";\n PDFOperatorNames[\"ClipEvenOdd\"] = \"W*\";\n PDFOperatorNames[\"ClipNonZero\"] = \"W\";\n PDFOperatorNames[\"CloseAndStroke\"] = \"s\";\n PDFOperatorNames[\"CloseFillEvenOddAndStroke\"] = \"b*\";\n PDFOperatorNames[\"CloseFillNonZeroAndStroke\"] = \"b\";\n PDFOperatorNames[\"ClosePath\"] = \"h\";\n PDFOperatorNames[\"AppendBezierCurve\"] = \"c\";\n PDFOperatorNames[\"CurveToReplicateFinalPoint\"] = \"y\";\n PDFOperatorNames[\"CurveToReplicateInitialPoint\"] = \"v\";\n PDFOperatorNames[\"EndPath\"] = \"n\";\n PDFOperatorNames[\"FillEvenOddAndStroke\"] = \"B*\";\n PDFOperatorNames[\"FillEvenOdd\"] = \"f*\";\n PDFOperatorNames[\"FillNonZeroAndStroke\"] = \"B\";\n PDFOperatorNames[\"FillNonZero\"] = \"f\";\n PDFOperatorNames[\"LegacyFillNonZero\"] = \"F\";\n PDFOperatorNames[\"LineTo\"] = \"l\";\n PDFOperatorNames[\"MoveTo\"] = \"m\";\n PDFOperatorNames[\"ShadingFill\"] = \"sh\";\n PDFOperatorNames[\"StrokePath\"] = \"S\";\n // Text Operators\n PDFOperatorNames[\"BeginText\"] = \"BT\";\n PDFOperatorNames[\"EndText\"] = \"ET\";\n PDFOperatorNames[\"MoveText\"] = \"Td\";\n PDFOperatorNames[\"MoveTextSetLeading\"] = \"TD\";\n PDFOperatorNames[\"NextLine\"] = \"T*\";\n PDFOperatorNames[\"SetCharacterSpacing\"] = \"Tc\";\n PDFOperatorNames[\"SetFontAndSize\"] = \"Tf\";\n PDFOperatorNames[\"SetTextHorizontalScaling\"] = \"Tz\";\n PDFOperatorNames[\"SetTextLineHeight\"] = \"TL\";\n PDFOperatorNames[\"SetTextRenderingMode\"] = \"Tr\";\n PDFOperatorNames[\"SetTextRise\"] = \"Ts\";\n PDFOperatorNames[\"SetWordSpacing\"] = \"Tw\";\n PDFOperatorNames[\"ShowText\"] = \"Tj\";\n PDFOperatorNames[\"ShowTextAdjusted\"] = \"TJ\";\n PDFOperatorNames[\"ShowTextLine\"] = \"'\";\n PDFOperatorNames[\"ShowTextLineAndSpace\"] = \"\\\"\";\n // Type3 Font Operators\n PDFOperatorNames[\"Type3D0\"] = \"d0\";\n PDFOperatorNames[\"Type3D1\"] = \"d1\";\n // Compatibility Section Operators\n PDFOperatorNames[\"BeginCompatibilitySection\"] = \"BX\";\n PDFOperatorNames[\"EndCompatibilitySection\"] = \"EX\";\n})(PDFOperatorNames || (PDFOperatorNames = {}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOperatorNames);\n//# sourceMappingURL=PDFOperatorNames.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar Newline = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline, CarriageReturn = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CarriageReturn;\n// TODO: Throw error if eof is reached before finishing object parse...\nvar BaseParser = /** @class */ (function () {\n function BaseParser(bytes, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n this.bytes = bytes;\n this.capNumbers = capNumbers;\n }\n BaseParser.prototype.parseRawInt = function () {\n var value = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsDigit\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n }\n var numberValue = Number(value);\n if (!value || !isFinite(numberValue)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"](this.bytes.position(), value);\n }\n return numberValue;\n };\n // TODO: Maybe handle exponential format?\n // TODO: Compare performance of string concatenation to charFromCode(...bytes)\n BaseParser.prototype.parseRawNumber = function () {\n var value = '';\n // Parse integer-part, the leading (+ | - | . | 0-9)\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsNumeric\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Period)\n break;\n }\n // Parse decimal-part, the trailing (0-9)\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsDigit\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n }\n var numberValue = Number(value);\n if (!value || !isFinite(numberValue)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"](this.bytes.position(), value);\n }\n if (numberValue > Number.MAX_SAFE_INTEGER) {\n if (this.capNumbers) {\n var msg = \"Parsed number that is too large for some PDF readers: \" + value + \", using Number.MAX_SAFE_INTEGER instead.\";\n console.warn(msg);\n return Number.MAX_SAFE_INTEGER;\n }\n else {\n var msg = \"Parsed number that is too large for some PDF readers: \" + value + \", not capping.\";\n console.warn(msg);\n }\n }\n return numberValue;\n };\n BaseParser.prototype.skipWhitespace = function () {\n while (!this.bytes.done() && _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_3__[\"IsWhitespace\"][this.bytes.peek()]) {\n this.bytes.next();\n }\n };\n BaseParser.prototype.skipLine = function () {\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (byte === Newline || byte === CarriageReturn)\n return;\n this.bytes.next();\n }\n };\n BaseParser.prototype.skipComment = function () {\n if (this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent)\n return false;\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (byte === Newline || byte === CarriageReturn)\n return true;\n this.bytes.next();\n }\n return true;\n };\n BaseParser.prototype.skipWhitespaceAndComments = function () {\n this.skipWhitespace();\n while (this.skipComment())\n this.skipWhitespace();\n };\n BaseParser.prototype.matchKeyword = function (keyword) {\n var initialOffset = this.bytes.offset();\n for (var idx = 0, len = keyword.length; idx < len; idx++) {\n if (this.bytes.done() || this.bytes.next() !== keyword[idx]) {\n this.bytes.moveTo(initialOffset);\n return false;\n }\n }\n return true;\n };\n return BaseParser;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (BaseParser);\n//# sourceMappingURL=BaseParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n// TODO: See how line/col tracking affects performance\nvar ByteStream = /** @class */ (function () {\n function ByteStream(bytes) {\n this.idx = 0;\n this.line = 0;\n this.column = 0;\n this.bytes = bytes;\n this.length = this.bytes.length;\n }\n ByteStream.prototype.moveTo = function (offset) {\n this.idx = offset;\n };\n ByteStream.prototype.next = function () {\n var byte = this.bytes[this.idx++];\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline) {\n this.line += 1;\n this.column = 0;\n }\n else {\n this.column += 1;\n }\n return byte;\n };\n ByteStream.prototype.assertNext = function (expected) {\n if (this.peek() !== expected) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NextByteAssertionError\"](this.position(), expected, this.peek());\n }\n return this.next();\n };\n ByteStream.prototype.peek = function () {\n return this.bytes[this.idx];\n };\n ByteStream.prototype.peekAhead = function (steps) {\n return this.bytes[this.idx + steps];\n };\n ByteStream.prototype.peekAt = function (offset) {\n return this.bytes[offset];\n };\n ByteStream.prototype.done = function () {\n return this.idx >= this.length;\n };\n ByteStream.prototype.offset = function () {\n return this.idx;\n };\n ByteStream.prototype.slice = function (start, end) {\n return this.bytes.slice(start, end);\n };\n ByteStream.prototype.position = function () {\n return { line: this.line, column: this.column, offset: this.idx };\n };\n ByteStream.of = function (bytes) { return new ByteStream(bytes); };\n ByteStream.fromPDFRawStream = function (rawStream) {\n return ByteStream.of(Object(_streams_decode__WEBPACK_IMPORTED_MODULE_1__[\"decodePDFRawStream\"])(rawStream).decode());\n };\n return ByteStream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (ByteStream);\n//# sourceMappingURL=ByteStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _BaseParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BaseParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../structures/PDFCatalog */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js\");\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony import */ var _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../structures/PDFPageTree */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Delimiters__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../syntax/Delimiters */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js\");\n/* harmony import */ var _syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../syntax/Keywords */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../syntax/Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Throw error if eof is reached before finishing object parse...\nvar PDFObjectParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectParser, _super);\n function PDFObjectParser(byteStream, context, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n var _this = _super.call(this, byteStream, capNumbers) || this;\n _this.context = context;\n return _this;\n }\n // TODO: Is it possible to reduce duplicate parsing for ref lookaheads?\n PDFObjectParser.prototype.parseObject = function () {\n this.skipWhitespaceAndComments();\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].true))\n return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].True;\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].false))\n return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].False;\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].null))\n return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n var byte = this.bytes.peek();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan &&\n this.bytes.peekAhead(1) === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan) {\n return this.parseDictOrStream();\n }\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan)\n return this.parseHexString();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftParen)\n return this.parseString();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].ForwardSlash)\n return this.parseName();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftSquareBracket)\n return this.parseArray();\n if (_syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__[\"IsNumeric\"][byte])\n return this.parseNumberOrRef();\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParsingError\"](this.bytes.position(), byte);\n };\n PDFObjectParser.prototype.parseNumberOrRef = function () {\n var firstNum = this.parseRawNumber();\n this.skipWhitespaceAndComments();\n var lookaheadStart = this.bytes.offset();\n if (_syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__[\"IsDigit\"][this.bytes.peek()]) {\n var secondNum = this.parseRawNumber();\n this.skipWhitespaceAndComments();\n if (this.bytes.peek() === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].R) {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].R);\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_10__[\"default\"].of(firstNum, secondNum);\n }\n }\n this.bytes.moveTo(lookaheadStart);\n return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(firstNum);\n };\n // TODO: Maybe update PDFHexString.of() logic to remove whitespace and validate input?\n PDFObjectParser.prototype.parseHexString = function () {\n var value = '';\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n while (!this.bytes.done() && this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan) {\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(this.bytes.next());\n }\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(value);\n };\n PDFObjectParser.prototype.parseString = function () {\n var nestingLvl = 0;\n var isEscaped = false;\n var value = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.next();\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(byte);\n // Check for unescaped parenthesis\n if (!isEscaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftParen)\n nestingLvl += 1;\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightParen)\n nestingLvl -= 1;\n }\n // Track whether current character is being escaped or not\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].BackSlash) {\n isEscaped = !isEscaped;\n }\n else if (isEscaped) {\n isEscaped = false;\n }\n // Once (if) the unescaped parenthesis balance out, return their contents\n if (nestingLvl === 0) {\n // Remove the outer parens so they aren't part of the contents\n return _objects_PDFString__WEBPACK_IMPORTED_MODULE_11__[\"default\"].of(value.substring(1, value.length - 1));\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"UnbalancedParenthesisError\"](this.bytes.position());\n };\n // TODO: Compare performance of string concatenation to charFromCode(...bytes)\n // TODO: Maybe preallocate small Uint8Array if can use charFromCode?\n PDFObjectParser.prototype.parseName = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].ForwardSlash);\n var name = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (_syntax_Whitespace__WEBPACK_IMPORTED_MODULE_21__[\"IsWhitespace\"][byte] || _syntax_Delimiters__WEBPACK_IMPORTED_MODULE_18__[\"IsDelimiter\"][byte])\n break;\n name += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(byte);\n this.bytes.next();\n }\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(name);\n };\n PDFObjectParser.prototype.parseArray = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftSquareBracket);\n this.skipWhitespaceAndComments();\n var pdfArray = _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"].withContext(this.context);\n while (this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightSquareBracket) {\n var element = this.parseObject();\n pdfArray.push(element);\n this.skipWhitespaceAndComments();\n }\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightSquareBracket);\n return pdfArray;\n };\n PDFObjectParser.prototype.parseDict = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n this.skipWhitespaceAndComments();\n var dict = new Map();\n while (!this.bytes.done() &&\n this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan &&\n this.bytes.peekAhead(1) !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan) {\n var key = this.parseName();\n var value = this.parseObject();\n dict.set(key, value);\n this.skipWhitespaceAndComments();\n }\n this.skipWhitespaceAndComments();\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n var Type = dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Type'));\n if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Catalog')) {\n return _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_14__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Pages')) {\n return _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_16__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Page')) {\n return _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_15__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else {\n return _objects_PDFDict__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromMapWithContext(dict, this.context);\n }\n };\n PDFObjectParser.prototype.parseDictOrStream = function () {\n var startPos = this.bytes.position();\n var dict = this.parseDict();\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF1) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF2) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF3) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF4) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].stream)) {\n return dict;\n }\n var start = this.bytes.offset();\n var end;\n var Length = dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Length'));\n if (Length instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n end = start + Length.asNumber();\n this.bytes.moveTo(end);\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].endstream)) {\n this.bytes.moveTo(start);\n end = this.findEndOfStreamFallback(startPos);\n }\n }\n else {\n end = this.findEndOfStreamFallback(startPos);\n }\n var contents = this.bytes.slice(start, end);\n return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(dict, contents);\n };\n PDFObjectParser.prototype.findEndOfStreamFallback = function (startPos) {\n // Move to end of stream, while handling nested streams\n var nestingLvl = 1;\n var end = this.bytes.offset();\n while (!this.bytes.done()) {\n end = this.bytes.offset();\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].stream)) {\n nestingLvl += 1;\n }\n else if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF1endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF2endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF3endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].endstream)) {\n nestingLvl -= 1;\n }\n else {\n this.bytes.next();\n }\n if (nestingLvl === 0)\n break;\n }\n if (nestingLvl !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamParsingError\"](startPos);\n return end;\n };\n PDFObjectParser.forBytes = function (bytes, context, capNumbers) { return new PDFObjectParser(_ByteStream__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(bytes), context, capNumbers); };\n PDFObjectParser.forByteStream = function (byteStream, context, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n return new PDFObjectParser(byteStream, context, capNumbers);\n };\n return PDFObjectParser;\n}(_BaseParser__WEBPACK_IMPORTED_MODULE_12__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectParser);\n//# sourceMappingURL=PDFObjectParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js ***! + \***************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _PDFObjectParser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\nvar PDFObjectStreamParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectStreamParser, _super);\n function PDFObjectStreamParser(rawStream, shouldWaitForTick) {\n var _this = _super.call(this, _ByteStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromPDFRawStream(rawStream), rawStream.dict.context) || this;\n var dict = rawStream.dict;\n _this.alreadyParsed = false;\n _this.shouldWaitForTick = shouldWaitForTick || (function () { return false; });\n _this.firstOffset = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('First'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n _this.objectCount = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('N'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n return _this;\n }\n PDFObjectStreamParser.prototype.parseIntoContext = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"ReparseError\"]('PDFObjectStreamParser', 'parseIntoContext');\n }\n this.alreadyParsed = true;\n offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers();\n idx = 0, len = offsetsAndObjectNumbers.length;\n _b.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset;\n this.bytes.moveTo(this.firstOffset + offset);\n object = this.parseObject();\n ref = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(objectNumber, 0);\n this.context.assign(ref, object);\n if (!this.shouldWaitForTick()) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PDFObjectStreamParser.prototype.parseOffsetsAndObjectNumbers = function () {\n var offsetsAndObjectNumbers = [];\n for (var idx = 0, len = this.objectCount; idx < len; idx++) {\n this.skipWhitespaceAndComments();\n var objectNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var offset = this.parseRawInt();\n offsetsAndObjectNumbers.push({ objectNumber: objectNumber, offset: offset });\n }\n return offsetsAndObjectNumbers;\n };\n PDFObjectStreamParser.forStream = function (rawStream, shouldWaitForTick) { return new PDFObjectStreamParser(rawStream, shouldWaitForTick); };\n return PDFObjectStreamParser;\n}(_PDFObjectParser__WEBPACK_IMPORTED_MODULE_6__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectStreamParser);\n//# sourceMappingURL=PDFObjectStreamParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _PDFObjectParser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony import */ var _PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFObjectStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js\");\n/* harmony import */ var _PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFXRefStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js\");\n/* harmony import */ var _PDFContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../PDFContext */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../syntax/Keywords */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar PDFParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFParser, _super);\n function PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) {\n if (objectsPerTick === void 0) { objectsPerTick = Infinity; }\n if (throwOnInvalidObject === void 0) { throwOnInvalidObject = false; }\n if (capNumbers === void 0) { capNumbers = false; }\n var _this = _super.call(this, _ByteStream__WEBPACK_IMPORTED_MODULE_10__[\"default\"].of(pdfBytes), _PDFContext__WEBPACK_IMPORTED_MODULE_14__[\"default\"].create(), capNumbers) || this;\n _this.alreadyParsed = false;\n _this.parsedObjects = 0;\n _this.shouldWaitForTick = function () {\n _this.parsedObjects += 1;\n return _this.parsedObjects % _this.objectsPerTick === 0;\n };\n _this.objectsPerTick = objectsPerTick;\n _this.throwOnInvalidObject = throwOnInvalidObject;\n return _this;\n }\n PDFParser.prototype.parseDocument = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var prevOffset, offset;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"ReparseError\"]('PDFParser', 'parseDocument');\n }\n this.alreadyParsed = true;\n this.context.header = this.parseHeader();\n _a.label = 1;\n case 1:\n if (!!this.bytes.done()) return [3 /*break*/, 3];\n return [4 /*yield*/, this.parseDocumentSection()];\n case 2:\n _a.sent();\n offset = this.bytes.offset();\n if (offset === prevOffset) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"StalledParserError\"](this.bytes.position());\n }\n prevOffset = offset;\n return [3 /*break*/, 1];\n case 3:\n this.maybeRecoverRoot();\n if (this.context.lookup(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(0))) {\n console.warn('Removing parsed object: 0 0 R');\n this.context.delete(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(0));\n }\n return [2 /*return*/, this.context];\n }\n });\n });\n };\n PDFParser.prototype.maybeRecoverRoot = function () {\n var isValidCatalog = function (obj) {\n return obj instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_5__[\"default\"] &&\n obj.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Catalog');\n };\n var catalog = this.context.lookup(this.context.trailerInfo.Root);\n if (!isValidCatalog(catalog)) {\n var indirectObjects = this.context.enumerateIndirectObjects();\n for (var idx = 0, len = indirectObjects.length; idx < len; idx++) {\n var _a = indirectObjects[idx], ref = _a[0], object = _a[1];\n if (isValidCatalog(object)) {\n this.context.trailerInfo.Root = ref;\n }\n }\n }\n };\n PDFParser.prototype.parseHeader = function () {\n while (!this.bytes.done()) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].header)) {\n var major = this.parseRawInt();\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Period);\n var minor = this.parseRawInt();\n var header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(major, minor);\n this.skipBinaryHeaderComment();\n return header;\n }\n this.bytes.next();\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"MissingPDFHeaderError\"](this.bytes.position());\n };\n PDFParser.prototype.parseIndirectObjectHeader = function () {\n this.skipWhitespaceAndComments();\n var objectNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var generationNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].obj)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"MissingKeywordError\"](this.bytes.position(), _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].obj);\n }\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(objectNumber, generationNumber);\n };\n PDFParser.prototype.matchIndirectObjectHeader = function () {\n var initialOffset = this.bytes.offset();\n try {\n this.parseIndirectObjectHeader();\n return true;\n }\n catch (e) {\n this.bytes.moveTo(initialOffset);\n return false;\n }\n };\n PDFParser.prototype.parseIndirectObject = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var ref, object;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n ref = this.parseIndirectObjectHeader();\n this.skipWhitespaceAndComments();\n object = this.parseObject();\n this.skipWhitespaceAndComments();\n // if (!this.matchKeyword(Keywords.endobj)) {\n // throw new MissingKeywordError(this.bytes.position(), Keywords.endobj);\n // }\n // TODO: Log a warning if this fails...\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj);\n if (!(object instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"] &&\n object.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('ObjStm'))) return [3 /*break*/, 2];\n return [4 /*yield*/, _PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_12__[\"default\"].forStream(object, this.shouldWaitForTick).parseIntoContext()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (object instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"] &&\n object.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('XRef')) {\n _PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_13__[\"default\"].forStream(object).parseIntoContext();\n }\n else {\n this.context.assign(ref, object);\n }\n _a.label = 3;\n case 3: return [2 /*return*/, ref];\n }\n });\n });\n };\n // TODO: Improve and clean this up\n PDFParser.prototype.tryToParseInvalidIndirectObject = function () {\n var startPos = this.bytes.position();\n var msg = \"Trying to parse invalid object: \" + JSON.stringify(startPos) + \")\";\n if (this.throwOnInvalidObject)\n throw new Error(msg);\n console.warn(msg);\n var ref = this.parseIndirectObjectHeader();\n console.warn(\"Invalid object ref: \" + ref);\n this.skipWhitespaceAndComments();\n var start = this.bytes.offset();\n var failed = true;\n while (!this.bytes.done()) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj)) {\n failed = false;\n }\n if (!failed)\n break;\n this.bytes.next();\n }\n if (failed)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"PDFInvalidObjectParsingError\"](startPos);\n var end = this.bytes.offset() - _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj.length;\n var object = _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(this.bytes.slice(start, end));\n this.context.assign(ref, object);\n return ref;\n };\n PDFParser.prototype.parseIndirectObjects = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var initialOffset, e_1;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.skipWhitespaceAndComments();\n _a.label = 1;\n case 1:\n if (!(!this.bytes.done() && _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__[\"IsDigit\"][this.bytes.peek()])) return [3 /*break*/, 8];\n initialOffset = this.bytes.offset();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.parseIndirectObject()];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n // TODO: Add tracing/logging mechanism to track when this happens!\n this.bytes.moveTo(initialOffset);\n this.tryToParseInvalidIndirectObject();\n return [3 /*break*/, 5];\n case 5:\n this.skipWhitespaceAndComments();\n // TODO: Can this be done only when needed, to avoid harming performance?\n this.skipJibberish();\n if (!this.shouldWaitForTick()) return [3 /*break*/, 7];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_18__[\"waitForTick\"])()];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [3 /*break*/, 1];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n PDFParser.prototype.maybeParseCrossRefSection = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].xref))\n return;\n this.skipWhitespaceAndComments();\n var objectNumber = -1;\n var xref = _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createEmpty();\n while (!this.bytes.done() && _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__[\"IsDigit\"][this.bytes.peek()]) {\n var firstInt = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var secondInt = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var byte = this.bytes.peek();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].n || byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].f) {\n var ref = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(objectNumber, secondInt);\n if (this.bytes.next() === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].n) {\n xref.addEntry(ref, firstInt);\n }\n else {\n // this.context.delete(ref);\n xref.addDeletedEntry(ref, firstInt);\n }\n objectNumber += 1;\n }\n else {\n objectNumber = firstInt;\n }\n this.skipWhitespaceAndComments();\n }\n return xref;\n };\n PDFParser.prototype.maybeParseTrailerDict = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].trailer))\n return;\n this.skipWhitespaceAndComments();\n var dict = this.parseDict();\n var context = this.context;\n context.trailerInfo = {\n Root: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Root')) || context.trailerInfo.Root,\n Encrypt: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Encrypt')) || context.trailerInfo.Encrypt,\n Info: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Info')) || context.trailerInfo.Info,\n ID: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('ID')) || context.trailerInfo.ID,\n };\n };\n PDFParser.prototype.maybeParseTrailer = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].startxref))\n return;\n this.skipWhitespaceAndComments();\n var offset = this.parseRawInt();\n this.skipWhitespace();\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].eof);\n this.skipWhitespaceAndComments();\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].eof);\n this.skipWhitespaceAndComments();\n return _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__[\"default\"].forLastCrossRefSectionOffset(offset);\n };\n PDFParser.prototype.parseDocumentSection = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.parseIndirectObjects()];\n case 1:\n _a.sent();\n this.maybeParseCrossRefSection();\n this.maybeParseTrailerDict();\n this.maybeParseTrailer();\n // TODO: Can this be done only when needed, to avoid harming performance?\n this.skipJibberish();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * This operation is not necessary for valid PDF files. But some invalid PDFs\n * contain jibberish in between indirect objects. This method is designed to\n * skip past that jibberish, should it exist, until it reaches the next\n * indirect object header, an xref table section, or the file trailer.\n */\n PDFParser.prototype.skipJibberish = function () {\n this.skipWhitespaceAndComments();\n while (!this.bytes.done()) {\n var initialOffset = this.bytes.offset();\n var byte = this.bytes.peek();\n var isAlphaNumeric = byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Space && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Tilde;\n if (isAlphaNumeric) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].xref) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].trailer) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].startxref) ||\n this.matchIndirectObjectHeader()) {\n this.bytes.moveTo(initialOffset);\n break;\n }\n }\n this.bytes.next();\n }\n };\n /**\n * Skips the binary comment following a PDF header. The specification\n * defines this binary comment (section 7.5.2 File Header) as a sequence of 4\n * or more bytes that are 128 or greater, and which are preceded by a \"%\".\n *\n * This would imply that to strip out this binary comment, we could check for\n * a sequence of bytes starting with \"%\", and remove all subsequent bytes that\n * are 128 or greater. This works for many documents that properly comply with\n * the spec. But in the wild, there are PDFs that omit the leading \"%\", and\n * include bytes that are less than 128 (e.g. 0 or 1). So in order to parse\n * these headers correctly, we just throw out all bytes leading up to the\n * first indirect object header.\n */\n PDFParser.prototype.skipBinaryHeaderComment = function () {\n this.skipWhitespaceAndComments();\n try {\n var initialOffset = this.bytes.offset();\n this.parseIndirectObjectHeader();\n this.bytes.moveTo(initialOffset);\n }\n catch (e) {\n this.bytes.next();\n this.skipWhitespaceAndComments();\n }\n };\n PDFParser.forBytesWithOptions = function (pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) {\n return new PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers);\n };\n return PDFParser;\n}(_PDFObjectParser__WEBPACK_IMPORTED_MODULE_11__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFParser);\n//# sourceMappingURL=PDFParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js": +/*!*************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n\n\n\n\n\n\nvar PDFXRefStreamParser = /** @class */ (function () {\n function PDFXRefStreamParser(rawStream) {\n this.alreadyParsed = false;\n this.dict = rawStream.dict;\n this.bytes = _ByteStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromPDFRawStream(rawStream);\n this.context = this.dict.context;\n var Size = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Size'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n var Index = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Index'));\n if (Index instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n this.subsections = [];\n for (var idx = 0, len = Index.size(); idx < len; idx += 2) {\n var firstObjectNumber = Index.lookup(idx + 0, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n var length_1 = Index.lookup(idx + 1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n this.subsections.push({ firstObjectNumber: firstObjectNumber, length: length_1 });\n }\n }\n else {\n this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }];\n }\n var W = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('W'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n this.byteWidths = [-1, -1, -1];\n for (var idx = 0, len = W.size(); idx < len; idx++) {\n this.byteWidths[idx] = W.lookup(idx, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n }\n }\n PDFXRefStreamParser.prototype.parseIntoContext = function () {\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"ReparseError\"]('PDFXRefStreamParser', 'parseIntoContext');\n }\n this.alreadyParsed = true;\n this.context.trailerInfo = {\n Root: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Root')),\n Encrypt: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Encrypt')),\n Info: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Info')),\n ID: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ID')),\n };\n var entries = this.parseEntries();\n // for (let idx = 0, len = entries.length; idx < len; idx++) {\n // const entry = entries[idx];\n // if (entry.deleted) this.context.delete(entry.ref);\n // }\n return entries;\n };\n PDFXRefStreamParser.prototype.parseEntries = function () {\n var entries = [];\n var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2];\n for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) {\n var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length;\n for (var objIdx = 0; objIdx < length_2; objIdx++) {\n var type = 0;\n for (var idx = 0, len = typeFieldWidth; idx < len; idx++) {\n type = (type << 8) | this.bytes.next();\n }\n var offset = 0;\n for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) {\n offset = (offset << 8) | this.bytes.next();\n }\n var generationNumber = 0;\n for (var idx = 0, len = genFieldWidth; idx < len; idx++) {\n generationNumber = (generationNumber << 8) | this.bytes.next();\n }\n // When the `type` field is absent, it defaults to 1\n if (typeFieldWidth === 0)\n type = 1;\n var objectNumber = firstObjectNumber + objIdx;\n var entry = {\n ref: _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(objectNumber, generationNumber),\n offset: offset,\n deleted: type === 0,\n inObjectStream: type === 2,\n };\n entries.push(entry);\n }\n }\n return entries;\n };\n PDFXRefStreamParser.forStream = function (rawStream) {\n return new PDFXRefStreamParser(rawStream);\n };\n return PDFXRefStreamParser;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFXRefStreamParser);\n//# sourceMappingURL=PDFXRefStreamParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js": +/*!********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js ***! + \********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The Ascii85Stream class contained in this file is a TypeScript port of the\n * JavaScript Ascii85Stream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar isSpace = function (ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n};\nvar Ascii85Stream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Ascii85Stream, _super);\n function Ascii85Stream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.input = new Uint8Array(5);\n // Most streams increase in size when decoded, but Ascii85 streams\n // typically shrink by ~20%.\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n return _this;\n }\n Ascii85Stream.prototype.readBlock = function () {\n var TILDA_CHAR = 0x7e; // '~'\n var Z_LOWER_CHAR = 0x7a; // 'z'\n var EOF = -1;\n var stream = this.stream;\n var c = stream.getByte();\n while (isSpace(c)) {\n c = stream.getByte();\n }\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n var bufferLength = this.bufferLength;\n var buffer;\n var i;\n // special code for z\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n this.bufferLength += 4;\n }\n else {\n var input = this.input;\n input[0] = c;\n for (i = 1; i < 5; ++i) {\n c = stream.getByte();\n while (isSpace(c)) {\n c = stream.getByte();\n }\n input[i] = c;\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n // partial ending;\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n this.eof = true;\n }\n var t = 0;\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n };\n return Ascii85Stream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Ascii85Stream);\n//# sourceMappingURL=Ascii85Stream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The AsciiHexStream class contained in this file is a TypeScript port of the\n * JavaScript AsciiHexStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar AsciiHexStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AsciiHexStream, _super);\n function AsciiHexStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.firstDigit = -1;\n // Most streams increase in size when decoded, but AsciiHex streams shrink\n // by 50%.\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n return _this;\n }\n AsciiHexStream.prototype.readBlock = function () {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE);\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n var maxDecodeLength = (bytes.length + 1) >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i];\n var digit = void 0;\n if (ch >= 0x30 && ch <= 0x39) {\n // '0'-'9'\n digit = ch & 0x0f;\n }\n else if ((ch >= 0x41 && ch <= 0x46) || (ch >= 0x61 && ch <= 0x66)) {\n // 'A'-'Z', 'a'-'z'\n digit = (ch & 0x0f) + 9;\n }\n else if (ch === 0x3e) {\n // '>'\n this.eof = true;\n break;\n }\n else {\n // probably whitespace\n continue; // ignoring\n }\n if (firstDigit < 0) {\n firstDigit = digit;\n }\n else {\n buffer[bufferLength++] = (firstDigit << 4) | digit;\n firstDigit = -1;\n }\n }\n if (firstDigit >= 0 && this.eof) {\n // incomplete byte\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n return AsciiHexStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AsciiHexStream);\n//# sourceMappingURL=AsciiHexStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js": +/*!*******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js ***! + \*******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _Stream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js\");\n\n\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The DecodeStream class contained in this file is a TypeScript port of the\n * JavaScript DecodeStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n// Lots of DecodeStreams are created whose buffers are never used. For these\n// we share a single empty buffer. This is (a) space-efficient and (b) avoids\n// having special cases that would be required if we used |null| for an empty\n// buffer.\nvar emptyBuffer = new Uint8Array(0);\n/**\n * Super class for the decoding streams\n */\nvar DecodeStream = /** @class */ (function () {\n function DecodeStream(maybeMinBufferLength) {\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n if (maybeMinBufferLength) {\n // Compute the first power of two that is as big as maybeMinBufferLength.\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n Object.defineProperty(DecodeStream.prototype, \"isEmpty\", {\n get: function () {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n return this.bufferLength === 0;\n },\n enumerable: false,\n configurable: true\n });\n DecodeStream.prototype.getByte = function () {\n var pos = this.pos;\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n this.readBlock();\n }\n return this.buffer[this.pos++];\n };\n DecodeStream.prototype.getUint16 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n };\n DecodeStream.prototype.getInt32 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n };\n DecodeStream.prototype.getBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var end;\n var pos = this.pos;\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n var bufEnd = this.bufferLength;\n if (end > bufEnd) {\n end = bufEnd;\n }\n }\n else {\n while (!this.eof) {\n this.readBlock();\n }\n end = this.bufferLength;\n }\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n // `this.buffer` is either a `Uint8Array` or `Uint8ClampedArray` here.\n return forceClamped && !(subarray instanceof Uint8ClampedArray)\n ? new Uint8ClampedArray(subarray)\n : subarray;\n };\n DecodeStream.prototype.peekByte = function () {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n };\n DecodeStream.prototype.peekBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n };\n DecodeStream.prototype.skip = function (n) {\n if (!n) {\n n = 1;\n }\n this.pos += n;\n };\n DecodeStream.prototype.reset = function () {\n this.pos = 0;\n };\n DecodeStream.prototype.makeSubStream = function (start, length /* dict */) {\n var end = start + length;\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n return new _Stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.buffer, start, length /* dict */);\n };\n DecodeStream.prototype.decode = function () {\n while (!this.eof)\n this.readBlock();\n return this.buffer.subarray(0, this.bufferLength);\n };\n DecodeStream.prototype.readBlock = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'readBlock');\n };\n DecodeStream.prototype.ensureBuffer = function (requested) {\n var buffer = this.buffer;\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n var size = this.minBufferLength;\n while (size < requested) {\n size *= 2;\n }\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return (this.buffer = buffer2);\n };\n return DecodeStream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (DecodeStream);\n//# sourceMappingURL=DecodeStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js ***! + \******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The flate stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The FlateStream class contained in this file is a TypeScript port of the\n * JavaScript FlateStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n/* tslint:disable no-conditional-assignment */\n\n// prettier-ignore\nvar codeLenCodeMap = new Int32Array([\n 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15\n]);\n// prettier-ignore\nvar lengthDecode = new Int32Array([\n 0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a,\n 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f,\n 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073,\n 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102\n]);\n// prettier-ignore\nvar distDecode = new Int32Array([\n 0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d,\n 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1,\n 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01,\n 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001\n]);\n// prettier-ignore\nvar fixedLitCodeTab = [new Int32Array([\n 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0,\n 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0,\n 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0,\n 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0,\n 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8,\n 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8,\n 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8,\n 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8,\n 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4,\n 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4,\n 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4,\n 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4,\n 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc,\n 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec,\n 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc,\n 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc,\n 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2,\n 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2,\n 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2,\n 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2,\n 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca,\n 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea,\n 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da,\n 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa,\n 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6,\n 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6,\n 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6,\n 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6,\n 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce,\n 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee,\n 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de,\n 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe,\n 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1,\n 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1,\n 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1,\n 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1,\n 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9,\n 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9,\n 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9,\n 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9,\n 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5,\n 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5,\n 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5,\n 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5,\n 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd,\n 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed,\n 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd,\n 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd,\n 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3,\n 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3,\n 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3,\n 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3,\n 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb,\n 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb,\n 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db,\n 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb,\n 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7,\n 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7,\n 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7,\n 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7,\n 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf,\n 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef,\n 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df,\n 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff\n ]), 9];\n// prettier-ignore\nvar fixedDistCodeTab = [new Int32Array([\n 0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c,\n 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000,\n 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d,\n 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000\n ]), 5];\nvar FlateStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FlateStream, _super);\n function FlateStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n var cmf = stream.getByte();\n var flg = stream.getByte();\n if (cmf === -1 || flg === -1) {\n throw new Error(\"Invalid header in flate stream: \" + cmf + \", \" + flg);\n }\n if ((cmf & 0x0f) !== 0x08) {\n throw new Error(\"Unknown compression method in flate stream: \" + cmf + \", \" + flg);\n }\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new Error(\"Bad FCHECK in flate stream: \" + cmf + \", \" + flg);\n }\n if (flg & 0x20) {\n throw new Error(\"FDICT bit set in flate stream: \" + cmf + \", \" + flg);\n }\n _this.codeSize = 0;\n _this.codeBuf = 0;\n return _this;\n }\n FlateStream.prototype.readBlock = function () {\n var buffer;\n var len;\n var str = this.stream;\n // read block header\n var hdr = this.getBits(3);\n if (hdr & 1) {\n this.eof = true;\n }\n hdr >>= 1;\n if (hdr === 0) {\n // uncompressed block\n var b = void 0;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n var blockLen = b;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n blockLen |= b << 8;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n var check = b;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n check |= b << 8;\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n // Ignoring error for bad \"empty\" block (see issue 1277)\n throw new Error('Bad uncompressed block length in flate stream');\n }\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength;\n buffer = this.ensureBuffer(bufferLength + blockLen);\n var end = bufferLength + blockLen;\n this.bufferLength = end;\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n }\n else {\n for (var n = bufferLength; n < end; ++n) {\n if ((b = str.getByte()) === -1) {\n this.eof = true;\n break;\n }\n buffer[n] = b;\n }\n }\n return;\n }\n var litCodeTable;\n var distCodeTable;\n if (hdr === 1) {\n // compressed block, fixed codes\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n }\n else if (hdr === 2) {\n // compressed block, dynamic codes\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n // build the code lengths code table\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i = void 0;\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n // build the literal and distance code tables\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength = void 0;\n var bitsOffset = void 0;\n var what = void 0;\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n }\n else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n }\n else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n }\n else {\n codeLengths[i++] = len = code;\n continue;\n }\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n }\n else {\n throw new Error('Unknown block type in flate stream');\n }\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n while (true) {\n var code1 = this.getCode(litCodeTable);\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n buffer[pos++] = code1;\n continue;\n }\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n var dist = (code1 & 0xffff) + code2;\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n FlateStream.prototype.getBits = function (bits) {\n var str = this.stream;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad encoding in flate stream');\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n b = codeBuf & ((1 << bits) - 1);\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n FlateStream.prototype.getCode = function (table) {\n var str = this.stream;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n // premature end of stream. code might however still be valid.\n // codeSize < codeLen check below guards against incomplete codeVal.\n break;\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n var code = codes[codeBuf & ((1 << maxLen) - 1)];\n if (typeof codes === 'number') {\n console.log('FLATE:', code);\n }\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n if (codeLen < 1 || codeSize < codeLen) {\n throw new Error('Bad encoding in flate stream');\n }\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n FlateStream.prototype.generateHuffmanTable = function (lengths) {\n var n = lengths.length;\n // find max code length\n var maxLen = 0;\n var i;\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n // build the table\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n // bit-reverse the code\n var code2 = 0;\n var t = code;\n for (i = 0; i < len; ++i) {\n code2 = (code2 << 1) | (t & 1);\n t >>= 1;\n }\n // fill the table entries\n for (i = code2; i < size; i += skip) {\n codes[i] = (len << 16) | val;\n }\n ++code;\n }\n }\n }\n return [codes, maxLen];\n };\n return FlateStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (FlateStream);\n//# sourceMappingURL=FlateStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The LZWStream class contained in this file is a TypeScript port of the\n * JavaScript LZWStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar LZWStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LZWStream, _super);\n function LZWStream(stream, maybeLength, earlyChange) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.cachedData = 0;\n _this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0,\n };\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n _this.lzwState = lzwState;\n return _this;\n }\n LZWStream.prototype.readBlock = function () {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2;\n var decodedSizeDelta = blockSize;\n var i;\n var j;\n var q;\n var lzwState = this.lzwState;\n if (!lzwState) {\n return; // eof was found\n }\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n if (!code || code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n }\n else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n }\n else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n }\n else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n }\n else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength =\n (nextCode + earlyChange) & (nextCode + earlyChange - 1)\n ? codeLength\n : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n prevCode = code;\n decodedLength += currentSequenceLength;\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n LZWStream.prototype.readBits = function (n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n while (bitsCached < n) {\n var c = this.stream.getByte();\n if (c === -1) {\n this.eof = true;\n return null;\n }\n cachedData = (cachedData << 8) | c;\n bitsCached += 8;\n }\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n return (cachedData >>> bitsCached) & ((1 << n) - 1);\n };\n return LZWStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (LZWStream);\n//# sourceMappingURL=LZWStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js ***! + \**********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The RunLengthStream class contained in this file is a TypeScript port of the\n * JavaScript RunLengthStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar RunLengthStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RunLengthStream, _super);\n function RunLengthStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n return _this;\n }\n RunLengthStream.prototype.readBlock = function () {\n // The repeatHeader has following format. The first byte defines type of run\n // and amount of bytes to repeat/copy: n = 0 through 127 - copy next n bytes\n // (in addition to the second byte from the header), n = 129 through 255 -\n // duplicate the second byte from the header (257 - n) times, n = 128 - end.\n var repeatHeader = this.stream.getBytes(2);\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n if (n < 128) {\n // copy n bytes\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n if (n > 0) {\n var source = this.stream.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n }\n else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n this.bufferLength = bufferLength;\n };\n return RunLengthStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (RunLengthStream);\n//# sourceMappingURL=RunLengthStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js ***! + \*************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The Stream class contained in this file is a TypeScript port of the\n * JavaScript Stream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\nvar Stream = /** @class */ (function () {\n function Stream(buffer, start, length) {\n this.bytes = buffer;\n this.start = start || 0;\n this.pos = this.start;\n this.end = !!start && !!length ? start + length : this.bytes.length;\n }\n Object.defineProperty(Stream.prototype, \"length\", {\n get: function () {\n return this.end - this.start;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Stream.prototype, \"isEmpty\", {\n get: function () {\n return this.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n Stream.prototype.getByte = function () {\n if (this.pos >= this.end) {\n return -1;\n }\n return this.bytes[this.pos++];\n };\n Stream.prototype.getUint16 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n };\n Stream.prototype.getInt32 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n };\n // Returns subarray of original buffer, should only be read.\n Stream.prototype.getBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n if (!length) {\n var subarray = bytes.subarray(pos, strEnd);\n // `this.bytes` is always a `Uint8Array` here.\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n else {\n var end = pos + length;\n if (end > strEnd) {\n end = strEnd;\n }\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n // `this.bytes` is always a `Uint8Array` here.\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n };\n Stream.prototype.peekByte = function () {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n };\n Stream.prototype.peekBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n };\n Stream.prototype.skip = function (n) {\n if (!n) {\n n = 1;\n }\n this.pos += n;\n };\n Stream.prototype.reset = function () {\n this.pos = this.start;\n };\n Stream.prototype.moveStart = function () {\n this.start = this.pos;\n };\n Stream.prototype.makeSubStream = function (start, length) {\n return new Stream(this.bytes, start, length);\n };\n Stream.prototype.decode = function () {\n return this.bytes;\n };\n return Stream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stream);\n//# sourceMappingURL=Stream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js ***! + \*************************************************************************/ +/*! exports provided: decodePDFRawStream */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return decodePDFRawStream; });\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _Ascii85Stream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Ascii85Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js\");\n/* harmony import */ var _AsciiHexStream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./AsciiHexStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js\");\n/* harmony import */ var _FlateStream__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js\");\n/* harmony import */ var _LZWStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./LZWStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js\");\n/* harmony import */ var _RunLengthStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./RunLengthStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js\");\n/* harmony import */ var _Stream__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar decodeStream = function (stream, encoding, params) {\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('FlateDecode')) {\n return new _FlateStream__WEBPACK_IMPORTED_MODULE_7__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('LZWDecode')) {\n var earlyChange = 1;\n if (params instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n var EarlyChange = params.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('EarlyChange'));\n if (EarlyChange instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n earlyChange = EarlyChange.asNumber();\n }\n }\n return new _LZWStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"](stream, undefined, earlyChange);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('ASCII85Decode')) {\n return new _Ascii85Stream__WEBPACK_IMPORTED_MODULE_5__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('ASCIIHexDecode')) {\n return new _AsciiHexStream__WEBPACK_IMPORTED_MODULE_6__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('RunLengthDecode')) {\n return new _RunLengthStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"](stream);\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnsupportedEncodingError\"](encoding.asString());\n};\nvar decodePDFRawStream = function (_a) {\n var dict = _a.dict, contents = _a.contents;\n var stream = new _Stream__WEBPACK_IMPORTED_MODULE_10__[\"default\"](contents);\n var Filter = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Filter'));\n var DecodeParms = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DecodeParms'));\n if (Filter instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n stream = decodeStream(stream, Filter, DecodeParms);\n }\n else if (Filter instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n for (var idx = 0, len = Filter.size(); idx < len; idx++) {\n stream = decodeStream(stream, Filter.lookup(idx, _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), DecodeParms && DecodeParms.lookupMaybe(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n }\n }\n else if (!!Filter) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedObjectTypeError\"]([_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]], Filter);\n }\n return stream;\n};\n//# sourceMappingURL=decode.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js": +/*!********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js ***! + \********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _acroform__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../acroform */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js\");\n/* harmony import */ var _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../interactive/ViewerPreferences */ \"../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js\");\n\n\n\n\n\nvar PDFCatalog = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCatalog, _super);\n function PDFCatalog() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFCatalog.prototype.Pages = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.AcroForm = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('AcroForm'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.getAcroForm = function () {\n var dict = this.AcroForm();\n if (!dict)\n return undefined;\n return _acroform__WEBPACK_IMPORTED_MODULE_3__[\"PDFAcroForm\"].fromDict(dict);\n };\n PDFCatalog.prototype.getOrCreateAcroForm = function () {\n var acroForm = this.getAcroForm();\n if (!acroForm) {\n acroForm = _acroform__WEBPACK_IMPORTED_MODULE_3__[\"PDFAcroForm\"].create(this.context);\n var acroFormRef = this.context.register(acroForm.dict);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('AcroForm'), acroFormRef);\n }\n return acroForm;\n };\n PDFCatalog.prototype.ViewerPreferences = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ViewerPreferences'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.getViewerPreferences = function () {\n var dict = this.ViewerPreferences();\n if (!dict)\n return undefined;\n return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(dict);\n };\n PDFCatalog.prototype.getOrCreateViewerPreferences = function () {\n var viewerPrefs = this.getViewerPreferences();\n if (!viewerPrefs) {\n viewerPrefs = _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__[\"default\"].create(this.context);\n var viewerPrefsRef = this.context.register(viewerPrefs.dict);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ViewerPreferences'), viewerPrefsRef);\n }\n return viewerPrefs;\n };\n /**\n * Inserts the given ref as a leaf node of this catalog's page tree at the\n * specified index (zero-based). Also increments the `Count` of each node in\n * the page tree hierarchy to accomodate the new page.\n *\n * Returns the ref of the PDFPageTree node into which `leafRef` was inserted.\n */\n PDFCatalog.prototype.insertLeafNode = function (leafRef, index) {\n var pagesRef = this.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'));\n var maybeParentRef = this.Pages().insertLeafNode(leafRef, index);\n return maybeParentRef || pagesRef;\n };\n PDFCatalog.prototype.removeLeafNode = function (index) {\n this.Pages().removeLeafNode(index);\n };\n PDFCatalog.withContextAndPages = function (context, pages) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Catalog'));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'), pages);\n return new PDFCatalog(dict, context);\n };\n PDFCatalog.fromMapWithContext = function (map, context) {\n return new PDFCatalog(map, context);\n };\n return PDFCatalog;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCatalog);\n//# sourceMappingURL=PDFCatalog.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js": +/*!**************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js ***! + \**************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\nvar PDFContentStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFContentStream, _super);\n function PDFContentStream(dict, operators, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, dict, encode) || this;\n _this.operators = operators;\n return _this;\n }\n PDFContentStream.prototype.push = function () {\n var _a;\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n (_a = this.operators).push.apply(_a, operators);\n };\n PDFContentStream.prototype.clone = function (context) {\n var operators = new Array(this.operators.length);\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n operators[idx] = this.operators[idx].clone(context);\n }\n var _a = this, dict = _a.dict, encode = _a.encode;\n return PDFContentStream.of(dict.clone(context), operators, encode);\n };\n PDFContentStream.prototype.getContentsString = function () {\n var value = '';\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n value += this.operators[idx] + \"\\n\";\n }\n return value;\n };\n PDFContentStream.prototype.getUnencodedContents = function () {\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = 0;\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n offset += this.operators[idx].copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline;\n }\n return buffer;\n };\n PDFContentStream.prototype.getUnencodedContentsSize = function () {\n var size = 0;\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n size += this.operators[idx].sizeInBytes() + 1;\n }\n return size;\n };\n PDFContentStream.of = function (dict, operators, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFContentStream(dict, operators, encode);\n };\n return PDFContentStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFContentStream);\n//# sourceMappingURL=PDFContentStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js": +/*!***************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js ***! + \***************************************************************************************/ +/*! exports provided: EntryType, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryType\", function() { return EntryType; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar EntryType;\n(function (EntryType) {\n EntryType[EntryType[\"Deleted\"] = 0] = \"Deleted\";\n EntryType[EntryType[\"Uncompressed\"] = 1] = \"Uncompressed\";\n EntryType[EntryType[\"Compressed\"] = 2] = \"Compressed\";\n})(EntryType || (EntryType = {}));\n/**\n * Entries should be added using the [[addDeletedEntry]],\n * [[addUncompressedEntry]], and [[addCompressedEntry]] methods\n * **in order of ascending object number**.\n */\nvar PDFCrossRefStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCrossRefStream, _super);\n function PDFCrossRefStream(dict, entries, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, dict, encode) || this;\n // Returns an array of integer pairs for each subsection of the cross ref\n // section, where each integer pair represents:\n // firstObjectNumber(OfSection), length(OfSection)\n _this.computeIndex = function () {\n var subsections = [];\n var subsectionLength = 0;\n for (var idx = 0, len = _this.entries.length; idx < len; idx++) {\n var currEntry = _this.entries[idx];\n var prevEntry = _this.entries[idx - 1];\n if (idx === 0) {\n subsections.push(currEntry.ref.objectNumber);\n }\n else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {\n subsections.push(subsectionLength);\n subsections.push(currEntry.ref.objectNumber);\n subsectionLength = 0;\n }\n subsectionLength += 1;\n }\n subsections.push(subsectionLength);\n return subsections;\n };\n _this.computeEntryTuples = function () {\n var entryTuples = new Array(_this.entries.length);\n for (var idx = 0, len = _this.entries.length; idx < len; idx++) {\n var entry = _this.entries[idx];\n if (entry.type === EntryType.Deleted) {\n var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref;\n entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber];\n }\n if (entry.type === EntryType.Uncompressed) {\n var type = entry.type, offset = entry.offset, ref = entry.ref;\n entryTuples[idx] = [type, offset, ref.generationNumber];\n }\n if (entry.type === EntryType.Compressed) {\n var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index;\n entryTuples[idx] = [type, objectStreamRef.objectNumber, index];\n }\n }\n return entryTuples;\n };\n _this.computeMaxEntryByteWidths = function () {\n var entryTuples = _this.entryTuplesCache.access();\n var widths = [0, 0, 0];\n for (var idx = 0, len = entryTuples.length; idx < len; idx++) {\n var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2];\n var firstSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(first);\n var secondSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(second);\n var thirdSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(third);\n if (firstSize > widths[0])\n widths[0] = firstSize;\n if (secondSize > widths[1])\n widths[1] = secondSize;\n if (thirdSize > widths[2])\n widths[2] = thirdSize;\n }\n return widths;\n };\n _this.entries = entries || [];\n _this.entryTuplesCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeEntryTuples);\n _this.maxByteWidthsCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeMaxEntryByteWidths);\n _this.indexCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeIndex);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('XRef'));\n return _this;\n }\n PDFCrossRefStream.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) {\n var type = EntryType.Deleted;\n this.entries.push({ type: type, ref: ref, nextFreeObjectNumber: nextFreeObjectNumber });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.addUncompressedEntry = function (ref, offset) {\n var type = EntryType.Uncompressed;\n this.entries.push({ type: type, ref: ref, offset: offset });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.addCompressedEntry = function (ref, objectStreamRef, index) {\n var type = EntryType.Compressed;\n this.entries.push({ type: type, ref: ref, objectStreamRef: objectStreamRef, index: index });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.clone = function (context) {\n var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode;\n return PDFCrossRefStream.of(dict.clone(context), entries.slice(), encode);\n };\n PDFCrossRefStream.prototype.getContentsString = function () {\n var entryTuples = this.entryTuplesCache.access();\n var byteWidths = this.maxByteWidthsCache.access();\n var value = '';\n for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {\n var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2];\n var firstBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(first));\n var secondBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(second));\n var thirdBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(third));\n for (var idx = byteWidths[0] - 1; idx >= 0; idx--) {\n value += (firstBytes[idx] || 0).toString(2);\n }\n for (var idx = byteWidths[1] - 1; idx >= 0; idx--) {\n value += (secondBytes[idx] || 0).toString(2);\n }\n for (var idx = byteWidths[2] - 1; idx >= 0; idx--) {\n value += (thirdBytes[idx] || 0).toString(2);\n }\n }\n return value;\n };\n PDFCrossRefStream.prototype.getUnencodedContents = function () {\n var entryTuples = this.entryTuplesCache.access();\n var byteWidths = this.maxByteWidthsCache.access();\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = 0;\n for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {\n var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2];\n var firstBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(first));\n var secondBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(second));\n var thirdBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(third));\n for (var idx = byteWidths[0] - 1; idx >= 0; idx--) {\n buffer[offset++] = firstBytes[idx] || 0;\n }\n for (var idx = byteWidths[1] - 1; idx >= 0; idx--) {\n buffer[offset++] = secondBytes[idx] || 0;\n }\n for (var idx = byteWidths[2] - 1; idx >= 0; idx--) {\n buffer[offset++] = thirdBytes[idx] || 0;\n }\n }\n return buffer;\n };\n PDFCrossRefStream.prototype.getUnencodedContentsSize = function () {\n var byteWidths = this.maxByteWidthsCache.access();\n var entryWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sum\"])(byteWidths);\n return entryWidth * this.entries.length;\n };\n PDFCrossRefStream.prototype.updateDict = function () {\n _super.prototype.updateDict.call(this);\n var byteWidths = this.maxByteWidthsCache.access();\n var index = this.indexCache.access();\n var context = this.dict.context;\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('W'), context.obj(byteWidths));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Index'), context.obj(index));\n };\n PDFCrossRefStream.create = function (dict, encode) {\n if (encode === void 0) { encode = true; }\n var stream = new PDFCrossRefStream(dict, [], encode);\n stream.addDeletedEntry(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(0, 65535), 0);\n return stream;\n };\n PDFCrossRefStream.of = function (dict, entries, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFCrossRefStream(dict, entries, encode);\n };\n return PDFCrossRefStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCrossRefStream);\n//# sourceMappingURL=PDFCrossRefStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js": +/*!************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js ***! + \************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar PDFFlateStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFFlateStream, _super);\n function PDFFlateStream(dict, encode) {\n var _this = _super.call(this, dict) || this;\n _this.computeContents = function () {\n var unencodedContents = _this.getUnencodedContents();\n return _this.encode ? pako__WEBPACK_IMPORTED_MODULE_1___default.a.deflate(unencodedContents) : unencodedContents;\n };\n _this.encode = encode;\n if (encode)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Filter'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('FlateDecode'));\n _this.contentsCache = _utils__WEBPACK_IMPORTED_MODULE_5__[\"Cache\"].populatedBy(_this.computeContents);\n return _this;\n }\n PDFFlateStream.prototype.getContents = function () {\n return this.contentsCache.access();\n };\n PDFFlateStream.prototype.getContentsSize = function () {\n return this.contentsCache.access().length;\n };\n PDFFlateStream.prototype.getUnencodedContents = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_2__[\"MethodNotImplementedError\"](this.constructor.name, 'getUnencodedContents');\n };\n return PDFFlateStream;\n}(_objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFFlateStream);\n//# sourceMappingURL=PDFFlateStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js": +/*!*************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar PDFObjectStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectStream, _super);\n function PDFObjectStream(context, objects, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, context.obj({}), encode) || this;\n _this.objects = objects;\n _this.offsets = _this.computeObjectOffsets();\n _this.offsetsString = _this.computeOffsetsString();\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('ObjStm'));\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(_this.objects.length));\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('First'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(_this.offsetsString.length));\n return _this;\n }\n PDFObjectStream.prototype.getObjectsCount = function () {\n return this.objects.length;\n };\n PDFObjectStream.prototype.clone = function (context) {\n return PDFObjectStream.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode);\n };\n PDFObjectStream.prototype.getContentsString = function () {\n var value = this.offsetsString;\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], object = _a[1];\n value += object + \"\\n\";\n }\n return value;\n };\n PDFObjectStream.prototype.getUnencodedContents = function () {\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"copyStringIntoBuffer\"])(this.offsetsString, buffer, 0);\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], object = _a[1];\n offset += object.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n }\n return buffer;\n };\n PDFObjectStream.prototype.getUnencodedContentsSize = function () {\n return (this.offsetsString.length +\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"last\"])(this.offsets)[1] +\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"last\"])(this.objects)[1].sizeInBytes() +\n 1);\n };\n PDFObjectStream.prototype.computeOffsetsString = function () {\n var offsetsString = '';\n for (var idx = 0, len = this.offsets.length; idx < len; idx++) {\n var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1];\n offsetsString += objectNumber + \" \" + offset + \" \";\n }\n return offsetsString;\n };\n PDFObjectStream.prototype.computeObjectOffsets = function () {\n var offset = 0;\n var offsets = new Array(this.objects.length);\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], ref = _a[0], object = _a[1];\n offsets[idx] = [ref.objectNumber, offset];\n offset += object.sizeInBytes() + 1; // '\\n'\n }\n return offsets;\n };\n PDFObjectStream.withContextAndObjects = function (context, objects, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFObjectStream(context, objects, encode);\n };\n return PDFObjectStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectStream);\n//# sourceMappingURL=PDFObjectStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n\n\n\n\n\n\nvar PDFPageLeaf = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFPageLeaf, _super);\n function PDFPageLeaf(map, context, autoNormalizeCTM) {\n if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; }\n var _this = _super.call(this, map, context) || this;\n _this.normalized = false;\n _this.autoNormalizeCTM = autoNormalizeCTM;\n return _this;\n }\n PDFPageLeaf.prototype.clone = function (context) {\n var clone = PDFPageLeaf.fromMapWithContext(new Map(), context || this.context, this.autoNormalizeCTM);\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clone.set(key, value);\n }\n return clone;\n };\n PDFPageLeaf.prototype.Parent = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFPageLeaf.prototype.Contents = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Contents'));\n };\n PDFPageLeaf.prototype.Annots = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Annots, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.BleedBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].BleedBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.TrimBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].TrimBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.ArtBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ArtBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.Resources = function () {\n var dictOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources);\n return this.context.lookupMaybe(dictOrRef, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFPageLeaf.prototype.MediaBox = function () {\n var arrayOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].MediaBox);\n return this.context.lookup(arrayOrRef, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.CropBox = function () {\n var arrayOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].CropBox);\n return this.context.lookupMaybe(arrayOrRef, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.Rotate = function () {\n var numberOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Rotate);\n return this.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFPageLeaf.prototype.getInheritableAttribute = function (name) {\n var attribute;\n this.ascend(function (node) {\n if (!attribute)\n attribute = node.get(name);\n });\n return attribute;\n };\n PDFPageLeaf.prototype.setParent = function (parentRef) {\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, parentRef);\n };\n PDFPageLeaf.prototype.addContentStream = function (contentStreamRef) {\n var Contents = this.normalizedEntries().Contents || this.context.obj([]);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents, Contents);\n Contents.push(contentStreamRef);\n };\n PDFPageLeaf.prototype.wrapContentStreams = function (startStream, endStream) {\n var Contents = this.Contents();\n if (Contents instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n Contents.insert(0, startStream);\n Contents.push(endStream);\n return true;\n }\n return false;\n };\n PDFPageLeaf.prototype.addAnnot = function (annotRef) {\n var Annots = this.normalizedEntries().Annots;\n Annots.push(annotRef);\n };\n PDFPageLeaf.prototype.removeAnnot = function (annotRef) {\n var Annots = this.normalizedEntries().Annots;\n var index = Annots.indexOf(annotRef);\n if (index !== undefined) {\n Annots.remove(index);\n }\n };\n PDFPageLeaf.prototype.setFontDictionary = function (name, fontDictRef) {\n var Font = this.normalizedEntries().Font;\n Font.set(name, fontDictRef);\n };\n PDFPageLeaf.prototype.newFontDictionaryKey = function (tag) {\n var Font = this.normalizedEntries().Font;\n return Font.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newFontDictionary = function (tag, fontDictRef) {\n var key = this.newFontDictionaryKey(tag);\n this.setFontDictionary(key, fontDictRef);\n return key;\n };\n PDFPageLeaf.prototype.setXObject = function (name, xObjectRef) {\n var XObject = this.normalizedEntries().XObject;\n XObject.set(name, xObjectRef);\n };\n PDFPageLeaf.prototype.newXObjectKey = function (tag) {\n var XObject = this.normalizedEntries().XObject;\n return XObject.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newXObject = function (tag, xObjectRef) {\n var key = this.newXObjectKey(tag);\n this.setXObject(key, xObjectRef);\n return key;\n };\n PDFPageLeaf.prototype.setExtGState = function (name, extGStateRef) {\n var ExtGState = this.normalizedEntries().ExtGState;\n ExtGState.set(name, extGStateRef);\n };\n PDFPageLeaf.prototype.newExtGStateKey = function (tag) {\n var ExtGState = this.normalizedEntries().ExtGState;\n return ExtGState.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newExtGState = function (tag, extGStateRef) {\n var key = this.newExtGStateKey(tag);\n this.setExtGState(key, extGStateRef);\n return key;\n };\n PDFPageLeaf.prototype.ascend = function (visitor) {\n visitor(this);\n var Parent = this.Parent();\n if (Parent)\n Parent.ascend(visitor);\n };\n PDFPageLeaf.prototype.normalize = function () {\n if (this.normalized)\n return;\n var context = this.context;\n var contentsRef = this.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents);\n var contents = this.context.lookup(contentsRef);\n if (contents instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents, context.obj([contentsRef]));\n }\n if (this.autoNormalizeCTM) {\n this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream());\n }\n // TODO: Clone `Resources` if it is inherited\n var dictOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources);\n var Resources = context.lookupMaybe(dictOrRef, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources, Resources);\n // TODO: Clone `Font` if it is inherited\n var Font = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, Font);\n // TODO: Clone `XObject` if it is inherited\n var XObject = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, XObject);\n // TODO: Clone `ExtGState` if it is inherited\n var ExtGState = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, ExtGState);\n var Annots = this.Annots() || context.obj([]);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Annots, Annots);\n this.normalized = true;\n };\n PDFPageLeaf.prototype.normalizedEntries = function () {\n this.normalize();\n var Annots = this.Annots();\n var Resources = this.Resources();\n var Contents = this.Contents();\n return {\n Annots: Annots,\n Resources: Resources,\n Contents: Contents,\n Font: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n XObject: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n ExtGState: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n };\n };\n PDFPageLeaf.InheritableEntries = [\n 'Resources',\n 'MediaBox',\n 'CropBox',\n 'Rotate',\n ];\n PDFPageLeaf.withContextAndParent = function (context, parent) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Type, _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Page);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, parent);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources, context.obj({}));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].MediaBox, context.obj([0, 0, 612, 792]));\n return new PDFPageLeaf(dict, context, false);\n };\n PDFPageLeaf.fromMapWithContext = function (map, context, autoNormalizeCTM) {\n if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; }\n return new PDFPageLeaf(map, context, autoNormalizeCTM);\n };\n return PDFPageLeaf;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageLeaf);\n//# sourceMappingURL=PDFPageLeaf.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\nvar PDFPageTree = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFPageTree, _super);\n function PDFPageTree() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFPageTree.prototype.Parent = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n };\n PDFPageTree.prototype.Kids = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageTree.prototype.Count = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFPageTree.prototype.pushTreeNode = function (treeRef) {\n var Kids = this.Kids();\n Kids.push(treeRef);\n };\n PDFPageTree.prototype.pushLeafNode = function (leafRef) {\n var Kids = this.Kids();\n this.insertLeafKid(Kids.size(), leafRef);\n };\n /**\n * Inserts the given ref as a leaf node of this page tree at the specified\n * index (zero-based). Also increments the `Count` of each page tree in the\n * hierarchy to accomodate the new page.\n *\n * Returns the ref of the PDFPageTree node into which `leafRef` was inserted,\n * or `undefined` if it was inserted into the root node (the PDFPageTree upon\n * which the method was first called).\n */\n PDFPageTree.prototype.insertLeafNode = function (leafRef, targetIndex) {\n var Kids = this.Kids();\n var Count = this.Count().asNumber();\n if (targetIndex > Count) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"InvalidTargetIndexError\"](targetIndex, Count);\n }\n var leafsRemainingUntilTarget = targetIndex;\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n if (leafsRemainingUntilTarget === 0) {\n // Insert page and return\n this.insertLeafKid(idx, leafRef);\n return undefined;\n }\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree) {\n if (kid.Count().asNumber() > leafsRemainingUntilTarget) {\n // Dig in\n return (kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef);\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= kid.Count().asNumber();\n }\n }\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n // Move on\n leafsRemainingUntilTarget -= 1;\n }\n }\n if (leafsRemainingUntilTarget === 0) {\n // Insert page at the end and return\n this.insertLeafKid(Kids.size(), leafRef);\n return undefined;\n }\n // Should never get here if `targetIndex` is valid\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"CorruptPageTreeError\"](targetIndex, 'insertLeafNode');\n };\n /**\n * Removes the leaf node at the specified index (zero-based) from this page\n * tree. Also decrements the `Count` of each page tree in the hierarchy to\n * account for the removed page.\n *\n * If `prune` is true, then intermediate tree nodes will be removed from the\n * tree if they contain 0 children after the leaf node is removed.\n */\n PDFPageTree.prototype.removeLeafNode = function (targetIndex, prune) {\n if (prune === void 0) { prune = true; }\n var Kids = this.Kids();\n var Count = this.Count().asNumber();\n if (targetIndex >= Count) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"InvalidTargetIndexError\"](targetIndex, Count);\n }\n var leafsRemainingUntilTarget = targetIndex;\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree) {\n if (kid.Count().asNumber() > leafsRemainingUntilTarget) {\n // Dig in\n kid.removeLeafNode(leafsRemainingUntilTarget, prune);\n if (prune && kid.Kids().size() === 0)\n Kids.remove(idx);\n return;\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= kid.Count().asNumber();\n }\n }\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n if (leafsRemainingUntilTarget === 0) {\n // Remove page and return\n this.removeKid(idx);\n return;\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= 1;\n }\n }\n }\n // Should never get here if `targetIndex` is valid\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"CorruptPageTreeError\"](targetIndex, 'removeLeafNode');\n };\n PDFPageTree.prototype.ascend = function (visitor) {\n visitor(this);\n var Parent = this.Parent();\n if (Parent)\n Parent.ascend(visitor);\n };\n /** Performs a Post-Order traversal of this page tree */\n PDFPageTree.prototype.traverse = function (visitor) {\n var Kids = this.Kids();\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree)\n kid.traverse(visitor);\n visitor(kid, kidRef);\n }\n };\n PDFPageTree.prototype.insertLeafKid = function (kidIdx, leafRef) {\n var Kids = this.Kids();\n this.ascend(function (node) {\n var newCount = node.Count().asNumber() + 1;\n node.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(newCount));\n });\n Kids.insert(kidIdx, leafRef);\n };\n PDFPageTree.prototype.removeKid = function (kidIdx) {\n var Kids = this.Kids();\n var kid = Kids.lookup(kidIdx);\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n this.ascend(function (node) {\n var newCount = node.Count().asNumber() - 1;\n node.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(newCount));\n });\n }\n Kids.remove(kidIdx);\n };\n PDFPageTree.withContext = function (context, parent) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Pages'));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), context.obj([]));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), context.obj(0));\n if (parent)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), parent);\n return new PDFPageTree(dict, context);\n };\n PDFPageTree.fromMapWithContext = function (map, context) {\n return new PDFPageTree(map, context);\n };\n return PDFPageTree;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageTree);\n//# sourceMappingURL=PDFPageTree.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js ***! + \***************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"Null\"] = 0] = \"Null\";\n CharCodes[CharCodes[\"Backspace\"] = 8] = \"Backspace\";\n CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n CharCodes[CharCodes[\"Newline\"] = 10] = \"Newline\";\n CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n CharCodes[CharCodes[\"ExclamationPoint\"] = 33] = \"ExclamationPoint\";\n CharCodes[CharCodes[\"Hash\"] = 35] = \"Hash\";\n CharCodes[CharCodes[\"Percent\"] = 37] = \"Percent\";\n CharCodes[CharCodes[\"LeftParen\"] = 40] = \"LeftParen\";\n CharCodes[CharCodes[\"RightParen\"] = 41] = \"RightParen\";\n CharCodes[CharCodes[\"Plus\"] = 43] = \"Plus\";\n CharCodes[CharCodes[\"Minus\"] = 45] = \"Minus\";\n CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n CharCodes[CharCodes[\"Period\"] = 46] = \"Period\";\n CharCodes[CharCodes[\"ForwardSlash\"] = 47] = \"ForwardSlash\";\n CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n CharCodes[CharCodes[\"One\"] = 49] = \"One\";\n CharCodes[CharCodes[\"Two\"] = 50] = \"Two\";\n CharCodes[CharCodes[\"Three\"] = 51] = \"Three\";\n CharCodes[CharCodes[\"Four\"] = 52] = \"Four\";\n CharCodes[CharCodes[\"Five\"] = 53] = \"Five\";\n CharCodes[CharCodes[\"Six\"] = 54] = \"Six\";\n CharCodes[CharCodes[\"Seven\"] = 55] = \"Seven\";\n CharCodes[CharCodes[\"Eight\"] = 56] = \"Eight\";\n CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n CharCodes[CharCodes[\"LessThan\"] = 60] = \"LessThan\";\n CharCodes[CharCodes[\"GreaterThan\"] = 62] = \"GreaterThan\";\n CharCodes[CharCodes[\"A\"] = 65] = \"A\";\n CharCodes[CharCodes[\"D\"] = 68] = \"D\";\n CharCodes[CharCodes[\"E\"] = 69] = \"E\";\n CharCodes[CharCodes[\"F\"] = 70] = \"F\";\n CharCodes[CharCodes[\"O\"] = 79] = \"O\";\n CharCodes[CharCodes[\"P\"] = 80] = \"P\";\n CharCodes[CharCodes[\"R\"] = 82] = \"R\";\n CharCodes[CharCodes[\"LeftSquareBracket\"] = 91] = \"LeftSquareBracket\";\n CharCodes[CharCodes[\"BackSlash\"] = 92] = \"BackSlash\";\n CharCodes[CharCodes[\"RightSquareBracket\"] = 93] = \"RightSquareBracket\";\n CharCodes[CharCodes[\"a\"] = 97] = \"a\";\n CharCodes[CharCodes[\"b\"] = 98] = \"b\";\n CharCodes[CharCodes[\"d\"] = 100] = \"d\";\n CharCodes[CharCodes[\"e\"] = 101] = \"e\";\n CharCodes[CharCodes[\"f\"] = 102] = \"f\";\n CharCodes[CharCodes[\"i\"] = 105] = \"i\";\n CharCodes[CharCodes[\"j\"] = 106] = \"j\";\n CharCodes[CharCodes[\"l\"] = 108] = \"l\";\n CharCodes[CharCodes[\"m\"] = 109] = \"m\";\n CharCodes[CharCodes[\"n\"] = 110] = \"n\";\n CharCodes[CharCodes[\"o\"] = 111] = \"o\";\n CharCodes[CharCodes[\"r\"] = 114] = \"r\";\n CharCodes[CharCodes[\"s\"] = 115] = \"s\";\n CharCodes[CharCodes[\"t\"] = 116] = \"t\";\n CharCodes[CharCodes[\"u\"] = 117] = \"u\";\n CharCodes[CharCodes[\"x\"] = 120] = \"x\";\n CharCodes[CharCodes[\"LeftCurly\"] = 123] = \"LeftCurly\";\n CharCodes[CharCodes[\"RightCurly\"] = 125] = \"RightCurly\";\n CharCodes[CharCodes[\"Tilde\"] = 126] = \"Tilde\";\n})(CharCodes || (CharCodes = {}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CharCodes);\n//# sourceMappingURL=CharCodes.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js ***! + \****************************************************************************/ +/*! exports provided: IsDelimiter */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsDelimiter\", function() { return IsDelimiter; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsDelimiter = new Uint8Array(256);\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftParen] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightParen] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LessThan] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GreaterThan] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftSquareBracket] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightSquareBracket] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftCurly] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightCurly] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].ForwardSlash] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent] = 1;\n//# sourceMappingURL=Delimiters.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js": +/*!***************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js ***! + \***************************************************************************/ +/*! exports provided: IsIrregular */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsIrregular\", function() { return IsIrregular; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _Delimiters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Delimiters */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js\");\n/* harmony import */ var _Whitespace__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n\n\n\nvar IsIrregular = new Uint8Array(256);\nfor (var idx = 0, len = 256; idx < len; idx++) {\n IsIrregular[idx] = _Whitespace__WEBPACK_IMPORTED_MODULE_2__[\"IsWhitespace\"][idx] || _Delimiters__WEBPACK_IMPORTED_MODULE_1__[\"IsDelimiter\"][idx] ? 1 : 0;\n}\nIsIrregular[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Hash] = 1;\n//# sourceMappingURL=Irregular.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js ***! + \**************************************************************************/ +/*! exports provided: Keywords */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Keywords\", function() { return Keywords; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\nvar Space = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space, CarriageReturn = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CarriageReturn, Newline = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\nvar stream = [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].m,\n];\nvar endstream = [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].d,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].m,\n];\nvar Keywords = {\n header: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].P,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].D,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].F,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Dash,\n ],\n eof: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].E,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].O,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].F,\n ],\n obj: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].o, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].b, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].j],\n endobj: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].d,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].o,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].b,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].j,\n ],\n xref: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f],\n trailer: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].i,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n ],\n startxref: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f,\n ],\n true: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].u, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e],\n false: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e],\n null: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].u, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l],\n stream: stream,\n streamEOF1: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [Space, CarriageReturn, Newline]),\n streamEOF2: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [CarriageReturn, Newline]),\n streamEOF3: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [CarriageReturn]),\n streamEOF4: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [Newline]),\n endstream: endstream,\n EOF1endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([CarriageReturn, Newline], endstream),\n EOF2endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([CarriageReturn], endstream),\n EOF3endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Newline], endstream),\n};\n//# sourceMappingURL=Keywords.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js": +/*!*************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js ***! + \*************************************************************************/ +/*! exports provided: IsDigit, IsNumericPrefix, IsNumeric */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsDigit\", function() { return IsDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsNumericPrefix\", function() { return IsNumericPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsNumeric\", function() { return IsNumeric; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsDigit = new Uint8Array(256);\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Zero] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].One] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Two] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Three] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Four] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Five] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Six] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Seven] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Eight] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Nine] = 1;\nvar IsNumericPrefix = new Uint8Array(256);\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Period] = 1;\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Plus] = 1;\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Minus] = 1;\nvar IsNumeric = new Uint8Array(256);\nfor (var idx = 0, len = 256; idx < len; idx++) {\n IsNumeric[idx] = IsDigit[idx] || IsNumericPrefix[idx] ? 1 : 0;\n}\n//# sourceMappingURL=Numeric.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js ***! + \****************************************************************************/ +/*! exports provided: IsWhitespace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsWhitespace\", function() { return IsWhitespace; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsWhitespace = new Uint8Array(256);\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Null] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Tab] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].FormFeed] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].CarriageReturn] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Space] = 1;\n//# sourceMappingURL=Whitespace.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js": +/*!**********************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js ***! + \**********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../structures/PDFCrossRefStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js\");\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony import */ var _PDFWriter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar PDFStreamWriter = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStreamWriter, _super);\n function PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream) {\n var _this = _super.call(this, context, objectsPerTick) || this;\n _this.encodeStreams = encodeStreams;\n _this.objectsPerStream = objectsPerStream;\n return _this;\n }\n PDFStreamWriter.prototype.computeBufferSize = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n objectNumber = this.context.largestObjectNumber + 1;\n header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forVersion(1, 7);\n size = header.sizeInBytes() + 2;\n xrefStream = _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"].create(this.createTrailerDict(), this.encodeStreams);\n uncompressedObjects = [];\n compressedObjects = [];\n objectStreamRefs = [];\n indirectObjects = this.context.enumerateIndirectObjects();\n idx = 0, len = indirectObjects.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 6];\n indirectObject = indirectObjects[idx];\n ref = indirectObject[0], object = indirectObject[1];\n shouldNotCompress = ref === this.context.trailerInfo.Encrypt ||\n object instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ||\n object instanceof _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"] ||\n ref.generationNumber !== 0;\n if (!shouldNotCompress) return [3 /*break*/, 4];\n uncompressedObjects.push(indirectObject);\n xrefStream.addUncompressedEntry(ref, size);\n size += this.computeIndirectObjectSize(indirectObject);\n if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"waitForTick\"])()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [3 /*break*/, 5];\n case 4:\n chunk = Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"last\"])(compressedObjects);\n objectStreamRef = Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"last\"])(objectStreamRefs);\n if (!chunk || chunk.length % this.objectsPerStream === 0) {\n chunk = [];\n compressedObjects.push(chunk);\n objectStreamRef = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(objectNumber++);\n objectStreamRefs.push(objectStreamRef);\n }\n xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);\n chunk.push(indirectObject);\n _a.label = 5;\n case 5:\n idx++;\n return [3 /*break*/, 1];\n case 6:\n idx = 0, len = compressedObjects.length;\n _a.label = 7;\n case 7:\n if (!(idx < len)) return [3 /*break*/, 10];\n chunk = compressedObjects[idx];\n ref = objectStreamRefs[idx];\n objectStream = _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"].withContextAndObjects(this.context, chunk, this.encodeStreams);\n xrefStream.addUncompressedEntry(ref, size);\n size += this.computeIndirectObjectSize([ref, objectStream]);\n uncompressedObjects.push([ref, objectStream]);\n if (!this.shouldWaitForTick(chunk.length)) return [3 /*break*/, 9];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"waitForTick\"])()];\n case 8:\n _a.sent();\n _a.label = 9;\n case 9:\n idx++;\n return [3 /*break*/, 7];\n case 10:\n xrefStreamRef = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(objectNumber++);\n xrefStream.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Size'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(objectNumber));\n xrefStream.addUncompressedEntry(xrefStreamRef, size);\n xrefOffset = size;\n size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]);\n uncompressedObjects.push([xrefStreamRef, xrefStream]);\n trailer = _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forLastCrossRefSectionOffset(xrefOffset);\n size += trailer.sizeInBytes();\n return [2 /*return*/, { size: size, header: header, indirectObjects: uncompressedObjects, trailer: trailer }];\n }\n });\n });\n };\n PDFStreamWriter.forContext = function (context, objectsPerTick, encodeStreams, objectsPerStream) {\n if (encodeStreams === void 0) { encodeStreams = true; }\n if (objectsPerStream === void 0) { objectsPerStream = 50; }\n return new PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream);\n };\n return PDFStreamWriter;\n}(_PDFWriter__WEBPACK_IMPORTED_MODULE_10__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFStreamWriter);\n//# sourceMappingURL=PDFStreamWriter.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js": +/*!****************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js ***! + \****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../document/PDFTrailerDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js\");\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\nvar PDFWriter = /** @class */ (function () {\n function PDFWriter(context, objectsPerTick) {\n var _this = this;\n this.parsedObjects = 0;\n this.shouldWaitForTick = function (n) {\n _this.parsedObjects += n;\n return _this.parsedObjects % _this.objectsPerTick === 0;\n };\n this.context = context;\n this.objectsPerTick = objectsPerTick;\n }\n PDFWriter.prototype.serializeToBuffer = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.computeBufferSize()];\n case 1:\n _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer;\n offset = 0;\n buffer = new Uint8Array(size);\n offset += header.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n idx = 0, len = indirectObjects.length;\n _c.label = 2;\n case 2:\n if (!(idx < len)) return [3 /*break*/, 5];\n _b = indirectObjects[idx], ref = _b[0], object = _b[1];\n objectNumber = String(ref.objectNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"copyStringIntoBuffer\"])(objectNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Space;\n generationNumber = String(ref.generationNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"copyStringIntoBuffer\"])(generationNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Space;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].o;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].b;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].j;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n offset += object.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].d;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].o;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].b;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].j;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n n = object instanceof _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"] ? object.getObjectsCount() : 1;\n if (!this.shouldWaitForTick(n)) return [3 /*break*/, 4];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 3:\n _c.sent();\n _c.label = 4;\n case 4:\n idx++;\n return [3 /*break*/, 2];\n case 5:\n if (xref) {\n offset += xref.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n }\n if (trailerDict) {\n offset += trailerDict.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n }\n offset += trailer.copyBytesInto(buffer, offset);\n return [2 /*return*/, buffer];\n }\n });\n });\n };\n PDFWriter.prototype.computeIndirectObjectSize = function (_a) {\n var ref = _a[0], object = _a[1];\n var refSize = ref.sizeInBytes() + 3; // 'R' -> 'obj\\n'\n var objectSize = object.sizeInBytes() + 9; // '\\nendobj\\n\\n'\n return refSize + objectSize;\n };\n PDFWriter.prototype.createTrailerDict = function () {\n return this.context.obj({\n Size: this.context.largestObjectNumber + 1,\n Root: this.context.trailerInfo.Root,\n Encrypt: this.context.trailerInfo.Encrypt,\n Info: this.context.trailerInfo.Info,\n ID: this.context.trailerInfo.ID,\n });\n };\n PDFWriter.prototype.computeBufferSize = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(1, 7);\n size = header.sizeInBytes() + 2;\n xref = _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create();\n indirectObjects = this.context.enumerateIndirectObjects();\n idx = 0, len = indirectObjects.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n indirectObject = indirectObjects[idx];\n ref = indirectObject[0];\n xref.addEntry(ref, size);\n size += this.computeIndirectObjectSize(indirectObject);\n if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4:\n xrefOffset = size;\n size += xref.sizeInBytes() + 1; // '\\n'\n trailerDict = _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(this.createTrailerDict());\n size += trailerDict.sizeInBytes() + 2; // '\\n\\n'\n trailer = _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__[\"default\"].forLastCrossRefSectionOffset(xrefOffset);\n size += trailer.sizeInBytes();\n return [2 /*return*/, { size: size, header: header, indirectObjects: indirectObjects, xref: xref, trailerDict: trailerDict, trailer: trailer }];\n }\n });\n });\n };\n PDFWriter.forContext = function (context, objectsPerTick) {\n return new PDFWriter(context, objectsPerTick);\n };\n return PDFWriter;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFWriter);\n//# sourceMappingURL=PDFWriter.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/index.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/index.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/index */ \"../simple-mind-map/node_modules/pdf-lib/es/api/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFRadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"TextAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutSinglelineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ColorTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"grayscale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"cmyk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"componentsToColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"colorToComponents\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"EncryptedPDFError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FontkitNotRegisteredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ForeignPageError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RemovePageFromEmptyDocumentError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"NoSuchFieldError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedFieldTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"MissingOnValueCheckError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FieldAlreadyExistsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"InvalidFieldNamePartError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FieldExistsAsNonTerminalError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RichTextFieldReadError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"CombedTextLayoutError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ExceededMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"InvalidMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ImageAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawLinesOfText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawEllipsePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawEllipse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawSvgPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawCheckMark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateInPlace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawTextLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"clip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"clipEvenOdd\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"concatTransformationMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"translate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"scale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"skewRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"skewDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"restoreDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"LineCapStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineCap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"LineJoinStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineJoin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"pushGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"popGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineWidth\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"square\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"stroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"fill\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"fillAndStroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"nextLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"moveText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"showText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"beginText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFontAndSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setCharacterSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setWordSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setCharacterSqueeze\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineHeight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextRise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"TextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateAndSkewTextRadiansAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateAndSkewTextDegreesAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"beginMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RotationTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"radians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"degreesToRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"radiansToDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"toRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"toDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"reduceRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"adjustDimsForRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PageSizes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"BlendMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ParseSpeeds\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"StandardFonts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDocument\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFDocument\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFont\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFImage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFEmbeddedPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFEmbeddedPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFJavaScript\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFJavaScript\"]; });\n\n/* harmony import */ var _core_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/index */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnexpectedObjectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnsupportedEncodingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ReparseError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingCatalogError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingPageContentsEmbeddingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnrecognizedStreamTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PageEmbeddingMismatchedContextError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFArrayIsNotRectangleError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidPDFDateStringError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidTargetIndexError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CorruptPageTreeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"IndexOutOfBoundsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidAcroFieldValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MultiSelectValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingDAEntryError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingTfOperatorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NumberParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NextByteAssertionError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFInvalidObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnbalancedParenthesisError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"StalledParserError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingPDFHeaderError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingKeywordError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharCodes\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CharCodes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContext\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectCopier\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectCopier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWriter\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFWriter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamWriter\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamWriter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHeader\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFHeader\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailer\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFTrailer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailerDict\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFTrailerDict\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefSection\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCrossRefSection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"StandardFontEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CustomFontEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontSubsetEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CustomFontSubsetEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FileEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"FileEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AFRelationship\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JpegEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"JpegEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PngEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PngEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewerPreferences\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ViewerPreferences\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NonFullScreenPageMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ReadingDirection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PrintScaling\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"Duplex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObject\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFBool\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFBool\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNumber\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFString\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHexString\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFName\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNull\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFNull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArray\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDict\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRef\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObject\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFInvalidObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRawStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFRawStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCatalog\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCatalog\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContentStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFContentStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCrossRefStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageTree\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageTree\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageLeaf\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageLeaf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFlateStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFFlateStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperator\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFOperator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperatorNames\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFOperatorNames\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStreamParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectStreamParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFXRefStreamParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFXRefStreamParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"decodePDFRawStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFWidgetAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AppearanceCharacteristics\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AnnotationFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroChoice\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroComboBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroListBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroNonTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroPushButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroChoiceFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"createPDFAcroField\"]; });\n\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/index */ \"../simple-mind-map/node_modules/pdf-lib/es/types/index.js\");\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_types_index__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types_index__WEBPACK_IMPORTED_MODULE_2__) if([\"default\",\"normalizeAppearance\",\"defaultCheckBoxAppearanceProvider\",\"defaultRadioGroupAppearanceProvider\",\"defaultButtonAppearanceProvider\",\"defaultTextFieldAppearanceProvider\",\"defaultDropdownAppearanceProvider\",\"defaultOptionListAppearanceProvider\",\"PDFButton\",\"PDFCheckBox\",\"PDFDropdown\",\"PDFField\",\"PDFForm\",\"PDFOptionList\",\"PDFRadioGroup\",\"PDFSignature\",\"PDFTextField\",\"TextAlignment\",\"layoutMultilineText\",\"layoutCombedText\",\"layoutSinglelineText\",\"ColorTypes\",\"grayscale\",\"rgb\",\"cmyk\",\"setFillingColor\",\"setStrokingColor\",\"componentsToColor\",\"colorToComponents\",\"EncryptedPDFError\",\"FontkitNotRegisteredError\",\"ForeignPageError\",\"RemovePageFromEmptyDocumentError\",\"NoSuchFieldError\",\"UnexpectedFieldTypeError\",\"MissingOnValueCheckError\",\"FieldAlreadyExistsError\",\"InvalidFieldNamePartError\",\"FieldExistsAsNonTerminalError\",\"RichTextFieldReadError\",\"CombedTextLayoutError\",\"ExceededMaxLengthError\",\"InvalidMaxLengthError\",\"ImageAlignment\",\"asPDFName\",\"asPDFNumber\",\"asNumber\",\"drawText\",\"drawLinesOfText\",\"drawImage\",\"drawPage\",\"drawLine\",\"drawRectangle\",\"drawEllipsePath\",\"drawEllipse\",\"drawSvgPath\",\"drawCheckMark\",\"rotateInPlace\",\"drawCheckBox\",\"drawRadioButton\",\"drawButton\",\"drawTextLines\",\"drawTextField\",\"drawOptionList\",\"clip\",\"clipEvenOdd\",\"concatTransformationMatrix\",\"translate\",\"scale\",\"rotateRadians\",\"rotateDegrees\",\"skewRadians\",\"skewDegrees\",\"setDashPattern\",\"restoreDashPattern\",\"LineCapStyle\",\"setLineCap\",\"LineJoinStyle\",\"setLineJoin\",\"setGraphicsState\",\"pushGraphicsState\",\"popGraphicsState\",\"setLineWidth\",\"appendBezierCurve\",\"appendQuadraticCurve\",\"closePath\",\"moveTo\",\"lineTo\",\"rectangle\",\"square\",\"stroke\",\"fill\",\"fillAndStroke\",\"endPath\",\"nextLine\",\"moveText\",\"showText\",\"beginText\",\"endText\",\"setFontAndSize\",\"setCharacterSpacing\",\"setWordSpacing\",\"setCharacterSqueeze\",\"setLineHeight\",\"setTextRise\",\"TextRenderingMode\",\"setTextRenderingMode\",\"setTextMatrix\",\"rotateAndSkewTextRadiansAndTranslate\",\"rotateAndSkewTextDegreesAndTranslate\",\"drawObject\",\"setFillingGrayscaleColor\",\"setStrokingGrayscaleColor\",\"setFillingRgbColor\",\"setStrokingRgbColor\",\"setFillingCmykColor\",\"setStrokingCmykColor\",\"beginMarkedContent\",\"endMarkedContent\",\"RotationTypes\",\"radians\",\"degrees\",\"degreesToRadians\",\"radiansToDegrees\",\"toRadians\",\"toDegrees\",\"reduceRotation\",\"adjustDimsForRotation\",\"rotateRectangle\",\"PageSizes\",\"BlendMode\",\"ParseSpeeds\",\"StandardFonts\",\"PDFDocument\",\"PDFFont\",\"PDFImage\",\"PDFPage\",\"PDFEmbeddedPage\",\"PDFJavaScript\",\"MethodNotImplementedError\",\"PrivateConstructorError\",\"UnexpectedObjectTypeError\",\"UnsupportedEncodingError\",\"ReparseError\",\"MissingCatalogError\",\"MissingPageContentsEmbeddingError\",\"UnrecognizedStreamTypeError\",\"PageEmbeddingMismatchedContextError\",\"PDFArrayIsNotRectangleError\",\"InvalidPDFDateStringError\",\"InvalidTargetIndexError\",\"CorruptPageTreeError\",\"IndexOutOfBoundsError\",\"InvalidAcroFieldValueError\",\"MultiSelectValueError\",\"MissingDAEntryError\",\"MissingTfOperatorError\",\"NumberParsingError\",\"PDFParsingError\",\"NextByteAssertionError\",\"PDFObjectParsingError\",\"PDFInvalidObjectParsingError\",\"PDFStreamParsingError\",\"UnbalancedParenthesisError\",\"StalledParserError\",\"MissingPDFHeaderError\",\"MissingKeywordError\",\"CharCodes\",\"PDFContext\",\"PDFObjectCopier\",\"PDFWriter\",\"PDFStreamWriter\",\"PDFHeader\",\"PDFTrailer\",\"PDFTrailerDict\",\"PDFCrossRefSection\",\"StandardFontEmbedder\",\"CustomFontEmbedder\",\"CustomFontSubsetEmbedder\",\"FileEmbedder\",\"AFRelationship\",\"JpegEmbedder\",\"PngEmbedder\",\"PDFPageEmbedder\",\"ViewerPreferences\",\"NonFullScreenPageMode\",\"ReadingDirection\",\"PrintScaling\",\"Duplex\",\"PDFObject\",\"PDFBool\",\"PDFNumber\",\"PDFString\",\"PDFHexString\",\"PDFName\",\"PDFNull\",\"PDFArray\",\"PDFDict\",\"PDFRef\",\"PDFInvalidObject\",\"PDFStream\",\"PDFRawStream\",\"PDFCatalog\",\"PDFContentStream\",\"PDFCrossRefStream\",\"PDFObjectStream\",\"PDFPageTree\",\"PDFPageLeaf\",\"PDFFlateStream\",\"PDFOperator\",\"PDFOperatorNames\",\"PDFObjectParser\",\"PDFObjectStreamParser\",\"PDFParser\",\"PDFXRefStreamParser\",\"decodePDFRawStream\",\"PDFAnnotation\",\"PDFWidgetAnnotation\",\"AppearanceCharacteristics\",\"AnnotationFlags\",\"PDFAcroButton\",\"PDFAcroCheckBox\",\"PDFAcroChoice\",\"PDFAcroComboBox\",\"PDFAcroField\",\"PDFAcroForm\",\"PDFAcroListBox\",\"PDFAcroNonTerminal\",\"PDFAcroPushButton\",\"PDFAcroRadioButton\",\"PDFAcroSignature\",\"PDFAcroTerminal\",\"PDFAcroText\",\"AcroFieldFlags\",\"AcroButtonFlags\",\"AcroTextFlags\",\"AcroChoiceFlags\",\"createPDFAcroFields\",\"createPDFAcroField\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _types_index__WEBPACK_IMPORTED_MODULE_2__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/index */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"last\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"typedArrayFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeIntoTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeUint8Arrays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"arrayAsString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"byAscendingId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sortedUniq\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"reverseArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"range\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"pluckIndices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"canBeConvertedToUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"waitForTick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toCharCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toCodePoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charFromCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charFromHexCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"addRandomSuffix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"cleanText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"escapedNewlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"newlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isNewlineChar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"lineSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charAtIndex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"breakTextIntoLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"findLastMatch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf8Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isWithinBMP\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"hasSurrogates\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"highSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"lowSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"numberToString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sizeInBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"bytesFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"error\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"encodeToBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"decodeFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"decodeFromBase64DataUri\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"values\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"StandardFontValues\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isStandardFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"rectanglesAreEqual\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"backtick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"singleQuote\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"createValueErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsOneOf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsOneOfOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsSubset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"getType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"createTypeErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertEachIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertRangeOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertMultiple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertInteger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertPositive\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cache\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"Cache\"]; });\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/types/index.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/types/index.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/types/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar Cache = /** @class */ (function () {\n function Cache(populate) {\n this.populate = populate;\n this.value = undefined;\n }\n Cache.prototype.getValue = function () {\n return this.value;\n };\n Cache.prototype.access = function () {\n if (!this.value)\n this.value = this.populate();\n return this.value;\n };\n Cache.prototype.invalidate = function () {\n this.value = undefined;\n };\n Cache.populatedBy = function (populate) { return new Cache(populate); };\n return Cache;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cache);\n//# sourceMappingURL=Cache.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js ***! + \******************************************************************/ +/*! exports provided: last, typedArrayFor, mergeIntoTypedArray, mergeUint8Arrays, arrayAsString, byAscendingId, sortedUniq, reverseArray, sum, range, pluckIndices, canBeConvertedToUint8Array, toUint8Array */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return last; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return typedArrayFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return mergeIntoTypedArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return mergeUint8Arrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return arrayAsString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return byAscendingId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return sortedUniq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return reverseArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return pluckIndices; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return canBeConvertedToUint8Array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return toUint8Array; });\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base64 */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js\");\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n\nvar last = function (array) { return array[array.length - 1]; };\n// export const dropLast = (array: T[]): T[] =>\n// array.slice(0, array.length - 1);\nvar typedArrayFor = function (value) {\n if (value instanceof Uint8Array)\n return value;\n var length = value.length;\n var typedArray = new Uint8Array(length);\n for (var idx = 0; idx < length; idx++) {\n typedArray[idx] = value.charCodeAt(idx);\n }\n return typedArray;\n};\nvar mergeIntoTypedArray = function () {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i] = arguments[_i];\n }\n var arrayCount = arrays.length;\n var typedArrays = [];\n for (var idx = 0; idx < arrayCount; idx++) {\n var element = arrays[idx];\n typedArrays[idx] =\n element instanceof Uint8Array ? element : typedArrayFor(element);\n }\n var totalSize = 0;\n for (var idx = 0; idx < arrayCount; idx++) {\n totalSize += arrays[idx].length;\n }\n var merged = new Uint8Array(totalSize);\n var offset = 0;\n for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) {\n var arr = typedArrays[arrIdx];\n for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) {\n merged[offset++] = arr[byteIdx];\n }\n }\n return merged;\n};\nvar mergeUint8Arrays = function (arrays) {\n var totalSize = 0;\n for (var idx = 0, len = arrays.length; idx < len; idx++) {\n totalSize += arrays[idx].length;\n }\n var mergedBuffer = new Uint8Array(totalSize);\n var offset = 0;\n for (var idx = 0, len = arrays.length; idx < len; idx++) {\n var array = arrays[idx];\n mergedBuffer.set(array, offset);\n offset += array.length;\n }\n return mergedBuffer;\n};\nvar arrayAsString = function (array) {\n var str = '';\n for (var idx = 0, len = array.length; idx < len; idx++) {\n str += Object(_strings__WEBPACK_IMPORTED_MODULE_1__[\"charFromCode\"])(array[idx]);\n }\n return str;\n};\nvar byAscendingId = function (a, b) { return a.id - b.id; };\nvar sortedUniq = function (array, indexer) {\n var uniq = [];\n for (var idx = 0, len = array.length; idx < len; idx++) {\n var curr = array[idx];\n var prev = array[idx - 1];\n if (idx === 0 || indexer(curr) !== indexer(prev)) {\n uniq.push(curr);\n }\n }\n return uniq;\n};\n// Arrays and TypedArrays in JS both have .reverse() methods, which would seem\n// to negate the need for this function. However, not all runtimes support this\n// method (e.g. React Native). This function compensates for that fact.\nvar reverseArray = function (array) {\n var arrayLen = array.length;\n for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) {\n var leftIdx = idx;\n var rightIdx = arrayLen - idx - 1;\n var temp = array[idx];\n array[leftIdx] = array[rightIdx];\n array[rightIdx] = temp;\n }\n return array;\n};\nvar sum = function (array) {\n var total = 0;\n for (var idx = 0, len = array.length; idx < len; idx++) {\n total += array[idx];\n }\n return total;\n};\nvar range = function (start, end) {\n var arr = new Array(end - start);\n for (var idx = 0, len = arr.length; idx < len; idx++) {\n arr[idx] = start + idx;\n }\n return arr;\n};\nvar pluckIndices = function (arr, indices) {\n var plucked = new Array(indices.length);\n for (var idx = 0, len = indices.length; idx < len; idx++) {\n plucked[idx] = arr[indices[idx]];\n }\n return plucked;\n};\nvar canBeConvertedToUint8Array = function (input) {\n return input instanceof Uint8Array ||\n input instanceof ArrayBuffer ||\n typeof input === 'string';\n};\nvar toUint8Array = function (input) {\n if (typeof input === 'string') {\n return Object(_base64__WEBPACK_IMPORTED_MODULE_0__[\"decodeFromBase64DataUri\"])(input);\n }\n else if (input instanceof ArrayBuffer) {\n return new Uint8Array(input);\n }\n else if (input instanceof Uint8Array) {\n return input;\n }\n else {\n throw new TypeError('`input` must be one of `string | ArrayBuffer | Uint8Array`');\n }\n};\n//# sourceMappingURL=arrays.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/async.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/async.js ***! + \*****************************************************************/ +/*! exports provided: waitForTick */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return waitForTick; });\n/**\n * Returns a Promise that resolves after at least one tick of the\n * Macro Task Queue occurs.\n */\nvar waitForTick = function () {\n return new Promise(function (resolve) {\n setTimeout(function () { return resolve(); }, 0);\n });\n};\n//# sourceMappingURL=async.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/async.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js ***! + \******************************************************************/ +/*! exports provided: encodeToBase64, decodeFromBase64, decodeFromBase64DataUri */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return encodeToBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return decodeFromBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return decodeFromBase64DataUri; });\n/*\n * The `chars`, `lookup`, `encode`, and `decode` members of this file are\n * licensed under the following:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n *\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar encodeToBase64 = function (bytes) {\n var base64 = '';\n var len = bytes.length;\n for (var i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nvar decodeFromBase64 = function (base64) {\n var bufferLength = base64.length * 0.75;\n var len = base64.length;\n var i;\n var p = 0;\n var encoded1;\n var encoded2;\n var encoded3;\n var encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var bytes = new Uint8Array(bufferLength);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return bytes;\n};\n// This regex is designed to be as flexible as possible. It will parse certain\n// invalid data URIs.\nvar DATA_URI_PREFIX_REGEX = /^(data)?:?([\\w\\/\\+]+)?;?(charset=[\\w-]+|base64)?.*,/i;\n/**\n * If the `dataUri` input is a data URI, then the data URI prefix must not be\n * longer than 100 characters, or this function will fail to decode it.\n *\n * @param dataUri a base64 data URI or plain base64 string\n * @returns a Uint8Array containing the decoded input\n */\nvar decodeFromBase64DataUri = function (dataUri) {\n var trimmedUri = dataUri.trim();\n var prefix = trimmedUri.substring(0, 100);\n var res = prefix.match(DATA_URI_PREFIX_REGEX);\n // Assume it's not a data URI - just a plain base64 string\n if (!res)\n return decodeFromBase64(trimmedUri);\n // Remove the data URI prefix and parse the remainder as a base64 string\n var fullMatch = res[0];\n var data = trimmedUri.substring(fullMatch.length);\n return decodeFromBase64(data);\n};\n//# sourceMappingURL=base64.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js": +/*!******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js ***! + \******************************************************************/ +/*! exports provided: error */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return error; });\nvar error = function (msg) {\n throw new Error(msg);\n};\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/index.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/index.js ***! + \*****************************************************************/ +/*! exports provided: last, typedArrayFor, mergeIntoTypedArray, mergeUint8Arrays, arrayAsString, byAscendingId, sortedUniq, reverseArray, sum, range, pluckIndices, canBeConvertedToUint8Array, toUint8Array, waitForTick, toCharCode, toCodePoint, toHexStringOfMinLength, toHexString, charFromCode, charFromHexCode, padStart, copyStringIntoBuffer, addRandomSuffix, escapeRegExp, cleanText, escapedNewlineChars, newlineChars, isNewlineChar, lineSplit, mergeLines, charAtIndex, charSplit, breakTextIntoLines, parseDate, findLastMatch, utf8Encode, utf16Encode, isWithinBMP, hasSurrogates, highSurrogate, lowSurrogate, utf16Decode, hasUtf16BOM, numberToString, sizeInBytes, bytesFor, error, encodeToBase64, decodeFromBase64, decodeFromBase64DataUri, values, StandardFontValues, isStandardFont, rectanglesAreEqual, backtick, singleQuote, createValueErrorMsg, assertIsOneOf, assertIsOneOfOrUndefined, assertIsSubset, getType, isType, createTypeErrorMsg, assertIs, assertOrUndefined, assertEachIs, assertRange, assertRangeOrUndefined, assertMultiple, assertInteger, assertPositive, pdfDocEncodingDecode, Cache */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"last\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"typedArrayFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"mergeIntoTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"mergeUint8Arrays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"arrayAsString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"byAscendingId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"sortedUniq\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"reverseArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"sum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"range\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"pluckIndices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"canBeConvertedToUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"toUint8Array\"]; });\n\n/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/async.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return _async__WEBPACK_IMPORTED_MODULE_1__[\"waitForTick\"]; });\n\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toCharCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toCodePoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toHexStringOfMinLength\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charFromCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charFromHexCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"addRandomSuffix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"escapedNewlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"newlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"isNewlineChar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"lineSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charAtIndex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"breakTextIntoLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"parseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"findLastMatch\"]; });\n\n/* harmony import */ var _unicode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./unicode */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf8Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"isWithinBMP\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"hasSurrogates\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"highSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"lowSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"]; });\n\n/* harmony import */ var _numbers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./numbers */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"numberToString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"]; });\n\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return _errors__WEBPACK_IMPORTED_MODULE_5__[\"error\"]; });\n\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./base64 */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"encodeToBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"decodeFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"decodeFromBase64DataUri\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"values\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"StandardFontValues\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"isStandardFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"rectanglesAreEqual\"]; });\n\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./validators */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"backtick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"singleQuote\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"createValueErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsOneOf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsOneOfOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsSubset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"getType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"isType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"createTypeErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertEachIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertRangeOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertMultiple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertInteger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"]; });\n\n/* harmony import */ var _pdfDocEncoding__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pdfDocEncoding */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return _pdfDocEncoding__WEBPACK_IMPORTED_MODULE_9__[\"pdfDocEncodingDecode\"]; });\n\n/* harmony import */ var _Cache__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Cache */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cache\", function() { return _Cache__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js ***! + \*******************************************************************/ +/*! exports provided: numberToString, sizeInBytes, bytesFor */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return numberToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return sizeInBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return bytesFor; });\n// tslint:disable radix\n/**\n * Converts a number to its string representation in decimal. This function\n * differs from simply converting a number to a string with `.toString()`\n * because this function's output string will **not** contain exponential\n * notation.\n *\n * Credit: https://stackoverflow.com/a/46545519\n */\nvar numberToString = function (num) {\n var numStr = String(num);\n if (Math.abs(num) < 1.0) {\n var e = parseInt(num.toString().split('e-')[1]);\n if (e) {\n var negative = num < 0;\n if (negative)\n num *= -1;\n num *= Math.pow(10, e - 1);\n numStr = '0.' + new Array(e).join('0') + num.toString().substring(2);\n if (negative)\n numStr = '-' + numStr;\n }\n }\n else {\n var e = parseInt(num.toString().split('+')[1]);\n if (e > 20) {\n e -= 20;\n num /= Math.pow(10, e);\n numStr = num.toString() + new Array(e + 1).join('0');\n }\n }\n return numStr;\n};\nvar sizeInBytes = function (n) { return Math.ceil(n.toString(2).length / 8); };\n/**\n * Converts a number into its constituent bytes and returns them as\n * a number[].\n *\n * Returns most significant byte as first element in array. It may be necessary\n * to call .reverse() to get the bits in the desired order.\n *\n * Example:\n * bytesFor(0x02A41E) => [ 0b10, 0b10100100, 0b11110 ]\n *\n * Credit for algorithm: https://stackoverflow.com/a/1936865\n */\nvar bytesFor = function (n) {\n var bytes = new Uint8Array(sizeInBytes(n));\n for (var i = 1; i <= bytes.length; i++) {\n bytes[i - 1] = n >> ((bytes.length - i) * 8);\n }\n return bytes;\n};\n//# sourceMappingURL=numbers.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js ***! + \*******************************************************************/ +/*! exports provided: values, StandardFontValues, isStandardFont, rectanglesAreEqual */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return StandardFontValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return isStandardFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return rectanglesAreEqual; });\n/* harmony import */ var _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/standard-fonts */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js\");\n\nvar values = function (obj) { return Object.keys(obj).map(function (k) { return obj[k]; }); };\nvar StandardFontValues = values(_pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"]);\nvar isStandardFont = function (input) {\n return StandardFontValues.includes(input);\n};\nvar rectanglesAreEqual = function (a, b) { return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; };\n//# sourceMappingURL=objects.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js": +/*!**************************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js ***! + \**************************************************************************/ +/*! exports provided: pdfDocEncodingDecode */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return pdfDocEncodingDecode; });\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n// Mapping from PDFDocEncoding to Unicode code point\nvar pdfDocEncodingToUnicode = new Uint16Array(256);\n// Initialize the code points which are the same\nfor (var idx = 0; idx < 256; idx++) {\n pdfDocEncodingToUnicode[idx] = idx;\n}\n// Set differences (see \"Table D.2 – PDFDocEncoding Character Set\" of the PDF spec)\npdfDocEncodingToUnicode[0x16] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0017'); // SYNCRONOUS IDLE\npdfDocEncodingToUnicode[0x18] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02D8'); // BREVE\npdfDocEncodingToUnicode[0x19] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02C7'); // CARON\npdfDocEncodingToUnicode[0x1a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02C6'); // MODIFIER LETTER CIRCUMFLEX ACCENT\npdfDocEncodingToUnicode[0x1b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02D9'); // DOT ABOVE\npdfDocEncodingToUnicode[0x1c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DD'); // DOUBLE ACUTE ACCENT\npdfDocEncodingToUnicode[0x1d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DB'); // OGONEK\npdfDocEncodingToUnicode[0x1e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DA'); // RING ABOVE\npdfDocEncodingToUnicode[0x1f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DC'); // SMALL TILDE\npdfDocEncodingToUnicode[0x7f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\npdfDocEncodingToUnicode[0x80] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2022'); // BULLET\npdfDocEncodingToUnicode[0x81] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2020'); // DAGGER\npdfDocEncodingToUnicode[0x82] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2021'); // DOUBLE DAGGER\npdfDocEncodingToUnicode[0x83] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2026'); // HORIZONTAL ELLIPSIS\npdfDocEncodingToUnicode[0x84] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2014'); // EM DASH\npdfDocEncodingToUnicode[0x85] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2013'); // EN DASH\npdfDocEncodingToUnicode[0x86] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0192'); // LATIN SMALL LETTER SCRIPT F\npdfDocEncodingToUnicode[0x87] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2044'); // FRACTION SLASH (solidus)\npdfDocEncodingToUnicode[0x88] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2039'); // SINGLE LEFT-POINTING ANGLE QUOTATION MARK\npdfDocEncodingToUnicode[0x89] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u203A'); // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\npdfDocEncodingToUnicode[0x8a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2212'); // MINUS SIGN\npdfDocEncodingToUnicode[0x8b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2030'); // PER MILLE SIGN\npdfDocEncodingToUnicode[0x8c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201E'); // DOUBLE LOW-9 QUOTATION MARK (quotedblbase)\npdfDocEncodingToUnicode[0x8d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201C'); // LEFT DOUBLE QUOTATION MARK (quotedblleft)\npdfDocEncodingToUnicode[0x8e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201D'); // RIGHT DOUBLE QUOTATION MARK (quotedblright)\npdfDocEncodingToUnicode[0x8f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2018'); // LEFT SINGLE QUOTATION MARK (quoteleft)\npdfDocEncodingToUnicode[0x90] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2019'); // RIGHT SINGLE QUOTATION MARK (quoteright)\npdfDocEncodingToUnicode[0x91] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201A'); // SINGLE LOW-9 QUOTATION MARK (quotesinglbase)\npdfDocEncodingToUnicode[0x92] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2122'); // TRADE MARK SIGN\npdfDocEncodingToUnicode[0x93] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFB01'); // LATIN SMALL LIGATURE FI\npdfDocEncodingToUnicode[0x94] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFB02'); // LATIN SMALL LIGATURE FL\npdfDocEncodingToUnicode[0x95] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0141'); // LATIN CAPITAL LETTER L WITH STROKE\npdfDocEncodingToUnicode[0x96] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0152'); // LATIN CAPITAL LIGATURE OE\npdfDocEncodingToUnicode[0x97] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0160'); // LATIN CAPITAL LETTER S WITH CARON\npdfDocEncodingToUnicode[0x98] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0178'); // LATIN CAPITAL LETTER Y WITH DIAERESIS\npdfDocEncodingToUnicode[0x99] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u017D'); // LATIN CAPITAL LETTER Z WITH CARON\npdfDocEncodingToUnicode[0x9a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0131'); // LATIN SMALL LETTER DOTLESS I\npdfDocEncodingToUnicode[0x9b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0142'); // LATIN SMALL LETTER L WITH STROKE\npdfDocEncodingToUnicode[0x9c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0153'); // LATIN SMALL LIGATURE OE\npdfDocEncodingToUnicode[0x9d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0161'); // LATIN SMALL LETTER S WITH CARON\npdfDocEncodingToUnicode[0x9e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u017E'); // LATIN SMALL LETTER Z WITH CARON\npdfDocEncodingToUnicode[0x9f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\npdfDocEncodingToUnicode[0xa0] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u20AC'); // EURO SIGN\npdfDocEncodingToUnicode[0xad] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\n/**\n * Decode a byte array into a string using PDFDocEncoding.\n *\n * @param bytes a byte array (decimal representation) containing a string\n * encoded with PDFDocEncoding.\n */\nvar pdfDocEncodingDecode = function (bytes) {\n var codePoints = new Array(bytes.length);\n for (var idx = 0, len = bytes.length; idx < len; idx++) {\n codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]];\n }\n return String.fromCodePoint.apply(String, codePoints);\n};\n//# sourceMappingURL=pdfDocEncoding.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/png.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/png.js ***! + \***************************************************************/ +/*! exports provided: PngType, PNG */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PngType\", function() { return PngType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PNG\", function() { return PNG; });\n/* harmony import */ var _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/upng */ \"../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js\");\n\nvar getImageType = function (ctype) {\n if (ctype === 0)\n return PngType.Greyscale;\n if (ctype === 2)\n return PngType.Truecolour;\n if (ctype === 3)\n return PngType.IndexedColour;\n if (ctype === 4)\n return PngType.GreyscaleWithAlpha;\n if (ctype === 6)\n return PngType.TruecolourWithAlpha;\n throw new Error(\"Unknown color type: \" + ctype);\n};\nvar splitAlphaChannel = function (rgbaChannel) {\n var pixelCount = Math.floor(rgbaChannel.length / 4);\n var rgbChannel = new Uint8Array(pixelCount * 3);\n var alphaChannel = new Uint8Array(pixelCount * 1);\n var rgbaOffset = 0;\n var rgbOffset = 0;\n var alphaOffset = 0;\n while (rgbaOffset < rgbaChannel.length) {\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++];\n }\n return { rgbChannel: rgbChannel, alphaChannel: alphaChannel };\n};\nvar PngType;\n(function (PngType) {\n PngType[\"Greyscale\"] = \"Greyscale\";\n PngType[\"Truecolour\"] = \"Truecolour\";\n PngType[\"IndexedColour\"] = \"IndexedColour\";\n PngType[\"GreyscaleWithAlpha\"] = \"GreyscaleWithAlpha\";\n PngType[\"TruecolourWithAlpha\"] = \"TruecolourWithAlpha\";\n})(PngType || (PngType = {}));\nvar PNG = /** @class */ (function () {\n function PNG(pngData) {\n var upng = _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__[\"default\"].decode(pngData);\n var frames = _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toRGBA8(upng);\n if (frames.length > 1)\n throw new Error(\"Animated PNGs are not supported\");\n var frame = new Uint8Array(frames[0]);\n var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel;\n this.rgbChannel = rgbChannel;\n var hasAlphaValues = alphaChannel.some(function (a) { return a < 255; });\n if (hasAlphaValues)\n this.alphaChannel = alphaChannel;\n this.type = getImageType(upng.ctype);\n this.width = upng.width;\n this.height = upng.height;\n this.bitsPerComponent = 8;\n }\n PNG.load = function (pngData) { return new PNG(pngData); };\n return PNG;\n}());\n\n//# sourceMappingURL=png.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/png.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js ***! + \***************************************************************/ +/*! exports provided: SimpleRNG */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SimpleRNG\", function() { return SimpleRNG; });\n/**\n * Generates a pseudo random number. Although it is not cryptographically secure\n * and uniformly distributed, it is not a concern for the intended use-case,\n * which is to generate distinct numbers.\n *\n * Credit: https://stackoverflow.com/a/19303725/10254049\n */\nvar SimpleRNG = /** @class */ (function () {\n function SimpleRNG(seed) {\n this.seed = seed;\n }\n SimpleRNG.prototype.nextInt = function () {\n var x = Math.sin(this.seed++) * 10000;\n return x - Math.floor(x);\n };\n SimpleRNG.withSeed = function (seed) { return new SimpleRNG(seed); };\n return SimpleRNG;\n}());\n\n//# sourceMappingURL=rng.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js ***! + \*******************************************************************/ +/*! exports provided: toCharCode, toCodePoint, toHexStringOfMinLength, toHexString, charFromCode, charFromHexCode, padStart, copyStringIntoBuffer, addRandomSuffix, escapeRegExp, cleanText, escapedNewlineChars, newlineChars, isNewlineChar, lineSplit, mergeLines, charAtIndex, charSplit, breakTextIntoLines, parseDate, findLastMatch */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return toCharCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return toCodePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return toHexStringOfMinLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return toHexString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return charFromCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return charFromHexCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return padStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return copyStringIntoBuffer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return addRandomSuffix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return escapeRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return cleanText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return escapedNewlineChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return newlineChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return isNewlineChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return lineSplit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return mergeLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return charAtIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return charSplit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return breakTextIntoLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return parseDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return findLastMatch; });\nvar toCharCode = function (character) { return character.charCodeAt(0); };\nvar toCodePoint = function (character) { return character.codePointAt(0); };\nvar toHexStringOfMinLength = function (num, minLength) {\n return padStart(num.toString(16), minLength, '0').toUpperCase();\n};\nvar toHexString = function (num) { return toHexStringOfMinLength(num, 2); };\nvar charFromCode = function (code) { return String.fromCharCode(code); };\nvar charFromHexCode = function (hex) { return charFromCode(parseInt(hex, 16)); };\nvar padStart = function (value, length, padChar) {\n var padding = '';\n for (var idx = 0, len = length - value.length; idx < len; idx++) {\n padding += padChar;\n }\n return padding + value;\n};\nvar copyStringIntoBuffer = function (str, buffer, offset) {\n var length = str.length;\n for (var idx = 0; idx < length; idx++) {\n buffer[offset++] = str.charCodeAt(idx);\n }\n return length;\n};\nvar addRandomSuffix = function (prefix, suffixLength) {\n if (suffixLength === void 0) { suffixLength = 4; }\n return prefix + \"-\" + Math.floor(Math.random() * Math.pow(10, suffixLength));\n};\nvar escapeRegExp = function (str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\nvar cleanText = function (text) {\n return text.replace(/\\t|\\u0085|\\u2028|\\u2029/g, ' ').replace(/[\\b\\v]/g, '');\n};\nvar escapedNewlineChars = ['\\\\n', '\\\\f', '\\\\r', '\\\\u000B'];\nvar newlineChars = ['\\n', '\\f', '\\r', '\\u000B'];\nvar isNewlineChar = function (text) { return /^[\\n\\f\\r\\u000B]$/.test(text); };\nvar lineSplit = function (text) { return text.split(/[\\n\\f\\r\\u000B]/); };\nvar mergeLines = function (text) {\n return text.replace(/[\\n\\f\\r\\u000B]/g, ' ');\n};\n// JavaScript's String.charAt() method doesn work on strings containing UTF-16\n// characters (with high and low surrogate pairs), such as 💩 (poo emoji). This\n// `charAtIndex()` function does.\n//\n// Credit: https://github.com/mathiasbynens/String.prototype.at/blob/master/at.js#L14-L48\nvar charAtIndex = function (text, index) {\n // Get the first code unit and code unit value\n var cuFirst = text.charCodeAt(index);\n var cuSecond;\n var nextIndex = index + 1;\n var length = 1;\n if (\n // Check if it's the start of a surrogate pair.\n cuFirst >= 0xd800 &&\n cuFirst <= 0xdbff && // high surrogate\n text.length > nextIndex // there is a next code unit\n ) {\n cuSecond = text.charCodeAt(nextIndex);\n if (cuSecond >= 0xdc00 && cuSecond <= 0xdfff)\n length = 2; // low surrogate\n }\n return [text.slice(index, index + length), length];\n};\nvar charSplit = function (text) {\n var chars = [];\n for (var idx = 0, len = text.length; idx < len;) {\n var _a = charAtIndex(text, idx), c = _a[0], cLen = _a[1];\n chars.push(c);\n idx += cLen;\n }\n return chars;\n};\nvar buildWordBreakRegex = function (wordBreaks) {\n var newlineCharUnion = escapedNewlineChars.join('|');\n var escapedRules = ['$'];\n for (var idx = 0, len = wordBreaks.length; idx < len; idx++) {\n var wordBreak = wordBreaks[idx];\n if (isNewlineChar(wordBreak)) {\n throw new TypeError(\"`wordBreak` must not include \" + newlineCharUnion);\n }\n escapedRules.push(wordBreak === '' ? '.' : escapeRegExp(wordBreak));\n }\n var breakRules = escapedRules.join('|');\n return new RegExp(\"(\" + newlineCharUnion + \")|((.*?)(\" + breakRules + \"))\", 'gm');\n};\nvar breakTextIntoLines = function (text, wordBreaks, maxWidth, computeWidthOfText) {\n var regex = buildWordBreakRegex(wordBreaks);\n var words = cleanText(text).match(regex);\n var currLine = '';\n var currWidth = 0;\n var lines = [];\n var pushCurrLine = function () {\n if (currLine !== '')\n lines.push(currLine);\n currLine = '';\n currWidth = 0;\n };\n for (var idx = 0, len = words.length; idx < len; idx++) {\n var word = words[idx];\n if (isNewlineChar(word)) {\n pushCurrLine();\n }\n else {\n var width = computeWidthOfText(word);\n if (currWidth + width > maxWidth)\n pushCurrLine();\n currLine += word;\n currWidth += width;\n }\n }\n pushCurrLine();\n return lines;\n};\n// See section \"7.9.4 Dates\" of the PDF specification\nvar dateRegex = /^D:(\\d\\d\\d\\d)(\\d\\d)?(\\d\\d)?(\\d\\d)?(\\d\\d)?(\\d\\d)?([+\\-Z])?(\\d\\d)?'?(\\d\\d)?'?$/;\nvar parseDate = function (dateStr) {\n var match = dateStr.match(dateRegex);\n if (!match)\n return undefined;\n var year = match[1], _a = match[2], month = _a === void 0 ? '01' : _a, _b = match[3], day = _b === void 0 ? '01' : _b, _c = match[4], hours = _c === void 0 ? '00' : _c, _d = match[5], mins = _d === void 0 ? '00' : _d, _e = match[6], secs = _e === void 0 ? '00' : _e, _f = match[7], offsetSign = _f === void 0 ? 'Z' : _f, _g = match[8], offsetHours = _g === void 0 ? '00' : _g, _h = match[9], offsetMins = _h === void 0 ? '00' : _h;\n // http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15\n var tzOffset = offsetSign === 'Z' ? 'Z' : \"\" + offsetSign + offsetHours + \":\" + offsetMins;\n var date = new Date(year + \"-\" + month + \"-\" + day + \"T\" + hours + \":\" + mins + \":\" + secs + tzOffset);\n return date;\n};\nvar findLastMatch = function (value, regex) {\n var _a;\n var position = 0;\n var lastMatch;\n while (position < value.length) {\n var match = value.substring(position).match(regex);\n if (!match)\n return { match: lastMatch, pos: position };\n lastMatch = match;\n position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length;\n }\n return { match: lastMatch, pos: position };\n};\n//# sourceMappingURL=strings.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js": +/*!*******************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js ***! + \*******************************************************************/ +/*! exports provided: utf8Encode, utf16Encode, isWithinBMP, hasSurrogates, highSurrogate, lowSurrogate, utf16Decode, hasUtf16BOM */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return utf8Encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return utf16Encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return isWithinBMP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return hasSurrogates; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return highSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return lowSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return utf16Decode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return hasUtf16BOM; });\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n/**\n * Encodes a string to UTF-8.\n *\n * @param input The string to be encoded.\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be added\n * to the start of the encoding. (default `true`)\n * @returns A Uint8Array containing the UTF-8 encoding of the input string.\n *\n * -----------------------------------------------------------------------------\n *\n * JavaScript strings are composed of Unicode code points. Code points are\n * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string,\n * it must be encoded as a sequence of words. A word is typically 8, 16, or 32\n * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16,\n * and UTF-32. These encoding forms are described in the Unicode standard [1].\n * This function implements the UTF-8 encoding form.\n *\n * -----------------------------------------------------------------------------\n *\n * In UTF-8, each code point is mapped to a sequence of 1, 2, 3, or 4 bytes.\n * Note that the logic which defines this mapping is slightly convoluted, and\n * not as straightforward as the mapping logic for UTF-16 or UTF-32. The UTF-8\n * mapping logic is as follows [2]:\n *\n * • If a code point is in the range U+0000..U+007F, then view it as a 7-bit\n * integer: 0bxxxxxxx. Map the code point to 1 byte with the first high order\n * bit set to 0:\n *\n * b1=0b0xxxxxxx\n *\n * • If a code point is in the range U+0080..U+07FF, then view it as an 11-bit\n * integer: 0byyyyyxxxxxx. Map the code point to 2 bytes with the first 5 bits\n * of the code point stored in the first byte, and the last 6 bits stored in\n * the second byte:\n *\n * b1=0b110yyyyy b2=0b10xxxxxx\n *\n * • If a code point is in the range U+0800..U+FFFF, then view it as a 16-bit\n * integer, 0bzzzzyyyyyyxxxxxx. Map the code point to 3 bytes with the first\n * 4 bits stored in the first byte, the next 6 bits stored in the second byte,\n * and the last 6 bits in the third byte:\n *\n * b1=0b1110zzzz b2=0b10yyyyyy b3=0b10xxxxxx\n *\n * • If a code point is in the range U+10000...U+10FFFF, then view it as a\n * 21-bit integer, 0bvvvzzzzzzyyyyyyxxxxxx. Map the code point to 4 bytes with\n * the first 3 bits stored in the first byte, the next 6 bits stored in the\n * second byte, the next 6 bits stored in the third byte, and the last 6 bits\n * stored in the fourth byte:\n *\n * b1=0b11110xxx b2=0b10zzzzzz b3=0b10yyyyyy b4=0b10xxxxxx\n *\n * -----------------------------------------------------------------------------\n *\n * It is important to note, when iterating through the code points of a string\n * in JavaScript, that if a character is encoded as a surrogate pair it will\n * increase the string's length by 2 instead of 1 [4]. For example:\n *\n * ```\n * > 'a'.length\n * 1\n * > '💩'.length\n * 2\n * > '語'.length\n * 1\n * > 'a💩語'.length\n * 4\n * ```\n *\n * The results of the above example are explained by the fact that the\n * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is.\n *\n * Because of this idiosyncrasy in JavaScript's string implementation and APIs,\n * we must \"jump\" an extra index after encoding a character as a surrogate\n * pair. In practice, this means we must increment the index of our for loop by\n * 2 if we encode a surrogate pair, and 1 in all other cases.\n *\n * -----------------------------------------------------------------------------\n *\n * References:\n * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf\n * 3.9 Unicode Encoding Forms - UTF-8\n * - [2] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding.html\n * - [3] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding-Algorithm.html\n * - [4] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description\n *\n */\nvar utf8Encode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n var encoded = [];\n if (byteOrderMark)\n encoded.push(0xef, 0xbb, 0xbf);\n for (var idx = 0, len = input.length; idx < len;) {\n var codePoint = input.codePointAt(idx);\n // One byte encoding\n if (codePoint < 0x80) {\n var byte1 = codePoint & 0x7f;\n encoded.push(byte1);\n idx += 1;\n }\n // Two byte encoding\n else if (codePoint < 0x0800) {\n var byte1 = ((codePoint >> 6) & 0x1f) | 0xc0;\n var byte2 = (codePoint & 0x3f) | 0x80;\n encoded.push(byte1, byte2);\n idx += 1;\n }\n // Three byte encoding\n else if (codePoint < 0x010000) {\n var byte1 = ((codePoint >> 12) & 0x0f) | 0xe0;\n var byte2 = ((codePoint >> 6) & 0x3f) | 0x80;\n var byte3 = (codePoint & 0x3f) | 0x80;\n encoded.push(byte1, byte2, byte3);\n idx += 1;\n }\n // Four byte encoding (surrogate pair)\n else if (codePoint < 0x110000) {\n var byte1 = ((codePoint >> 18) & 0x07) | 0xf0;\n var byte2 = ((codePoint >> 12) & 0x3f) | 0x80;\n var byte3 = ((codePoint >> 6) & 0x3f) | 0x80;\n var byte4 = ((codePoint >> 0) & 0x3f) | 0x80;\n encoded.push(byte1, byte2, byte3, byte4);\n idx += 2;\n }\n // Should never reach this case\n else\n throw new Error(\"Invalid code point: 0x\" + Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint));\n }\n return new Uint8Array(encoded);\n};\n/**\n * Encodes a string to UTF-16.\n *\n * @param input The string to be encoded.\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be added\n * to the start of the encoding. (default `true`)\n * @returns A Uint16Array containing the UTF-16 encoding of the input string.\n *\n * -----------------------------------------------------------------------------\n *\n * JavaScript strings are composed of Unicode code points. Code points are\n * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string,\n * it must be encoded as a sequence of words. A word is typically 8, 16, or 32\n * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16,\n * and UTF-32. These encoding forms are described in the Unicode standard [1].\n * This function implements the UTF-16 encoding form.\n *\n * -----------------------------------------------------------------------------\n *\n * In UTF-16, each code point is mapped to one or two 16-bit integers. The\n * UTF-16 mapping logic is as follows [2]:\n *\n * • If a code point is in the range U+0000..U+FFFF, then map the code point to\n * a 16-bit integer with the most significant byte first.\n *\n * • If a code point is in the range U+10000..U+10000, then map the code point\n * to two 16-bit integers. The first integer should contain the high surrogate\n * and the second integer should contain the low surrogate. Both surrogates\n * should be written with the most significant byte first.\n *\n * -----------------------------------------------------------------------------\n *\n * It is important to note, when iterating through the code points of a string\n * in JavaScript, that if a character is encoded as a surrogate pair it will\n * increase the string's length by 2 instead of 1 [4]. For example:\n *\n * ```\n * > 'a'.length\n * 1\n * > '💩'.length\n * 2\n * > '語'.length\n * 1\n * > 'a💩語'.length\n * 4\n * ```\n *\n * The results of the above example are explained by the fact that the\n * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is.\n *\n * Because of this idiosyncrasy in JavaScript's string implementation and APIs,\n * we must \"jump\" an extra index after encoding a character as a surrogate\n * pair. In practice, this means we must increment the index of our for loop by\n * 2 if we encode a surrogate pair, and 1 in all other cases.\n *\n * -----------------------------------------------------------------------------\n *\n * References:\n * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf\n * 3.9 Unicode Encoding Forms - UTF-8\n * - [2] http://www.herongyang.com/Unicode/UTF-16-UTF-16-Encoding.html\n * - [3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description\n *\n */\nvar utf16Encode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n var encoded = [];\n if (byteOrderMark)\n encoded.push(0xfeff);\n for (var idx = 0, len = input.length; idx < len;) {\n var codePoint = input.codePointAt(idx);\n // Two byte encoding\n if (codePoint < 0x010000) {\n encoded.push(codePoint);\n idx += 1;\n }\n // Four byte encoding (surrogate pair)\n else if (codePoint < 0x110000) {\n encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint));\n idx += 2;\n }\n // Should never reach this case\n else\n throw new Error(\"Invalid code point: 0x\" + Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint));\n }\n return new Uint16Array(encoded);\n};\n/**\n * Returns `true` if the `codePoint` is within the\n * Basic Multilingual Plane (BMP). Code points inside the BMP are not encoded\n * with surrogate pairs.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isWithinBMP = function (codePoint) {\n return codePoint >= 0 && codePoint <= 0xffff;\n};\n/**\n * Returns `true` if the given `codePoint` is valid and must be represented\n * with a surrogate pair when encoded.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar hasSurrogates = function (codePoint) {\n return codePoint >= 0x010000 && codePoint <= 0x10ffff;\n};\n// From Unicode 3.0 spec, section 3.7:\n// http://unicode.org/versions/Unicode3.0.0/ch03.pdf\nvar highSurrogate = function (codePoint) {\n return Math.floor((codePoint - 0x10000) / 0x400) + 0xd800;\n};\n// From Unicode 3.0 spec, section 3.7:\n// http://unicode.org/versions/Unicode3.0.0/ch03.pdf\nvar lowSurrogate = function (codePoint) {\n return ((codePoint - 0x10000) % 0x400) + 0xdc00;\n};\nvar ByteOrder;\n(function (ByteOrder) {\n ByteOrder[\"BigEndian\"] = \"BigEndian\";\n ByteOrder[\"LittleEndian\"] = \"LittleEndian\";\n})(ByteOrder || (ByteOrder = {}));\nvar REPLACEMENT = '�'.codePointAt(0);\n/**\n * Decodes a Uint8Array of data to a string using UTF-16.\n *\n * Note that this function attempts to recover from erronous input by\n * inserting the replacement character (�) to mark invalid code points\n * and surrogate pairs.\n *\n * @param input A Uint8Array containing UTF-16 encoded data\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be read\n * at the start of the encoding. (default `true`)\n * @returns The decoded string.\n */\nvar utf16Decode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n // Need at least 2 bytes of data in UTF-16 encodings\n if (input.length <= 1)\n return String.fromCodePoint(REPLACEMENT);\n var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian;\n // Skip byte order mark if needed\n var idx = byteOrderMark ? 2 : 0;\n var codePoints = [];\n while (input.length - idx >= 2) {\n var first = decodeValues(input[idx++], input[idx++], byteOrder);\n if (isHighSurrogate(first)) {\n if (input.length - idx < 2) {\n // Need at least 2 bytes left for the low surrogate that is required\n codePoints.push(REPLACEMENT);\n }\n else {\n var second = decodeValues(input[idx++], input[idx++], byteOrder);\n if (isLowSurrogate(second)) {\n codePoints.push(first, second);\n }\n else {\n // Low surrogates should always follow high surrogates\n codePoints.push(REPLACEMENT);\n }\n }\n }\n else if (isLowSurrogate(first)) {\n // High surrogates should always come first since `decodeValues()`\n // accounts for the byte ordering\n idx += 2;\n codePoints.push(REPLACEMENT);\n }\n else {\n codePoints.push(first);\n }\n }\n // There shouldn't be extra byte(s) left over\n if (idx < input.length)\n codePoints.push(REPLACEMENT);\n return String.fromCodePoint.apply(String, codePoints);\n};\n/**\n * Returns `true` if the given `codePoint` is a high surrogate.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isHighSurrogate = function (codePoint) {\n return codePoint >= 0xd800 && codePoint <= 0xdbff;\n};\n/**\n * Returns `true` if the given `codePoint` is a low surrogate.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isLowSurrogate = function (codePoint) {\n return codePoint >= 0xdc00 && codePoint <= 0xdfff;\n};\n/**\n * Decodes the given utf-16 values first and second using the specified\n * byte order.\n * @param first The first byte of the encoding.\n * @param second The second byte of the encoding.\n * @param byteOrder The byte order of the encoding.\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Examples\n */\nvar decodeValues = function (first, second, byteOrder) {\n // Append the binary representation of the preceding byte by shifting the\n // first one 8 to the left and than applying a bitwise or-operator to append\n // the second one.\n if (byteOrder === ByteOrder.LittleEndian)\n return (second << 8) | first;\n if (byteOrder === ByteOrder.BigEndian)\n return (first << 8) | second;\n throw new Error(\"Invalid byteOrder: \" + byteOrder);\n};\n/**\n * Returns whether the given array contains a byte order mark for the\n * UTF-16BE or UTF-16LE encoding. If it has neither, BigEndian is assumed.\n *\n * Reference: https://en.wikipedia.org/wiki/Byte_order_mark#UTF-16\n *\n * @param bytes The byte array to be evaluated.\n */\n// prettier-ignore\nvar readBOM = function (bytes) { return (hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian\n : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian\n : ByteOrder.BigEndian); };\nvar hasUtf16BigEndianBOM = function (bytes) {\n return bytes[0] === 0xfe && bytes[1] === 0xff;\n};\nvar hasUtf16LittleEndianBOM = function (bytes) {\n return bytes[0] === 0xff && bytes[1] === 0xfe;\n};\nvar hasUtf16BOM = function (bytes) {\n return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes);\n};\n//# sourceMappingURL=unicode.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js ***! + \**********************************************************************/ +/*! exports provided: backtick, singleQuote, createValueErrorMsg, assertIsOneOf, assertIsOneOfOrUndefined, assertIsSubset, getType, isType, createTypeErrorMsg, assertIs, assertOrUndefined, assertEachIs, assertRange, assertRangeOrUndefined, assertMultiple, assertInteger, assertPositive */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return backtick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return singleQuote; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return createValueErrorMsg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return assertIsOneOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return assertIsOneOfOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return assertIsSubset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return isType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return createTypeErrorMsg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return assertIs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return assertOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return assertEachIs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return assertRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return assertRangeOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return assertMultiple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return assertInteger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return assertPositive; });\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js\");\n/* tslint:disable:ban-types */\n\nvar backtick = function (val) { return \"`\" + val + \"`\"; };\nvar singleQuote = function (val) { return \"'\" + val + \"'\"; };\n// prettier-ignore\nvar formatValue = function (value) {\n var type = typeof value;\n if (type === 'string')\n return singleQuote(value);\n else if (type === 'undefined')\n return backtick(value);\n else\n return value;\n};\nvar createValueErrorMsg = function (value, valueName, values) {\n var allowedValues = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n var v = values[idx];\n allowedValues[idx] = formatValue(v);\n }\n var joinedValues = allowedValues.join(' or ');\n // prettier-ignore\n return backtick(valueName) + \" must be one of \" + joinedValues + \", but was actually \" + formatValue(value);\n};\nvar assertIsOneOf = function (value, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n for (var idx = 0, len = allowedValues.length; idx < len; idx++) {\n if (value === allowedValues[idx])\n return;\n }\n throw new TypeError(createValueErrorMsg(value, valueName, allowedValues));\n};\nvar assertIsOneOfOrUndefined = function (value, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n assertIsOneOf(value, valueName, allowedValues.concat(undefined));\n};\nvar assertIsSubset = function (values, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n for (var idx = 0, len = values.length; idx < len; idx++) {\n assertIsOneOf(values[idx], valueName, allowedValues);\n }\n};\nvar getType = function (val) {\n if (val === null)\n return 'null';\n if (val === undefined)\n return 'undefined';\n if (typeof val === 'string')\n return 'string';\n if (isNaN(val))\n return 'NaN';\n if (typeof val === 'number')\n return 'number';\n if (typeof val === 'boolean')\n return 'boolean';\n if (typeof val === 'symbol')\n return 'symbol';\n if (typeof val === 'bigint')\n return 'bigint';\n if (val.constructor && val.constructor.name)\n return val.constructor.name;\n if (val.name)\n return val.name;\n if (val.constructor)\n return String(val.constructor);\n return String(val);\n};\nvar isType = function (value, type) {\n if (type === 'null')\n return value === null;\n if (type === 'undefined')\n return value === undefined;\n if (type === 'string')\n return typeof value === 'string';\n if (type === 'number')\n return typeof value === 'number' && !isNaN(value);\n if (type === 'boolean')\n return typeof value === 'boolean';\n if (type === 'symbol')\n return typeof value === 'symbol';\n if (type === 'bigint')\n return typeof value === 'bigint';\n if (type === Date)\n return value instanceof Date;\n if (type === Array)\n return value instanceof Array;\n if (type === Uint8Array)\n return value instanceof Uint8Array;\n if (type === ArrayBuffer)\n return value instanceof ArrayBuffer;\n if (type === Function)\n return value instanceof Function;\n return value instanceof type[0];\n};\nvar createTypeErrorMsg = function (value, valueName, types) {\n var allowedTypes = new Array(types.length);\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === 'null')\n allowedTypes[idx] = backtick('null');\n if (type === 'undefined')\n allowedTypes[idx] = backtick('undefined');\n if (type === 'string')\n allowedTypes[idx] = backtick('string');\n else if (type === 'number')\n allowedTypes[idx] = backtick('number');\n else if (type === 'boolean')\n allowedTypes[idx] = backtick('boolean');\n else if (type === 'symbol')\n allowedTypes[idx] = backtick('symbol');\n else if (type === 'bigint')\n allowedTypes[idx] = backtick('bigint');\n else if (type === Array)\n allowedTypes[idx] = backtick('Array');\n else if (type === Uint8Array)\n allowedTypes[idx] = backtick('Uint8Array');\n else if (type === ArrayBuffer)\n allowedTypes[idx] = backtick('ArrayBuffer');\n else\n allowedTypes[idx] = backtick(type[1]);\n }\n var joinedTypes = allowedTypes.join(' or ');\n // prettier-ignore\n return backtick(valueName) + \" must be of type \" + joinedTypes + \", but was actually of type \" + backtick(getType(value));\n};\nvar assertIs = function (value, valueName, types) {\n for (var idx = 0, len = types.length; idx < len; idx++) {\n if (isType(value, types[idx]))\n return;\n }\n throw new TypeError(createTypeErrorMsg(value, valueName, types));\n};\nvar assertOrUndefined = function (value, valueName, types) {\n assertIs(value, valueName, types.concat('undefined'));\n};\nvar assertEachIs = function (values, valueName, types) {\n for (var idx = 0, len = values.length; idx < len; idx++) {\n assertIs(values[idx], valueName, types);\n }\n};\nvar assertRange = function (value, valueName, min, max) {\n assertIs(value, valueName, ['number']);\n assertIs(min, 'min', ['number']);\n assertIs(max, 'max', ['number']);\n max = Math.max(min, max);\n if (value < min || value > max) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be at least \" + min + \" and at most \" + max + \", but was actually \" + value);\n }\n};\nvar assertRangeOrUndefined = function (value, valueName, min, max) {\n assertIs(value, valueName, ['number', 'undefined']);\n if (typeof value === 'number')\n assertRange(value, valueName, min, max);\n};\nvar assertMultiple = function (value, valueName, multiplier) {\n assertIs(value, valueName, ['number']);\n if (value % multiplier !== 0) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be a multiple of \" + multiplier + \", but was actually \" + value);\n }\n};\nvar assertInteger = function (value, valueName) {\n if (!Number.isInteger(value)) {\n throw new Error(backtick(valueName) + \" must be an integer, but was actually \" + value);\n }\n};\nvar assertPositive = function (value, valueName) {\n if (![1, 0].includes(Math.sign(value))) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be a positive number or 0, but was actually \" + value);\n }\n};\n//# sourceMappingURL=validators.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js": +/*!************************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst cloneDeep = __webpack_require__(/*! lodash.clonedeep */ \"../simple-mind-map/node_modules/lodash.clonedeep/index.js\");\nconst isEqual = __webpack_require__(/*! lodash.isequal */ \"../simple-mind-map/node_modules/lodash.isequal/index.js\");\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a = {}, b = {}, keepNull = false) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n let attributes = cloneDeep(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce((copy, key) => {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (const key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a = {}, b = {}) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n const attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce((attrs, key) => {\n if (!isEqual(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr = {}, base = {}) {\n attr = attr || {};\n const baseInverted = Object.keys(base).reduce((memo, key) => {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce((memo, key) => {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority = false) {\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n const attributes = Object.keys(b).reduce((attrs, key) => {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports.default = AttributeMap;\n//# sourceMappingURL=AttributeMap.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill-delta/dist/Delta.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill-delta/dist/Delta.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AttributeMap = exports.OpIterator = exports.Op = void 0;\nconst diff = __webpack_require__(/*! fast-diff */ \"../simple-mind-map/node_modules/fast-diff/diff.js\");\nconst cloneDeep = __webpack_require__(/*! lodash.clonedeep */ \"../simple-mind-map/node_modules/lodash.clonedeep/index.js\");\nconst isEqual = __webpack_require__(/*! lodash.isequal */ \"../simple-mind-map/node_modules/lodash.isequal/index.js\");\nconst AttributeMap_1 = __webpack_require__(/*! ./AttributeMap */ \"../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js\");\nexports.AttributeMap = AttributeMap_1.default;\nconst Op_1 = __webpack_require__(/*! ./Op */ \"../simple-mind-map/node_modules/quill-delta/dist/Op.js\");\nexports.Op = Op_1.default;\nconst OpIterator_1 = __webpack_require__(/*! ./OpIterator */ \"../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js\");\nexports.OpIterator = OpIterator_1.default;\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nconst getEmbedTypeAndData = (a, b) => {\n if (typeof a !== 'object' || a === null) {\n throw new Error(`cannot retain a ${typeof a}`);\n }\n if (typeof b !== 'object' || b === null) {\n throw new Error(`cannot retain a ${typeof b}`);\n }\n const embedType = Object.keys(a)[0];\n if (!embedType || embedType !== Object.keys(b)[0]) {\n throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`);\n }\n return [embedType, a[embedType], b[embedType]];\n};\nclass Delta {\n constructor(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n static registerEmbed(embedType, handler) {\n this.handlers[embedType] = handler;\n }\n static unregisterEmbed(embedType) {\n delete this.handlers[embedType];\n }\n static getHandler(embedType) {\n const handler = this.handlers[embedType];\n if (!handler) {\n throw new Error(`no handlers for embed type \"${embedType}\"`);\n }\n return handler;\n }\n insert(arg, attributes) {\n const newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n delete(length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n }\n retain(length, attributes) {\n if (typeof length === 'number' && length <= 0) {\n return this;\n }\n const newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n push(newOp) {\n let index = this.ops.length;\n let lastOp = this.ops[index - 1];\n newOp = cloneDeep(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (isEqual(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n }\n chop() {\n const lastOp = this.ops[this.ops.length - 1];\n if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n }\n filter(predicate) {\n return this.ops.filter(predicate);\n }\n forEach(predicate) {\n this.ops.forEach(predicate);\n }\n map(predicate) {\n return this.ops.map(predicate);\n }\n partition(predicate) {\n const passed = [];\n const failed = [];\n this.forEach((op) => {\n const target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n }\n reduce(predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n }\n changeLength() {\n return this.reduce((length, elem) => {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n }\n length() {\n return this.reduce((length, elem) => {\n return length + Op_1.default.length(elem);\n }, 0);\n }\n slice(start = 0, end = Infinity) {\n const ops = [];\n const iter = new OpIterator_1.default(this.ops);\n let index = 0;\n while (index < end && iter.hasNext()) {\n let nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n }\n compose(other) {\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const ops = [];\n const firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n let firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n const delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (otherOp.retain) {\n const newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain =\n typeof otherOp.retain === 'number' ? length : otherOp.retain;\n }\n else {\n if (typeof otherOp.retain === 'number') {\n if (thisOp.retain == null) {\n newOp.insert = thisOp.insert;\n }\n else {\n newOp.retain = thisOp.retain;\n }\n }\n else {\n const action = thisOp.retain == null ? 'insert' : 'retain';\n const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain);\n const handler = Delta.getHandler(embedType);\n newOp[action] = {\n [embedType]: handler.compose(thisData, otherData, action === 'retain'),\n };\n }\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n isEqual(delta.ops[delta.ops.length - 1], newOp)) {\n const rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n (typeof thisOp.retain === 'number' ||\n (typeof thisOp.retain === 'object' && thisOp.retain !== null))) {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n }\n concat(other) {\n const delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n }\n diff(other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n const strings = [this, other].map((delta) => {\n return delta\n .map((op) => {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n const prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n const retDelta = new Delta();\n const diffResult = diff(strings[0], strings[1], cursor, true);\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n diffResult.forEach((component) => {\n let length = component[1].length;\n while (length > 0) {\n let opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n const thisOp = thisIter.next(opLength);\n const otherOp = otherIter.next(opLength);\n if (isEqual(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n }\n eachLine(predicate, newline = '\\n') {\n const iter = new OpIterator_1.default(this.ops);\n let line = new Delta();\n let i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n const thisOp = iter.peek();\n const start = Op_1.default.length(thisOp) - iter.peekLength();\n const index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n }\n invert(base) {\n const inverted = new Delta();\n this.reduce((baseIndex, op) => {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (typeof op.retain === 'number' && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || typeof op.retain === 'number') {\n const length = (op.delete || op.retain);\n const slice = base.slice(baseIndex, baseIndex + length);\n slice.forEach((baseOp) => {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n const slice = base.slice(baseIndex, baseIndex + 1);\n const baseOp = new OpIterator_1.default(slice.ops).next();\n const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert);\n const handler = Delta.getHandler(embedType);\n inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n return baseIndex + 1;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n }\n transform(arg, priority = false) {\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n const other = arg;\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n const thisData = thisOp.retain;\n const otherData = otherOp.retain;\n let transformedData = typeof otherData === 'object' && otherData !== null\n ? otherData\n : length;\n if (typeof thisData === 'object' &&\n thisData !== null &&\n typeof otherData === 'object' &&\n otherData !== null) {\n const embedType = Object.keys(thisData)[0];\n if (embedType === Object.keys(otherData)[0]) {\n const handler = Delta.getHandler(embedType);\n if (handler) {\n transformedData = {\n [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority),\n };\n }\n }\n }\n // We retain either their retain or insert\n delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n }\n transformPosition(index, priority = false) {\n priority = !!priority;\n const thisIter = new OpIterator_1.default(this.ops);\n let offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n const length = thisIter.peekLength();\n const nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n }\n}\nDelta.Op = Op_1.default;\nDelta.OpIterator = OpIterator_1.default;\nDelta.AttributeMap = AttributeMap_1.default;\nDelta.handlers = {};\nexports.default = Delta;\nif (true) {\n module.exports = Delta;\n module.exports.default = Delta;\n}\n//# sourceMappingURL=Delta.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/Delta.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill-delta/dist/Op.js": +/*!**************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill-delta/dist/Op.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Op;\n(function (Op) {\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n return 1;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports.default = Op;\n//# sourceMappingURL=Op.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/Op.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js": +/*!**********************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Op_1 = __webpack_require__(/*! ./Op */ \"../simple-mind-map/node_modules/quill-delta/dist/Op.js\");\nclass Iterator {\n constructor(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n hasNext() {\n return this.peekLength() < Infinity;\n }\n next(length) {\n if (!length) {\n length = Infinity;\n }\n const nextOp = this.ops[this.index];\n if (nextOp) {\n const offset = this.offset;\n const opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n const retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.retain === 'object' &&\n nextOp.retain !== null) {\n // offset should === 0, length should === 1\n retOp.retain = nextOp.retain;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n }\n peek() {\n return this.ops[this.index];\n }\n peekLength() {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n }\n peekType() {\n const op = this.ops[this.index];\n if (op) {\n if (typeof op.delete === 'number') {\n return 'delete';\n }\n else if (typeof op.retain === 'number' ||\n (typeof op.retain === 'object' && op.retain !== null)) {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n }\n rest() {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n const offset = this.offset;\n const index = this.index;\n const next = this.next();\n const rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n }\n}\nexports.default = Iterator;\n//# sourceMappingURL=OpIterator.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/block.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/block.js ***! + \************************************************************/ +/*! exports provided: blockDelta, bubbleFormats, BlockEmbed, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blockDelta\", function() { return blockDelta; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bubbleFormats\", function() { return bubbleFormats; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlockEmbed\", function() { return BlockEmbed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Block; });\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _inline_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inline.js */ \"../simple-mind-map/node_modules/quill/blots/inline.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\n\n\n\n\n\nconst NEWLINE_LENGTH = 1;\nclass Block extends parchment__WEBPACK_IMPORTED_MODULE_2__[\"BlockBlot\"] {\n constructor(...args) {\n super(...args);\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"cache\", {});\n }\n delta() {\n if (this.cache.delta == null) {\n this.cache.delta = blockDelta(this);\n }\n return this.cache.delta;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length);\n this.cache = {};\n }\n formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n this.cache = {};\n return;\n }\n if (value.length === 0) return;\n const lines = value.split('\\n');\n const text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n super.insertAt(Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let block = this;\n lines.reduce((lineIndex, line) => {\n // @ts-expect-error Fix me later\n block = block.split(lineIndex, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n insertBefore(blot, ref) {\n const {\n head\n } = this.children;\n super.insertBefore(blot, ref);\n if (head instanceof _break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n head.remove();\n }\n this.cache = {};\n }\n length() {\n if (this.cache.length == null) {\n this.cache.length = super.length() + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n moveChildren(target, ref) {\n super.moveChildren(target, ref);\n this.cache = {};\n }\n optimize(context) {\n super.optimize(context);\n this.cache = {};\n }\n path(index) {\n return super.path(index, true);\n }\n removeChild(child) {\n super.removeChild(child);\n this.cache = {};\n }\n split(index) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n const clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n }\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n const next = super.split(index, force);\n this.cache = {};\n return next;\n }\n}\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = _break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nBlock.allowedChildren = [_break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _inline_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], parchment__WEBPACK_IMPORTED_MODULE_2__[\"EmbedBlot\"], _text_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]];\nclass BlockEmbed extends parchment__WEBPACK_IMPORTED_MODULE_2__[\"EmbedBlot\"] {\n attach() {\n super.attach();\n this.attributes = new parchment__WEBPACK_IMPORTED_MODULE_2__[\"AttributorStore\"](this.domNode);\n }\n delta() {\n return new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().insert(this.value(), {\n ...this.formats(),\n ...this.attributes.values()\n });\n }\n format(name, value) {\n const attribute = this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK_ATTRIBUTE);\n if (attribute != null) {\n // @ts-expect-error TODO: Scroll#query() should return Attributor when scope is attribute\n this.attributes.attribute(attribute, value);\n }\n }\n formatAt(index, length, name, value) {\n this.format(name, value);\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n return;\n }\n const lines = value.split('\\n');\n const text = lines.pop();\n const blocks = lines.map(line => {\n const block = this.scroll.create(Block.blotName);\n block.insertAt(0, line);\n return block;\n });\n const ref = this.split(index);\n blocks.forEach(block => {\n this.parent.insertBefore(block, ref);\n });\n if (text) {\n this.parent.insertBefore(this.scroll.create('text', text), ref);\n }\n }\n}\nBlockEmbed.scope = parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\nfunction blockDelta(blot) {\n let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return blot.descendants(parchment__WEBPACK_IMPORTED_MODULE_2__[\"LeafBlot\"]).reduce((delta, leaf) => {\n if (leaf.length() === 0) {\n return delta;\n }\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a()).insert('\\n', bubbleFormats(blot));\n}\nfunction bubbleFormats(blot) {\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (blot == null) return formats;\n if ('formats' in blot && typeof blot.formats === 'function') {\n formats = {\n ...formats,\n ...blot.formats()\n };\n if (filter) {\n // exclude syntax highlighting from deltas and getFormat()\n delete formats['code-token'];\n }\n }\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats, filter);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/block.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/break.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/break.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Break extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"EmbedBlot\"] {\n static value() {\n return undefined;\n }\n optimize() {\n if (this.prev || this.next) {\n this.remove();\n }\n }\n length() {\n return 0;\n }\n value() {\n return '';\n }\n}\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Break);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/break.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/container.js": +/*!****************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/container.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Container extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"ContainerBlot\"] {}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/container.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/cursor.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/cursor.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\n\nclass Cursor extends parchment__WEBPACK_IMPORTED_MODULE_1__[\"EmbedBlot\"] {\n // Zero width no break space\n\n static value() {\n return undefined;\n }\n constructor(scroll, domNode, selection) {\n super(scroll, domNode);\n this.selection = selection;\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n this.savedLength = 0;\n }\n detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n format(name, value) {\n if (this.savedLength !== 0) {\n super.format(name, value);\n return;\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let target = this;\n let index = 0;\n while (target != null && target.statics.scope !== parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: allow empty context in Parchment\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this.savedLength = 0;\n }\n }\n index(node, offset) {\n if (node === this.textNode) return 0;\n return super.index(node, offset);\n }\n length() {\n return this.savedLength;\n }\n position() {\n return [this.textNode, this.textNode.data.length];\n }\n remove() {\n super.remove();\n // @ts-expect-error Fix me later\n this.parent = null;\n }\n restore() {\n if (this.selection.composing || this.parent == null) return null;\n const range = this.selection.getNativeRange();\n // Browser may push down styles/nodes inside the cursor blot.\n // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#push-down-values\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n // @ts-expect-error Fix me later\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n const prevTextBlot = this.prev instanceof _text_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] ? this.prev : null;\n const prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\n const nextTextBlot = this.next instanceof _text_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] ? this.next : null;\n // @ts-expect-error TODO: make TextBlot.text public\n const nextText = nextTextBlot ? nextTextBlot.text : '';\n const {\n textNode\n } = this;\n // take text from inside this blot and reset it\n const newText = textNode.data.split(Cursor.CONTENTS).join('');\n textNode.data = Cursor.CONTENTS;\n\n // proactively merge TextBlots around cursor so that optimization\n // doesn't lose the cursor. the reason we are here in cursor.restore\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\n // the user typed something.\n let mergedTextBlot;\n if (prevTextBlot) {\n mergedTextBlot = prevTextBlot;\n if (newText || nextTextBlot) {\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\n if (nextTextBlot) {\n nextTextBlot.remove();\n }\n }\n } else if (nextTextBlot) {\n mergedTextBlot = nextTextBlot;\n nextTextBlot.insertAt(0, newText);\n } else {\n const newTextNode = document.createTextNode(newText);\n mergedTextBlot = this.scroll.create(newTextNode);\n this.parent.insertBefore(mergedTextBlot, this);\n }\n this.remove();\n if (range) {\n // calculate selection to restore\n const remapOffset = (node, offset) => {\n if (prevTextBlot && node === prevTextBlot.domNode) {\n return offset;\n }\n if (node === textNode) {\n return prevTextLength + offset - 1;\n }\n if (nextTextBlot && node === nextTextBlot.domNode) {\n return prevTextLength + newText.length + offset;\n }\n return null;\n };\n const start = remapOffset(range.start.node, range.start.offset);\n const end = remapOffset(range.end.node, range.end.offset);\n if (start !== null && end !== null) {\n return {\n startNode: mergedTextBlot.domNode,\n startOffset: start,\n endNode: mergedTextBlot.domNode,\n endOffset: end\n };\n }\n }\n return null;\n }\n update(mutations, context) {\n if (mutations.some(mutation => {\n return mutation.type === 'characterData' && mutation.target === this.textNode;\n })) {\n const range = this.restore();\n if (range) context.range = range;\n }\n }\n\n // Avoid .ql-cursor being a descendant of ``.\n // The reason is Safari pushes down `` on text insertion.\n // That will cause DOM nodes not sync with the model.\n //\n // For example ({I} is the caret), given the markup:\n // \\uFEFF{I}\n // When typing a char \"x\", `` will be pushed down inside the `` first:\n // \\uFEFF{I}\n // And then \"x\" will be inserted after ``:\n // \\uFEFFd{I}\n optimize(context) {\n // @ts-expect-error Fix me later\n super.optimize(context);\n let {\n parent\n } = this;\n while (parent) {\n if (parent.domNode.tagName === 'A') {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: make isolate generic\n parent.isolate(this.offset(parent), this.length()).unwrap();\n this.savedLength = 0;\n break;\n }\n parent = parent.parent;\n }\n }\n value() {\n return '';\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"blotName\", 'cursor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"className\", 'ql-cursor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"tagName\", 'span');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"CONTENTS\", '\\uFEFF');\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cursor);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/cursor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/embed.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/embed.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\nconst GUARD_TEXT = '\\uFEFF';\nclass Embed extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"EmbedBlot\"] {\n constructor(scroll, node) {\n super(scroll, node);\n this.contentNode = document.createElement('span');\n this.contentNode.setAttribute('contenteditable', 'false');\n Array.from(this.domNode.childNodes).forEach(childNode => {\n this.contentNode.appendChild(childNode);\n });\n this.leftGuard = document.createTextNode(GUARD_TEXT);\n this.rightGuard = document.createTextNode(GUARD_TEXT);\n this.domNode.appendChild(this.leftGuard);\n this.domNode.appendChild(this.contentNode);\n this.domNode.appendChild(this.rightGuard);\n }\n index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return super.index(node, offset);\n }\n restore(node) {\n let range = null;\n let textNode;\n const text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n const prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n update(mutations, context) {\n mutations.forEach(mutation => {\n if (mutation.type === 'characterData' && (mutation.target === this.leftGuard || mutation.target === this.rightGuard)) {\n const range = this.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Embed);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/embed.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/inline.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/inline.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\nvar _Inline;\n\n\n\nclass Inline extends parchment__WEBPACK_IMPORTED_MODULE_1__[\"InlineBlot\"] {\n static compare(self, other) {\n const selfIndex = Inline.order.indexOf(self);\n const otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n }\n if (self === other) {\n return 0;\n }\n if (self < other) {\n return -1;\n }\n return 1;\n }\n formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOT)) {\n const blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n super.formatAt(index, length, name, value);\n }\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n const parent = this.parent.isolate(this.offset(), this.length());\n // @ts-expect-error TODO: make isolate generic\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n}\n_Inline = Inline;\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Inline, \"allowedChildren\", [_Inline, _break_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], parchment__WEBPACK_IMPORTED_MODULE_1__[\"EmbedBlot\"], _text_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Inline, \"order\", ['cursor', 'inline',\n// Must be lower\n'link',\n// Chrome wants to be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\n]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Inline);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/inline.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/scroll.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/scroll.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _core_emitter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _block_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./container.js */ \"../simple-mind-map/node_modules/quill/blots/container.js\");\n\n\n\n\n\n\n\n\n\nfunction isLine(blot) {\n return blot instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"] || blot instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"];\n}\nfunction isUpdatable(blot) {\n return typeof blot.updateContent === 'function';\n}\nclass Scroll extends parchment__WEBPACK_IMPORTED_MODULE_3__[\"ScrollBlot\"] {\n constructor(registry, domNode, _ref) {\n let {\n emitter\n } = _ref;\n super(registry, domNode);\n this.emitter = emitter;\n this.batch = false;\n this.optimize();\n this.enable();\n this.domNode.addEventListener('dragstart', e => this.handleDragStart(e));\n }\n batchStart() {\n if (!Array.isArray(this.batch)) {\n this.batch = [];\n }\n }\n batchEnd() {\n if (!this.batch) return;\n const mutations = this.batch;\n this.batch = false;\n this.update(mutations);\n }\n emitMount(blot) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BLOT_MOUNT, blot);\n }\n emitUnmount(blot) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BLOT_UNMOUNT, blot);\n }\n emitEmbedUpdate(blot, change) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_EMBED_UPDATE, blot, change);\n }\n deleteAt(index, length) {\n const [first, offset] = this.line(index);\n const [last] = this.line(index + length);\n super.deleteAt(index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"] || last instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"]) {\n this.optimize();\n return;\n }\n const ref = last.children.head instanceof _break_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ? null : last.children.head;\n // @ts-expect-error\n first.moveChildren(last, ref);\n // @ts-expect-error\n first.remove();\n }\n this.optimize();\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled ? 'true' : 'false');\n }\n formatAt(index, length, format, value) {\n super.formatAt(index, length, format, value);\n this.optimize();\n }\n insertAt(index, value, def) {\n if (index >= this.length()) {\n if (def == null || this.scroll.query(value, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOCK) == null) {\n const blot = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n blot.insertAt(0, value.slice(0, -1), def);\n } else {\n blot.insertAt(0, value, def);\n }\n } else {\n const embed = this.scroll.create(value, def);\n this.appendChild(embed);\n }\n } else {\n super.insertAt(index, value, def);\n }\n this.optimize();\n }\n insertBefore(blot, ref) {\n if (blot.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE_BLOT) {\n const wrapper = this.scroll.create(this.statics.defaultChild.blotName);\n wrapper.appendChild(blot);\n super.insertBefore(wrapper, ref);\n } else {\n super.insertBefore(blot, ref);\n }\n }\n insertContents(index, delta) {\n const renderBlocks = this.deltaToRenderBlocks(delta.concat(new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a().insert('\\n')));\n const last = renderBlocks.pop();\n if (last == null) return;\n this.batchStart();\n const first = renderBlocks.shift();\n if (first) {\n const shouldInsertNewlineChar = first.type === 'block' && (first.delta.length() === 0 || !this.descendant(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0] && index < this.length());\n const delta = first.type === 'block' ? first.delta : new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a().insert({\n [first.key]: first.value\n });\n insertInlineContents(this, index, delta);\n const newlineCharLength = first.type === 'block' ? 1 : 0;\n const lineEndIndex = index + delta.length() + newlineCharLength;\n if (shouldInsertNewlineChar) {\n this.insertAt(lineEndIndex - 1, '\\n');\n }\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(this.line(index)[0]);\n const attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, first.attributes) || {};\n Object.keys(attributes).forEach(name => {\n this.formatAt(lineEndIndex - 1, 1, name, attributes[name]);\n });\n index = lineEndIndex;\n }\n let [refBlot, refBlotOffset] = this.children.find(index);\n if (renderBlocks.length) {\n if (refBlot) {\n refBlot = refBlot.split(refBlotOffset);\n refBlotOffset = 0;\n }\n renderBlocks.forEach(renderBlock => {\n if (renderBlock.type === 'block') {\n const block = this.createBlock(renderBlock.attributes, refBlot || undefined);\n insertInlineContents(block, 0, renderBlock.delta);\n } else {\n const blockEmbed = this.create(renderBlock.key, renderBlock.value);\n this.insertBefore(blockEmbed, refBlot || undefined);\n Object.keys(renderBlock.attributes).forEach(name => {\n blockEmbed.format(name, renderBlock.attributes[name]);\n });\n }\n });\n }\n if (last.type === 'block' && last.delta.length()) {\n const offset = refBlot ? refBlot.offset(refBlot.scroll) + refBlotOffset : this.length();\n insertInlineContents(this, offset, last.delta);\n }\n this.batchEnd();\n this.optimize();\n }\n isEnabled() {\n return this.domNode.getAttribute('contenteditable') === 'true';\n }\n leaf(index) {\n const last = this.path(index).pop();\n if (!last) {\n return [null, -1];\n }\n const [blot, offset] = last;\n return blot instanceof parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"] ? [blot, offset] : [null, -1];\n }\n line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n // @ts-expect-error TODO: make descendant() generic\n return this.descendant(isLine, index);\n }\n lines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n const getLines = (blot, blotIndex, blotLength) => {\n let lines = [];\n let lengthLeft = blotLength;\n blot.children.forEachAt(blotIndex, blotLength, (child, childIndex, childLength) => {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof parchment__WEBPACK_IMPORTED_MODULE_3__[\"ContainerBlot\"]) {\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n optimize() {\n let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch) return;\n super.optimize(mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n path(index) {\n return super.path(index).slice(1); // Exclude self\n }\n remove() {\n // Never remove self\n }\n update(mutations) {\n if (this.batch) {\n if (Array.isArray(mutations)) {\n this.batch = this.batch.concat(mutations);\n }\n return;\n }\n let source = _core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n mutations = mutations.filter(_ref2 => {\n let {\n target\n } = _ref2;\n const blot = this.find(target, true);\n return blot && !isUpdatable(blot);\n });\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n super.update(mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_UPDATE, source, mutations);\n }\n }\n updateEmbedAt(index, key, change) {\n // Currently it only supports top-level embeds (BlockEmbed).\n // We can update `ParentBlot` in parchment to support inline embeds.\n const [blot] = this.descendant(b => b instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index);\n if (blot && blot.statics.blotName === key && isUpdatable(blot)) {\n blot.updateContent(change);\n }\n }\n handleDragStart(event) {\n event.preventDefault();\n }\n deltaToRenderBlocks(delta) {\n const renderBlocks = [];\n let currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n delta.forEach(op => {\n const insert = op === null || op === void 0 ? void 0 : op.insert;\n if (!insert) return;\n if (typeof insert === 'string') {\n const splitted = insert.split('\\n');\n splitted.slice(0, -1).forEach(text => {\n var _op$attributes;\n currentBlockDelta.insert(text, op.attributes);\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: (_op$attributes = op.attributes) !== null && _op$attributes !== void 0 ? _op$attributes : {}\n });\n currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n });\n const last = splitted[splitted.length - 1];\n if (last) {\n currentBlockDelta.insert(last, op.attributes);\n }\n } else {\n const key = Object.keys(insert)[0];\n if (!key) return;\n if (this.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE)) {\n currentBlockDelta.push(op);\n } else {\n var _op$attributes2;\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n renderBlocks.push({\n type: 'blockEmbed',\n key,\n value: insert[key],\n attributes: (_op$attributes2 = op.attributes) !== null && _op$attributes2 !== void 0 ? _op$attributes2 : {}\n });\n }\n }\n });\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n return renderBlocks;\n }\n createBlock(attributes, refBlot) {\n let blotName;\n const formats = {};\n Object.entries(attributes).forEach(_ref3 => {\n let [key, value] = _ref3;\n const isBlockBlot = this.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOCK & parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOT) != null;\n if (isBlockBlot) {\n blotName = key;\n } else {\n formats[key] = value;\n }\n });\n const block = this.create(blotName || this.statics.defaultChild.blotName, blotName ? attributes[blotName] : undefined);\n this.insertBefore(block, refBlot || undefined);\n const length = block.length();\n Object.entries(formats).forEach(_ref4 => {\n let [key, value] = _ref4;\n block.formatAt(0, length, key, value);\n });\n return block;\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"blotName\", 'scroll');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"className\", 'ql-editor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"tagName\", 'DIV');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"defaultChild\", _block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"allowedChildren\", [_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], _container_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nfunction insertInlineContents(parent, index, inlineContents) {\n inlineContents.reduce((index, op) => {\n const length = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"Op\"].length(op);\n let attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n const text = op.insert;\n parent.insertAt(index, text);\n const [leaf] = parent.descendant(parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"], index);\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf);\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n parent.insertAt(index, key, op.insert[key]);\n const isInlineEmbed = parent.scroll.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE) != null;\n if (isInlineEmbed) {\n const [leaf] = parent.descendant(parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"], index);\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf);\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, attributes) || {};\n }\n }\n }\n Object.keys(attributes).forEach(key => {\n parent.formatAt(index, length, key, attributes[key]);\n });\n return index + length;\n }, index);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scroll);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/scroll.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/blots/text.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/blots/text.js ***! + \***********************************************************/ +/*! exports provided: default, escapeText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeText\", function() { return escapeText; });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Text extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"TextBlot\"] {}\n\n// https://lodash.com/docs#escape\nconst entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nfunction escapeText(text) {\n return text.replace(/[&<>\"']/g, s => entityMap[s]);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/text.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core.js": +/*!*****************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core.js ***! + \*****************************************************/ +/*! exports provided: Module, Delta, Op, OpIterator, AttributeMap, Parchment, Range, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_quill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/quill.js */ \"../simple-mind-map/node_modules/quill/core/quill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Parchment\", function() { return _core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"Parchment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"Range\"]; });\n\n/* harmony import */ var _blots_block_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blots/block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _blots_break_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blots/break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _blots_container_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blots/container.js */ \"../simple-mind-map/node_modules/quill/blots/container.js\");\n/* harmony import */ var _blots_cursor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blots/cursor.js */ \"../simple-mind-map/node_modules/quill/blots/cursor.js\");\n/* harmony import */ var _blots_embed_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blots/embed.js */ \"../simple-mind-map/node_modules/quill/blots/embed.js\");\n/* harmony import */ var _blots_inline_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blots/inline.js */ \"../simple-mind-map/node_modules/quill/blots/inline.js\");\n/* harmony import */ var _blots_scroll_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blots/scroll.js */ \"../simple-mind-map/node_modules/quill/blots/scroll.js\");\n/* harmony import */ var _blots_text_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blots/text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n/* harmony import */ var _modules_clipboard_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/clipboard.js */ \"../simple-mind-map/node_modules/quill/modules/clipboard.js\");\n/* harmony import */ var _modules_history_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/history.js */ \"../simple-mind-map/node_modules/quill/modules/history.js\");\n/* harmony import */ var _modules_keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/keyboard.js */ \"../simple-mind-map/node_modules/quill/modules/keyboard.js\");\n/* harmony import */ var _modules_uploader_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/uploader.js */ \"../simple-mind-map/node_modules/quill/modules/uploader.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony reexport (default from non-harmony) */ __webpack_require__.d(__webpack_exports__, \"Delta\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13___default.a; });\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Op\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"Op\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OpIterator\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"OpIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AttributeMap\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"AttributeMap\"]; });\n\n/* harmony import */ var _modules_input_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/input.js */ \"../simple-mind-map/node_modules/quill/modules/input.js\");\n/* harmony import */ var _modules_uiNode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/uiNode.js */ \"../simple-mind-map/node_modules/quill/modules/uiNode.js\");\n/* harmony import */ var _core_module_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./core/module.js */ \"../simple-mind-map/node_modules/quill/core/module.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Module\", function() { return _core_module_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].register({\n 'blots/block': _blots_block_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n 'blots/block/embed': _blots_block_js__WEBPACK_IMPORTED_MODULE_1__[\"BlockEmbed\"],\n 'blots/break': _blots_break_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n 'blots/container': _blots_container_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n 'blots/cursor': _blots_cursor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n 'blots/embed': _blots_embed_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n 'blots/inline': _blots_inline_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n 'blots/scroll': _blots_scroll_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n 'blots/text': _blots_text_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n 'modules/clipboard': _modules_clipboard_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n 'modules/history': _modules_history_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'modules/keyboard': _modules_keyboard_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n 'modules/uploader': _modules_uploader_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n 'modules/input': _modules_input_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n 'modules/uiNode': _modules_uiNode_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/composition.js": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/composition.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _blots_embed_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blots/embed.js */ \"../simple-mind-map/node_modules/quill/blots/embed.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n\n\n\nclass Composition {\n constructor(scroll, emitter) {\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"isComposing\", false);\n this.scroll = scroll;\n this.emitter = emitter;\n this.setupListeners();\n }\n setupListeners() {\n this.scroll.domNode.addEventListener('compositionstart', event => {\n if (!this.isComposing) {\n this.handleCompositionStart(event);\n }\n });\n this.scroll.domNode.addEventListener('compositionend', event => {\n if (this.isComposing) {\n // Webkit makes DOM changes after compositionend, so we use microtask to\n // ensure the order.\n // https://bugs.webkit.org/show_bug.cgi?id=31902\n queueMicrotask(() => {\n this.handleCompositionEnd(event);\n });\n }\n });\n }\n handleCompositionStart(event) {\n const blot = event.target instanceof Node ? this.scroll.find(event.target, true) : null;\n if (blot && !(blot instanceof _blots_embed_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])) {\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_BEFORE_START, event);\n this.scroll.batchStart();\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_START, event);\n this.isComposing = true;\n }\n }\n handleCompositionEnd(event) {\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_BEFORE_END, event);\n this.scroll.batchEnd();\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_END, event);\n this.isComposing = false;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Composition);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/composition.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/editor.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/editor.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace-all.js */ \"./node_modules/core-js/modules/es.string.replace-all.js\");\n/* harmony import */ var core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _blots_block_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../blots/block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _blots_break_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../blots/break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _blots_cursor_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../blots/cursor.js */ \"../simple-mind-map/node_modules/quill/blots/cursor.js\");\n/* harmony import */ var _blots_text_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../blots/text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./selection.js */ \"../simple-mind-map/node_modules/quill/core/selection.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst ASCII = /^[ -~]*$/;\nclass Editor {\n constructor(scroll) {\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n applyDelta(delta) {\n this.scroll.update();\n let scrollLength = this.scroll.length();\n this.scroll.batchStart();\n const normalizedDelta = normalizeDelta(delta);\n const deleteDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n const normalizedOps = splitOpLines(normalizedDelta.ops.slice());\n normalizedOps.reduce((index, op) => {\n const length = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"Op\"].length(op);\n let attributes = op.attributes || {};\n let isImplicitNewlinePrepended = false;\n let isImplicitNewlineAppended = false;\n if (op.insert != null) {\n deleteDelta.retain(length);\n if (typeof op.insert === 'string') {\n const text = op.insert;\n isImplicitNewlineAppended = !text.endsWith('\\n') && (scrollLength <= index || !!this.scroll.descendant(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0]);\n this.scroll.insertAt(index, text);\n const [line, offset] = this.scroll.line(index);\n let formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(line));\n if (line instanceof _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n const [leaf] = line.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], offset);\n if (leaf) {\n formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])(formats, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf));\n }\n }\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"AttributeMap\"].diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n const isInlineEmbed = this.scroll.query(key, parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].INLINE) != null;\n if (isInlineEmbed) {\n if (scrollLength <= index || !!this.scroll.descendant(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0]) {\n isImplicitNewlineAppended = true;\n }\n } else if (index > 0) {\n const [leaf, offset] = this.scroll.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index - 1);\n if (leaf instanceof _blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n const text = leaf.value();\n if (text[offset] !== '\\n') {\n isImplicitNewlinePrepended = true;\n }\n } else if (leaf instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"EmbedBlot\"] && leaf.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].INLINE_BLOT) {\n isImplicitNewlinePrepended = true;\n }\n }\n this.scroll.insertAt(index, key, op.insert[key]);\n if (isInlineEmbed) {\n const [leaf] = this.scroll.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index);\n if (leaf) {\n const formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf));\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"AttributeMap\"].diff(formats, attributes) || {};\n }\n }\n }\n scrollLength += length;\n } else {\n deleteDelta.push(op);\n if (op.retain !== null && typeof op.retain === 'object') {\n const key = Object.keys(op.retain)[0];\n if (key == null) return index;\n this.scroll.updateEmbedAt(index, key, op.retain[key]);\n }\n }\n Object.keys(attributes).forEach(name => {\n this.scroll.formatAt(index, length, name, attributes[name]);\n });\n const prependedLength = isImplicitNewlinePrepended ? 1 : 0;\n const addedLength = isImplicitNewlineAppended ? 1 : 0;\n scrollLength += prependedLength + addedLength;\n deleteDelta.retain(prependedLength);\n deleteDelta.delete(addedLength);\n return index + length + prependedLength + addedLength;\n }, 0);\n deleteDelta.reduce((index, op) => {\n if (typeof op.delete === 'number') {\n this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"Op\"].length(op);\n }, 0);\n this.scroll.batchEnd();\n this.scroll.optimize();\n return this.update(normalizedDelta);\n }\n deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).delete(length));\n }\n formatLine(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(format => {\n this.scroll.lines(index, Math.max(length, 1)).forEach(line => {\n line.format(format, formats[format]);\n });\n });\n this.scroll.optimize();\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).retain(length, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats));\n return this.update(delta);\n }\n formatText(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, length, format, formats[format]);\n });\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).retain(length, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats));\n return this.update(delta);\n }\n getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n getDelta() {\n return this.scroll.lines().reduce((delta, line) => {\n return delta.concat(line.delta());\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n }\n getFormat(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let lines = [];\n let leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(path => {\n const [blot] = path;\n if (blot instanceof _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n lines.push(blot);\n } else if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"]) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index, length);\n }\n const [lineFormats, leafFormats] = [lines, leaves].map(blots => {\n const blot = blots.shift();\n if (blot == null) return {};\n let formats = Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(blot);\n while (Object.keys(formats).length > 0) {\n const blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats(Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(blot), formats);\n }\n return formats;\n });\n return {\n ...lineFormats,\n ...leafFormats\n };\n }\n getHTML(index, length) {\n const [line, lineOffset] = this.scroll.line(index);\n if (line) {\n const lineLength = line.length();\n const isWithinLine = line.length() >= lineOffset + length;\n if (isWithinLine && !(lineOffset === 0 && length === lineLength)) {\n return convertHTML(line, lineOffset, length, true);\n }\n return convertHTML(this.scroll, index, length, true);\n }\n return '';\n }\n getText(index, length) {\n return this.getContents(index, length).filter(op => typeof op.insert === 'string').map(op => op.insert).join('');\n }\n insertContents(index, contents) {\n const normalizedDelta = normalizeDelta(contents);\n const change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(normalizedDelta);\n this.scroll.insertContents(index, normalizedDelta);\n return this.update(change);\n }\n insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).insert({\n [embed]: value\n }));\n }\n insertText(index, text) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).insert(text, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats)));\n }\n isBlank() {\n if (this.scroll.children.length === 0) return true;\n if (this.scroll.children.length > 1) return false;\n const blot = this.scroll.children.head;\n if ((blot === null || blot === void 0 ? void 0 : blot.statics.blotName) !== _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].blotName) return false;\n const block = blot;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _blots_break_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n }\n removeFormat(index, length) {\n const text = this.getText(index, length);\n const [line, offset] = this.scroll.line(index + length);\n let suffixLength = 0;\n let suffix = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n if (line != null) {\n suffixLength = line.length() - offset;\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n const contents = this.getContents(index, length + suffixLength);\n const diff = contents.diff(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(text).concat(suffix));\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n update(change) {\n let mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n let selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n const oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' &&\n // @ts-expect-error Fix me later\n mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\n // Optimization for character changes\n const textBlot = this.scroll.find(mutations[0].target);\n const formats = Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(textBlot);\n const index = textBlot.offset(this.scroll);\n // @ts-expect-error Fix me later\n const oldValue = mutations[0].oldValue.replace(_blots_cursor_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].CONTENTS, '');\n const oldText = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(oldValue);\n // @ts-expect-error\n const newText = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(textBlot.value());\n const relativeSelectionInfo = selectionInfo && {\n oldRange: shiftRange(selectionInfo.oldRange, -index),\n newRange: shiftRange(selectionInfo.newRange, -index)\n };\n const diffDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\n change = diffDelta.reduce((delta, op) => {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n }\n return delta.push(op);\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"isEqual\"])(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, selectionInfo);\n }\n }\n return change;\n }\n}\nfunction convertListHTML(items, lastIndent, types) {\n if (items.length === 0) {\n const [endTag] = getListType(types.pop());\n if (lastIndent <= 0) {\n return ``;\n }\n return `${convertListHTML([], lastIndent - 1, types)}`;\n }\n const [{\n child,\n offset,\n length,\n indent,\n type\n }, ...rest] = items;\n const [tag, attribute] = getListType(type);\n if (indent > lastIndent) {\n types.push(type);\n if (indent === lastIndent + 1) {\n return `<${tag}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n return `<${tag}>
  • ${convertListHTML(items, lastIndent + 1, types)}`;\n }\n const previousType = types[types.length - 1];\n if (indent === lastIndent && type === previousType) {\n return `
  • ${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n const [endTag] = getListType(types.pop());\n return `${convertListHTML(items, lastIndent - 1, types)}`;\n}\nfunction convertHTML(blot, index, length) {\n let isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if ('html' in blot && typeof blot.html === 'function') {\n return blot.html(index, length);\n }\n if (blot instanceof _blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n const escapedText = Object(_blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"escapeText\"])(blot.value().slice(index, index + length));\n return escapedText.replaceAll(' ', ' ');\n }\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"ParentBlot\"]) {\n // TODO fix API\n if (blot.statics.blotName === 'list-container') {\n const items = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n const formats = 'formats' in child && typeof child.formats === 'function' ? child.formats() : {};\n items.push({\n child,\n offset,\n length: childLength,\n indent: formats.indent || 0,\n type: formats.list\n });\n });\n return convertListHTML(items, -1, []);\n }\n const parts = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n parts.push(convertHTML(child, offset, childLength));\n });\n if (isRoot || blot.statics.blotName === 'list') {\n return parts.join('');\n }\n const {\n outerHTML,\n innerHTML\n } = blot.domNode;\n const [start, end] = outerHTML.split(`>${innerHTML}<`);\n // TODO cleanup\n if (start === '${parts.join('')}<${end}`;\n }\n return `${start}>${parts.join('')}<${end}`;\n }\n return blot.domNode instanceof Element ? blot.domNode.outerHTML : '';\n}\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce((merged, name) => {\n if (formats[name] == null) return merged;\n const combinedValue = combined[name];\n if (combinedValue === formats[name]) {\n merged[name] = combinedValue;\n } else if (Array.isArray(combinedValue)) {\n if (combinedValue.indexOf(formats[name]) < 0) {\n merged[name] = combinedValue.concat([formats[name]]);\n } else {\n // If style already exists, don't add to an array, but don't lose other styles\n merged[name] = combinedValue;\n }\n } else {\n merged[name] = [combinedValue, formats[name]];\n }\n return merged;\n }, {});\n}\nfunction getListType(type) {\n const tag = type === 'ordered' ? 'ol' : 'ul';\n switch (type) {\n case 'checked':\n return [tag, ' data-list=\"checked\"'];\n case 'unchecked':\n return [tag, ' data-list=\"unchecked\"'];\n default:\n return [tag, ''];\n }\n}\nfunction normalizeDelta(delta) {\n return delta.reduce((normalizedDelta, op) => {\n if (typeof op.insert === 'string') {\n const text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return normalizedDelta.insert(text, op.attributes);\n }\n return normalizedDelta.push(op);\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n}\nfunction shiftRange(_ref, amount) {\n let {\n index,\n length\n } = _ref;\n return new _selection_js__WEBPACK_IMPORTED_MODULE_10__[\"Range\"](index + amount, length);\n}\nfunction splitOpLines(ops) {\n const split = [];\n ops.forEach(op => {\n if (typeof op.insert === 'string') {\n const lines = op.insert.split('\\n');\n lines.forEach((line, index) => {\n if (index) split.push({\n insert: '\\n',\n attributes: op.attributes\n });\n if (line) split.push({\n insert: line,\n attributes: op.attributes\n });\n });\n } else {\n split.push(op);\n }\n });\n return split;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Editor);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/editor.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/emitter.js": +/*!*************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/emitter.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! eventemitter3 */ \"../simple-mind-map/node_modules/quill/node_modules/eventemitter3/index.js\");\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(eventemitter3__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instances_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instances.js */ \"../simple-mind-map/node_modules/quill/core/instances.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('quill:events');\nconst EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\nEVENTS.forEach(eventName => {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Array.from(document.querySelectorAll('.ql-container')).forEach(node => {\n const quill = _instances_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get(node);\n if (quill && quill.emitter) {\n quill.emitter.handleDOM(...args);\n }\n });\n });\n});\nclass Emitter extends eventemitter3__WEBPACK_IMPORTED_MODULE_2__[\"EventEmitter\"] {\n constructor() {\n super();\n this.domListeners = {};\n this.on('error', debug.error);\n }\n emit() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n debug.log.call(debug, ...args);\n // @ts-expect-error\n return super.emit(...args);\n }\n handleDOM(event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (this.domListeners[event.type] || []).forEach(_ref => {\n let {\n node,\n handler\n } = _ref;\n if (event.target === node || node.contains(event.target)) {\n handler(event, ...args);\n }\n });\n }\n listenDOM(eventName, node, handler) {\n if (!this.domListeners[eventName]) {\n this.domListeners[eventName] = [];\n }\n this.domListeners[eventName].push({\n node,\n handler\n });\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Emitter, \"events\", {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SCROLL_EMBED_UPDATE: 'scroll-embed-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change',\n COMPOSITION_BEFORE_START: 'composition-before-start',\n COMPOSITION_START: 'composition-start',\n COMPOSITION_BEFORE_END: 'composition-before-end',\n COMPOSITION_END: 'composition-end'\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Emitter, \"sources\", {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Emitter);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/emitter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/instances.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/instances.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new WeakMap());\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/instances.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/logger.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/logger.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconst levels = ['error', 'warn', 'log', 'info'];\nlet level = 'warn';\nfunction debug(method) {\n if (level) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n console[method](...args); // eslint-disable-line no-console\n }\n }\n}\nfunction namespace(ns) {\n return levels.reduce((logger, method) => {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\nnamespace.level = newLevel => {\n level = newLevel;\n};\ndebug.level = namespace.level;\n/* harmony default export */ __webpack_exports__[\"default\"] = (namespace);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/logger.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/module.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/module.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nclass Module {\n constructor(quill) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.quill = quill;\n this.options = options;\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Module, \"DEFAULTS\", {});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Module);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/module.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/quill.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/quill.js ***! + \***********************************************************/ +/*! exports provided: Parchment, Range, globalRegistry, expandConfig, overload, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"globalRegistry\", function() { return globalRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"expandConfig\", function() { return expandConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"overload\", function() { return overload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Quill; });\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"Parchment\", function() { return parchment__WEBPACK_IMPORTED_MODULE_4__; });\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _editor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./editor.js */ \"../simple-mind-map/node_modules/quill/core/editor.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _instances_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./instances.js */ \"../simple-mind-map/node_modules/quill/core/instances.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n/* harmony import */ var _module_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./module.js */ \"../simple-mind-map/node_modules/quill/core/module.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./selection.js */ \"../simple-mind-map/node_modules/quill/core/selection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"]; });\n\n/* harmony import */ var _composition_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./composition.js */ \"../simple-mind-map/node_modules/quill/core/composition.js\");\n/* harmony import */ var _theme_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./theme.js */ \"../simple-mind-map/node_modules/quill/core/theme.js\");\n/* harmony import */ var _utils_scrollRectIntoView_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/scrollRectIntoView.js */ \"../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js\");\n/* harmony import */ var _utils_createRegistryWithFormats_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils/createRegistryWithFormats.js */ \"../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])('quill');\nconst globalRegistry = new parchment__WEBPACK_IMPORTED_MODULE_4__[\"Registry\"]();\nparchment__WEBPACK_IMPORTED_MODULE_4__[\"ParentBlot\"].uiClass = 'ql-ui';\n\n/**\n * Options for initializing a Quill instance\n */\n\n/**\n * Similar to QuillOptions, but with all properties expanded to their default values,\n * and all selectors resolved to HTMLElements.\n */\n\nclass Quill {\n static debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].level(limit);\n }\n static find(node) {\n let bubble = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _instances_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].get(node) || globalRegistry.find(node, bubble);\n }\n static import(name) {\n if (this.imports[name] == null) {\n debug.error(`Cannot import ${name}. Are you sure it was registered?`);\n }\n return this.imports[name];\n }\n static register() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) !== 'string') {\n const target = arguments.length <= 0 ? undefined : arguments[0];\n const overwrite = !!(arguments.length <= 1 ? undefined : arguments[1]);\n const name = 'attrName' in target ? target.attrName : target.blotName;\n if (typeof name === 'string') {\n // Shortcut for formats:\n // register(Blot | Attributor, overwrite)\n this.register(`formats/${name}`, target, overwrite);\n } else {\n Object.keys(target).forEach(key => {\n this.register(key, target[key], overwrite);\n });\n }\n } else {\n const path = arguments.length <= 0 ? undefined : arguments[0];\n const target = arguments.length <= 1 ? undefined : arguments[1];\n const overwrite = !!(arguments.length <= 2 ? undefined : arguments[2]);\n if (this.imports[path] != null && !overwrite) {\n debug.warn(`Overwriting ${path} with`, target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target && typeof target !== 'boolean' && target.blotName !== 'abstract') {\n globalRegistry.register(target);\n }\n if (typeof target.register === 'function') {\n target.register(globalRegistry);\n }\n }\n }\n constructor(container) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n debug.error('Invalid Quill container', container);\n return;\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n const html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n _instances_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].set(this.container, this);\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.emitter = new _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n const scrollBlotName = parchment__WEBPACK_IMPORTED_MODULE_4__[\"ScrollBlot\"].blotName;\n const ScrollBlot = this.options.registry.query(scrollBlotName);\n if (!ScrollBlot || !('blotName' in ScrollBlot)) {\n throw new Error(`Cannot initialize Quill without \"${scrollBlotName}\" blot`);\n }\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\n emitter: this.emitter\n });\n this.editor = new _editor_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this.scroll);\n this.selection = new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this.scroll, this.emitter);\n this.composition = new _composition_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.uploader = this.theme.addModule('uploader');\n this.theme.addModule('input');\n this.theme.addModule('uiNode');\n this.theme.init();\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.EDITOR_CHANGE, type => {\n if (type === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.TEXT_CHANGE) {\n this.root.classList.toggle('ql-blank', this.editor.isBlank());\n }\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.SCROLL_UPDATE, (source, mutations) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => this.editor.update(null, mutations, selectionInfo), source);\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.SCROLL_EMBED_UPDATE, (blot, delta) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => {\n const change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(blot.offset(this)).retain({\n [blot.statics.blotName]: delta\n });\n return this.editor.update(change, [], selectionInfo);\n }, Quill.sources.USER);\n });\n if (html) {\n const contents = this.clipboard.convert({\n html: `${html}


    `,\n text: '\\n'\n });\n this.setContents(contents);\n }\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n this.allowReadOnlyEdits = false;\n }\n addContainer(container) {\n let refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n const className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n blur() {\n this.selection.setRange(null);\n }\n deleteText(index, length, source) {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n disable() {\n this.enable(false);\n }\n editReadOnly(modifier) {\n this.allowReadOnlyEdits = true;\n const value = modifier();\n this.allowReadOnlyEdits = false;\n return value;\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.selection.focus();\n if (!options.preventScroll) {\n this.scrollSelectionIntoView();\n }\n }\n format(name, value) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n const range = this.getSelection(true);\n let change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n if (range == null) return change;\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].BLOCK)) {\n change = this.editor.formatLine(range.index, range.length, {\n [name]: value\n });\n } else if (range.length === 0) {\n this.selection.format(name, value);\n return change;\n } else {\n change = this.editor.formatText(range.index, range.length, {\n [name]: value\n });\n }\n this.setSelection(range, _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT);\n return change;\n }, source);\n }\n formatLine(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(index, length,\n // @ts-expect-error\n name, value, source);\n return modify.call(this, () => {\n return this.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n formatText(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(\n // @ts-expect-error\n index, length, name, value, source);\n return modify.call(this, () => {\n return this.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let bounds = null;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n if (!bounds) return null;\n const containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n getContents() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n [index, length] = overload(index, length);\n return this.editor.getContents(index, length);\n }\n getFormat() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n }\n return this.editor.getFormat(index.index, index.length);\n }\n getIndex(blot) {\n return blot.offset(this.scroll);\n }\n getLength() {\n return this.scroll.length();\n }\n getLeaf(index) {\n return this.scroll.leaf(index);\n }\n getLine(index) {\n return this.scroll.line(index);\n }\n getLines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n }\n return this.scroll.lines(index, length);\n }\n getModule(name) {\n return this.theme.modules[name];\n }\n getSelection() {\n let focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n getSemanticHTML() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n var _length;\n length = (_length = length) !== null && _length !== void 0 ? _length : this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getHTML(index, length);\n }\n getText() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n var _length2;\n length = (_length2 = length) !== null && _length2 !== void 0 ? _length2 : this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getText(index, length);\n }\n hasFocus() {\n return this.selection.hasFocus();\n }\n insertEmbed(index, embed, value) {\n let source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, () => {\n return this.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n insertText(index, text, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n // @ts-expect-error\n [index,, formats, source] = overload(index, 0, name, value, source);\n return modify.call(this, () => {\n return this.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n isEnabled() {\n return this.scroll.isEnabled();\n }\n off() {\n return this.emitter.off(...arguments);\n }\n on() {\n return this.emitter.on(...arguments);\n }\n once() {\n return this.emitter.once(...arguments);\n }\n removeFormat(index, length, source) {\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.removeFormat(index, length);\n }, source, index);\n }\n scrollRectIntoView(rect) {\n Object(_utils_scrollRectIntoView_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(this.root, rect);\n }\n\n /**\n * @deprecated Use Quill#scrollSelectionIntoView() instead.\n */\n scrollIntoView() {\n console.warn('Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead.');\n this.scrollSelectionIntoView();\n }\n\n /**\n * Scroll the current selection into the visible area.\n * If the selection is already visible, no scrolling will occur.\n */\n scrollSelectionIntoView() {\n const range = this.selection.lastRange;\n const bounds = range && this.selection.getBounds(range.index, range.length);\n if (bounds) {\n this.scrollRectIntoView(bounds);\n }\n }\n setContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a(delta);\n const length = this.getLength();\n // Quill will set empty editor to \\n\n const delete1 = this.editor.deleteText(0, length);\n const applied = this.editor.insertContents(0, delta);\n // Remove extra \\n from empty editor initialization\n const delete2 = this.editor.deleteText(this.getLength() - 1, 1);\n return delete1.compose(applied).compose(delete2);\n }, source);\n }\n setSelection(index, length, source) {\n if (index == null) {\n // @ts-expect-error https://github.com/microsoft/TypeScript/issues/22609\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n this.selection.setRange(new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"](Math.max(0, index), length), source);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT) {\n this.scrollSelectionIntoView();\n }\n }\n }\n setText(text) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(text);\n return this.setContents(delta, source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER;\n const change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n // TODO this is usually undefined\n return change;\n }\n updateContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a(delta);\n return this.editor.applyDelta(delta);\n }, source, true);\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"DEFAULTS\", {\n bounds: null,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true,\n uploader: true\n },\n placeholder: '',\n readOnly: false,\n registry: globalRegistry,\n theme: 'default'\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"events\", _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"sources\", _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"version\", false ? undefined : \"2.0.3\");\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"imports\", {\n delta: quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a,\n parchment: parchment__WEBPACK_IMPORTED_MODULE_4__,\n 'core/module': _module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'core/theme': _theme_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n});\nfunction resolveSelector(selector) {\n return typeof selector === 'string' ? document.querySelector(selector) : selector;\n}\nfunction expandModuleConfig(config) {\n return Object.entries(config !== null && config !== void 0 ? config : {}).reduce((expanded, _ref) => {\n let [key, value] = _ref;\n return {\n ...expanded,\n [key]: value === true ? {} : value\n };\n }, {});\n}\nfunction omitUndefinedValuesFromOptions(obj) {\n return Object.fromEntries(Object.entries(obj).filter(entry => entry[1] !== undefined));\n}\nfunction expandConfig(containerOrSelector, options) {\n const container = resolveSelector(containerOrSelector);\n if (!container) {\n throw new Error('Invalid Quill container');\n }\n const shouldUseDefaultTheme = !options.theme || options.theme === Quill.DEFAULTS.theme;\n const theme = shouldUseDefaultTheme ? _theme_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"] : Quill.import(`themes/${options.theme}`);\n if (!theme) {\n throw new Error(`Invalid theme ${options.theme}. Did you register it?`);\n }\n const {\n modules: quillModuleDefaults,\n ...quillDefaults\n } = Quill.DEFAULTS;\n const {\n modules: themeModuleDefaults,\n ...themeDefaults\n } = theme.DEFAULTS;\n let userModuleOptions = expandModuleConfig(options.modules);\n // Special case toolbar shorthand\n if (userModuleOptions != null && userModuleOptions.toolbar && userModuleOptions.toolbar.constructor !== Object) {\n userModuleOptions = {\n ...userModuleOptions,\n toolbar: {\n container: userModuleOptions.toolbar\n }\n };\n }\n const modules = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, expandModuleConfig(quillModuleDefaults), expandModuleConfig(themeModuleDefaults), userModuleOptions);\n const config = {\n ...quillDefaults,\n ...omitUndefinedValuesFromOptions(themeDefaults),\n ...omitUndefinedValuesFromOptions(options)\n };\n let registry = options.registry;\n if (registry) {\n if (options.formats) {\n debug.warn('Ignoring \"formats\" option because \"registry\" is specified');\n }\n } else {\n registry = options.formats ? Object(_utils_createRegistryWithFormats_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(options.formats, config.registry, debug) : config.registry;\n }\n return {\n ...config,\n registry,\n container,\n theme,\n modules: Object.entries(modules).reduce((modulesWithDefaults, _ref2) => {\n let [name, value] = _ref2;\n if (!value) return modulesWithDefaults;\n const moduleClass = Quill.import(`modules/${name}`);\n if (moduleClass == null) {\n debug.error(`Cannot load ${name} module. Are you sure you registered it?`);\n return modulesWithDefaults;\n }\n return {\n ...modulesWithDefaults,\n // @ts-expect-error\n [name]: Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, moduleClass.DEFAULTS || {}, value)\n };\n }, {}),\n bounds: resolveSelector(config.bounds)\n };\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (!this.isEnabled() && source === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER && !this.allowReadOnlyEdits) {\n return new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n }\n let range = index == null ? null : this.getSelection();\n const oldDelta = this.editor.delta;\n const change = modifier();\n if (range != null) {\n if (index === true) {\n index = range.index; // eslint-disable-line prefer-destructuring\n }\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n // @ts-expect-error index should always be number\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT);\n }\n if (change.length() > 0) {\n const args = [_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.TEXT_CHANGE, change, oldDelta, source];\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.EDITOR_CHANGE, ...args);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n return change;\n}\nfunction overload(index, length, name, value, source) {\n let formats = {};\n // @ts-expect-error\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n } else {\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n }\n } else if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if (typeof name === 'object') {\n // @ts-expect-error Fix me later\n formats = name;\n // @ts-expect-error\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n // @ts-expect-error\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n // @ts-expect-error\n return [index, length, formats, source];\n}\nfunction shiftRange(range, index, lengthOrSource, source) {\n const length = typeof lengthOrSource === 'number' ? lengthOrSource : 0;\n if (range == null) return null;\n let start;\n let end;\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (index && typeof index.transformPosition === 'function') {\n [start, end] = [range.index, range.index + range.length].map(pos =>\n // @ts-expect-error -- TODO: add a better type guard around `index`\n index.transformPosition(pos, source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER));\n } else {\n [start, end] = [range.index, range.index + range.length].map(pos => {\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (pos < index || pos === index && source === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n }\n // @ts-expect-error -- TODO: add a better type guard around `index`\n return Math.max(index, pos + length);\n });\n }\n return new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"](start, end - start);\n}\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/quill.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/selection.js": +/*!***************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/selection.js ***! + \***************************************************************/ +/*! exports provided: Range, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return Range; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('quill:selection');\nclass Range {\n constructor(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.index = index;\n this.length = length;\n }\n}\nclass Selection {\n constructor(scroll, emitter) {\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n // @ts-expect-error\n this.cursor = this.scroll.create('cursor', this);\n // savedRange is last non-null range\n this.savedRange = new Range(0, 0);\n this.lastRange = this.savedRange;\n this.lastNative = null;\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, () => {\n if (!this.mouseDown && !this.composing) {\n setTimeout(this.update.bind(this, _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER), 1);\n }\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_BEFORE_UPDATE, () => {\n if (!this.hasFocus()) return;\n const native = this.getNativeRange();\n if (native == null) return;\n if (native.start.node === this.cursor.textNode) return; // cursor.restore() will handle\n this.emitter.once(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_UPDATE, (source, mutations) => {\n try {\n if (this.root.contains(native.start.node) && this.root.contains(native.end.node)) {\n this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n }\n const triggeredByTyping = mutations.some(mutation => mutation.type === 'characterData' || mutation.type === 'childList' || mutation.type === 'attributes' && mutation.target === this.root);\n this.update(triggeredByTyping ? _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT : source);\n } catch (ignored) {\n // ignore\n }\n });\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_OPTIMIZE, (mutations, context) => {\n if (context.range) {\n const {\n startNode,\n startOffset,\n endNode,\n endOffset\n } = context.range;\n this.setNativeRange(startNode, startOffset, endNode, endOffset);\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT);\n }\n });\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT);\n }\n handleComposition() {\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.COMPOSITION_BEFORE_START, () => {\n this.composing = true;\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.COMPOSITION_END, () => {\n this.composing = false;\n if (this.cursor.parent) {\n const range = this.cursor.restore();\n if (!range) return;\n setTimeout(() => {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n handleDragging() {\n this.emitter.listenDOM('mousedown', document.body, () => {\n this.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, () => {\n this.mouseDown = false;\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER);\n });\n }\n focus() {\n if (this.hasFocus()) return;\n this.root.focus({\n preventScroll: true\n });\n this.setRange(this.savedRange);\n }\n format(format, value) {\n this.scroll.update();\n const nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n const blot = this.scroll.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_1__[\"LeafBlot\"]) {\n const after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n // @ts-expect-error TODO: nativeRange.start.node doesn't seem to match function signature\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n const scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n let node;\n let [leaf, offset] = this.scroll.leaf(index);\n if (leaf == null) return null;\n if (length > 0 && offset === leaf.length()) {\n const [next] = this.scroll.leaf(index + 1);\n if (next) {\n const [line] = this.scroll.line(index);\n const [nextLine] = this.scroll.line(index + 1);\n if (line === nextLine) {\n leaf = next;\n offset = 0;\n }\n }\n }\n [node, offset] = leaf.position(offset, true);\n const range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n [leaf, offset] = this.scroll.leaf(index + length);\n if (leaf == null) return null;\n [node, offset] = leaf.position(offset, true);\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n }\n let side = 'left';\n let rect;\n if (node instanceof Text) {\n // Return null if the text node is empty because it is\n // not able to get a useful client rect:\n // https://github.com/w3c/csswg-drafts/issues/2514.\n // Empty text nodes are most likely caused by TextBlot#optimize()\n // not getting called when editor content changes.\n if (!node.data.length) {\n return null;\n }\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n if (!(leaf.domNode instanceof Element)) return null;\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n getNativeRange() {\n const selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n const nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n const range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n getRange() {\n const root = this.scroll.domNode;\n if ('isConnected' in root && !root.isConnected) {\n // document.getSelection() forces layout on Blink, so we trend to\n // not calling it.\n return [null, null];\n }\n const normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n const range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n hasFocus() {\n return document.activeElement === this.root || document.activeElement != null && contains(this.root, document.activeElement);\n }\n normalizedToRange(range) {\n const positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n const indexes = positions.map(position => {\n const [node, offset] = position;\n const blot = this.scroll.find(node, true);\n // @ts-expect-error Fix me later\n const index = blot.offset(this.scroll);\n if (offset === 0) {\n return index;\n }\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_1__[\"LeafBlot\"]) {\n return index + blot.index(node, offset);\n }\n // @ts-expect-error Fix me later\n return index + blot.length();\n });\n const end = Math.min(Math.max(...indexes), this.scroll.length() - 1);\n const start = Math.min(end, ...indexes);\n return new Range(start, end - start);\n }\n normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n const range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(position => {\n let {\n node,\n offset\n } = position;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n // @ts-expect-error Fix me later\n node = node.lastChild;\n if (node instanceof Text) {\n offset = node.data.length;\n } else if (node.childNodes.length > 0) {\n // Container case\n offset = node.childNodes.length;\n } else {\n // Embed case\n offset = node.childNodes.length + 1;\n }\n } else {\n break;\n }\n }\n position.node = node;\n position.offset = offset;\n });\n return range;\n }\n rangeToNative(range) {\n const scrollLength = this.scroll.length();\n const getPosition = (index, inclusive) => {\n index = Math.min(scrollLength - 1, index);\n const [leaf, leafOffset] = this.scroll.leaf(index);\n return leaf ? leaf.position(leafOffset, inclusive) : [null, -1];\n };\n return [...getPosition(range.index, false), ...getPosition(range.index + range.length, true)];\n }\n setNativeRange(startNode, startOffset) {\n let endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n let endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n let force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null ||\n // @ts-expect-error Fix me later\n endNode.parentNode == null)) {\n return;\n }\n const selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus({\n preventScroll: true\n });\n const {\n native\n } = this.getNativeRange() || {};\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode instanceof Element && startNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\n startNode = startNode.parentNode;\n }\n if (endNode instanceof Element && endNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\n endNode = endNode.parentNode;\n }\n const range = document.createRange();\n // @ts-expect-error Fix me later\n range.setStart(startNode, startOffset);\n // @ts-expect-error Fix me later\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n }\n }\n setRange(range) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n const args = this.rangeToNative(range);\n this.setNativeRange(...args, force);\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER;\n const oldRange = this.lastRange;\n const [lastRange, nativeRange] = this.getRange();\n this.lastRange = lastRange;\n this.lastNative = nativeRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"isEqual\"])(oldRange, this.lastRange)) {\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n const range = this.cursor.restore();\n if (range) {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }\n }\n const args = [_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SELECTION_CHANGE, Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"cloneDeep\"])(this.lastRange), Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"cloneDeep\"])(oldRange), source];\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.EDITOR_CHANGE, ...args);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n }\n}\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode; // eslint-disable-line @typescript-eslint/no-unused-expressions\n } catch (e) {\n return false;\n }\n return parent.contains(descendant);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Selection);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/selection.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/theme.js": +/*!***********************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/theme.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nvar _Theme;\nclass Theme {\n constructor(quill, options) {\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"modules\", {});\n this.quill = quill;\n this.options = options;\n }\n init() {\n Object.keys(this.options.modules).forEach(name => {\n if (this.modules[name] == null) {\n this.addModule(name);\n }\n });\n }\n addModule(name) {\n // @ts-expect-error\n const ModuleClass = this.quill.constructor.import(`modules/${name}`);\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n}\n_Theme = Theme;\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Theme, \"DEFAULTS\", {\n modules: {}\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Theme, \"themes\", {\n default: _Theme\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Theme);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/theme.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js": +/*!*************************************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nconst MAX_REGISTER_ITERATIONS = 100;\nconst CORE_FORMATS = ['block', 'break', 'cursor', 'inline', 'scroll', 'text'];\nconst createRegistryWithFormats = (formats, sourceRegistry, debug) => {\n const registry = new parchment__WEBPACK_IMPORTED_MODULE_0__[\"Registry\"]();\n CORE_FORMATS.forEach(name => {\n const coreBlot = sourceRegistry.query(name);\n if (coreBlot) registry.register(coreBlot);\n });\n formats.forEach(name => {\n let format = sourceRegistry.query(name);\n if (!format) {\n debug.error(`Cannot register \"${name}\" specified in \"formats\" config. Are you sure it was registered?`);\n }\n let iterations = 0;\n while (format) {\n var _format$requiredConta;\n registry.register(format);\n format = 'blotName' in format ? (_format$requiredConta = format.requiredContainer) !== null && _format$requiredConta !== void 0 ? _format$requiredConta : null : null;\n iterations += 1;\n if (iterations > MAX_REGISTER_ITERATIONS) {\n debug.error(`Cycle detected in registering blot requiredContainer: \"${name}\"`);\n break;\n }\n }\n });\n return registry;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRegistryWithFormats);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js ***! + \******************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nconst getParentElement = element => element.parentElement || element.getRootNode().host || null;\nconst getElementRect = element => {\n const rect = element.getBoundingClientRect();\n const scaleX = 'offsetWidth' in element && Math.abs(rect.width) / element.offsetWidth || 1;\n const scaleY = 'offsetHeight' in element && Math.abs(rect.height) / element.offsetHeight || 1;\n return {\n top: rect.top,\n right: rect.left + element.clientWidth * scaleX,\n bottom: rect.top + element.clientHeight * scaleY,\n left: rect.left\n };\n};\nconst paddingValueToInt = value => {\n const number = parseInt(value, 10);\n return Number.isNaN(number) ? 0 : number;\n};\n\n// Follow the steps described in https://www.w3.org/TR/cssom-view-1/#element-scrolling-members,\n// assuming that the scroll option is set to 'nearest'.\nconst getScrollDistance = (targetStart, targetEnd, scrollStart, scrollEnd, scrollPaddingStart, scrollPaddingEnd) => {\n if (targetStart < scrollStart && targetEnd > scrollEnd) {\n return 0;\n }\n if (targetStart < scrollStart) {\n return -(scrollStart - targetStart + scrollPaddingStart);\n }\n if (targetEnd > scrollEnd) {\n return targetEnd - targetStart > scrollEnd - scrollStart ? targetStart + scrollPaddingStart - scrollStart : targetEnd - scrollEnd + scrollPaddingEnd;\n }\n return 0;\n};\nconst scrollRectIntoView = (root, targetRect) => {\n const document = root.ownerDocument;\n let rect = targetRect;\n let current = root;\n while (current) {\n var _window$visualViewpor, _window$visualViewpor2, _window$visualViewpor3, _window$visualViewpor4;\n const isDocumentBody = current === document.body;\n const bounding = isDocumentBody ? {\n top: 0,\n right: (_window$visualViewpor = (_window$visualViewpor2 = window.visualViewport) === null || _window$visualViewpor2 === void 0 ? void 0 : _window$visualViewpor2.width) !== null && _window$visualViewpor !== void 0 ? _window$visualViewpor : document.documentElement.clientWidth,\n bottom: (_window$visualViewpor3 = (_window$visualViewpor4 = window.visualViewport) === null || _window$visualViewpor4 === void 0 ? void 0 : _window$visualViewpor4.height) !== null && _window$visualViewpor3 !== void 0 ? _window$visualViewpor3 : document.documentElement.clientHeight,\n left: 0\n } : getElementRect(current);\n const style = getComputedStyle(current);\n const scrollDistanceX = getScrollDistance(rect.left, rect.right, bounding.left, bounding.right, paddingValueToInt(style.scrollPaddingLeft), paddingValueToInt(style.scrollPaddingRight));\n const scrollDistanceY = getScrollDistance(rect.top, rect.bottom, bounding.top, bounding.bottom, paddingValueToInt(style.scrollPaddingTop), paddingValueToInt(style.scrollPaddingBottom));\n if (scrollDistanceX || scrollDistanceY) {\n if (isDocumentBody) {\n var _document$defaultView;\n (_document$defaultView = document.defaultView) === null || _document$defaultView === void 0 || _document$defaultView.scrollBy(scrollDistanceX, scrollDistanceY);\n } else {\n const {\n scrollLeft,\n scrollTop\n } = current;\n if (scrollDistanceY) {\n current.scrollTop += scrollDistanceY;\n }\n if (scrollDistanceX) {\n current.scrollLeft += scrollDistanceX;\n }\n const scrolledLeft = current.scrollLeft - scrollLeft;\n const scrolledTop = current.scrollTop - scrollTop;\n rect = {\n left: rect.left - scrolledLeft,\n top: rect.top - scrolledTop,\n right: rect.right - scrolledLeft,\n bottom: rect.bottom - scrolledTop\n };\n }\n }\n current = isDocumentBody || style.position === 'fixed' ? null : getParentElement(current);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (scrollRectIntoView);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js?"); + +/***/ }), + +/***/ "../simple-mind-map/node_modules/quill/dist/quill.snow.css": +/*!*****************************************************************!*\ + !*** ../simple-mind-map/node_modules/quill/dist/quill.snow.css ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a `));\n svgIsChange = true;\n }\n // 如果还开启了数学公式,还要插入katex库的样式\n if (this.mindMap.formula) {\n const formulaList = svg.find('.ql-formula');\n if (formulaList.length > 0) {\n const styleText = this.mindMap.formula.getStyleText();\n if (styleText) {\n const styleEl = document.createElement('style');\n styleEl.innerHTML = styleText;\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"addXmlns\"])(styleEl);\n foreignObjectList[0].add(styleEl);\n svgIsChange = true;\n }\n }\n }\n }\n // 自定义处理svg的方法\n if (typeof handleBeingExportSvg === 'function') {\n svgIsChange = true;\n svg = handleBeingExportSvg(svg);\n }\n // svg节点内容有变,需要重新获取html字符串\n if (taskList.length > 0 || svgIsChange) {\n svgHTML = svg.svg();\n }\n return {\n node: svg,\n str: svgHTML,\n clipData\n };\n }\n\n // svg转png\n svgToPng(svgSrc, transparent, clipData = null) {\n const {\n maxCanvasSize,\n minExportImgCanvasScale\n } = this.mindMap.opt;\n return new Promise((resolve, reject) => {\n const img = new Image();\n // 跨域图片需要添加这个属性,否则画布被污染了无法导出图片\n img.setAttribute('crossOrigin', 'anonymous');\n img.onload = async () => {\n try {\n const canvas = document.createElement('canvas');\n const dpr = Math.max(window.devicePixelRatio, minExportImgCanvasScale);\n let imgWidth = img.width;\n let imgHeight = img.height;\n // 如果是裁减操作的话,那么需要手动添加内边距,及调整图片大小为实际的裁减区域的大小,不要忘了内边距哦\n let paddingX = 0;\n let paddingY = 0;\n if (clipData) {\n paddingX = clipData.paddingX;\n paddingY = clipData.paddingY;\n imgWidth = clipData.width + paddingX * 2;\n imgHeight = clipData.height + paddingY * 2;\n }\n // 检查是否超出canvas支持的像素上限\n // canvas大小需要乘以dpr\n let canvasWidth = imgWidth * dpr;\n let canvasHeight = imgHeight * dpr;\n if (canvasWidth > maxCanvasSize || canvasHeight > maxCanvasSize) {\n let newWidth = null;\n let newHeight = null;\n if (canvasWidth > maxCanvasSize) {\n // 如果宽度超出限制,那么调整为上限值\n newWidth = maxCanvasSize;\n } else if (canvasHeight > maxCanvasSize) {\n // 高度同理\n newHeight = maxCanvasSize;\n }\n // 计算缩放后的宽高\n const res = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"resizeImgSize\"])(canvasWidth, canvasHeight, newWidth, newHeight);\n canvasWidth = res[0];\n canvasHeight = res[1];\n }\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n const styleWidth = canvasWidth / dpr;\n const styleHeight = canvasHeight / dpr;\n canvas.style.width = styleWidth + 'px';\n canvas.style.height = styleHeight + 'px';\n const ctx = canvas.getContext('2d');\n ctx.scale(dpr, dpr);\n // 绘制背景\n if (!transparent) {\n await this.drawBackgroundToCanvas(ctx, styleWidth, styleHeight);\n }\n // 图片绘制到canvas里\n // 如果有裁减数据,那么需要进行裁减\n if (clipData) {\n ctx.drawImage(img, clipData.left, clipData.top, clipData.width, clipData.height, paddingX, paddingY, clipData.width, clipData.height);\n } else {\n ctx.drawImage(img, 0, 0, styleWidth, styleHeight);\n }\n resolve(canvas.toDataURL());\n } catch (error) {\n reject(error);\n }\n };\n img.onerror = e => {\n reject(e);\n };\n img.src = svgSrc;\n });\n }\n\n // 在canvas上绘制思维导图背景\n drawBackgroundToCanvas(ctx, width, height) {\n return new Promise((resolve, reject) => {\n const {\n backgroundColor = '#fff',\n backgroundImage,\n backgroundRepeat = 'no-repeat',\n backgroundPosition = 'center center',\n backgroundSize = 'cover'\n } = this.mindMap.themeConfig;\n // 背景颜色\n ctx.save();\n ctx.rect(0, 0, width, height);\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n // 背景图片\n if (backgroundImage && backgroundImage !== 'none') {\n ctx.save();\n Object(_utils_simulateCSSBackgroundInCanvas__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(ctx, width, height, backgroundImage, {\n backgroundRepeat,\n backgroundPosition,\n backgroundSize\n }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n ctx.restore();\n });\n } else {\n resolve();\n }\n });\n }\n\n // 在svg上绘制思维导图背景\n drawBackgroundToSvg(svg) {\n return new Promise(async resolve => {\n const {\n backgroundColor = '#fff',\n backgroundImage,\n backgroundRepeat = 'repeat'\n } = this.mindMap.themeConfig;\n // 背景颜色\n svg.css('background-color', backgroundColor);\n // 背景图片\n if (backgroundImage && backgroundImage !== 'none') {\n const imgDataUrl = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"imgToDataUrl\"])(backgroundImage);\n svg.css('background-image', `url(${imgDataUrl})`);\n svg.css('background-repeat', backgroundRepeat);\n resolve();\n } else {\n resolve();\n }\n });\n }\n\n // 导出为png\n /**\n * 方法1.把svg的图片都转化成data:url格式,再转换\n * 方法2.把svg的图片提取出来再挨个绘制到canvas里,最后一起转换\n */\n async png(name, transparent = false, node = null) {\n this.handleNodeExport(node);\n const {\n str,\n clipData\n } = await this.getSvgData(node);\n const svgUrl = await this.fixSvgStrAndToBlob(str);\n const res = await this.svgToPng(svgUrl, transparent, clipData);\n return res;\n }\n\n // 导出指定节点,如果该节点是激活状态,那么取消激活和隐藏展开收起按钮\n handleNodeExport(node) {\n if (node && node.getData('isActive')) {\n node.deactivate();\n const {\n alwaysShowExpandBtn,\n notShowExpandBtn\n } = this.mindMap.opt;\n if (!alwaysShowExpandBtn && !notShowExpandBtn && node.getData('expand')) {\n node.removeExpandBtn();\n }\n }\n }\n\n // 导出为pdf\n async pdf(name, transparent = false) {\n if (!this.mindMap.doExportPDF) {\n throw new Error('请注册ExportPDF插件');\n }\n const img = await this.png(name, transparent);\n // 使用jspdf库\n // await this.mindMap.doExportPDF.pdf(name, img)\n // 使用pdf-lib库\n const res = await this.mindMap.doExportPDF.pdf(img);\n return res;\n }\n\n // 导出为xmind\n async xmind(name) {\n if (!this.mindMap.doExportXMind) {\n throw new Error('请注册ExportXMind插件');\n }\n const data = this.mindMap.getData();\n const blob = await this.mindMap.doExportXMind.xmind(data, name);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 导出为svg\n async svg(name) {\n const {\n node\n } = await this.getSvgData();\n node.first().before(Object(_svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_2__[\"SVG\"])(`${name}`));\n await this.drawBackgroundToSvg(node);\n const str = node.svg();\n const res = await this.fixSvgStrAndToBlob(str);\n return res;\n }\n\n // 修复svg字符串,并且转换为blob数据\n async fixSvgStrAndToBlob(str) {\n // 移除字符串中的html实体\n str = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"removeHTMLEntities\"])(str);\n // 给html自闭合标签添加闭合状态\n str = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"handleSelfCloseTags\"])(str);\n // 转换成blob数据\n const blob = new Blob([str], {\n type: 'image/svg+xml'\n });\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 导出为json\n async json(name, withConfig = true) {\n const data = this.mindMap.getData(withConfig);\n const str = JSON.stringify(data);\n const blob = new Blob([str]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 专有文件,其实就是json文件\n async smm(name, withConfig) {\n const res = await this.json(name, withConfig);\n return res;\n }\n\n // markdown文件\n async md() {\n const data = this.mindMap.getData();\n const content = Object(_parse_toMarkdown__WEBPACK_IMPORTED_MODULE_4__[\"transformToMarkdown\"])(data);\n const blob = new Blob([content]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // txt文件\n async txt() {\n const data = this.mindMap.getData();\n const content = Object(_parse_toTxt__WEBPACK_IMPORTED_MODULE_6__[\"transformToTxt\"])(data);\n const blob = new Blob([content]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n}\nExport.instanceName = 'doExport';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Export);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Export.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/ExportPDF.js": +/*!***************************************************!*\ + !*** ../simple-mind-map/src/plugins/ExportPDF.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var pdf_lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pdf-lib */ \"../simple-mind-map/node_modules/pdf-lib/es/index.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n// import JsPDF from '../utils/jspdf'\n\n\n\n// 导出PDF插件,需要通过Export插件使用\nclass ExportPDF {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n }\n\n // 使用pdf-lib库导出为pdf\n async pdf(img) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = async () => {\n const imageWidth = image.width;\n const imageHeight = image.height;\n // 创建pdf页面,尺寸设置为图片的大小\n const pdfDoc = await pdf_lib__WEBPACK_IMPORTED_MODULE_0__[\"PDFDocument\"].create();\n const page = pdfDoc.addPage();\n page.setSize(imageWidth, imageHeight);\n // 添加图片到pdf\n const pngImage = await pdfDoc.embedPng(img);\n page.drawImage(pngImage, {\n x: 0,\n y: 0,\n width: imageWidth,\n height: imageHeight\n });\n const pdfBytes = await pdfDoc.save();\n const blob = new Blob([pdfBytes]);\n const res = await Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n resolve(res);\n };\n image.onerror = e => {\n reject(e);\n };\n image.src = img;\n });\n }\n\n // 使用jspdf库导出为pdf\n // async pdf(name, img) {\n // return new Promise((resolve, reject) => {\n // const image = new Image()\n // image.onload = () => {\n // const imageWidth = image.width\n // const imageHeight = image.height\n // const pdf = new JsPDF({\n // unit: 'px',\n // format: [imageWidth, imageHeight],\n // compress: true,\n // hotfixes: ['px_scaling'],\n // orientation: imageWidth > imageHeight ? 'landscape' : 'portrait'\n // })\n // pdf.addImage(img, 'PNG', 0, 0, imageWidth, imageHeight)\n // pdf.save(name)\n // resolve()\n // }\n // image.onerror = e => {\n // reject(e)\n // }\n // image.src = img\n // })\n // }\n}\nExportPDF.instanceName = 'doExportPDF';\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExportPDF);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/ExportPDF.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/ExportXMind.js": +/*!*****************************************************!*\ + !*** ../simple-mind-map/src/plugins/ExportXMind.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _parse_xmind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../parse/xmind */ \"../simple-mind-map/src/parse/xmind.js\");\n\n\n// 导出XMind插件,需要通过Export插件使用\nclass ExportXMind {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n }\n\n // 导出xmind\n async xmind(data, name) {\n const zipData = await _parse_xmind__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transformToXmind(data, name);\n return zipData;\n }\n\n // 获取解析器\n getXmind() {\n return _parse_xmind__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n}\nExportXMind.instanceName = 'doExportXMind';\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExportXMind);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/ExportXMind.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/FlowChartLine.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/src/plugins/FlowChartLine.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n\n\n\n/**\n * 流程图连接线插件\n * 处理从连接点拖拽创建关联线的功能\n */\nclass FlowChartLine {\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.draw = this.mindMap.draw;\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.tempLine = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n this.bindEvents();\n }\n\n /**\n * 绑定事件\n */\n bindEvents() {\n // 监听连接点拖拽开始事件\n this.mindMap.on('flowchart_connector_drag_start', this.handleDragStart.bind(this));\n // 监听鼠标移动事件\n this.mindMap.on('mousemove', this.handleMouseMove.bind(this));\n // 监听鼠标松开事件\n this.mindMap.on('mouseup', this.handleMouseUp.bind(this));\n // 监听节点mouseenter事件,用于检测目标节点\n this.mindMap.on('node_mouseenter', this.handleNodeMouseEnter.bind(this));\n }\n\n /**\n * 处理拖拽开始\n */\n handleDragStart(data) {\n const {\n node,\n position,\n event\n } = data;\n\n // 只有流程图节点才能开始拖拽\n if (!node.nodeData.data.isFlowChart) return;\n this.isDragging = true;\n this.startNode = node;\n this.startPosition = position;\n\n // 获取连接点的绝对位置(在节点坐标系中)\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 起始点就是连接点的位置(在SVG坐标系中)\n this.startPoint = {\n x: connectorPos.x,\n y: connectorPos.y\n };\n\n // 创建临时连接线\n this.createTempLine();\n\n // 阻止默认行为\n event.preventDefault();\n event.stopPropagation();\n }\n\n /**\n * 创建临时连接线\n */\n createTempLine() {\n this.tempLine = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]().fill('none').stroke({\n color: '#2196f3',\n width: 2,\n dasharray: '5,5'\n }).css({\n 'pointer-events': 'none'\n });\n\n // 添加到关联线画布层,确保在正确的层级\n this.mindMap.associativeLineDraw.add(this.tempLine);\n this.tempLine.front(); // 确保在最前面\n this.updateTempLine(this.startPoint.x, this.startPoint.y);\n }\n\n /**\n * 更新临时连接线\n */\n updateTempLine(endX, endY) {\n if (!this.tempLine) return;\n const path = this.calculatePath(this.startPoint, {\n x: endX,\n y: endY\n });\n this.tempLine.plot(path);\n }\n\n /**\n * 计算路径\n */\n calculatePath(start, end) {\n // 对于流程图,使用正交路径的简化版本\n const path = [`M ${start.x} ${start.y}`];\n\n // 计算方向\n const dx = end.x - start.x;\n const dy = end.y - start.y;\n\n // 简单的L形路径\n if (Math.abs(dx) > Math.abs(dy)) {\n // 水平方向优先\n const midX = start.x + dx / 2;\n path.push(`L ${midX} ${start.y}`);\n path.push(`L ${midX} ${end.y}`);\n path.push(`L ${end.x} ${end.y}`);\n } else {\n // 垂直方向优先\n const midY = start.y + dy / 2;\n path.push(`L ${start.x} ${midY}`);\n path.push(`L ${end.x} ${midY}`);\n path.push(`L ${end.x} ${end.y}`);\n }\n return path.join(' ');\n }\n\n /**\n * 处理鼠标移动\n */\n handleMouseMove(e) {\n if (!this.isDragging || !this.tempLine) return;\n\n // 先转换到容器坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n\n // 然后考虑画布的变换(缩放和平移)\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否靠近某个连接点(吸附功能)\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult) {\n this.endPoint = snapResult.point;\n // 高亮目标连接点\n if (snapResult.connector) {\n snapResult.connector.animate(100).attr({\n opacity: 1,\n r: this.mindMap.opt.flowChartConnectorSize || 8\n });\n }\n } else {\n this.endPoint = mousePoint;\n // 取消所有连接点高亮\n this.unhighlightAllConnectors();\n }\n this.updateTempLine(this.endPoint.x, this.endPoint.y);\n }\n\n /**\n * 处理节点鼠标进入\n */\n handleNodeMouseEnter(node) {\n if (!this.isDragging) return;\n\n // 检查是否是流程图节点\n if (!node.nodeData.data.isFlowChart) return;\n\n // 不能连接到自己\n if (node.uid === this.startNode.uid) return;\n\n // 高亮目标节点的连接点\n if (node._flowChartConnector) {\n node._flowChartConnector.showConnectors();\n }\n }\n\n /**\n * 处理鼠标松开\n */\n handleMouseUp(e) {\n if (!this.isDragging) return;\n\n // 先转换坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否可以吸附到连接点\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult && snapResult.node) {\n // 创建实际的关联线,使用吸附的位置\n this.createAssociationLine(this.startNode, this.startPosition, snapResult.node, snapResult.position);\n } else {\n // 检查是否拖到空白处(Phase 4.4 功能)\n const targetNode = this.findNodeAtPosition(e.clientX, e.clientY);\n if (!targetNode && this.mindMap.opt.enableDragCreateFlowChartNode !== false) {\n // 在空白处创建新的流程图节点\n this.createNewFlowChartNode(mousePoint);\n // 延迟清理,让createNewFlowChartNode有机会使用startNode\n setTimeout(() => {\n this.cleanup();\n this.unhighlightAllConnectors();\n }, 200);\n return;\n }\n }\n\n // 正常情况下立即清理\n this.cleanup();\n this.unhighlightAllConnectors();\n }\n\n /**\n * 查找指定位置的节点\n */\n findNodeAtPosition(clientX, clientY) {\n // 使用更简单的方法:利用当前鼠标下的hover节点\n let targetNode = null;\n\n // 遍历所有SVG元素,查找包含smm-node类的元素\n const elements = document.elementsFromPoint(clientX, clientY);\n for (let element of elements) {\n // 查找包含节点类的SVG组元素\n const nodeGroup = element.closest('.smm-node');\n if (nodeGroup) {\n // 尝试从DOM元素获取存储的节点引用\n // 很多库会将节点实例存储在DOM元素上\n if (nodeGroup._node) {\n targetNode = nodeGroup._node;\n break;\n }\n\n // 如果没有直接引用,遍历所有节点查找匹配的DOM元素\n const allNodes = [];\n\n // 收集所有节点\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n\n // 处理多根模式\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n // 多根模式\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) {\n collectNodes(root._node);\n }\n });\n } else if (this.mindMap.renderer.root) {\n // 单根模式 - 使用渲染后的根节点\n collectNodes(this.mindMap.renderer.root);\n }\n }\n\n // 查找匹配的节点\n for (let node of allNodes) {\n if (node.group && node.group.node === nodeGroup) {\n targetNode = node;\n break;\n }\n }\n if (targetNode) break;\n }\n }\n return targetNode;\n }\n\n /**\n * 检查是否可以吸附到连接点\n */\n checkSnapToConnector(mousePoint, clientX, clientY) {\n const snapThreshold = 20; // 吸附阈值(像素)\n\n // 查找鼠标下的节点\n const targetNode = this.findNodeAtPosition(clientX, clientY);\n if (targetNode && targetNode.nodeData.data.isFlowChart && targetNode.uid !== this.startNode.uid && targetNode._flowChartConnector) {\n // 获取所有连接点位置\n const positions = ['top', 'right', 'bottom', 'left'];\n let nearestConnector = null;\n let nearestDistance = Infinity;\n let nearestPoint = null;\n let nearestPosition = null;\n positions.forEach(position => {\n const connector = targetNode._flowChartConnector.getConnectorByPosition(position);\n if (!connector) return;\n const connectorPos = targetNode._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 计算距离\n const distance = Math.sqrt(Math.pow(connectorPos.x - mousePoint.x, 2) + Math.pow(connectorPos.y - mousePoint.y, 2));\n if (distance < snapThreshold && distance < nearestDistance) {\n nearestDistance = distance;\n nearestConnector = connector;\n nearestPoint = connectorPos;\n nearestPosition = position;\n }\n });\n if (nearestConnector) {\n return {\n point: nearestPoint,\n connector: nearestConnector,\n node: targetNode,\n position: nearestPosition\n };\n }\n }\n return null;\n }\n\n /**\n * 取消所有连接点高亮\n */\n unhighlightAllConnectors() {\n // 遍历所有节点,取消连接点高亮\n const allNodes = [];\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) collectNodes(root._node);\n });\n } else if (this.mindMap.renderer.root) {\n collectNodes(this.mindMap.renderer.root);\n }\n }\n allNodes.forEach(node => {\n if (node._flowChartConnector) {\n node._flowChartConnector.hideConnectors();\n }\n });\n }\n\n /**\n * 找到最近的连接点\n */\n findNearestConnector(node, point) {\n if (!node._flowChartConnector) return null;\n let minDistance = Infinity;\n let nearestPosition = null;\n const positions = ['top', 'right', 'bottom', 'left'];\n positions.forEach(position => {\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n const distance = Math.sqrt(Math.pow(connectorPos.x - point.x, 2) + Math.pow(connectorPos.y - point.y, 2));\n if (distance < minDistance) {\n minDistance = distance;\n nearestPosition = position;\n }\n });\n return nearestPosition;\n }\n\n /**\n * 创建关联线\n */\n createAssociationLine(startNode, startPosition, endNode, endPosition) {\n // 检查参数有效性\n if (!startNode || !endNode) {\n console.warn('createAssociationLine: 无效的节点参数', startNode, endNode);\n return;\n }\n\n // 使用现有的关联线功能\n if (this.mindMap.associativeLine) {\n // 先添加关联线\n this.mindMap.associativeLine.addLine(startNode, endNode);\n\n // 获取当前的关联线目标数组\n const targets = startNode.getData('associativeLineTargets') || [];\n const targetIndex = targets.findIndex(t => t === endNode.getData('uid'));\n if (targetIndex !== -1) {\n // 获取或创建关联线点位数组\n const associativeLinePoint = startNode.getData('associativeLinePoint') || [];\n\n // 确保数组长度足够\n while (associativeLinePoint.length <= targetIndex) {\n associativeLinePoint.push({});\n }\n\n // 设置该关联线的连接点位置\n associativeLinePoint[targetIndex] = {\n startPoint: {\n dir: startPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n },\n endPoint: {\n dir: endPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n }\n };\n\n // 更新节点数据\n this.mindMap.execCommand('SET_NODE_DATA', startNode, {\n associativeLinePoint\n });\n\n // 立即重新渲染关联线以应用新的位置\n setTimeout(() => {\n this.mindMap.associativeLine.renderAllLines();\n }, 0);\n }\n\n // 触发事件\n this.mindMap.emit('flowchart_line_created', {\n startNode,\n startPosition,\n endNode,\n endPosition\n });\n }\n }\n\n /**\n * 创建新的流程图节点\n */\n createNewFlowChartNode(position) {\n // 默认创建一个处理节点\n const nodeType = 'process';\n const newNodeData = {\n data: {\n text: '新节点',\n isFlowChart: true,\n flowchart: {\n nodeType: nodeType\n },\n customLeft: position.x - 50,\n // 居中\n customTop: position.y - 25\n },\n children: []\n };\n\n // 保存起始节点和位置,避免在异步回调中丢失\n const sourceNode = this.startNode;\n const sourcePosition = this.startPosition;\n\n // 使用正确的 addRootNode 方法,传入回调函数\n this.mindMap.addRootNode(newNodeData, -1, createdNode => {\n if (createdNode) {\n // 根据拖拽方向决定连接点\n const dx = position.x - this.startPoint.x;\n const dy = position.y - this.startPoint.y;\n let targetPosition = 'left';\n if (Math.abs(dx) > Math.abs(dy)) {\n targetPosition = dx > 0 ? 'left' : 'right';\n } else {\n targetPosition = dy > 0 ? 'top' : 'bottom';\n }\n\n // 稍微延迟以确保节点完全渲染并初始化\n setTimeout(() => {\n // 确保节点已经完全初始化\n if (createdNode && createdNode.getData) {\n // 创建关联线\n this.createAssociationLine(sourceNode, sourcePosition, createdNode, targetPosition);\n\n // 激活新节点以便编辑\n createdNode.active();\n\n // 触发节点创建事件\n this.mindMap.emit('flowchart_node_created', {\n node: createdNode,\n fromNode: sourceNode,\n position: position\n });\n } else {\n console.warn('新创建的节点尚未完全初始化');\n }\n }, 100); // 增加延迟时间\n }\n });\n }\n\n /**\n * 清理临时元素\n */\n cleanup() {\n if (this.tempLine) {\n this.tempLine.remove();\n this.tempLine = null;\n }\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n }\n\n /**\n * 销毁插件\n */\n destroy() {\n this.cleanup();\n this.mindMap.off('flowchart_connector_drag_start', this.handleDragStart);\n this.mindMap.off('mousemove', this.handleMouseMove);\n this.mindMap.off('mouseup', this.handleMouseUp);\n this.mindMap.off('node_mouseenter', this.handleNodeMouseEnter);\n }\n}\n\n// 注册插件\nFlowChartLine.pluginName = 'flowChartLine';\n/* harmony default export */ __webpack_exports__[\"default\"] = (FlowChartLine);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/FlowChartLine.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Formula.js": +/*!*************************************************!*\ + !*** ../simple-mind-map/src/plugins/Formula.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.match-all.js */ \"./node_modules/core-js/modules/es.string.match-all.js\");\n/* harmony import */ var core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! katex */ \"../simple-mind-map/node_modules/katex/dist/katex.js\");\n/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! quill */ \"../simple-mind-map/node_modules/quill/quill.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _FormulaStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FormulaStyle */ \"../simple-mind-map/src/plugins/FormulaStyle.js\");\n\n\n\n\n\nlet extended = false;\nconst QuillFormula = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('formats/formula');\n\n// 数学公式支持插件\n// 该插件在富文本模式下可用\nclass Formula {\n // 构造函数\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n window.katex = katex__WEBPACK_IMPORTED_MODULE_1___default.a;\n this.init();\n this.config = this.getKatexConfig();\n this.cssEl = null;\n this.addStyle();\n this.extendQuill();\n this.onDestroy = this.onDestroy.bind(this);\n this.mindMap.on('beforeDestroy', this.onDestroy);\n }\n onDestroy() {\n const instanceCount = Object.getPrototypeOf(this.mindMap).constructor.instanceCount;\n // 如果思维导图实例数量变成0了,那么就恢复成默认的\n if (instanceCount <= 1) {\n extended = false;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register('formats/formula', QuillFormula, true);\n }\n }\n init() {\n if (this.mindMap.opt.enableEditFormulaInRichTextEdit) {\n this.mindMap.opt.transformRichTextOnEnterEdit = this.latexRichToText.bind(this);\n this.mindMap.opt.beforeHideRichTextEdit = this.formatLatex.bind(this);\n }\n }\n\n // 获取katex配置\n getKatexConfig() {\n const config = {\n throwOnError: false,\n errorColor: '#f00',\n output: 'mathml' // 默认只输出公式\n };\n let {\n getKatexOutputType\n } = this.mindMap.opt;\n getKatexOutputType = getKatexOutputType || function () {\n // Chrome内核100以下,mathml配置公式无法正确渲染\n const chromeVersion = Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__[\"getChromeVersion\"])();\n if (chromeVersion && chromeVersion <= 100) {\n return 'html';\n }\n };\n const output = getKatexOutputType() || 'mathml';\n config.output = ['mathml', 'html'].includes(output) ? output : 'mathml';\n return config;\n }\n\n // 修改formula格式工具\n extendQuill() {\n if (extended) return;\n extended = true;\n const self = this;\n class CustomFormulaBlot extends QuillFormula {\n static create(value) {\n let node = super.create(value);\n if (typeof value === 'string') {\n katex__WEBPACK_IMPORTED_MODULE_1___default.a.render(value, node, self.config);\n node.setAttribute('data-value', Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__[\"htmlEscape\"])(value));\n }\n return node;\n }\n }\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register('formats/formula', CustomFormulaBlot, true);\n }\n getStyleText() {\n const {\n katexFontPath\n } = this.mindMap.opt;\n let text = '';\n if (this.config.output === 'html') {\n text = Object(_FormulaStyle__WEBPACK_IMPORTED_MODULE_4__[\"getFontStyleText\"])(katexFontPath);\n }\n text += Object(_FormulaStyle__WEBPACK_IMPORTED_MODULE_4__[\"getBaseStyleText\"])();\n return text;\n }\n addStyle() {\n this.cssEl = document.createElement('style');\n this.cssEl.type = 'text/css';\n this.cssEl.innerHTML = this.getStyleText();\n document.head.appendChild(this.cssEl);\n }\n removeStyle() {\n document.head.removeChild(this.cssEl);\n }\n\n // 给指定的节点插入指定公式\n insertFormulaToNode(node, formula) {\n const richTextPlugin = this.mindMap.richText;\n richTextPlugin.showEditText({\n node\n });\n richTextPlugin.quill.insertEmbed(richTextPlugin.quill.getLength() - 1, 'formula', formula);\n richTextPlugin.hideEditText([node]);\n }\n\n // 将公式富文本转换为公式源码\n latexRichToText(nodeText) {\n if (nodeText.indexOf('class=\"ql-formula\"') !== -1) {\n const parser = new DOMParser();\n const doc = parser.parseFromString(nodeText, 'text/html');\n const els = doc.getElementsByClassName('ql-formula');\n for (const el of els) nodeText = nodeText.replace(el.outerHTML, `$${el.getAttribute('data-value')}$`);\n // 如果开启了实时渲染,那么意味公式转换为源码时会影响节点尺寸,需要派发事件触发渲染\n if (this.mindMap.opt.openRealtimeRenderOnNodeTextEdit) {\n setTimeout(() => {\n this.mindMap.emit('node_text_edit_change', {\n node: this.mindMap.richText.node,\n text: this.mindMap.richText.getEditText(),\n richText: true\n });\n }, 0);\n }\n }\n return nodeText;\n }\n\n // 使用格式化的 latex 字符串内容更新 quill 内容:输入 $*****$\n formatLatex(richText) {\n const contents = richText.quill.getContents();\n const ops = contents.ops;\n let mod = false;\n for (let i = ops.length - 1; i >= 0; i--) {\n const op = ops[i];\n const insert = op.insert;\n if (insert && typeof insert !== 'object' && insert !== '\\n') {\n if (/\\$.+?\\$/g.test(insert)) {\n const m = [...insert.matchAll(/\\$.+?\\$/g)];\n const arr = insert.split(/\\$.+?\\$/g);\n for (let j = m.length - 1; j >= 0; j--) {\n const exp = m[j] && m[j][0] ? m[j][0].slice(1, -1) || null : null; // $...$ 之间的表达式\n if (exp !== null && exp.trim().length > 0) {\n const isLegal = this.checkFormulaIsLegal(exp);\n if (isLegal) {\n arr.splice(j + 1, 0, {\n insert: {\n formula: exp\n }\n }); // 添加到对应位置之后\n mod = true;\n } else {\n arr.splice(j + 1, 0, '');\n }\n } else arr.splice(j + 1, 0, ''); // 表达式为空时,占位\n }\n while (arr.length > 0) {\n let v = arr.pop();\n if (typeof v === 'string') {\n if (v.length < 1) continue;\n v = {\n insert: v\n };\n }\n v['attributes'] = ops[i]['attributes'];\n ops.splice(i + 1, 0, v);\n }\n ops.splice(i, 1); // 删除原来的字符串\n }\n }\n }\n if (mod) richText.quill.setContents(contents);\n }\n checkFormulaIsLegal(str) {\n try {\n katex__WEBPACK_IMPORTED_MODULE_1___default.a.renderToString(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.removeStyle();\n this.mindMap.off('beforeDestroy', this.onDestroy);\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.removeStyle();\n this.mindMap.off('beforeDestroy', this.onDestroy);\n }\n}\nFormula.instanceName = 'formula';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Formula);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Formula.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/FormulaStyle.js": +/*!******************************************************!*\ + !*** ../simple-mind-map/src/plugins/FormulaStyle.js ***! + \******************************************************/ +/*! exports provided: getFontStyleText, getBaseStyleText */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFontStyleText\", function() { return getFontStyleText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBaseStyleText\", function() { return getBaseStyleText; });\nconst getFontStyleText = fontPath => {\n return `\n@font-face {\n font-family: 'KaTeX_AMS';\n src: url(${fontPath}fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_AMS-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_AMS-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Caligraphic';\n src: url(${fontPath}fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Caligraphic';\n src: url(${fontPath}fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Fraktur';\n src: url(${fontPath}fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Fraktur';\n src: url(${fontPath}fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Math';\n src: url(${fontPath}fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Math';\n src: url(${fontPath}fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Math-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Math-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Script';\n src: url(${fontPath}fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Script-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Script-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size1';\n src: url(${fontPath}fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size1-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size1-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size2';\n src: url(${fontPath}fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size2-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size2-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size3';\n src: url(${fontPath}fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size3-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size3-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size4';\n src: url(${fontPath}fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size4-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size4-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Typewriter';\n src: url(${fontPath}fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n `;\n};\nconst getBaseStyleText = () => {\n return `\n.katex {\n font: normal 1.21em KaTeX_Main, Times New Roman, serif;\n line-height: 1.2;\n text-indent: 0;\n text-rendering: auto;\n}\n.katex * {\n -ms-high-contrast-adjust: none !important;\n}\n.katex * {\n border-color: currentColor;\n}\n.katex .katex-version::after {\n content: \"0.16.9\";\n}\n.katex .katex-mathml {\n /* Accessibility hack to only show to screen readers\n Found at: http://a11yproject.com/posts/how-to-hide-content/ */\n position: absolute;\n clip: rect(1px, 1px, 1px, 1px);\n padding: 0;\n border: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n}\n.katex .katex-html {\n /* \\newline is an empty block at top level, between .base elements */\n}\n.katex .katex-html > .newline {\n display: block;\n}\n.katex .base {\n position: relative;\n display: inline-block;\n white-space: nowrap;\n width: -webkit-min-content;\n width: -moz-min-content;\n width: min-content;\n}\n.katex .strut {\n display: inline-block;\n}\n.katex .textbf {\n font-weight: bold;\n}\n.katex .textit {\n font-style: italic;\n}\n.katex .textrm {\n font-family: KaTeX_Main;\n}\n.katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n.katex .texttt {\n font-family: KaTeX_Typewriter;\n}\n.katex .mathnormal {\n font-family: KaTeX_Math;\n font-style: italic;\n}\n.katex .mathit {\n font-family: KaTeX_Main;\n font-style: italic;\n}\n.katex .mathrm {\n font-style: normal;\n}\n.katex .mathbf {\n font-family: KaTeX_Main;\n font-weight: bold;\n}\n.katex .boldsymbol {\n font-family: KaTeX_Math;\n font-weight: bold;\n font-style: italic;\n}\n.katex .amsrm {\n font-family: KaTeX_AMS;\n}\n.katex .mathbb,\n.katex .textbb {\n font-family: KaTeX_AMS;\n}\n.katex .mathcal {\n font-family: KaTeX_Caligraphic;\n}\n.katex .mathfrak,\n.katex .textfrak {\n font-family: KaTeX_Fraktur;\n}\n.katex .mathboldfrak,\n.katex .textboldfrak {\n font-family: KaTeX_Fraktur;\n font-weight: bold;\n}\n.katex .mathtt {\n font-family: KaTeX_Typewriter;\n}\n.katex .mathscr,\n.katex .textscr {\n font-family: KaTeX_Script;\n}\n.katex .mathsf,\n.katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n.katex .mathboldsf,\n.katex .textboldsf {\n font-family: KaTeX_SansSerif;\n font-weight: bold;\n}\n.katex .mathitsf,\n.katex .textitsf {\n font-family: KaTeX_SansSerif;\n font-style: italic;\n}\n.katex .mainrm {\n font-family: KaTeX_Main;\n font-style: normal;\n}\n.katex .vlist-t {\n display: inline-table;\n table-layout: fixed;\n border-collapse: collapse;\n}\n.katex .vlist-r {\n display: table-row;\n}\n.katex .vlist {\n display: table-cell;\n vertical-align: bottom;\n position: relative;\n}\n.katex .vlist > span {\n display: block;\n height: 0;\n position: relative;\n}\n.katex .vlist > span > span {\n display: inline-block;\n}\n.katex .vlist > span > .pstrut {\n overflow: hidden;\n width: 0;\n}\n.katex .vlist-t2 {\n margin-right: -2px;\n}\n.katex .vlist-s {\n display: table-cell;\n vertical-align: bottom;\n font-size: 1px;\n width: 2px;\n min-width: 2px;\n}\n.katex .vbox {\n display: inline-flex;\n flex-direction: column;\n align-items: baseline;\n}\n.katex .hbox {\n display: inline-flex;\n flex-direction: row;\n width: 100%;\n}\n.katex .thinbox {\n display: inline-flex;\n flex-direction: row;\n width: 0;\n max-width: 0;\n}\n.katex .msupsub {\n text-align: left;\n}\n.katex .mfrac > span > span {\n text-align: center;\n}\n.katex .mfrac .frac-line {\n display: inline-block;\n width: 100%;\n border-bottom-style: solid;\n}\n.katex .mfrac .frac-line,\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline,\n.katex .hdashline,\n.katex .rule {\n min-height: 1px;\n}\n.katex .mspace {\n display: inline-block;\n}\n.katex .llap,\n.katex .rlap,\n.katex .clap {\n width: 0;\n position: relative;\n}\n.katex .llap > .inner,\n.katex .rlap > .inner,\n.katex .clap > .inner {\n position: absolute;\n}\n.katex .llap > .fix,\n.katex .rlap > .fix,\n.katex .clap > .fix {\n display: inline-block;\n}\n.katex .llap > .inner {\n right: 0;\n}\n.katex .rlap > .inner,\n.katex .clap > .inner {\n left: 0;\n}\n.katex .clap > .inner > span {\n margin-left: -50%;\n margin-right: 50%;\n}\n.katex .rule {\n display: inline-block;\n border: solid 0;\n position: relative;\n}\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline {\n display: inline-block;\n width: 100%;\n border-bottom-style: solid;\n}\n.katex .hdashline {\n display: inline-block;\n width: 100%;\n border-bottom-style: dashed;\n}\n.katex .sqrt > .root {\n margin-left: 0.27777778em;\n margin-right: -0.55555556em;\n}\n.katex .sizing.reset-size1.size1,\n.katex .fontsize-ensurer.reset-size1.size1 {\n font-size: 1em;\n}\n.katex .sizing.reset-size1.size2,\n.katex .fontsize-ensurer.reset-size1.size2 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size1.size3,\n.katex .fontsize-ensurer.reset-size1.size3 {\n font-size: 1.4em;\n}\n.katex .sizing.reset-size1.size4,\n.katex .fontsize-ensurer.reset-size1.size4 {\n font-size: 1.6em;\n}\n.katex .sizing.reset-size1.size5,\n.katex .fontsize-ensurer.reset-size1.size5 {\n font-size: 1.8em;\n}\n.katex .sizing.reset-size1.size6,\n.katex .fontsize-ensurer.reset-size1.size6 {\n font-size: 2em;\n}\n.katex .sizing.reset-size1.size7,\n.katex .fontsize-ensurer.reset-size1.size7 {\n font-size: 2.4em;\n}\n.katex .sizing.reset-size1.size8,\n.katex .fontsize-ensurer.reset-size1.size8 {\n font-size: 2.88em;\n}\n.katex .sizing.reset-size1.size9,\n.katex .fontsize-ensurer.reset-size1.size9 {\n font-size: 3.456em;\n}\n.katex .sizing.reset-size1.size10,\n.katex .fontsize-ensurer.reset-size1.size10 {\n font-size: 4.148em;\n}\n.katex .sizing.reset-size1.size11,\n.katex .fontsize-ensurer.reset-size1.size11 {\n font-size: 4.976em;\n}\n.katex .sizing.reset-size2.size1,\n.katex .fontsize-ensurer.reset-size2.size1 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size2.size2,\n.katex .fontsize-ensurer.reset-size2.size2 {\n font-size: 1em;\n}\n.katex .sizing.reset-size2.size3,\n.katex .fontsize-ensurer.reset-size2.size3 {\n font-size: 1.16666667em;\n}\n.katex .sizing.reset-size2.size4,\n.katex .fontsize-ensurer.reset-size2.size4 {\n font-size: 1.33333333em;\n}\n.katex .sizing.reset-size2.size5,\n.katex .fontsize-ensurer.reset-size2.size5 {\n font-size: 1.5em;\n}\n.katex .sizing.reset-size2.size6,\n.katex .fontsize-ensurer.reset-size2.size6 {\n font-size: 1.66666667em;\n}\n.katex .sizing.reset-size2.size7,\n.katex .fontsize-ensurer.reset-size2.size7 {\n font-size: 2em;\n}\n.katex .sizing.reset-size2.size8,\n.katex .fontsize-ensurer.reset-size2.size8 {\n font-size: 2.4em;\n}\n.katex .sizing.reset-size2.size9,\n.katex .fontsize-ensurer.reset-size2.size9 {\n font-size: 2.88em;\n}\n.katex .sizing.reset-size2.size10,\n.katex .fontsize-ensurer.reset-size2.size10 {\n font-size: 3.45666667em;\n}\n.katex .sizing.reset-size2.size11,\n.katex .fontsize-ensurer.reset-size2.size11 {\n font-size: 4.14666667em;\n}\n.katex .sizing.reset-size3.size1,\n.katex .fontsize-ensurer.reset-size3.size1 {\n font-size: 0.71428571em;\n}\n.katex .sizing.reset-size3.size2,\n.katex .fontsize-ensurer.reset-size3.size2 {\n font-size: 0.85714286em;\n}\n.katex .sizing.reset-size3.size3,\n.katex .fontsize-ensurer.reset-size3.size3 {\n font-size: 1em;\n}\n.katex .sizing.reset-size3.size4,\n.katex .fontsize-ensurer.reset-size3.size4 {\n font-size: 1.14285714em;\n}\n.katex .sizing.reset-size3.size5,\n.katex .fontsize-ensurer.reset-size3.size5 {\n font-size: 1.28571429em;\n}\n.katex .sizing.reset-size3.size6,\n.katex .fontsize-ensurer.reset-size3.size6 {\n font-size: 1.42857143em;\n}\n.katex .sizing.reset-size3.size7,\n.katex .fontsize-ensurer.reset-size3.size7 {\n font-size: 1.71428571em;\n}\n.katex .sizing.reset-size3.size8,\n.katex .fontsize-ensurer.reset-size3.size8 {\n font-size: 2.05714286em;\n}\n.katex .sizing.reset-size3.size9,\n.katex .fontsize-ensurer.reset-size3.size9 {\n font-size: 2.46857143em;\n}\n.katex .sizing.reset-size3.size10,\n.katex .fontsize-ensurer.reset-size3.size10 {\n font-size: 2.96285714em;\n}\n.katex .sizing.reset-size3.size11,\n.katex .fontsize-ensurer.reset-size3.size11 {\n font-size: 3.55428571em;\n}\n.katex .sizing.reset-size4.size1,\n.katex .fontsize-ensurer.reset-size4.size1 {\n font-size: 0.625em;\n}\n.katex .sizing.reset-size4.size2,\n.katex .fontsize-ensurer.reset-size4.size2 {\n font-size: 0.75em;\n}\n.katex .sizing.reset-size4.size3,\n.katex .fontsize-ensurer.reset-size4.size3 {\n font-size: 0.875em;\n}\n.katex .sizing.reset-size4.size4,\n.katex .fontsize-ensurer.reset-size4.size4 {\n font-size: 1em;\n}\n.katex .sizing.reset-size4.size5,\n.katex .fontsize-ensurer.reset-size4.size5 {\n font-size: 1.125em;\n}\n.katex .sizing.reset-size4.size6,\n.katex .fontsize-ensurer.reset-size4.size6 {\n font-size: 1.25em;\n}\n.katex .sizing.reset-size4.size7,\n.katex .fontsize-ensurer.reset-size4.size7 {\n font-size: 1.5em;\n}\n.katex .sizing.reset-size4.size8,\n.katex .fontsize-ensurer.reset-size4.size8 {\n font-size: 1.8em;\n}\n.katex .sizing.reset-size4.size9,\n.katex .fontsize-ensurer.reset-size4.size9 {\n font-size: 2.16em;\n}\n.katex .sizing.reset-size4.size10,\n.katex .fontsize-ensurer.reset-size4.size10 {\n font-size: 2.5925em;\n}\n.katex .sizing.reset-size4.size11,\n.katex .fontsize-ensurer.reset-size4.size11 {\n font-size: 3.11em;\n}\n.katex .sizing.reset-size5.size1,\n.katex .fontsize-ensurer.reset-size5.size1 {\n font-size: 0.55555556em;\n}\n.katex .sizing.reset-size5.size2,\n.katex .fontsize-ensurer.reset-size5.size2 {\n font-size: 0.66666667em;\n}\n.katex .sizing.reset-size5.size3,\n.katex .fontsize-ensurer.reset-size5.size3 {\n font-size: 0.77777778em;\n}\n.katex .sizing.reset-size5.size4,\n.katex .fontsize-ensurer.reset-size5.size4 {\n font-size: 0.88888889em;\n}\n.katex .sizing.reset-size5.size5,\n.katex .fontsize-ensurer.reset-size5.size5 {\n font-size: 1em;\n}\n.katex .sizing.reset-size5.size6,\n.katex .fontsize-ensurer.reset-size5.size6 {\n font-size: 1.11111111em;\n}\n.katex .sizing.reset-size5.size7,\n.katex .fontsize-ensurer.reset-size5.size7 {\n font-size: 1.33333333em;\n}\n.katex .sizing.reset-size5.size8,\n.katex .fontsize-ensurer.reset-size5.size8 {\n font-size: 1.6em;\n}\n.katex .sizing.reset-size5.size9,\n.katex .fontsize-ensurer.reset-size5.size9 {\n font-size: 1.92em;\n}\n.katex .sizing.reset-size5.size10,\n.katex .fontsize-ensurer.reset-size5.size10 {\n font-size: 2.30444444em;\n}\n.katex .sizing.reset-size5.size11,\n.katex .fontsize-ensurer.reset-size5.size11 {\n font-size: 2.76444444em;\n}\n.katex .sizing.reset-size6.size1,\n.katex .fontsize-ensurer.reset-size6.size1 {\n font-size: 0.5em;\n}\n.katex .sizing.reset-size6.size2,\n.katex .fontsize-ensurer.reset-size6.size2 {\n font-size: 0.6em;\n}\n.katex .sizing.reset-size6.size3,\n.katex .fontsize-ensurer.reset-size6.size3 {\n font-size: 0.7em;\n}\n.katex .sizing.reset-size6.size4,\n.katex .fontsize-ensurer.reset-size6.size4 {\n font-size: 0.8em;\n}\n.katex .sizing.reset-size6.size5,\n.katex .fontsize-ensurer.reset-size6.size5 {\n font-size: 0.9em;\n}\n.katex .sizing.reset-size6.size6,\n.katex .fontsize-ensurer.reset-size6.size6 {\n font-size: 1em;\n}\n.katex .sizing.reset-size6.size7,\n.katex .fontsize-ensurer.reset-size6.size7 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size6.size8,\n.katex .fontsize-ensurer.reset-size6.size8 {\n font-size: 1.44em;\n}\n.katex .sizing.reset-size6.size9,\n.katex .fontsize-ensurer.reset-size6.size9 {\n font-size: 1.728em;\n}\n.katex .sizing.reset-size6.size10,\n.katex .fontsize-ensurer.reset-size6.size10 {\n font-size: 2.074em;\n}\n.katex .sizing.reset-size6.size11,\n.katex .fontsize-ensurer.reset-size6.size11 {\n font-size: 2.488em;\n}\n.katex .sizing.reset-size7.size1,\n.katex .fontsize-ensurer.reset-size7.size1 {\n font-size: 0.41666667em;\n}\n.katex .sizing.reset-size7.size2,\n.katex .fontsize-ensurer.reset-size7.size2 {\n font-size: 0.5em;\n}\n.katex .sizing.reset-size7.size3,\n.katex .fontsize-ensurer.reset-size7.size3 {\n font-size: 0.58333333em;\n}\n.katex .sizing.reset-size7.size4,\n.katex .fontsize-ensurer.reset-size7.size4 {\n font-size: 0.66666667em;\n}\n.katex .sizing.reset-size7.size5,\n.katex .fontsize-ensurer.reset-size7.size5 {\n font-size: 0.75em;\n}\n.katex .sizing.reset-size7.size6,\n.katex .fontsize-ensurer.reset-size7.size6 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size7.size7,\n.katex .fontsize-ensurer.reset-size7.size7 {\n font-size: 1em;\n}\n.katex .sizing.reset-size7.size8,\n.katex .fontsize-ensurer.reset-size7.size8 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size7.size9,\n.katex .fontsize-ensurer.reset-size7.size9 {\n font-size: 1.44em;\n}\n.katex .sizing.reset-size7.size10,\n.katex .fontsize-ensurer.reset-size7.size10 {\n font-size: 1.72833333em;\n}\n.katex .sizing.reset-size7.size11,\n.katex .fontsize-ensurer.reset-size7.size11 {\n font-size: 2.07333333em;\n}\n.katex .sizing.reset-size8.size1,\n.katex .fontsize-ensurer.reset-size8.size1 {\n font-size: 0.34722222em;\n}\n.katex .sizing.reset-size8.size2,\n.katex .fontsize-ensurer.reset-size8.size2 {\n font-size: 0.41666667em;\n}\n.katex .sizing.reset-size8.size3,\n.katex .fontsize-ensurer.reset-size8.size3 {\n font-size: 0.48611111em;\n}\n.katex .sizing.reset-size8.size4,\n.katex .fontsize-ensurer.reset-size8.size4 {\n font-size: 0.55555556em;\n}\n.katex .sizing.reset-size8.size5,\n.katex .fontsize-ensurer.reset-size8.size5 {\n font-size: 0.625em;\n}\n.katex .sizing.reset-size8.size6,\n.katex .fontsize-ensurer.reset-size8.size6 {\n font-size: 0.69444444em;\n}\n.katex .sizing.reset-size8.size7,\n.katex .fontsize-ensurer.reset-size8.size7 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size8.size8,\n.katex .fontsize-ensurer.reset-size8.size8 {\n font-size: 1em;\n}\n.katex .sizing.reset-size8.size9,\n.katex .fontsize-ensurer.reset-size8.size9 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size8.size10,\n.katex .fontsize-ensurer.reset-size8.size10 {\n font-size: 1.44027778em;\n}\n.katex .sizing.reset-size8.size11,\n.katex .fontsize-ensurer.reset-size8.size11 {\n font-size: 1.72777778em;\n}\n.katex .sizing.reset-size9.size1,\n.katex .fontsize-ensurer.reset-size9.size1 {\n font-size: 0.28935185em;\n}\n.katex .sizing.reset-size9.size2,\n.katex .fontsize-ensurer.reset-size9.size2 {\n font-size: 0.34722222em;\n}\n.katex .sizing.reset-size9.size3,\n.katex .fontsize-ensurer.reset-size9.size3 {\n font-size: 0.40509259em;\n}\n.katex .sizing.reset-size9.size4,\n.katex .fontsize-ensurer.reset-size9.size4 {\n font-size: 0.46296296em;\n}\n.katex .sizing.reset-size9.size5,\n.katex .fontsize-ensurer.reset-size9.size5 {\n font-size: 0.52083333em;\n}\n.katex .sizing.reset-size9.size6,\n.katex .fontsize-ensurer.reset-size9.size6 {\n font-size: 0.5787037em;\n}\n.katex .sizing.reset-size9.size7,\n.katex .fontsize-ensurer.reset-size9.size7 {\n font-size: 0.69444444em;\n}\n.katex .sizing.reset-size9.size8,\n.katex .fontsize-ensurer.reset-size9.size8 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size9.size9,\n.katex .fontsize-ensurer.reset-size9.size9 {\n font-size: 1em;\n}\n.katex .sizing.reset-size9.size10,\n.katex .fontsize-ensurer.reset-size9.size10 {\n font-size: 1.20023148em;\n}\n.katex .sizing.reset-size9.size11,\n.katex .fontsize-ensurer.reset-size9.size11 {\n font-size: 1.43981481em;\n}\n.katex .sizing.reset-size10.size1,\n.katex .fontsize-ensurer.reset-size10.size1 {\n font-size: 0.24108004em;\n}\n.katex .sizing.reset-size10.size2,\n.katex .fontsize-ensurer.reset-size10.size2 {\n font-size: 0.28929605em;\n}\n.katex .sizing.reset-size10.size3,\n.katex .fontsize-ensurer.reset-size10.size3 {\n font-size: 0.33751205em;\n}\n.katex .sizing.reset-size10.size4,\n.katex .fontsize-ensurer.reset-size10.size4 {\n font-size: 0.38572806em;\n}\n.katex .sizing.reset-size10.size5,\n.katex .fontsize-ensurer.reset-size10.size5 {\n font-size: 0.43394407em;\n}\n.katex .sizing.reset-size10.size6,\n.katex .fontsize-ensurer.reset-size10.size6 {\n font-size: 0.48216008em;\n}\n.katex .sizing.reset-size10.size7,\n.katex .fontsize-ensurer.reset-size10.size7 {\n font-size: 0.57859209em;\n}\n.katex .sizing.reset-size10.size8,\n.katex .fontsize-ensurer.reset-size10.size8 {\n font-size: 0.69431051em;\n}\n.katex .sizing.reset-size10.size9,\n.katex .fontsize-ensurer.reset-size10.size9 {\n font-size: 0.83317261em;\n}\n.katex .sizing.reset-size10.size10,\n.katex .fontsize-ensurer.reset-size10.size10 {\n font-size: 1em;\n}\n.katex .sizing.reset-size10.size11,\n.katex .fontsize-ensurer.reset-size10.size11 {\n font-size: 1.19961427em;\n}\n.katex .sizing.reset-size11.size1,\n.katex .fontsize-ensurer.reset-size11.size1 {\n font-size: 0.20096463em;\n}\n.katex .sizing.reset-size11.size2,\n.katex .fontsize-ensurer.reset-size11.size2 {\n font-size: 0.24115756em;\n}\n.katex .sizing.reset-size11.size3,\n.katex .fontsize-ensurer.reset-size11.size3 {\n font-size: 0.28135048em;\n}\n.katex .sizing.reset-size11.size4,\n.katex .fontsize-ensurer.reset-size11.size4 {\n font-size: 0.32154341em;\n}\n.katex .sizing.reset-size11.size5,\n.katex .fontsize-ensurer.reset-size11.size5 {\n font-size: 0.36173633em;\n}\n.katex .sizing.reset-size11.size6,\n.katex .fontsize-ensurer.reset-size11.size6 {\n font-size: 0.40192926em;\n}\n.katex .sizing.reset-size11.size7,\n.katex .fontsize-ensurer.reset-size11.size7 {\n font-size: 0.48231511em;\n}\n.katex .sizing.reset-size11.size8,\n.katex .fontsize-ensurer.reset-size11.size8 {\n font-size: 0.57877814em;\n}\n.katex .sizing.reset-size11.size9,\n.katex .fontsize-ensurer.reset-size11.size9 {\n font-size: 0.69453376em;\n}\n.katex .sizing.reset-size11.size10,\n.katex .fontsize-ensurer.reset-size11.size10 {\n font-size: 0.83360129em;\n}\n.katex .sizing.reset-size11.size11,\n.katex .fontsize-ensurer.reset-size11.size11 {\n font-size: 1em;\n}\n.katex .delimsizing.size1 {\n font-family: KaTeX_Size1;\n}\n.katex .delimsizing.size2 {\n font-family: KaTeX_Size2;\n}\n.katex .delimsizing.size3 {\n font-family: KaTeX_Size3;\n}\n.katex .delimsizing.size4 {\n font-family: KaTeX_Size4;\n}\n.katex .delimsizing.mult .delim-size1 > span {\n font-family: KaTeX_Size1;\n}\n.katex .delimsizing.mult .delim-size4 > span {\n font-family: KaTeX_Size4;\n}\n.katex .nulldelimiter {\n display: inline-block;\n width: 0.12em;\n}\n.katex .delimcenter {\n position: relative;\n}\n.katex .op-symbol {\n position: relative;\n}\n.katex .op-symbol.small-op {\n font-family: KaTeX_Size1;\n}\n.katex .op-symbol.large-op {\n font-family: KaTeX_Size2;\n}\n.katex .op-limits > .vlist-t {\n text-align: center;\n}\n.katex .accent > .vlist-t {\n text-align: center;\n}\n.katex .accent .accent-body {\n position: relative;\n}\n.katex .accent .accent-body:not(.accent-full) {\n width: 0;\n}\n.katex .overlay {\n display: block;\n}\n.katex .mtable .vertical-separator {\n display: inline-block;\n min-width: 1px;\n}\n.katex .mtable .arraycolsep {\n display: inline-block;\n}\n.katex .mtable .col-align-c > .vlist-t {\n text-align: center;\n}\n.katex .mtable .col-align-l > .vlist-t {\n text-align: left;\n}\n.katex .mtable .col-align-r > .vlist-t {\n text-align: right;\n}\n.katex .svg-align {\n text-align: left;\n}\n.katex svg {\n display: block;\n position: absolute;\n width: 100%;\n height: inherit;\n fill: currentColor;\n stroke: currentColor;\n fill-rule: nonzero;\n fill-opacity: 1;\n stroke-width: 1;\n stroke-linecap: butt;\n stroke-linejoin: miter;\n stroke-miterlimit: 4;\n stroke-dasharray: none;\n stroke-dashoffset: 0;\n stroke-opacity: 1;\n}\n.katex svg path {\n stroke: none;\n}\n.katex img {\n border-style: none;\n min-width: 0;\n min-height: 0;\n max-width: none;\n max-height: none;\n}\n.katex .stretchy {\n width: 100%;\n display: block;\n position: relative;\n overflow: hidden;\n}\n.katex .stretchy::before,\n.katex .stretchy::after {\n content: \"\";\n}\n.katex .hide-tail {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n.katex .halfarrow-left {\n position: absolute;\n left: 0;\n width: 50.2%;\n overflow: hidden;\n}\n.katex .halfarrow-right {\n position: absolute;\n right: 0;\n width: 50.2%;\n overflow: hidden;\n}\n.katex .brace-left {\n position: absolute;\n left: 0;\n width: 25.1%;\n overflow: hidden;\n}\n.katex .brace-center {\n position: absolute;\n left: 25%;\n width: 50%;\n overflow: hidden;\n}\n.katex .brace-right {\n position: absolute;\n right: 0;\n width: 25.1%;\n overflow: hidden;\n}\n.katex .x-arrow-pad {\n padding: 0 0.5em;\n}\n.katex .cd-arrow-pad {\n padding: 0 0.55556em 0 0.27778em;\n}\n.katex .x-arrow,\n.katex .mover,\n.katex .munder {\n text-align: center;\n}\n.katex .boxpad {\n padding: 0 0.3em;\n}\n.katex .fbox,\n.katex .fcolorbox {\n box-sizing: border-box;\n border: 0.04em solid;\n}\n.katex .cancel-pad {\n padding: 0 0.2em;\n}\n.katex .cancel-lap {\n margin-left: -0.2em;\n margin-right: -0.2em;\n}\n.katex .sout {\n border-bottom-style: solid;\n border-bottom-width: 0.08em;\n}\n.katex .angl {\n box-sizing: border-box;\n border-top: 0.049em solid;\n border-right: 0.049em solid;\n margin-right: 0.03889em;\n}\n.katex .anglpad {\n padding: 0 0.03889em;\n}\n.katex .eqn-num::before {\n counter-increment: katexEqnNo;\n content: \"(\" counter(katexEqnNo) \")\";\n}\n.katex .mml-eqn-num::before {\n counter-increment: mmlEqnNo;\n content: \"(\" counter(mmlEqnNo) \")\";\n}\n.katex .mtr-glue {\n width: 50%;\n}\n.katex .cd-vert-arrow {\n display: inline-block;\n position: relative;\n}\n.katex .cd-label-left {\n display: inline-block;\n position: absolute;\n right: calc(50% + 0.3em);\n text-align: left;\n}\n.katex .cd-label-right {\n display: inline-block;\n position: absolute;\n left: calc(50% + 0.3em);\n text-align: right;\n}\n.katex-display {\n display: block;\n margin: 1em 0;\n text-align: center;\n}\n.katex-display > .katex {\n display: block;\n text-align: center;\n white-space: nowrap;\n}\n.katex-display > .katex > .katex-html {\n display: block;\n position: relative;\n}\n.katex-display > .katex > .katex-html > .tag {\n position: absolute;\n right: 0;\n}\n.katex-display.leqno > .katex > .katex-html > .tag {\n left: 0;\n right: auto;\n}\n.katex-display.fleqn > .katex {\n text-align: left;\n padding-left: 2em;\n}\nbody {\n counter-reset: katexEqnNo mmlEqnNo;\n}\n`;\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/FormulaStyle.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/KeyboardNavigation.js": +/*!************************************************************!*\ + !*** ../simple-mind-map/src/plugins/KeyboardNavigation.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n// 键盘导航插件\nclass KeyboardNavigation {\n // 构造函数\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n this.addShortcut();\n }\n addShortcut() {\n this.onLeftKeyUp = this.onLeftKeyUp.bind(this);\n this.onUpKeyUp = this.onUpKeyUp.bind(this);\n this.onRightKeyUp = this.onRightKeyUp.bind(this);\n this.onDownKeyUp = this.onDownKeyUp.bind(this);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT, this.onLeftKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP, this.onUpKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT, this.onRightKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN, this.onDownKeyUp);\n }\n removeShortcut() {\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT, this.onLeftKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP, this.onUpKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT, this.onRightKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN, this.onDownKeyUp);\n }\n onLeftKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT);\n }\n onUpKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP);\n }\n onRightKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT);\n }\n onDownKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN);\n }\n\n // 处理按键事件\n onKeyup(dir) {\n if (this.mindMap.renderer.activeNodeList.length > 0) {\n this.focus(dir);\n } else {\n let root = this.mindMap.renderer.root;\n this.mindMap.execCommand('GO_TARGET_NODE', root);\n }\n }\n\n // 聚焦到下一个节点\n focus(dir) {\n // 当前聚焦的节点\n let currentActiveNode = this.mindMap.renderer.activeNodeList[0];\n // 当前聚焦节点的位置信息\n let currentActiveNodeRect = this.getNodeRect(currentActiveNode);\n // 寻找的下一个聚焦节点\n let targetNode = null;\n let targetDis = Infinity;\n // 保存并维护距离最近的节点\n let checkNodeDis = (rect, node) => {\n let dis = this.getDistance(currentActiveNodeRect, rect);\n if (dis < targetDis) {\n targetNode = node;\n targetDis = dis;\n }\n };\n\n // 第一优先级:阴影算法\n this.getFocusNodeByShadowAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n\n // 第二优先级:区域算法\n if (!targetNode) {\n this.getFocusNodeByAreaAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n }\n\n // 第三优先级:简单算法\n if (!targetNode) {\n this.getFocusNodeBySimpleAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n }\n\n // 找到了则让目标节点聚焦\n if (targetNode) {\n // this.mindMap.execCommand('GO_TARGET_NODE', targetNode)\n targetNode.active();\n }\n }\n\n // 1.简单算法\n getFocusNodeBySimpleAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n // 遍历节点树\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n // 跳过当前聚焦的节点\n if (node.uid === currentActiveNode.uid) return;\n // 当前遍历到的节点的位置信息\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n let match = false;\n // 按下了左方向键\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n // 判断节点是否在当前节点的左侧\n match = right <= currentActiveNodeRect.left;\n // 按下了右方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n // 判断节点是否在当前节点的右侧\n match = left >= currentActiveNodeRect.right;\n // 按下了上方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n // 判断节点是否在当前节点的上面\n match = bottom <= currentActiveNodeRect.top;\n // 按下了下方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n // 判断节点是否在当前节点的下面\n match = top >= currentActiveNodeRect.bottom;\n }\n // 符合要求,判断是否是最近的节点\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 2.阴影算法\n getFocusNodeByShadowAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n if (node.uid === currentActiveNode.uid) return;\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n let match = false;\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n match = left < currentActiveNodeRect.left && top < currentActiveNodeRect.bottom && bottom > currentActiveNodeRect.top;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n match = right > currentActiveNodeRect.right && top < currentActiveNodeRect.bottom && bottom > currentActiveNodeRect.top;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n match = top < currentActiveNodeRect.top && left < currentActiveNodeRect.right && right > currentActiveNodeRect.left;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n match = bottom > currentActiveNodeRect.bottom && left < currentActiveNodeRect.right && right > currentActiveNodeRect.left;\n }\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 3.区域算法\n getFocusNodeByAreaAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n // 当前聚焦节点的中心点\n let cX = (currentActiveNodeRect.right + currentActiveNodeRect.left) / 2;\n let cY = (currentActiveNodeRect.bottom + currentActiveNodeRect.top) / 2;\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n if (node.uid === currentActiveNode.uid) return;\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n // 遍历到的节点的中心点\n let ccX = (right + left) / 2;\n let ccY = (bottom + top) / 2;\n // 节点的中心点坐标和当前聚焦节点的中心点坐标的差值\n let offsetX = ccX - cX;\n let offsetY = ccY - cY;\n if (offsetX === 0 && offsetY === 0) return;\n let match = false;\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n match = offsetX <= 0 && offsetX <= offsetY && offsetX <= -offsetY;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n match = offsetX > 0 && offsetX >= -offsetY && offsetX >= offsetY;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n match = offsetY <= 0 && offsetY < offsetX && offsetY < -offsetX;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n match = offsetY > 0 && -offsetY < offsetX && offsetY > offsetX;\n }\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 获取节点的位置信息\n getNodeRect(node) {\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = this.mindMap.draw.transform();\n let {\n left,\n top,\n width,\n height\n } = node;\n return {\n right: (left + width) * scaleX + translateX,\n bottom: (top + height) * scaleY + translateY,\n left: left * scaleX + translateX,\n top: top * scaleY + translateY\n };\n }\n\n // 获取两个节点的距离\n getDistance(node1Rect, node2Rect) {\n let center1 = this.getCenter(node1Rect);\n let center2 = this.getCenter(node2Rect);\n return Math.sqrt(Math.pow(center1.x - center2.x, 2) + Math.pow(center1.y - center2.y, 2));\n }\n\n // 获取节点的中心点\n getCenter({\n left,\n right,\n top,\n bottom\n }) {\n return {\n x: (left + right) / 2,\n y: (top + bottom) / 2\n };\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.removeShortcut();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.removeShortcut();\n }\n}\nKeyboardNavigation.instanceName = 'keyboardNavigation';\n/* harmony default export */ __webpack_exports__[\"default\"] = (KeyboardNavigation);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/KeyboardNavigation.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/MindMapLayoutPro.js": +/*!**********************************************************!*\ + !*** ../simple-mind-map/src/plugins/MindMapLayoutPro.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n// 该插件会向节点数据的data中添加dir字段\n/*\n 需要更新数据的情况:\n\n 1.实例化时的数据\n 2.调用setData和updateData方法\n 3.执行完命令\n 4.切换结构\n*/\n\nclass MindMapLayoutPro {\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n this.init();\n }\n init() {\n this.updateNodeTree = this.updateNodeTree.bind(this);\n this.afterExecCommand = this.afterExecCommand.bind(this);\n this.layoutChange = this.layoutChange.bind(this);\n\n // 处理实例化时传入的数据\n if (this.mindMap.opt.data && this.isMindMapLayout()) {\n this.updateNodeTree(this.mindMap.opt.data);\n }\n this.mindMap.on('layout_change', this.layoutChange);\n this.mindMap.on('afterExecCommand', this.afterExecCommand);\n this.mindMap.on('before_update_data', this.updateNodeTree);\n this.mindMap.on('before_set_data', this.updateNodeTree);\n }\n restore() {\n this.mindMap.off('layout_change', this.layoutChange);\n this.mindMap.off('afterExecCommand', this.afterExecCommand);\n this.mindMap.off('before_update_data', this.updateNodeTree);\n this.mindMap.off('before_set_data', this.updateNodeTree);\n }\n\n // 监听命令执行后的事件\n afterExecCommand(name) {\n if (!this.isMindMapLayout()) return;\n if (!['BACK', 'FORWARD', 'INSERT_NODE', 'INSERT_MULTI_NODE', 'INSERT_CHILD_NODE', 'INSERT_MULTI_CHILD_NODE', 'INSERT_PARENT_NODE', 'UP_NODE', 'DOWN_NODE', 'MOVE_UP_ONE_LEVEL', 'INSERT_AFTER', 'INSERT_BEFORE', 'MOVE_NODE_TO', 'REMOVE_NODE', 'REMOVE_CURRENT_NODE', 'PASTE_NODE', 'CUT_NODE'].includes(name)) return;\n this.updateRenderTree();\n }\n\n // 更新布局结构\n layoutChange(layout) {\n if (layout === _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT.MIND_MAP) {\n this.updateRenderTree();\n }\n }\n\n // 更新当前的渲染树\n updateRenderTree() {\n this.updateNodeTree(this.mindMap.renderer.renderTree);\n }\n\n // 更新节点树,修改二级节点的排列位置\n updateNodeTree(tree) {\n if (!this.isMindMapLayout()) return;\n const root = tree;\n const childrenLength = root.children.length;\n if (childrenLength <= 0) return;\n const center = Math.ceil(childrenLength / 2);\n root.children.forEach((item, index) => {\n if (index + 1 <= center) {\n item.data.dir = _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT_GROW_DIR.RIGHT;\n } else {\n item.data.dir = _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT_GROW_DIR.LEFT;\n }\n });\n }\n\n // 判断当前是否是思维导图布局结构\n isMindMapLayout() {\n return this.mindMap.opt.layout === _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT.MIND_MAP;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.restore();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.restore();\n }\n}\nMindMapLayoutPro.instanceName = 'mindMapLayoutPro';\n/* harmony default export */ __webpack_exports__[\"default\"] = (MindMapLayoutPro);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/MindMapLayoutPro.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/MiniMap.js": +/*!*************************************************!*\ + !*** ../simple-mind-map/src/plugins/MiniMap.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 小地图插件\nclass MiniMap {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.isMousedown = false;\n this.mousedownPos = {\n x: 0,\n y: 0\n };\n this.startViewPos = {\n x: 0,\n y: 0\n };\n this.currentState = null;\n }\n\n // 计算小地图的渲染数据\n /**\n * boxWidth:小地图容器的宽度\n * boxHeight:小地图容器的高度\n */\n calculationMiniMap(boxWidth, boxHeight) {\n let {\n svg,\n rect,\n origWidth,\n origHeight,\n scaleX,\n scaleY\n } = this.mindMap.getSvgData({\n ignoreWatermark: true\n });\n // 计算数据\n const elRect = this.mindMap.elRect;\n rect.x -= elRect.left;\n rect.x2 -= elRect.left;\n rect.y -= elRect.top;\n rect.y2 -= elRect.top;\n let boxRatio = boxWidth / boxHeight;\n let actWidth = 0;\n let actHeight = 0;\n if (boxRatio > rect.ratio) {\n // 高度以box为准,缩放宽度\n actHeight = boxHeight;\n actWidth = rect.ratio * actHeight;\n } else {\n // 宽度以box为准,缩放高度\n actWidth = boxWidth;\n actHeight = actWidth / rect.ratio;\n }\n // svg图形的缩放及位置\n let miniMapBoxScale = actWidth / rect.width;\n let miniMapBoxLeft = (boxWidth - actWidth) / 2;\n let miniMapBoxTop = (boxHeight - actHeight) / 2;\n // 当前思维导图图形实际的宽高,即在缩放后的宽高\n let _rectWidth = rect.width * scaleX;\n let _rectHeight = rect.height * scaleY;\n // 视口框大小及位置\n let _rectWidthOffsetHalf = (_rectWidth - rect.width) / 2;\n let _rectHeightOffsetHalf = (_rectHeight - rect.height) / 2;\n let _rectX = rect.x - _rectWidthOffsetHalf;\n let _rectX2 = rect.x2 + _rectWidthOffsetHalf;\n let _rectY = rect.y - _rectHeightOffsetHalf;\n let _rectY2 = rect.y2 + _rectHeightOffsetHalf;\n let viewBoxStyle = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n viewBoxStyle.left = Math.max(0, -_rectX / _rectWidth * actWidth) + miniMapBoxLeft;\n viewBoxStyle.right = Math.max(0, (_rectX2 - origWidth) / _rectWidth * actWidth) + miniMapBoxLeft;\n viewBoxStyle.top = Math.max(0, -_rectY / _rectHeight * actHeight) + miniMapBoxTop;\n viewBoxStyle.bottom = Math.max(0, (_rectY2 - origHeight) / _rectHeight * actHeight) + miniMapBoxTop;\n if (viewBoxStyle.top > miniMapBoxTop + actHeight) {\n viewBoxStyle.top = miniMapBoxTop + actHeight;\n }\n if (viewBoxStyle.left > miniMapBoxLeft + actWidth) {\n viewBoxStyle.left = miniMapBoxLeft + actWidth;\n }\n Object.keys(viewBoxStyle).forEach(key => {\n viewBoxStyle[key] = viewBoxStyle[key] + 'px';\n });\n this.removeNodeContent(svg);\n const svgStr = svg.svg();\n this.currentState = {\n viewBoxStyle: {\n ...viewBoxStyle\n },\n miniMapBoxScale,\n miniMapBoxLeft,\n miniMapBoxTop\n };\n return {\n getImgUrl: async callback => {\n const res = await this.mindMap.doExport.fixSvgStrAndToBlob(svgStr);\n callback(res);\n },\n svgHTML: svgStr,\n // 小地图html\n viewBoxStyle,\n // 视图框的位置信息\n miniMapBoxScale,\n // 视图框的缩放值\n miniMapBoxLeft,\n // 视图框的left值\n miniMapBoxTop // 视图框的top值\n };\n }\n\n // 移除节点的内容\n removeNodeContent(svg) {\n if (svg.hasClass('smm-node')) {\n let shape = svg.findOne('.smm-node-shape');\n let fill = shape.attr('fill');\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"isWhite\"])(fill) || Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"isTransparent\"])(fill)) {\n shape.attr('fill', Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"getVisibleColorFromTheme\"])(this.mindMap.themeConfig));\n }\n svg.clear();\n svg.add(shape);\n return;\n }\n let children = svg.children();\n if (children && children.length > 0) {\n children.forEach(node => {\n this.removeNodeContent(node);\n });\n }\n }\n\n // 小地图鼠标按下事件\n onMousedown(e) {\n this.isMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存视图当前的偏移量\n let transformData = this.mindMap.view.getTransformData();\n this.startViewPos = {\n x: transformData.state.x,\n y: transformData.state.y\n };\n }\n\n // 小地图鼠标移动事件\n onMousemove(e, sensitivityNum = 5) {\n if (!this.isMousedown || this.isViewBoxMousedown) {\n return;\n }\n let ox = e.clientX - this.mousedownPos.x;\n let oy = e.clientY - this.mousedownPos.y;\n // 在视图最初偏移量上累加更新量\n this.mindMap.view.translateXTo(ox * sensitivityNum + this.startViewPos.x);\n this.mindMap.view.translateYTo(oy * sensitivityNum + this.startViewPos.y);\n }\n\n // 小地图鼠标松开事件\n onMouseup() {\n this.isMousedown = false;\n this.isViewBoxMousedown = false;\n }\n\n // 视口框鼠标按下事件\n onViewBoxMousedown(e) {\n this.isViewBoxMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存视图当前的偏移量\n let transformData = this.mindMap.view.getTransformData();\n this.startViewPos = {\n x: transformData.state.x,\n y: transformData.state.y\n };\n }\n\n // 视口框鼠标移动事件\n onViewBoxMousemove(e) {\n if (!this.isViewBoxMousedown || !this.currentState || this.isMousedown) return;\n let ox = e.clientX - this.mousedownPos.x;\n let oy = e.clientY - this.mousedownPos.y;\n const {\n viewBoxStyle,\n miniMapBoxScale,\n miniMapBoxLeft,\n miniMapBoxTop\n } = this.currentState;\n const left = Math.max(miniMapBoxLeft, Number.parseFloat(viewBoxStyle.left) + ox);\n const right = Math.max(miniMapBoxLeft, Number.parseFloat(viewBoxStyle.right) - ox);\n const top = Math.max(miniMapBoxTop, Number.parseFloat(viewBoxStyle.top) + oy);\n const bottom = Math.max(miniMapBoxTop, Number.parseFloat(viewBoxStyle.bottom) - oy);\n this.mindMap.emit('mini_map_view_box_position_change', {\n left: left + 'px',\n right: right + 'px',\n top: top + 'px',\n bottom: bottom + 'px'\n });\n // 在视图最初偏移量上累加更新量\n this.mindMap.view.translateXTo(-ox / miniMapBoxScale + this.startViewPos.x);\n this.mindMap.view.translateYTo(-oy / miniMapBoxScale + this.startViewPos.y);\n }\n}\nMiniMap.instanceName = 'miniMap';\n/* harmony default export */ __webpack_exports__[\"default\"] = (MiniMap);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/MiniMap.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/NodeImgAdjust.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/src/plugins/NodeImgAdjust.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _svg_btns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../svg/btns */ \"../simple-mind-map/src/svg/btns.js\");\n// 节点图片大小调整插件\n\n\nclass NodeImgAdjust {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.handleEl = null; // 自定义元素,用来渲染临时图片、调整按钮\n this.isShowHandleEl = false; // 自定义元素是否在显示中\n this.node = null; // 当前节点实例\n this.img = null; // 当前节点的图片节点\n this.rect = null; // 当前图片节点的尺寸信息\n this.isMousedown = false; // 当前是否是按住调整按钮状态\n this.mousedownDrawTransform = null; //鼠标按下时对当前画布的变换\n this.mousedownOffset = {\n // 鼠标按下时位置和图片右下角相差的距离\n x: 0,\n y: 0\n };\n this.currentImgWidth = 0; // 当前拖拽实时图片的大小\n this.currentImgHeight = 0;\n this.isAdjusted = false; // 是否是拖拽结束后的渲染期间\n this.bindEvent();\n }\n\n // 监听事件\n bindEvent() {\n this.onNodeImgMouseleave = this.onNodeImgMouseleave.bind(this);\n this.onNodeImgMousemove = this.onNodeImgMousemove.bind(this);\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.onRenderEnd = this.onRenderEnd.bind(this);\n this.mindMap.on('node_img_mouseleave', this.onNodeImgMouseleave);\n this.mindMap.on('node_img_mousemove', this.onNodeImgMousemove);\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_mouseup', this.onMouseup);\n this.mindMap.on('node_tree_render_end', this.onRenderEnd);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('node_img_mouseleave', this.onNodeImgMouseleave);\n this.mindMap.off('node_img_mousemove', this.onNodeImgMousemove);\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_mouseup', this.onMouseup);\n this.mindMap.off('node_tree_render_end', this.onRenderEnd);\n }\n\n // 节点图片鼠标移动事件\n onNodeImgMousemove(node, img) {\n // 如果当前正在拖动调整中那么直接返回\n if (this.isMousedown || this.isAdjusted || this.mindMap.opt.readonly) return;\n // 如果在当前节点内移动,以及自定义元素已经是显示状态,那么直接返回\n if (this.node && this.node.uid === node.uid && this.isShowHandleEl) return;\n // 更新当前节点信息\n this.node = node;\n this.img = img;\n this.rect = this.img.rbox();\n // 显示自定义元素\n this.showHandleEl();\n }\n\n // 节点图片鼠标移出事件\n onNodeImgMouseleave() {\n if (this.isMousedown) return;\n this.hideHandleEl();\n }\n\n // 隐藏节点实际的图片\n hideNodeImage() {\n if (!this.img) return;\n this.img.hide();\n }\n\n // 显示节点实际的图片\n showNodeImage() {\n if (!this.img) return;\n this.img.show();\n }\n\n // 显示自定义元素\n showHandleEl() {\n if (this.isShowHandleEl) return;\n if (!this.handleEl) {\n this.createResizeBtnEl();\n }\n this.setHandleElRect();\n this.handleEl.style.display = 'block';\n this.isShowHandleEl = true;\n }\n\n // 隐藏自定义元素\n hideHandleEl() {\n if (!this.isShowHandleEl) return;\n this.isShowHandleEl = false;\n this.handleEl.style.display = 'none';\n this.handleEl.style.backgroundImage = ``;\n this.handleEl.style.width = 0;\n this.handleEl.style.height = 0;\n this.handleEl.style.left = 0;\n this.handleEl.style.top = 0;\n }\n\n // 设置自定义元素尺寸位置信息\n setHandleElRect() {\n let {\n width,\n height,\n x,\n y\n } = this.rect;\n this.handleEl.style.left = `${x}px`;\n this.handleEl.style.top = `${y}px`;\n this.currentImgWidth = width;\n this.currentImgHeight = height;\n this.updateHandleElSize();\n }\n\n // 更新自定义元素宽高\n updateHandleElSize() {\n this.handleEl.style.width = `${this.currentImgWidth}px`;\n this.handleEl.style.height = `${this.currentImgHeight}px`;\n }\n\n // 创建调整按钮元素\n createResizeBtnEl() {\n const {\n imgResizeBtnSize,\n customResizeBtnInnerHTML,\n customDeleteBtnInnerHTML\n } = this.mindMap.opt;\n // 容器元素\n this.handleEl = document.createElement('div');\n this.handleEl.style.cssText = `\n pointer-events: none;\n position: fixed;\n\t display:none;\n background-size: cover;\n `;\n this.handleEl.className = 'node-img-handle';\n // 调整按钮元素\n const btnEl = document.createElement('div');\n btnEl.innerHTML = customResizeBtnInnerHTML || _svg_btns__WEBPACK_IMPORTED_MODULE_1__[\"default\"].imgAdjust;\n btnEl.style.cssText = `\n position: absolute;\n right: 0;\n bottom: 0;\n pointer-events: auto;\n background-color: rgba(0, 0, 0, 0.3);\n width: ${imgResizeBtnSize}px;\n height: ${imgResizeBtnSize}px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: nwse-resize;\n `;\n btnEl.className = 'node-image-resize';\n // 给按钮元素绑定事件\n btnEl.addEventListener('mouseenter', () => {\n // 移入按钮,会触发节点图片的移出事件,所以需要再次显示按钮\n this.showHandleEl();\n });\n btnEl.addEventListener('mouseleave', () => {\n // 移除按钮,需要隐藏按钮\n if (this.isMousedown) return;\n this.hideHandleEl();\n });\n btnEl.addEventListener('mousedown', e => {\n e.stopPropagation();\n e.preventDefault();\n this.onMousedown(e);\n });\n btnEl.addEventListener('mouseup', e => {\n setTimeout(() => {\n //点击后直接松开异常处理; 其他事件响应之后处理\n this.hideHandleEl();\n this.isAdjusted = false;\n }, 0);\n });\n btnEl.addEventListener('click', e => {\n e.stopPropagation();\n });\n this.handleEl.appendChild(btnEl);\n // 删除按钮\n const btnRemove = document.createElement('div');\n this.handleEl.prepend(btnRemove);\n btnRemove.className = 'node-image-remove';\n btnRemove.innerHTML = customDeleteBtnInnerHTML || _svg_btns__WEBPACK_IMPORTED_MODULE_1__[\"default\"].remove;\n btnRemove.style.cssText = `\n position: absolute;\n right: 0;top:0;color:#fff;\n pointer-events: auto;\n background-color: rgba(0, 0, 0, 0.3);\n width: ${imgResizeBtnSize}px;\n height: ${imgResizeBtnSize}px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n `;\n btnRemove.addEventListener('mouseenter', e => {\n this.showHandleEl();\n });\n btnRemove.addEventListener('mouseleave', e => {\n if (this.isMousedown) return;\n this.hideHandleEl();\n });\n btnRemove.addEventListener('click', async e => {\n let stop = false;\n if (typeof this.mindMap.opt.beforeDeleteNodeImg === 'function') {\n stop = await this.mindMap.opt.beforeDeleteNodeImg(this.node);\n }\n if (!stop) {\n this.mindMap.execCommand('SET_NODE_IMAGE', this.node, {\n url: null\n });\n }\n });\n // 添加元素到页面\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.handleEl);\n }\n\n // 鼠标按钮按下事件\n onMousedown(e) {\n this.isMousedown = true;\n this.mousedownDrawTransform = this.mindMap.draw.transform();\n // 隐藏节点实际图片\n this.hideNodeImage();\n this.mousedownOffset.x = e.clientX - this.rect.x2;\n this.mousedownOffset.y = e.clientY - this.rect.y2;\n // 将节点图片渲染到自定义元素上\n this.handleEl.style.backgroundImage = `url(${this.node.getData('image')})`;\n }\n\n // 鼠标移动\n onMousemove(e) {\n if (!this.isMousedown) return;\n e.preventDefault();\n const {\n scaleX,\n scaleY\n } = this.mousedownDrawTransform;\n // 图片原始大小\n const {\n width: imageOriginWidth,\n height: imageOriginHeight\n } = this.node.getData('imageSize');\n let {\n minImgResizeWidth,\n minImgResizeHeight,\n maxImgResizeWidthInheritTheme,\n maxImgResizeWidth,\n maxImgResizeHeight\n } = this.mindMap.opt;\n // 主题设置的最小图片宽高\n const minRatio = minImgResizeWidth / minImgResizeHeight;\n const oRatio = imageOriginWidth / imageOriginHeight;\n if (minRatio > oRatio) {\n // 如果最小值比例大于图片原始比例,那么要调整高度最小值\n minImgResizeHeight = minImgResizeWidth / oRatio;\n } else {\n // 否则调整宽度最小值\n minImgResizeWidth = minImgResizeHeight * oRatio;\n }\n // 主题设置的最大图片宽高\n let imgMaxWidth, imgMaxHeight;\n if (maxImgResizeWidthInheritTheme) {\n imgMaxWidth = this.mindMap.getThemeConfig('imgMaxWidth');\n imgMaxHeight = this.mindMap.getThemeConfig('imgMaxHeight');\n } else {\n imgMaxWidth = maxImgResizeWidth;\n imgMaxHeight = maxImgResizeHeight;\n }\n imgMaxWidth = imgMaxWidth * scaleX;\n imgMaxHeight = imgMaxHeight * scaleY;\n // 计算当前拖拽位置对应的图片的实时大小\n let newWidth = Math.abs(e.clientX - this.rect.x - this.mousedownOffset.x);\n let newHeight = Math.abs(e.clientY - this.rect.y - this.mousedownOffset.y);\n // 限制最小值\n if (newWidth < minImgResizeWidth) newWidth = minImgResizeWidth;\n if (newHeight < minImgResizeHeight) newHeight = minImgResizeHeight;\n // 限制最大值\n if (newWidth > imgMaxWidth) newWidth = imgMaxWidth;\n if (newHeight > imgMaxHeight) newHeight = imgMaxHeight;\n const [actWidth, actHeight] = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"resizeImgSizeByOriginRatio\"])(imageOriginWidth, imageOriginHeight, newWidth, newHeight);\n this.currentImgWidth = actWidth;\n this.currentImgHeight = actHeight;\n this.updateHandleElSize();\n }\n\n // 鼠标松开\n onMouseup() {\n if (!this.isMousedown) return;\n // 显示节点实际图片\n this.showNodeImage();\n // 隐藏自定义元素\n this.hideHandleEl();\n // 更新节点图片为新的大小\n const {\n image,\n imageTitle\n } = this.node.getData();\n const {\n scaleX,\n scaleY\n } = this.mousedownDrawTransform;\n const newWidth = this.currentImgWidth / scaleX;\n const newHeight = this.currentImgHeight / scaleY;\n if (Math.abs(newWidth - this.rect.width) > 1 || Math.abs(newHeight - this.rect.height) > 1) {\n this.mindMap.execCommand('SET_NODE_IMAGE', this.node, {\n url: image,\n title: imageTitle,\n width: newWidth,\n height: newHeight,\n custom: true // 代表自定义了图片大小\n });\n this.isAdjusted = true;\n }\n this.isMousedown = false;\n this.mousedownDrawTransform = null;\n this.mousedownOffset.x = 0;\n this.mousedownOffset.y = 0;\n }\n\n // 渲染完成事件\n onRenderEnd() {\n if (!this.isAdjusted) {\n this.hideHandleEl();\n return;\n }\n this.isAdjusted = false;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nNodeImgAdjust.instanceName = 'nodeImgAdjust';\n/* harmony default export */ __webpack_exports__[\"default\"] = (NodeImgAdjust);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/NodeImgAdjust.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/OuterFrame.js": +/*!****************************************************!*\ + !*** ../simple-mind-map/src/plugins/OuterFrame.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 解析要添加外框的节点实例列表\nconst parseAddNodeList = list => {\n // 找出顶层节点\n list = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getTopAncestorsFomNodeList\"])(list);\n const cache = {};\n const uidToParent = {};\n // 找出列表中节点在兄弟节点中的索引,并和父节点关联起来\n list.forEach(node => {\n const parent = node.parent;\n if (parent) {\n const pUid = parent.uid;\n uidToParent[pUid] = parent;\n const index = node.getIndexInBrothers();\n const data = {\n node,\n index\n };\n if (cache[pUid]) {\n if (!cache[pUid].find(item => {\n return item.index === data.index;\n })) {\n cache[pUid].push(data);\n }\n } else {\n cache[pUid] = [data];\n }\n }\n });\n const res = [];\n Object.keys(cache).forEach(uid => {\n const indexList = cache[uid];\n const parentNode = uidToParent[uid];\n if (indexList.length > 1) {\n // 多个节点\n const rangeList = indexList.map(item => {\n return item.index;\n }).sort((a, b) => {\n return a - b;\n });\n const minIndex = rangeList[0];\n const maxIndex = rangeList[rangeList.length - 1];\n let curStart = -1;\n let curEnd = -1;\n for (let i = minIndex; i <= maxIndex; i++) {\n // 连续索引\n if (rangeList.includes(i)) {\n if (curStart === -1) {\n curStart = i;\n }\n curEnd = i;\n } else {\n // 连续断开\n if (curStart !== -1 && curEnd !== -1) {\n res.push({\n node: parentNode,\n range: [curStart, curEnd]\n });\n }\n curStart = -1;\n curEnd = -1;\n }\n }\n // 不要忘了最后一段索引\n if (curStart !== -1 && curEnd !== -1) {\n res.push({\n node: parentNode,\n range: [curStart, curEnd]\n });\n }\n } else {\n // 单个节点\n res.push({\n node: parentNode,\n range: [indexList[0].index, indexList[0].index]\n });\n }\n });\n return res;\n};\n\n// 解析获取节点的子节点生成的外框列表\nconst getNodeOuterFrameList = node => {\n const children = node.children;\n if (!children || children.length <= 0) return;\n const res = [];\n const map = {};\n children.forEach((item, index) => {\n const outerFrameData = item.getData('outerFrame');\n if (!outerFrameData) return;\n const groupId = outerFrameData.groupId;\n if (groupId) {\n if (!map[groupId]) {\n map[groupId] = [];\n }\n map[groupId].push({\n node: item,\n index\n });\n } else {\n res.push({\n nodeList: [item],\n range: [index, index]\n });\n }\n });\n Object.keys(map).forEach(id => {\n const list = map[id];\n res.push({\n nodeList: list.map(item => {\n return item.node;\n }),\n range: [list[0].index, list[list.length - 1].index]\n });\n });\n return res;\n};\n\n// 默认外框样式\nconst defaultStyle = {\n radius: 5,\n strokeWidth: 2,\n strokeColor: '#0984e3',\n strokeDasharray: '5,5',\n fill: 'rgba(9,132,227,0.05)'\n};\n\n// 外框插件\nclass OuterFrame {\n constructor(opt = {}) {\n this.mindMap = opt.mindMap;\n this.draw = null;\n this.createDrawContainer();\n this.outerFrameElList = [];\n this.activeOuterFrame = null;\n this.bindEvent();\n }\n\n // 创建容器\n createDrawContainer() {\n this.draw = this.mindMap.draw.group();\n this.draw.addClass('smm-outer-frame-container');\n this.draw.back(); // 最底层\n this.draw.forward(); // 连线层上面\n }\n\n // 绑定事件\n bindEvent() {\n this.renderOuterFrames = this.renderOuterFrames.bind(this);\n this.mindMap.on('node_tree_render_end', this.renderOuterFrames);\n this.mindMap.on('data_change', this.renderOuterFrames);\n // 监听画布和节点点击事件,用于清除当前激活的连接线\n this.clearActiveOuterFrame = this.clearActiveOuterFrame.bind(this);\n this.mindMap.on('draw_click', this.clearActiveOuterFrame);\n this.mindMap.on('node_click', this.clearActiveOuterFrame);\n this.addOuterFrame = this.addOuterFrame.bind(this);\n this.mindMap.command.add('ADD_OUTER_FRAME', this.addOuterFrame);\n this.removeActiveOuterFrame = this.removeActiveOuterFrame.bind(this);\n this.mindMap.keyCommand.addShortcut('Del|Backspace', this.removeActiveOuterFrame);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('node_tree_render_end', this.renderOuterFrames);\n this.mindMap.off('data_change', this.renderOuterFrames);\n this.mindMap.off('draw_click', this.clearActiveOuterFrame);\n this.mindMap.off('node_click', this.clearActiveOuterFrame);\n this.mindMap.command.remove('ADD_OUTER_FRAME', this.addOuterFrame);\n this.mindMap.keyCommand.removeShortcut('Del|Backspace', this.removeActiveOuterFrame);\n }\n\n // 给节点添加外框数据\n /*\n config: {\n text: '',\n radius: 5,\n strokeWidth: 2,\n strokeColor: '#0984e3',\n strokeDasharray: '5,5',\n fill: 'rgba(9,132,227,0.05)'\n }\n */\n addOuterFrame(appointNodes, config = {}) {\n appointNodes = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"formatDataToArray\"])(appointNodes);\n const activeNodeList = this.mindMap.renderer.activeNodeList;\n if (activeNodeList.length <= 0 && appointNodes.length <= 0) {\n return;\n }\n let nodeList = appointNodes.length > 0 ? appointNodes : activeNodeList;\n nodeList = nodeList.filter(node => {\n return !node.isRoot && !node.isGeneralization;\n });\n const list = parseAddNodeList(nodeList);\n list.forEach(({\n node,\n range\n }) => {\n const childNodeList = node.children.slice(range[0], range[1] + 1);\n const groupId = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])();\n childNodeList.forEach(child => {\n let outerFrame = child.getData('outerFrame');\n // 检查该外框是否已存在\n if (outerFrame) {\n outerFrame = {\n ...outerFrame,\n ...config,\n groupId\n };\n } else {\n outerFrame = {\n ...config,\n groupId\n };\n }\n this.mindMap.execCommand('SET_NODE_DATA', child, {\n outerFrame\n });\n });\n });\n }\n\n // 获取当前激活的外框\n getActiveOuterFrame() {\n return this.activeOuterFrame ? {\n ...this.activeOuterFrame\n } : null;\n }\n\n // 删除当前激活的外框\n removeActiveOuterFrame() {\n if (!this.activeOuterFrame) return;\n const {\n node,\n range\n } = this.activeOuterFrame;\n this.getRangeNodeList(node, range).forEach(child => {\n this.mindMap.execCommand('SET_NODE_DATA', child, {\n outerFrame: null\n });\n });\n this.mindMap.emit('outer_frame_delete');\n }\n\n // 更新当前激活的外框\n // 执行了该方法后请立即隐藏你的样式面板,因为会清除当前激活的外框\n updateActiveOuterFrame(config = {}) {\n if (!this.activeOuterFrame) return;\n const {\n node,\n range\n } = this.activeOuterFrame;\n this.getRangeNodeList(node, range).forEach(node => {\n const outerFrame = node.getData('outerFrame');\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n outerFrame: {\n ...outerFrame,\n ...config\n }\n });\n });\n }\n\n // 获取某个节点指定范围的带外框的子节点列表\n getRangeNodeList(node, range) {\n return node.children.slice(range[0], range[1] + 1).filter(child => {\n return child.getData('outerFrame');\n });\n }\n\n // 渲染外框\n renderOuterFrames() {\n this.clearOuterFrameElList();\n let tree = this.mindMap.renderer.root;\n if (!tree) return;\n const t = this.mindMap.draw.transform();\n const {\n outerFramePaddingX,\n outerFramePaddingY\n } = this.mindMap.opt;\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"walk\"])(tree, null, cur => {\n if (!cur) return;\n const outerFrameList = getNodeOuterFrameList(cur);\n if (outerFrameList && outerFrameList.length > 0) {\n outerFrameList.forEach(({\n nodeList,\n range\n }) => {\n if (range[0] === -1 || range[1] === -1) return;\n const {\n left,\n top,\n width,\n height\n } = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getNodeListBoundingRect\"])(nodeList);\n if (!Number.isFinite(left) || !Number.isFinite(top) || !Number.isFinite(width) || !Number.isFinite(height)) return;\n const el = this.createOuterFrameEl((left - outerFramePaddingX - this.mindMap.elRect.left - t.translateX) / t.scaleX, (top - outerFramePaddingY - this.mindMap.elRect.top - t.translateY) / t.scaleY, (width + outerFramePaddingX * 2) / t.scaleX, (height + outerFramePaddingY * 2) / t.scaleY, nodeList[0].getData('outerFrame') // 使用第一个节点的外框样式\n );\n el.on('click', e => {\n e.stopPropagation();\n this.setActiveOuterFrame(el, cur, range);\n });\n });\n }\n }, () => {}, true, 0);\n }\n\n // 激活外框\n setActiveOuterFrame(el, node, range) {\n this.mindMap.execCommand('CLEAR_ACTIVE_NODE');\n this.clearActiveOuterFrame();\n this.activeOuterFrame = {\n el,\n node,\n range\n };\n el.stroke({\n dasharray: 'none'\n });\n this.mindMap.emit('outer_frame_active', el, node, range);\n }\n\n // 清除当前激活的外框\n clearActiveOuterFrame() {\n if (!this.activeOuterFrame) return;\n const {\n el\n } = this.activeOuterFrame;\n el.stroke({\n dasharray: el.cacheStyle.dasharray || defaultStyle.strokeDasharray\n });\n this.activeOuterFrame = null;\n }\n\n // 创建外框元素\n createOuterFrameEl(x, y, width, height, styleConfig = {}) {\n styleConfig = {\n ...defaultStyle,\n ...styleConfig\n };\n const el = this.draw.rect().size(width, height).radius(styleConfig.radius).stroke({\n width: styleConfig.strokeWidth,\n color: styleConfig.strokeColor,\n dasharray: styleConfig.strokeDasharray\n }).fill({\n color: styleConfig.fill\n }).x(x).y(y);\n el.cacheStyle = {\n dasharray: styleConfig.strokeDasharray\n };\n this.outerFrameElList.push(el);\n return el;\n }\n\n // 清除外框元素\n clearOuterFrameElList() {\n this.outerFrameElList.forEach(item => {\n item.remove();\n });\n this.outerFrameElList = [];\n this.activeOuterFrame = null;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nOuterFrame.instanceName = 'outerFrame';\n/* harmony default export */ __webpack_exports__[\"default\"] = (OuterFrame);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/OuterFrame.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Painter.js": +/*!*************************************************!*\ + !*** ../simple-mind-map/src/plugins/Painter.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 格式刷插件\nclass Painter {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.isInPainter = false;\n this.painterNode = null;\n this.bindEvent();\n }\n bindEvent() {\n this.painterOneNode = this.painterOneNode.bind(this);\n this.onEndPainter = this.onEndPainter.bind(this);\n this.mindMap.on('node_click', this.painterOneNode);\n this.mindMap.on('draw_click', this.onEndPainter);\n }\n unBindEvent() {\n this.mindMap.off('node_click', this.painterOneNode);\n this.mindMap.off('draw_click', this.onEndPainter);\n }\n\n // 开始格式刷\n startPainter() {\n if (this.mindMap.opt.readonly) return;\n let activeNodeList = this.mindMap.renderer.activeNodeList;\n if (activeNodeList.length <= 0) return;\n this.painterNode = activeNodeList[0];\n this.isInPainter = true;\n this.mindMap.emit('painter_start');\n }\n\n // 结束格式刷\n endPainter() {\n this.painterNode = null;\n this.isInPainter = false;\n }\n onEndPainter() {\n if (!this.isInPainter) return;\n this.endPainter();\n this.mindMap.emit('painter_end');\n }\n\n // 格式刷某个节点\n painterOneNode(node) {\n if (!node || !this.isInPainter || !this.painterNode || !node || node.uid === this.painterNode.uid) return;\n let style = {};\n // 格式刷节点所有生效的样式\n if (!this.mindMap.opt.onlyPainterNodeCustomStyles) {\n style = {\n ...this.painterNode.effectiveStyles\n };\n }\n const painterNodeData = this.painterNode.getData();\n Object.keys(painterNodeData).forEach(key => {\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"checkIsNodeStyleDataKey\"])(key)) {\n style[key] = painterNodeData[key];\n }\n });\n // 先去除目标节点的样式\n this.mindMap.renderer._handleRemoveCustomStyles(node.getData());\n node.setStyles(style);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nPainter.instanceName = 'painter';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Painter);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Painter.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/RainbowLines.js": +/*!******************************************************!*\ + !*** ../simple-mind-map/src/plugins/RainbowLines.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\nconst defaultColorsList = ['rgb(255, 213, 73)', 'rgb(255, 136, 126)', 'rgb(107, 225, 141)', 'rgb(151, 171, 255)', 'rgb(129, 220, 242)', 'rgb(255, 163, 125)', 'rgb(152, 132, 234)'];\n\n// 彩虹线条插件\nclass RainbowLines {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n }\n\n // 更新彩虹线条配置\n updateRainLinesConfig(config = {}) {\n const newConfig = this.mindMap.opt.rainbowLinesConfig || {};\n newConfig.open = !!config.open;\n newConfig.colorsList = Array.isArray(config.colorsList) ? config.colorsList : [];\n // 如果开启彩虹线条,那么先移除所有节点的自定义连线颜色配置\n if (this.mindMap.opt.rainbowLinesConfig.open) {\n this.removeNodeLineColor();\n }\n this.mindMap.render();\n }\n\n // 删除所有节点的连线颜色\n removeNodeLineColor() {\n const tree = this.mindMap.renderer.renderTree;\n if (!tree) return;\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"walk\"])(tree, null, cur => {\n delete cur.data.lineColor;\n }, null, true);\n this.mindMap.command.addHistory();\n }\n\n // 获取一个节点的第二层级的祖先节点\n getSecondLayerAncestor(node) {\n if (node.layerIndex === 0) {\n return null;\n } else if (node.layerIndex === 1) {\n return node;\n } else {\n let res = null;\n let parent = node.parent;\n while (parent) {\n if (parent.layerIndex === 1) {\n return parent;\n }\n parent = parent.parent;\n }\n return res;\n }\n }\n\n // 获取颜色列表\n getColorsList() {\n const {\n rainbowLinesConfig\n } = this.mindMap.opt;\n return rainbowLinesConfig && Array.isArray(rainbowLinesConfig.colorsList) && rainbowLinesConfig.colorsList.length > 0 ? rainbowLinesConfig.colorsList : [...defaultColorsList];\n }\n\n // 获取一个节点的彩虹线条颜色\n getNodeColor(node) {\n const {\n rainbowLinesConfig\n } = this.mindMap.opt;\n if (!rainbowLinesConfig || !rainbowLinesConfig.open) return '';\n const ancestor = this.getSecondLayerAncestor(node);\n if (!ancestor) return;\n const index = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"getNodeDataIndex\"])(ancestor);\n const colorsList = this.getColorsList();\n return colorsList[index % colorsList.length];\n }\n}\nRainbowLines.instanceName = 'rainbowLines';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RainbowLines);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/RainbowLines.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/RichText.js": +/*!**************************************************!*\ + !*** ../simple-mind-map/src/plugins/RichText.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! quill */ \"../simple-mind-map/node_modules/quill/quill.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! quill/dist/quill.snow.css */ \"../simple-mind-map/node_modules/quill/dist/quill.snow.css\");\n/* harmony import */ var quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/render/node/MindMapNode */ \"../simple-mind-map/src/core/render/node/MindMapNode.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\n\n\n\n\n\n\n\n\nlet extended = false;\n\n// 扩展quill的字体列表\nlet fontFamilyList = ['宋体, SimSun, Songti SC', '微软雅黑, Microsoft YaHei', '楷体, 楷体_GB2312, SimKai, STKaiti', '黑体, SimHei, Heiti SC', '隶书, SimLi', 'andale mono', 'arial, helvetica, sans-serif', 'arial black, avant garde', 'comic sans ms', 'impact, chicago', 'times new roman', 'sans-serif', 'serif'];\n\n// 扩展quill的字号列表\nlet fontSizeList = new Array(100).fill(0).map((_, index) => {\n return index + 'px';\n});\n\n// 富文本编辑插件\nclass RichText {\n constructor({\n mindMap,\n pluginOpt\n }) {\n this.mindMap = mindMap;\n this.pluginOpt = pluginOpt;\n this.textEditNode = null;\n this.showTextEdit = false;\n this.quill = null;\n this.range = null;\n this.lastRange = null;\n this.pasteUseRange = null;\n this.node = null;\n this.isInserting = false;\n this.styleEl = null;\n this.cacheEditingText = '';\n this.isCompositing = false;\n this.textNodePaddingX = 6;\n this.textNodePaddingY = 4;\n this.initOpt();\n this.extendQuill();\n this.appendCss();\n this.bindEvent();\n this.handleDataToRichTextOnInit();\n }\n\n // 绑定事件\n bindEvent() {\n this.onCompositionStart = this.onCompositionStart.bind(this);\n this.onCompositionUpdate = this.onCompositionUpdate.bind(this);\n this.onCompositionEnd = this.onCompositionEnd.bind(this);\n this.handleSetData = this.handleSetData.bind(this);\n window.addEventListener('compositionstart', this.onCompositionStart);\n window.addEventListener('compositionupdate', this.onCompositionUpdate);\n window.addEventListener('compositionend', this.onCompositionEnd);\n this.mindMap.on('before_update_data', this.handleSetData);\n this.mindMap.on('before_set_data', this.handleSetData);\n }\n\n // 解绑事件\n unbindEvent() {\n window.removeEventListener('compositionstart', this.onCompositionStart);\n window.removeEventListener('compositionupdate', this.onCompositionUpdate);\n window.removeEventListener('compositionend', this.onCompositionEnd);\n this.mindMap.off('before_update_data', this.handleSetData);\n this.mindMap.off('before_set_data', this.handleSetData);\n }\n\n // 插入样式\n appendCss() {\n this.mindMap.appendCss('richText', `\n .smm-richtext-node-wrap {\n word-break: break-all;\n user-select: none;\n }\n\n .ql-editor .ql-align-left, \n .smm-richtext-node-wrap .ql-align-left {\n text-align: left;\n }\n\n .smm-richtext-node-wrap .ql-align-right {\n text-align: right;\n }\n\n .smm-richtext-node-wrap .ql-align-center {\n text-align: center;\n }\n `);\n let cssText = `\n .${_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"CONSTANTS\"].EDIT_NODE_CLASS.RICH_TEXT_EDIT_WRAP} {\n overflow: hidden;\n padding: 0;\n height: auto;\n line-height: 1.2;\n -webkit-user-select: text;\n text-align: inherit;\n }\n \n .ql-container {\n height: auto;\n font-size: inherit;\n }\n\n .ql-container.ql-snow {\n border: none;\n }\n `;\n this.styleEl = document.createElement('style');\n this.styleEl.type = 'text/css';\n this.styleEl.innerHTML = cssText;\n document.head.appendChild(this.styleEl);\n }\n\n // 处理选项参数\n initOpt() {\n if (this.pluginOpt.fontFamilyList && Array.isArray(this.pluginOpt.fontFamilyList)) {\n fontFamilyList = this.pluginOpt.fontFamilyList;\n }\n if (this.pluginOpt.fontSizeList && Array.isArray(this.pluginOpt.fontSizeList)) {\n fontSizeList = this.pluginOpt.fontSizeList;\n }\n }\n\n // 扩展quill编辑器\n extendQuill() {\n if (extended) {\n return;\n }\n extended = true;\n this.extendFont([]);\n this.extendAlign();\n\n // 扩展quill的字号列表\n const SizeAttributor = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/class/size');\n SizeAttributor.whitelist = fontSizeList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(SizeAttributor, true);\n const SizeStyle = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/style/size');\n SizeStyle.whitelist = fontSizeList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(SizeStyle, true);\n }\n\n // 扩展字体列表\n extendFont(list = [], cover = false) {\n fontFamilyList = cover ? [...list] : [...fontFamilyList, ...list];\n\n // 扩展quill的字体列表\n const FontAttributor = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/class/font');\n FontAttributor.whitelist = fontFamilyList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(FontAttributor, true);\n const FontStyle = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/style/font');\n FontStyle.whitelist = fontFamilyList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(FontStyle, true);\n }\n\n // 扩展文本对齐方式\n extendAlign() {\n const AlignFormat = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('formats/align');\n AlignFormat.whitelist = ['right', 'center', 'justify', 'left'];\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(AlignFormat, true);\n }\n\n // 显示文本编辑控件\n showEditText({\n node,\n rect,\n isInserting,\n isFromKeyDown,\n isFromScale\n }) {\n if (this.showTextEdit) {\n return;\n }\n let {\n customInnerElsAppendTo,\n nodeTextEditZIndex,\n textAutoWrapWidth,\n selectTextOnEnterEditText,\n transformRichTextOnEnterEdit,\n openRealtimeRenderOnNodeTextEdit,\n autoEmptyTextWhenKeydownEnterEdit\n } = this.mindMap.opt;\n textAutoWrapWidth = node.hasCustomWidth() ? node.customTextWidth : textAutoWrapWidth;\n this.node = node;\n this.isInserting = isInserting;\n if (!rect) rect = node._textData.node.node.getBoundingClientRect();\n if (!isFromScale) {\n this.mindMap.emit('before_show_text_edit');\n }\n this.mindMap.renderer.textEdit.registerTmpShortcut();\n // 原始宽高\n let g = node._textData.node;\n let originWidth = g.attr('data-width');\n let originHeight = g.attr('data-height');\n // 缩放值\n const scaleX = Math.ceil(rect.width) / originWidth;\n const scaleY = Math.ceil(rect.height) / originHeight;\n // 内边距\n let paddingX = this.textNodePaddingX;\n let paddingY = this.textNodePaddingY;\n if (!this.textEditNode) {\n this.textEditNode = document.createElement('div');\n this.textEditNode.classList.add('smm-richtext-node-edit-wrap');\n this.textEditNode.style.cssText = `\n position:fixed;\n box-sizing: border-box;\n ${openRealtimeRenderOnNodeTextEdit ? '' : 'box-shadow: 0 0 20px rgba(0,0,0,.5);'}\n outline: none;\n word-break: break-all;\n padding: ${paddingY}px ${paddingX}px;\n line-height: 1.2;\n `;\n this.textEditNode.addEventListener('click', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('mousedown', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('keydown', e => {\n if (this.mindMap.renderer.textEdit.checkIsAutoEnterTextEditKey(e)) {\n e.stopPropagation();\n }\n });\n const targetNode = customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.textEditNode);\n }\n this.addNodeTextStyleToTextEditNode(node);\n this.textEditNode.style.marginLeft = `-${paddingX * scaleX}px`;\n this.textEditNode.style.marginTop = `-${paddingY * scaleY}px`;\n this.textEditNode.style.zIndex = nodeTextEditZIndex;\n if (!openRealtimeRenderOnNodeTextEdit) {\n this.textEditNode.style.background = this.mindMap.renderer.textEdit.getBackground(node);\n }\n this.textEditNode.style.minWidth = originWidth + paddingX * 2 + 'px';\n this.textEditNode.style.minHeight = originHeight + 'px';\n this.textEditNode.style.left = rect.left + 'px';\n this.textEditNode.style.top = rect.top + 'px';\n this.textEditNode.style.display = 'block';\n this.textEditNode.style.maxWidth = textAutoWrapWidth + paddingX * 2 + 'px';\n this.textEditNode.style.transform = `scale(${scaleX}, ${scaleY})`;\n this.textEditNode.style.transformOrigin = 'left top';\n // 节点文本内容\n let nodeText = node.getData('text');\n if (typeof transformRichTextOnEnterEdit === 'function') {\n nodeText = transformRichTextOnEnterEdit(nodeText);\n }\n // 是否是空文本\n const isEmptyText = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"isUndef\"])(nodeText);\n // 是否是非空的非富文本\n const noneEmptyNoneRichText = !node.getData('richText') && !isEmptyText;\n if (isFromKeyDown && autoEmptyTextWhenKeydownEnterEdit) {\n this.textEditNode.innerHTML = '';\n } else if (noneEmptyNoneRichText) {\n // 还不是富文本\n let text = String(nodeText).split(/\\n/gim).join('
    ');\n let html = `

    ${text}

    `;\n this.textEditNode.innerHTML = this.cacheEditingText || html;\n } else {\n // 已经是富文本\n this.textEditNode.innerHTML = this.cacheEditingText || nodeText;\n }\n this.initQuillEditor();\n this.setQuillContainerMinHeight(originHeight);\n this.showTextEdit = true;\n // 如果是刚创建的节点,那么默认全选,否则普通激活不全选,除非selectTextOnEnterEditText配置为true\n // 在selectTextOnEnterEditText时,如果是在keydown事件进入的节点编辑,也不需要全选\n this.focus(isInserting || selectTextOnEnterEditText && !isFromKeyDown ? 0 : null);\n this.cacheEditingText = '';\n }\n\n // 当openRealtimeRenderOnNodeTextEdit配置更新后需要更新编辑框样式\n onOpenRealtimeRenderOnNodeTextEditConfigUpdate(openRealtimeRenderOnNodeTextEdit) {\n if (!this.textEditNode) return;\n this.textEditNode.style.background = openRealtimeRenderOnNodeTextEdit ? 'transparent' : this.node ? this.mindMap.renderer.textEdit.getBackground(this.node) : '';\n this.textEditNode.style.boxShadow = openRealtimeRenderOnNodeTextEdit ? 'none' : '0 0 20px rgba(0,0,0,.5)';\n }\n\n // 将指定节点的文本样式添加到编辑框元素上\n addNodeTextStyleToTextEditNode(node) {\n const style = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getNodeRichTextStyles\"])(node);\n Object.keys(style).forEach(prop => {\n this.textEditNode.style[prop] = style[prop];\n });\n }\n\n // 设置quill编辑器容器的最小高度\n setQuillContainerMinHeight(minHeight) {\n document.querySelector('.' + _constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"CONSTANTS\"].EDIT_NODE_CLASS.RICH_TEXT_EDIT_WRAP).style.minHeight = minHeight + 'px';\n }\n\n // 更新文本编辑框的大小和位置\n updateTextEditNode() {\n if (!this.node) return;\n const g = this.node._textData.node;\n const rect = g.node.getBoundingClientRect();\n const originWidth = g.attr('data-width');\n const originHeight = g.attr('data-height');\n this.textEditNode.style.minWidth = originWidth + this.textNodePaddingX * 2 + 'px';\n this.textEditNode.style.minHeight = originHeight + 'px';\n this.textEditNode.style.left = rect.left + 'px';\n this.textEditNode.style.top = rect.top + 'px';\n this.setQuillContainerMinHeight(originHeight);\n }\n\n // 删除文本编辑框元素\n removeTextEditEl() {\n if (!this.textEditNode) return;\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.removeChild(this.textEditNode);\n }\n\n // 获取当前正在编辑的内容\n getEditText() {\n // https://github.com/slab/quill/issues/4509\n return this.quill.container.firstChild.innerHTML.replace(/ +/g, match => ' '.repeat(match.length));\n // 去除ql-cursor节点\n // https://github.com/wanglin2/mind-map/commit/138cc4b3e824671143f0bf70e5c46796f48520d0\n // https://github.com/wanglin2/mind-map/commit/0760500cebe8ec4e8ad84ab63f877b8b2a193aa1\n // html = removeHtmlNodeByClass(html, '.ql-cursor')\n // 去除最后的空行\n // return html.replace(/


    <\\/p>$/, '')\n }\n\n // 隐藏文本编辑控件,即完成编辑\n hideEditText(nodes) {\n if (!this.showTextEdit) {\n return;\n }\n const {\n beforeHideRichTextEdit\n } = this.mindMap.opt;\n if (typeof beforeHideRichTextEdit === 'function') {\n beforeHideRichTextEdit(this);\n }\n const html = this.getEditText();\n const list = nodes && nodes.length > 0 ? nodes : [this.node];\n const node = this.node;\n this.textEditNode.style.display = 'none';\n this.showTextEdit = false;\n this.mindMap.emit('rich_text_selection_change', false);\n this.node = null;\n this.isInserting = false;\n list.forEach(node => {\n this.mindMap.execCommand('SET_NODE_TEXT', node, html, true);\n // if (node.isGeneralization) {\n // 概要节点\n // node.generalizationBelongNode.updateGeneralization()\n // }\n this.mindMap.render();\n });\n this.mindMap.emit('hide_text_edit', this.textEditNode, list, node);\n }\n\n // 初始化Quill富文本编辑器\n initQuillEditor() {\n this.quill = new quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.textEditNode, {\n modules: {\n toolbar: false,\n keyboard: {\n bindings: {\n enter: {\n key: 'Enter',\n handler: function () {\n // 覆盖默认的回车键,禁止换行\n }\n },\n shiftEnter: {\n key: 'Enter',\n shiftKey: true,\n handler: function (range, context) {\n // 覆盖默认的换行,默认情况下新行的样式会丢失\n const lineFormats = Object.keys(context.format).reduce((formats, format) => {\n if (this.quill.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_8__[\"Scope\"].BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).delete(range.length).insert('\\n', lineFormats);\n this.quill.updateContents(delta, quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.USER);\n this.quill.setSelection(range.index + 1, quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(name => {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'code' || name === 'link') return;\n this.quill.format(name, context.format[name], quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.USER);\n });\n }\n },\n tab: {\n key: 9,\n handler: function () {\n // 覆盖默认的tab键\n }\n }\n }\n }\n },\n formats: ['bold', 'italic', 'underline', 'strike', 'color', 'background', 'font', 'size', 'formula', 'code', 'link', 'image', 'formula', 'align'],\n // 明确指定允许的格式,不包含有序列表,无序列表等\n theme: 'snow'\n });\n // 拦截复制事件,即Ctrl + c,去除多余的空行\n this.quill.root.addEventListener('copy', event => {\n event.preventDefault();\n const sel = window.getSelection();\n const originStr = sel.toString();\n try {\n const range = sel.getRangeAt(0);\n const div = document.createElement('div');\n div.appendChild(range.cloneContents());\n const text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"nodeRichTextToTextWithWrap\"])(div.innerHTML);\n event.clipboardData.setData('text/plain', text);\n } catch (e) {\n event.clipboardData.setData('text/plain', originStr);\n }\n });\n this.quill.on('selection-change', range => {\n // 刚创建的节点全选不需要显示操作条\n if (this.isInserting) return;\n this.lastRange = this.range;\n this.range = null;\n if (range) {\n this.pasteUseRange = range;\n let bounds = this.quill.getBounds(range.index, range.length);\n let rect = this.textEditNode.getBoundingClientRect();\n let rectInfo = {\n left: bounds.left + rect.left,\n top: bounds.top + rect.top,\n right: bounds.right + rect.left,\n bottom: bounds.bottom + rect.top,\n width: bounds.width\n };\n let formatInfo = this.quill.getFormat(range.index, range.length);\n let hasRange = false;\n if (range.length == 0) {\n hasRange = false;\n } else {\n this.range = range;\n hasRange = true;\n }\n this.mindMap.emit('rich_text_selection_change', hasRange, rectInfo, formatInfo);\n } else {\n this.mindMap.emit('rich_text_selection_change', false, null, null);\n }\n });\n this.quill.on('text-change', () => {\n this.mindMap.emit('node_text_edit_change', {\n node: this.node,\n text: this.getEditText(),\n richText: true\n });\n });\n\n // 添加键盘事件处理,阻止编辑快捷键的事件冒泡\n this.quill.root.addEventListener('keydown', e => {\n const isCtrlOrCmd = e.ctrlKey || e.metaKey;\n const key = e.key.toLowerCase();\n if (isCtrlOrCmd && ['a', 'c', 'v', 'x', 'z', 'y'].includes(key)) {\n e.stopPropagation();\n }\n\n // 阻止空格键的事件冒泡,防止在编辑模式下触发全局快捷键\n if (e.key === ' ' || e.code === 'Space') {\n e.stopPropagation();\n }\n });\n // 拦截粘贴,只允许粘贴纯文本\n // this.quill.clipboard.addMatcher(Node.TEXT_NODE, node => {\n // let style = this.getPasteTextStyle()\n // return new Delta().insert(this.formatPasteText(node.data), style)\n // })\n // 剪贴板里只要存在文本就会走这里,所以当剪贴板里是纯文本,或文本+图片都可以监听到和拦截,但是只有纯图片时不会走这里,所以无法拦截\n this.quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => {\n let ops = [];\n let style = this.getPasteTextStyle();\n delta.ops.forEach(op => {\n // 过滤出文本内容,过滤掉换行\n if (op.insert && typeof op.insert === 'string') {\n ops.push({\n attributes: {\n ...style\n },\n insert: this.formatPasteText(op.insert)\n });\n }\n });\n delta.ops = ops;\n return delta;\n });\n // 拦截图片的粘贴,当剪贴板里是纯图片,或文本+图片都可以拦截到,但是带来的问题是文本+图片时里面的文本也无法粘贴\n this.quill.root.addEventListener('paste', e => {\n if (e.clipboardData && e.clipboardData.files && e.clipboardData.files.length) {\n e.preventDefault();\n }\n }, true);\n }\n\n // 获取粘贴的文本的样式\n getPasteTextStyle() {\n // 粘贴的数据使用当前光标位置处的文本样式\n if (this.pasteUseRange) {\n return this.quill.getFormat(this.pasteUseRange.index, this.pasteUseRange.length);\n }\n return {};\n }\n\n // 处理粘贴的文本内容\n formatPasteText(text) {\n const {\n isSmm,\n data\n } = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"checkSmmFormatData\"])(text);\n if (isSmm && data[0] && data[0].data) {\n // 只取第一个节点的纯文本\n return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(data[0].data.text);\n } else {\n return text;\n }\n }\n\n // 正则输入中文\n onCompositionStart() {\n if (!this.showTextEdit) {\n return;\n }\n this.isCompositing = true;\n }\n\n // 中文输入中\n onCompositionUpdate() {\n if (!this.showTextEdit || !this.node) return;\n this.mindMap.emit('node_text_edit_change', {\n node: this.node,\n text: this.getEditText(),\n richText: true\n });\n }\n\n // 中文输入结束\n onCompositionEnd() {\n if (!this.showTextEdit) {\n return;\n }\n this.isCompositing = false;\n }\n\n // 选中全部\n selectAll() {\n this.quill.setSelection(0, this.quill.getLength());\n }\n\n // 聚焦\n focus(start) {\n const len = this.quill.getLength();\n this.quill.setSelection(typeof start === 'number' ? start : len, len);\n }\n\n // 格式化当前选中的文本\n formatText(config = {}, clear = false) {\n if (!this.range && !this.lastRange) return;\n const rangeLost = !this.range;\n const range = rangeLost ? this.lastRange : this.range;\n if (clear) {\n this.quill.removeFormat(range.index, range.length);\n } else {\n const {\n align,\n ...rest\n } = config;\n // 文本对齐需要对行进行格式化\n if (align) {\n this.quill.formatLine(range.index, range.length, 'align', align);\n }\n // 其他内容对文本\n if (Object.keys(rest).length > 0) {\n this.quill.formatText(range.index, range.length, rest);\n }\n }\n if (rangeLost) {\n this.quill.setSelection(this.lastRange.index, this.lastRange.length);\n }\n }\n\n // 清除当前选中文本的样式\n removeFormat() {\n this.formatText({}, true);\n }\n\n // 格式化指定范围的文本\n formatRangeText(range, config = {}) {\n if (!range) return;\n this.quill.formatText(range.index, range.length, config);\n }\n\n // 格式化所有文本\n formatAllText(config = {}) {\n this.quill.formatText(0, this.quill.getLength(), config);\n }\n\n // 将普通节点样式对象转换成富文本样式对象\n normalStyleToRichTextStyle(style) {\n const config = {};\n Object.keys(style).forEach(prop => {\n const value = style[prop];\n switch (prop) {\n case 'fontFamily':\n config.font = value;\n break;\n case 'fontSize':\n config.size = value + 'px';\n break;\n case 'fontWeight':\n config.bold = value === 'bold';\n break;\n case 'fontStyle':\n config.italic = value === 'italic';\n break;\n case 'textDecoration':\n config.underline = value === 'underline';\n config.strike = value === 'line-through';\n break;\n case 'color':\n config.color = value;\n break;\n case 'textAlign':\n config.align = value;\n break;\n default:\n break;\n }\n });\n return config;\n }\n\n // 将富文本样式对象转换成普通节点样式对象\n richTextStyleToNormalStyle(config) {\n const data = {};\n Object.keys(config).forEach(prop => {\n const value = config[prop];\n switch (prop) {\n case 'font':\n data.fontFamily = value;\n break;\n case 'size':\n data.fontSize = parseFloat(value);\n break;\n case 'bold':\n data.fontWeight = value ? 'bold' : 'normal';\n break;\n case 'italic':\n data.fontStyle = value ? 'italic' : 'normal';\n break;\n case 'underline':\n data.textDecoration = value ? 'underline' : 'none';\n break;\n case 'strike':\n data.textDecoration = value ? 'line-through' : 'none';\n break;\n case 'color':\n data.color = value;\n break;\n case 'align':\n data.textAlign = value;\n break;\n default:\n break;\n }\n });\n return data;\n }\n\n // 判断一个对象是否包含了富文本支持的样式字段\n isHasRichTextStyle(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"].includes(key)) {\n return true;\n }\n }\n return false;\n }\n\n // 检查指定节点是否存在自定义的富文本样式\n checkNodeHasCustomRichTextStyle(node) {\n const nodeData = node instanceof _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ? node.getData() : node;\n for (let i = 0; i < _constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"].length; i++) {\n if (nodeData[_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"][i]] !== undefined) {\n return true;\n }\n }\n return false;\n }\n\n // 转换数据后的渲染操作\n afterHandleData() {\n // 清空历史数据,并且触发数据变化\n this.mindMap.command.clearHistory();\n this.mindMap.command.addHistory();\n this.mindMap.render();\n }\n\n // 插件实例化时处理思维导图数据,转换为富文本数据\n handleDataToRichTextOnInit() {\n // 处理数据,转成富文本格式\n if (this.mindMap.renderer.renderTree) {\n // 如果已经存在渲染树了,那么直接更新渲染树,并且触发重新渲染\n this.handleSetData(this.mindMap.renderer.renderTree);\n this.afterHandleData();\n } else if (this.mindMap.opt.data) {\n this.handleSetData(this.mindMap.opt.data);\n }\n }\n\n // 将所有节点转换成非富文本节点\n transformAllNodesToNormalNode() {\n const renderTree = this.mindMap.renderer.renderTree;\n if (!renderTree) return;\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"walk\"])(renderTree, null, node => {\n if (node.data.richText) {\n node.data.richText = false;\n node.data.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(node.data.text);\n }\n // 概要\n if (node.data) {\n const generalizationList = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"formatGetNodeGeneralization\"])(node.data);\n generalizationList.forEach(item => {\n item.richText = false;\n item.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(item.text);\n });\n }\n }, null, true, 0, 0);\n this.afterHandleData();\n }\n handleDataToRichText(data) {\n const oldIsRichText = data.richText;\n data.richText = true;\n data.resetRichText = true;\n // 如果原本就是富文本,那么不能转换\n if (!oldIsRichText) {\n data.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"htmlEscape\"])(data.text);\n }\n }\n\n // 处理导入数据\n handleSetData(data) {\n if (!data) return;\n // 短期处理,为了兼容老数据,长期会去除\n const isOldRichTextVersion = !data.smmVersion || Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"compareVersion\"])(data.smmVersion, '0.13.0') === '<';\n const walk = root => {\n if (root.data && (!root.data.richText || isOldRichTextVersion)) {\n this.handleDataToRichText(root.data);\n }\n // 概要\n if (root.data) {\n const generalizationList = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"formatGetNodeGeneralization\"])(root.data);\n generalizationList.forEach(item => {\n if (!item.richText || isOldRichTextVersion) {\n this.handleDataToRichText(item);\n }\n });\n }\n if (root.children && root.children.length > 0) {\n Array.from(root.children).forEach(item => {\n walk(item);\n });\n }\n };\n walk(data);\n return data;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.transformAllNodesToNormalNode();\n document.head.removeChild(this.styleEl);\n this.unbindEvent();\n this.mindMap.removeAppendCss('richText');\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n document.head.removeChild(this.styleEl);\n this.unbindEvent();\n }\n}\nRichText.instanceName = 'richText';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RichText);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/RichText.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/SYMoc.js": +/*!***********************************************!*\ + !*** ../simple-mind-map/src/plugins/SYMoc.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.set.difference.v2.js */ \"./node_modules/core-js/modules/esnext.set.difference.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.set.intersection.v2.js */ \"./node_modules/core-js/modules/esnext.set.intersection.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.set.is-disjoint-from.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.set.is-subset-of.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.set.is-superset-of.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.set.symmetric-difference.v2.js */ \"./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.set.union.v2.js */ \"./node_modules/core-js/modules/esnext.set.union.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n/**\n * SYMoc 插件\n * 用于实现 MOC 模式,支持节点的创建、修改、删除、拖拽等操作的拦截和 loading 状态管理\n */\nclass SYMoc {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.mocMode = false; // MOC 模式开关\n this.loadingNodes = new Set(); // 正在 loading 的节点 UID 集合\n this.callbacks = {\n onCreate: null,\n // 创建节点回调\n onUpdate: null,\n // 更新节点回调\n onDelete: null,\n // 删除节点回调\n onMove: null // 移动节点回调\n };\n\n // 用于保存原始命令函数\n this.originalCommands = {};\n this.bindEvents();\n }\n\n /**\n * 绑定事件\n */\n bindEvents() {\n // 在插件初始化时不立即拦截,等待启用 MOC 模式时再拦截\n }\n\n /**\n * 启用 MOC 模式\n * @param {Object} callbacks - 回调函数配置\n * @param {Function} callbacks.onCreate - 创建节点回调\n * @param {Function} callbacks.onUpdate - 更新节点回调\n * @param {Function} callbacks.onDelete - 删除节点回调\n * @param {Function} callbacks.onMove - 移动节点回调\n */\n enable(callbacks = {}) {\n if (this.mocMode) return;\n this.mocMode = true;\n this.callbacks = {\n onCreate: callbacks.onCreate || null,\n onUpdate: callbacks.onUpdate || null,\n onDelete: callbacks.onDelete || null,\n onMove: callbacks.onMove || null\n };\n\n // 拦截创建节点的命令\n this.interceptCreateCommands();\n // 拦截删除节点的命令\n this.interceptDeleteCommands();\n // 拦截移动节点的命令\n this.interceptMoveCommands();\n // 拦截更新节点的命令\n this.interceptUpdateCommands();\n // 拦截在 MOC 模式下暂不支持的命令(直接禁用)\n this.interceptDisableCommands();\n this.mindMap.emit('moc_mode_change', true);\n }\n\n /**\n * 禁用 MOC 模式\n */\n disable() {\n if (!this.mocMode) return;\n this.mocMode = false;\n this.callbacks = {\n onCreate: null,\n onUpdate: null,\n onDelete: null,\n onMove: null\n };\n\n // 恢复原始命令\n this.restoreCommands();\n this.mindMap.emit('moc_mode_change', false);\n }\n\n /**\n * 拦截创建节点的命令\n */\n interceptCreateCommands() {\n const commandNames = ['INSERT_CHILD_NODE', 'INSERT_NODE', 'INSERT_MULTI_CHILD_NODE'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleCreateNode.bind(this));\n });\n }\n\n /**\n * 拦截删除节点的命令\n */\n interceptDeleteCommands() {\n const commandNames = ['REMOVE_NODE', 'REMOVE_CURRENT_NODE'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleDeleteNode.bind(this));\n });\n }\n\n /**\n * 拦截移动节点的命令\n */\n interceptMoveCommands() {\n const commandNames = ['INSERT_AFTER', 'INSERT_BEFORE', 'MOVE_NODE_TO'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleMoveNode.bind(this));\n });\n }\n\n /**\n * 拦截更新节点的命令\n */\n interceptUpdateCommands() {\n const commandNames = ['SET_NODE_TEXT'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleUpdateNode.bind(this));\n });\n }\n\n /**\n * 拦截并禁用暂不支持的命令(MOC 模式)\n * 例如:插入父节点、插入多个同级节点、画布内粘贴节点树等\n */\n interceptDisableCommands() {\n const disabled = ['INSERT_PARENT_NODE',\n // 插入父节点\n 'INSERT_MULTI_NODE',\n // 插入多个同级节点\n 'PASTE_NODE',\n // 画布内粘贴节点树\n 'BACK',\n // 撤销(避免与思源文档操作冲突)\n 'FORWARD',\n // 前进(与撤销同理,MOC 下禁用)\n 'UP_NODE',\n // 上移节点(快捷键 Ctrl+↑)\n 'DOWN_NODE' // 下移节点(快捷键 Ctrl+↓)\n ];\n disabled.forEach(name => {\n this.interceptCommand(name, this.handleDisabledCommand.bind(this));\n });\n }\n\n /**\n * 处理禁用命令:什么也不做,仅打印提示\n */\n handleDisabledCommand(commandName) {\n // 可以在这里发出事件供外层提示\n try {\n this.mindMap.emit('moc_operation_blocked', commandName);\n } catch (e) {}\n console.warn('[SYMoc] 命令已在 MOC 模式下禁用:', commandName);\n }\n\n /**\n * 拦截命令\n * @param {String} commandName - 命令名称\n * @param {Function} handler - 拦截处理函数\n */\n interceptCommand(commandName, handler) {\n // 保存原始命令函数\n if (!this.originalCommands[commandName]) {\n this.originalCommands[commandName] = this.mindMap.command.commands[commandName] || [];\n }\n\n // 清空原命令\n this.mindMap.command.remove(commandName);\n\n // 添加拦截后的命令\n this.mindMap.command.add(commandName, (...args) => {\n handler(commandName, args);\n });\n }\n\n /**\n * 恢复原始命令\n */\n restoreCommands() {\n Object.keys(this.originalCommands).forEach(commandName => {\n // 移除拦截的命令\n this.mindMap.command.remove(commandName);\n\n // 恢复原始命令\n const originalFns = this.originalCommands[commandName];\n originalFns.forEach(fn => {\n this.mindMap.command.add(commandName, fn);\n });\n });\n this.originalCommands = {};\n }\n\n /**\n * 处理创建节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleCreateNode(commandName, args) {\n // 先执行原始命令,创建节点\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 等待渲染完成,获取新创建的节点\n this.waitForRender().then(async () => {\n // 获取新创建的节点(激活的节点中,不在 loading 列表中的)\n const newNodes = this.mindMap.renderer.activeNodeList.filter(node => {\n return !this.loadingNodes.has(node.getData('uid'));\n });\n if (newNodes.length === 0) return;\n\n // 设置节点为 loading 状态\n newNodes.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 调用创建节点回调\n if (this.callbacks.onCreate) {\n for (const node of newNodes) {\n try {\n const result = await this.callbacks.onCreate({\n node: node,\n nodeUid: node.getData('uid'),\n nodeData: node.nodeData,\n parentNode: node.parent,\n parentUid: node.parent ? node.parent.getData('uid') : null\n });\n\n // 根据返回结果处理\n if (result && result.success) {\n // 成功:解除 loading,可能需要更新节点数据\n this.setNodeLoading(node, false);\n if (result.data) {\n this.updateNodeData(node, result.data);\n }\n } else {\n // 失败:删除节点(静默删除,不触发删除回调)\n this.removeNode(node, true); // 传入 true 表示静默删除\n }\n } catch (error) {\n console.error('MOC 创建节点失败:', error);\n // 出错也删除节点(静默删除)\n this.removeNode(node, true);\n }\n }\n }\n });\n }\n\n /**\n * 处理删除节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleDeleteNode(commandName, args) {\n // 获取待删除的节点\n const nodesToDelete = [...this.mindMap.renderer.activeNodeList];\n if (nodesToDelete.length === 0) return;\n\n // 调用删除节点回调(可能需要确认)\n if (this.callbacks.onDelete) {\n try {\n const result = await this.callbacks.onDelete({\n nodes: nodesToDelete,\n nodeUids: nodesToDelete.map(n => n.getData('uid'))\n });\n if (result && result.confirmed) {\n // 用户确认删除,设置 loading 状态\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 执行删除操作\n const deleteResult = await result.deletePromise;\n if (deleteResult && deleteResult.success) {\n // 删除成功,执行原始删除命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n } else {\n // 删除失败,解除 loading\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n }\n // 用户取消删除,不执行任何操作\n } catch (error) {\n console.error('MOC 删除节点失败:', error);\n // 解除 loading\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n } else {\n // 没有回调,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n }\n }\n\n /**\n * 处理移动节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleMoveNode(commandName, args) {\n // 保存移动前的信息,用于失败时恢复\n const moveInfo = this.captureMoveInfo(commandName, args);\n if (!moveInfo) {\n // 无法获取移动信息,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n return;\n }\n\n // 先执行移动\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 设置节点为 loading 状态\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 调用移动节点回调\n if (this.callbacks.onMove) {\n try {\n const result = await this.callbacks.onMove({\n nodes: moveInfo.nodes,\n nodeUids: moveInfo.nodeUids,\n targetNode: moveInfo.targetNode,\n targetUid: moveInfo.targetUid,\n moveType: commandName\n });\n if (result && result.success) {\n // 移动成功,解除 loading\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n } else {\n // 移动失败,需要恢复原位置\n this.restoreMoveInfo(moveInfo);\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n } catch (error) {\n console.error('MOC 移动节点失败:', error);\n // 恢复原位置\n this.restoreMoveInfo(moveInfo);\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n }\n }\n\n /**\n * 处理更新节点(重命名)\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleUpdateNode(commandName, args) {\n // SET_NODE_TEXT 命令参数:[node, text]\n const [node, newText] = args;\n if (!node) {\n // 没有节点,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n return;\n }\n\n // 先执行原始命令,更新节点文本\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 调用更新节点回调\n if (this.callbacks.onUpdate) {\n try {\n // 设置节点为 loading 状态\n this.setNodeLoading(node, true);\n const result = await this.callbacks.onUpdate({\n node: node,\n nodeUid: node.getData('uid'),\n nodeData: node.nodeData,\n newText: newText\n });\n\n // 解除 loading 状态\n this.setNodeLoading(node, false);\n if (result && !result.success) {\n console.error('MOC 更新节点失败:', result.error);\n }\n } catch (error) {\n console.error('MOC 更新节点异常:', error);\n this.setNodeLoading(node, false);\n }\n }\n }\n\n /**\n * 捕获移动前的信息\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n * @returns {Object|null} 移动信息\n */\n captureMoveInfo(commandName, args) {\n try {\n if (commandName === 'MOVE_NODE_TO') {\n // MOVE_NODE_TO 命令参数:[node, toNode]\n const [node, toNode] = args;\n if (!node || !toNode) {\n return null;\n }\n\n // 支持单个节点或节点数组\n const nodes = Array.isArray(node) ? node : [node];\n\n // 过滤掉根节点(如果不是多根模式)\n const validNodes = nodes.filter(n => {\n if (!this.mindMap.renderer.isMultiRoot && n.isRoot) {\n return false;\n }\n return true;\n });\n if (validNodes.length === 0) {\n return null;\n }\n\n // 保存移动前的父节点信息\n const oldParents = validNodes.map(n => n.parent);\n return {\n nodes: validNodes,\n nodeUids: validNodes.map(n => n.getData('uid')),\n targetNode: toNode,\n targetUid: toNode.getData('uid'),\n oldParents: oldParents,\n commandName: commandName\n };\n } else if (commandName === 'INSERT_AFTER' || commandName === 'INSERT_BEFORE') {\n // INSERT_AFTER/INSERT_BEFORE 命令参数:[node, existNode]\n const [node, existNode] = args;\n if (!node || !existNode) {\n return null;\n }\n\n // 支持单个节点或节点数组\n const nodes = Array.isArray(node) ? node : [node];\n\n // 过滤掉根节点(如果不是多根模式)\n const validNodes = nodes.filter(n => {\n if (!this.mindMap.renderer.isMultiRoot && n.isRoot) {\n return false;\n }\n return true;\n });\n if (validNodes.length === 0) {\n return null;\n }\n\n // 保存移动前的父节点信息\n const oldParents = validNodes.map(n => n.parent);\n\n // INSERT_AFTER/INSERT_BEFORE 操作后,节点会移动到 existNode 的父节点下\n const targetNode = existNode.parent;\n if (!targetNode) {\n return null;\n }\n return {\n nodes: validNodes,\n nodeUids: validNodes.map(n => n.getData('uid')),\n targetNode: targetNode,\n targetUid: targetNode.getData('uid'),\n oldParents: oldParents,\n commandName: commandName\n };\n }\n return null;\n } catch (error) {\n console.error('捕获移动信息失败:', error);\n return null;\n }\n }\n\n /**\n * 恢复移动信息\n * @param {Object} moveInfo - 移动信息\n */\n restoreMoveInfo(moveInfo) {\n if (!moveInfo || !moveInfo.nodes || !moveInfo.oldParents) {\n return;\n }\n try {\n // 将每个节点恢复到原来的父节点下\n moveInfo.nodes.forEach((node, index) => {\n const oldParent = moveInfo.oldParents[index];\n if (oldParent && oldParent !== node.parent) {\n // 使用原始命令恢复节点位置,避免再次触发拦截\n const originalFns = this.originalCommands['MOVE_NODE_TO'] || [];\n originalFns.forEach(fn => fn(node, oldParent));\n }\n });\n\n // 重新渲染\n this.mindMap.render();\n console.log('MOC 节点位置已恢复');\n } catch (error) {\n console.error('恢复节点位置失败:', error);\n }\n }\n\n /**\n * 设置节点 loading 状态\n * @param {Object} node - 节点实例\n * @param {Boolean} isLoading - 是否 loading\n */\n setNodeLoading(node, isLoading) {\n const uid = node.getData('uid');\n if (isLoading) {\n this.loadingNodes.add(uid);\n // 添加 loading 样式:闪烁效果\n this.startNodeBlink(node);\n } else {\n this.loadingNodes.delete(uid);\n // 移除 loading 样式\n this.stopNodeBlink(node);\n }\n }\n\n /**\n * 开始节点闪烁\n * @param {Object} node - 节点实例\n */\n startNodeBlink(node) {\n if (node._blinkTimer) return;\n let opacity = 1;\n node._blinkTimer = setInterval(() => {\n opacity = opacity === 1 ? 0.5 : 1;\n node.setOpacity(opacity);\n }, 500); // 每 500ms 切换一次透明度\n }\n\n /**\n * 停止节点闪烁\n * @param {Object} node - 节点实例\n */\n stopNodeBlink(node) {\n if (node._blinkTimer) {\n clearInterval(node._blinkTimer);\n node._blinkTimer = null;\n node.setOpacity(1); // 恢复完全不透明\n }\n }\n\n /**\n * 等待渲染完成\n */\n waitForRender() {\n return new Promise(resolve => {\n const handler = () => {\n this.mindMap.off('node_tree_render_end', handler);\n resolve();\n };\n this.mindMap.on('node_tree_render_end', handler);\n });\n }\n\n /**\n * 更新节点数据\n * @param {Object} node - 节点实例\n * @param {Object} data - 新数据\n */\n updateNodeData(node, data) {\n Object.keys(data).forEach(key => {\n node.nodeData.data[key] = data[key];\n });\n\n // MOC 模式特殊处理:如果返回了 docId,将其同步到 uid 以保持一致性\n // 这样 MOC 模式下,uid 始终等于 docId,方便通过 docId 查找节点\n // 还是先注释了,避免手动更改uid可能会影响历史记录等等依赖节点id的情况\n // if (data.docId) {\n // node.nodeData.data.uid = data.docId\n // }\n\n this.mindMap.render();\n }\n\n /**\n * 删除节点\n * @param {Object} node - 节点实例\n * @param {Boolean} silent - 是否静默删除(不触发删除回调)\n */\n removeNode(node, silent = false) {\n // 停止 loading\n this.setNodeLoading(node, false);\n if (silent) {\n // 静默删除:直接调用原始删除命令,不触发拦截\n const originalFns = this.originalCommands['REMOVE_NODE'] || [];\n originalFns.forEach(fn => fn([node]));\n } else {\n // 正常删除:通过 execCommand 触发拦截\n this.mindMap.execCommand('REMOVE_NODE', [node]);\n }\n }\n\n /**\n * 插件被移除前做的事情\n */\n beforePluginRemove() {\n this.disable();\n }\n\n /**\n * 插件被卸载前做的事情\n */\n beforePluginDestroy() {\n this.disable();\n // 清理所有 loading 状态\n this.loadingNodes.forEach(uid => {\n const node = this.mindMap.renderer.findNodeByUid(uid);\n if (node) {\n this.stopNodeBlink(node);\n }\n });\n this.loadingNodes.clear();\n }\n}\nSYMoc.instanceName = 'syMoc';\n/* harmony default export */ __webpack_exports__[\"default\"] = (SYMoc);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/SYMoc.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Scrollbar.js": +/*!***************************************************!*\ + !*** ../simple-mind-map/src/plugins/Scrollbar.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n// 滚动条插件\nclass Scrollbar {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.scrollbarWrapSize = {\n width: 0,\n // 水平滚动条的容器宽度\n height: 0 // 垂直滚动条的容器高度\n };\n // 思维导图实际高度\n this.chartHeight = 0;\n this.chartWidth = 0;\n this.reset();\n this.bindEvent();\n }\n\n // 复位数据\n reset() {\n // 当前拖拽的滚动条类型\n this.currentScrollType = '';\n this.isMousedown = false;\n this.mousedownPos = {\n x: 0,\n y: 0\n };\n // 鼠标按下时,滚动条位置\n this.mousedownScrollbarPos = 0;\n }\n\n // 绑定事件\n bindEvent() {\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.updateScrollbar = this.updateScrollbar.bind(this);\n this.updateScrollbar = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"throttle\"])(this.updateScrollbar, 16, this); // 加个节流\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_tree_render_end', this.updateScrollbar);\n this.mindMap.on('view_data_change', this.updateScrollbar);\n this.mindMap.on('resize', this.updateScrollbar);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_tree_render_end', this.updateScrollbar);\n this.mindMap.off('view_data_change', this.updateScrollbar);\n this.mindMap.off('resize', this.updateScrollbar);\n }\n\n // 渲染后、数据改变需要更新滚动条\n updateScrollbar() {\n // 当前正在拖拽滚动条时不需要更新\n if (this.isMousedown) return;\n const res = this.calculationScrollbar();\n this.emitEvent(res);\n }\n\n // 发送滚动条改变事件\n emitEvent(data) {\n this.mindMap.emit('scrollbar_change', data);\n }\n\n // 设置滚动条容器的大小,指滚动条容器的大小,对于水平滚动条,即宽度,对于垂直滚动条,即高度\n setScrollBarWrapSize(width, height) {\n this.scrollbarWrapSize.width = width;\n this.scrollbarWrapSize.height = height;\n }\n\n // 计算滚动条大小和位置\n calculationScrollbar() {\n const rect = this.mindMap.draw.rbox();\n // 减去画布距离浏览器窗口左上角的距离\n const elRect = this.mindMap.elRect;\n rect.x -= elRect.left;\n rect.y -= elRect.top;\n\n // 垂直滚动条\n const canvasHeight = this.mindMap.height; // 画布高度\n const paddingY = canvasHeight / 2; // 首尾允许超出的距离,默认为高度的一半\n const chartHeight = rect.height + paddingY * 2; // 思维导图高度\n this.chartHeight = chartHeight;\n const chartTop = rect.y - paddingY; // 思维导图顶部距画布顶部的距离\n const height = Math.min(canvasHeight / chartHeight * 100, 100); // 滚动条高度 = 画布高度 / 思维导图高度\n let top = -chartTop / chartHeight * 100; // 滚动条距离 = 思维导图顶部距画布顶部的距离 / 思维导图高度\n // 判断是否到达边界\n if (top < 0) {\n top = 0;\n }\n if (top > 100 - height) {\n top = 100 - height;\n }\n\n // 水平滚动条\n const canvasWidth = this.mindMap.width;\n const paddingX = canvasWidth / 2;\n const chartWidth = rect.width + paddingX * 2;\n this.chartWidth = chartWidth;\n const chartLeft = rect.x - paddingX;\n const width = Math.min(canvasWidth / chartWidth * 100, 100);\n let left = -chartLeft / chartWidth * 100;\n if (left < 0) {\n left = 0;\n }\n if (left > 100 - width) {\n left = 100 - width;\n }\n const res = {\n // 垂直滚动条\n vertical: {\n top,\n height\n },\n // 水平滚动条\n horizontal: {\n left,\n width\n }\n };\n return res;\n }\n\n // 滚动条鼠标按下事件处理函数\n onMousedown(e, type) {\n e.preventDefault();\n e.stopPropagation();\n this.currentScrollType = type;\n this.isMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存滚动条当前的位置\n const styles = window.getComputedStyle(e.target);\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n this.mousedownScrollbarPos = Number.parseFloat(styles.top);\n } else {\n this.mousedownScrollbarPos = Number.parseFloat(styles.left);\n }\n }\n\n // 鼠标移动事件处理函数\n onMousemove(e) {\n if (!this.isMousedown) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n if (this.currentScrollType === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n const oy = e.clientY - this.mousedownPos.y + this.mousedownScrollbarPos;\n this.updateMindMapView(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL, oy);\n } else {\n const ox = e.clientX - this.mousedownPos.x + this.mousedownScrollbarPos;\n this.updateMindMapView(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.HORIZONTAL, ox);\n }\n }\n\n // 鼠标松开事件处理函数\n onMouseup() {\n this.isMousedown = false;\n this.reset();\n }\n\n // 更新视图\n updateMindMapView(type, offset) {\n const scrollbarData = this.calculationScrollbar();\n const t = this.mindMap.draw.transform();\n const drawRect = this.mindMap.draw.rbox();\n const rootRect = this.mindMap.renderer.root.group.rbox();\n const rootCenterOffset = this.mindMap.renderer.layout.getRootCenterOffset(rootRect.width, rootRect.height);\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n // 滚动条新位置\n let oy = offset;\n // 判断是否达到首尾\n if (oy <= 0) {\n oy = 0;\n }\n const max = (100 - scrollbarData.vertical.height) / 100 * this.scrollbarWrapSize.height;\n if (oy >= max) {\n oy = max;\n }\n // 转换成百分比\n const oyPercentage = oy / this.scrollbarWrapSize.height * 100;\n // 转换成相对于图形高度的距离\n const oyPx = -oyPercentage / 100 * this.chartHeight;\n // 节点中心点到图形最上方的距离\n const yOffset = rootRect.y - drawRect.y;\n // 内边距\n const paddingY = this.mindMap.height / 2;\n // 图形新位置\n const chartTop = oyPx + yOffset - paddingY * t.scaleY + paddingY - rootCenterOffset.y * t.scaleY + (this.mindMap.height - this.mindMap.initHeight) / 2 * t.scaleY; // 画布宽高改变了,但是思维导图元素变换的中心点依旧是原有位置,所以需要加上中心点变化量\n this.mindMap.view.translateYTo(chartTop);\n this.emitEvent({\n horizontal: scrollbarData.horizontal,\n vertical: {\n top: oyPercentage,\n height: scrollbarData.vertical.height\n }\n });\n } else {\n // 滚动条新位置\n let ox = offset;\n // 判断是否达到首尾\n if (ox <= 0) {\n ox = 0;\n }\n const max = (100 - scrollbarData.horizontal.width) / 100 * this.scrollbarWrapSize.width;\n if (ox >= max) {\n ox = max;\n }\n // 转换成百分比\n const oxPercentage = ox / this.scrollbarWrapSize.width * 100;\n // 转换成相对于图形宽度的距离\n const oxPx = -oxPercentage / 100 * this.chartWidth;\n // 节点中心点到图形最左边的距离\n const xOffset = rootRect.x - drawRect.x;\n // 内边距\n const paddingX = this.mindMap.width / 2;\n // 图形新位置\n const chartLeft = oxPx + xOffset - paddingX * t.scaleX + paddingX - rootCenterOffset.x * t.scaleX + (this.mindMap.width - this.mindMap.initWidth) / 2 * t.scaleX; // 画布宽高改变了,但是思维导图元素变换的中心点依旧是原有位置,所以需要加上中心点变化量\n this.mindMap.view.translateXTo(chartLeft);\n this.emitEvent({\n vertical: scrollbarData.vertical,\n horizontal: {\n left: oxPercentage,\n width: scrollbarData.horizontal.width\n }\n });\n }\n }\n\n // 滚动条的点击事件\n onClick(e, type) {\n let offset = 0;\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n offset = e.clientY - e.currentTarget.getBoundingClientRect().top;\n } else {\n offset = e.clientX - e.currentTarget.getBoundingClientRect().left;\n }\n this.updateMindMapView(type, offset);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nScrollbar.instanceName = 'scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Scrollbar.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Search.js": +/*!************************************************!*\ + !*** ../simple-mind-map/src/plugins/Search.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/render/node/MindMapNode */ \"../simple-mind-map/src/core/render/node/MindMapNode.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n\n\n// 搜索插件\nclass Search {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n // 是否正在搜索\n this.isSearching = false;\n // 搜索文本\n this.searchText = '';\n // 匹配的节点列表\n this.matchNodeList = [];\n // 当前所在的节点列表索引\n this.currentIndex = -1;\n // 不要复位搜索文本\n this.notResetSearchText = false;\n // 是否自动跳转下一个匹配节点\n this.isJumpNext = false;\n this.bindEvent();\n }\n bindEvent() {\n this.onDataChange = this.onDataChange.bind(this);\n this.onModeChange = this.onModeChange.bind(this);\n this.mindMap.on('data_change', this.onDataChange);\n this.mindMap.on('mode_change', this.onModeChange);\n }\n unBindEvent() {\n this.mindMap.off('data_change', this.onDataChange);\n this.mindMap.off('mode_change', this.onModeChange);\n }\n\n // 节点数据改变了,需要重新搜索\n onDataChange() {\n if (this.isJumpNext) {\n this.isJumpNext = false;\n this.search(this.searchText);\n return;\n }\n if (this.notResetSearchText) {\n this.notResetSearchText = false;\n return;\n }\n this.searchText = '';\n }\n\n // 监听只读模式切换\n onModeChange(mode) {\n const isReadonly = mode === _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"CONSTANTS\"].MODE.READONLY;\n // 如果是由只读模式切换为非只读模式,需要清除只读模式下的节点高亮\n if (!isReadonly && this.isSearching && this.matchNodeList[this.currentIndex]) {\n this.matchNodeList[this.currentIndex].closeHighlight();\n }\n }\n\n // 搜索\n search(text, callback = () => {}) {\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"isUndef\"])(text)) return this.endSearch();\n text = String(text);\n this.isSearching = true;\n if (this.searchText === text) {\n // 和上一次搜索文本一样,那么搜索下一个\n this.searchNext(callback);\n } else {\n // 和上次搜索文本不一样,那么重新开始\n this.searchText = text;\n this.doSearch();\n this.searchNext(callback);\n }\n this.emitEvent();\n }\n\n // 更新匹配节点列表\n updateMatchNodeList(list) {\n this.matchNodeList = list;\n this.mindMap.emit('search_match_node_list_change', list);\n }\n\n // 结束搜索\n endSearch() {\n if (!this.isSearching) return;\n if (this.mindMap.opt.readonly && this.matchNodeList[this.currentIndex]) {\n this.matchNodeList[this.currentIndex].closeHighlight();\n }\n this.searchText = '';\n this.updateMatchNodeList([]);\n this.currentIndex = -1;\n this.notResetSearchText = false;\n this.isSearching = false;\n this.emitEvent();\n }\n\n // 搜索匹配的节点\n doSearch() {\n this.clearHighlightOnReadonly();\n this.updateMatchNodeList([]);\n this.currentIndex = -1;\n const {\n isOnlySearchCurrentRenderNodes\n } = this.mindMap.opt;\n // 如果要搜索收起来的节点,那么要遍历渲染树而不是节点树\n const tree = isOnlySearchCurrentRenderNodes ? this.mindMap.renderer.root : this.mindMap.renderer.renderTree;\n if (!tree) return;\n const matchList = [];\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"bfsWalk\"])(tree, node => {\n let {\n richText,\n text,\n generalization\n } = isOnlySearchCurrentRenderNodes ? node.getData() : node.data;\n if (richText) {\n text = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(text);\n }\n if (text.includes(this.searchText)) {\n matchList.push(node);\n }\n // 概要节点\n const generalizationList = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])({\n generalization\n });\n generalizationList.forEach(gNode => {\n let {\n richText,\n text,\n uid\n } = gNode;\n if (isOnlySearchCurrentRenderNodes && !this.mindMap.renderer.findNodeByUid(uid)) {\n return;\n }\n if (richText) {\n text = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(text);\n }\n if (text.includes(this.searchText)) {\n matchList.push({\n data: gNode\n });\n }\n });\n });\n this.updateMatchNodeList(matchList);\n }\n\n // 判断对象是否是节点实例\n isNodeInstance(node) {\n return node instanceof _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n\n // 搜索下一个或指定索引,定位到下一个匹配节点\n searchNext(callback, index) {\n if (!this.isSearching || this.matchNodeList.length <= 0) return;\n if (index !== undefined && Number.isInteger(index) && index >= 0 && index < this.matchNodeList.length) {\n this.currentIndex = index;\n } else {\n if (this.currentIndex < this.matchNodeList.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0;\n }\n }\n const {\n readonly\n } = this.mindMap.opt;\n // 只读模式下需要清除之前节点的高亮\n this.clearHighlightOnReadonly();\n const currentNode = this.matchNodeList[this.currentIndex];\n this.notResetSearchText = true;\n const uid = this.isNodeInstance(currentNode) ? currentNode.getData('uid') : currentNode.data.uid;\n if (!uid) {\n callback();\n return;\n }\n const targetNode = this.mindMap.renderer.findNodeByUid(uid);\n this.mindMap.execCommand('GO_TARGET_NODE', uid, node => {\n if (!this.isNodeInstance(currentNode)) {\n this.matchNodeList[this.currentIndex] = node;\n this.updateMatchNodeList(this.matchNodeList);\n }\n callback();\n // 只读模式下节点无法激活,所以通过高亮的方式\n if (readonly) {\n node.highlight();\n }\n // 如果当前节点实例已经存在,则不会触发data_change事件,那么需要手动把标志复位\n if (targetNode) {\n this.notResetSearchText = false;\n }\n });\n }\n\n // 只读模式下清除现有匹配节点的高亮\n clearHighlightOnReadonly() {\n const {\n readonly\n } = this.mindMap.opt;\n if (readonly) {\n this.matchNodeList.forEach(node => {\n if (this.isNodeInstance(node)) {\n node.closeHighlight();\n }\n });\n }\n }\n\n // 定位到指定搜索结果索引的节点\n jump(index, callback = () => {}) {\n this.searchNext(callback, index);\n }\n\n // 替换当前节点\n replace(replaceText, jumpNext = false) {\n if (replaceText === null || replaceText === undefined || !this.isSearching || this.matchNodeList.length <= 0) return;\n // 自动跳转下一个匹配节点\n this.isJumpNext = jumpNext;\n replaceText = String(replaceText);\n let currentNode = this.matchNodeList[this.currentIndex];\n if (!currentNode) return;\n // 如果当前搜索文本是替换文本的子串,那么该节点还是符合搜索结果的\n const keep = replaceText.includes(this.searchText);\n const text = this.getReplacedText(currentNode, this.searchText, replaceText);\n this.notResetSearchText = true;\n currentNode.setText(text, currentNode.getData('richText'));\n if (keep) {\n this.updateMatchNodeList(this.matchNodeList);\n return;\n }\n const newList = this.matchNodeList.filter(node => {\n return currentNode !== node;\n });\n this.updateMatchNodeList(newList);\n if (this.currentIndex > this.matchNodeList.length - 1) {\n this.currentIndex = -1;\n } else {\n this.currentIndex--;\n }\n this.emitEvent();\n }\n\n // 替换所有\n replaceAll(replaceText) {\n if (replaceText === null || replaceText === undefined || !this.isSearching || this.matchNodeList.length <= 0) return;\n replaceText = String(replaceText);\n // 如果当前搜索文本是替换文本的子串,那么该节点还是符合搜索结果的\n const keep = replaceText.includes(this.searchText);\n this.notResetSearchText = true;\n this.matchNodeList.forEach(node => {\n const text = this.getReplacedText(node, this.searchText, replaceText);\n if (this.isNodeInstance(node)) {\n const data = {\n text\n };\n this.mindMap.renderer.setNodeDataRender(node, data, true);\n } else {\n node.data.text = text;\n }\n });\n this.mindMap.render();\n this.mindMap.command.addHistory();\n if (keep) {\n this.updateMatchNodeList(this.matchNodeList);\n } else {\n this.endSearch();\n }\n }\n\n // 获取某个节点替换后的文本\n getReplacedText(node, searchText, replaceText) {\n let {\n richText,\n text\n } = this.isNodeInstance(node) ? node.getData() : node.data;\n if (richText) {\n return Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"replaceHtmlText\"])(text, searchText, replaceText);\n } else {\n return text.replace(new RegExp(searchText, 'g'), replaceText);\n }\n }\n\n // 发送事件\n emitEvent() {\n this.mindMap.emit('search_info_change', {\n currentIndex: this.currentIndex,\n total: this.matchNodeList.length\n });\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nSearch.instanceName = 'search';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Search);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Search.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Select.js": +/*!************************************************!*\ + !*** ../simple-mind-map/src/plugins/Select.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _utils_AutoMove__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/AutoMove */ \"../simple-mind-map/src/utils/AutoMove.js\");\n\n\n\n// 节点选择插件\nclass Select {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.rect = null;\n this.isMousedown = false;\n this.mouseDownX = 0;\n this.mouseDownY = 0;\n this.mouseMoveX = 0;\n this.mouseMoveY = 0;\n this.isSelecting = false;\n this.cacheActiveList = [];\n this.autoMove = new _utils_AutoMove__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mindMap);\n this.bindEvent();\n }\n\n // 绑定事件\n bindEvent() {\n this.onMousedown = this.onMousedown.bind(this);\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.checkInNodes = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"throttle\"])(this.checkInNodes, 300, this);\n this.mindMap.on('mousedown', this.onMousedown);\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_mouseup', this.onMouseup);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('mousedown', this.onMousedown);\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_mouseup', this.onMouseup);\n }\n\n // 鼠标按下\n onMousedown(e) {\n const {\n readonly,\n mousedownEventPreventDefault\n } = this.mindMap.opt;\n if (readonly) {\n return;\n }\n let {\n useLeftKeySelectionRightKeyDrag\n } = this.mindMap.opt;\n if (!(e.ctrlKey || e.metaKey) && (useLeftKeySelectionRightKeyDrag ? e.which !== 1 : e.which !== 3)) {\n return;\n }\n if (mousedownEventPreventDefault) {\n e.preventDefault();\n }\n this.isMousedown = true;\n this.cacheActiveList = [...this.mindMap.renderer.activeNodeList];\n let {\n x,\n y\n } = this.mindMap.toPos(e.clientX, e.clientY);\n this.mouseDownX = x;\n this.mouseDownY = y;\n this.createRect(x, y);\n }\n\n // 鼠标移动\n onMousemove(e) {\n if (this.mindMap.opt.readonly) {\n return;\n }\n if (!this.isMousedown) {\n return;\n }\n let {\n x,\n y\n } = this.mindMap.toPos(e.clientX, e.clientY);\n this.mouseMoveX = x;\n this.mouseMoveY = y;\n if (Math.abs(x - this.mouseDownX) <= 10 && Math.abs(y - this.mouseDownY) <= 10) {\n return;\n }\n this.autoMove.clearAutoMoveTimer();\n this.autoMove.onMove(e.clientX, e.clientY, () => {\n this.isSelecting = true;\n // 绘制矩形\n if (this.rect) {\n this.rect.plot([[this.mouseDownX, this.mouseDownY], [this.mouseMoveX, this.mouseDownY], [this.mouseMoveX, this.mouseMoveY], [this.mouseDownX, this.mouseMoveY]]);\n }\n this.checkInNodes();\n }, (dir, step) => {\n switch (dir) {\n case 'left':\n this.mouseDownX += step;\n break;\n case 'top':\n this.mouseDownY += step;\n break;\n case 'right':\n this.mouseDownX -= step;\n break;\n case 'bottom':\n this.mouseDownY -= step;\n break;\n default:\n break;\n }\n });\n }\n\n // 结束框选\n onMouseup() {\n if (this.mindMap.opt.readonly) {\n return;\n }\n if (!this.isMousedown) {\n return;\n }\n this.checkTriggerNodeActiveEvent();\n this.autoMove.clearAutoMoveTimer();\n this.isMousedown = false;\n this.cacheActiveList = [];\n if (this.rect) this.rect.remove();\n this.rect = null;\n setTimeout(() => {\n this.isSelecting = false;\n }, 0);\n }\n\n // 如果激活节点改变了,那么触发事件\n checkTriggerNodeActiveEvent() {\n let isNumChange = this.cacheActiveList.length !== this.mindMap.renderer.activeNodeList.length;\n let isNodeChange = false;\n if (!isNumChange) {\n for (let i = 0; i < this.cacheActiveList.length; i++) {\n let cur = this.cacheActiveList[i];\n if (!this.mindMap.renderer.activeNodeList.find(item => {\n return item.getData('uid') === cur.getData('uid');\n })) {\n isNodeChange = true;\n break;\n }\n }\n }\n if (isNumChange || isNodeChange) {\n this.mindMap.renderer.emitNodeActiveEvent();\n }\n }\n\n // 创建矩形\n createRect(x, y) {\n if (this.rect) this.rect.remove();\n this.rect = this.mindMap.svg.polygon().stroke({\n color: '#0984e3'\n }).fill({\n color: 'rgba(9,132,227,0.3)'\n }).plot([[x, y]]);\n }\n\n // 检测在选区里的节点\n checkInNodes() {\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = this.mindMap.draw.transform();\n let minx = Math.min(this.mouseDownX, this.mouseMoveX);\n let miny = Math.min(this.mouseDownY, this.mouseMoveY);\n let maxx = Math.max(this.mouseDownX, this.mouseMoveX);\n let maxy = Math.max(this.mouseDownY, this.mouseMoveY);\n const check = node => {\n let {\n left,\n top,\n width,\n height\n } = node;\n let right = (left + width) * scaleX + translateX;\n let bottom = (top + height) * scaleY + translateY;\n left = left * scaleX + translateX;\n top = top * scaleY + translateY;\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"checkTwoRectIsOverlap\"])(minx, maxx, miny, maxy, left, right, top, bottom)) {\n if (node.getData('isActive')) {\n return;\n }\n this.mindMap.renderer.addNodeToActiveList(node);\n this.mindMap.renderer.emitNodeActiveEvent();\n } else if (node.getData('isActive')) {\n if (!node.getData('isActive')) {\n return;\n }\n this.mindMap.renderer.removeNodeFromActiveList(node);\n this.mindMap.renderer.emitNodeActiveEvent();\n }\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n check(node);\n // 概要节点\n if (node._generalizationList && node._generalizationList.length > 0) {\n node._generalizationList.forEach(item => {\n check(item.generalizationNode);\n });\n }\n });\n }\n\n // 是否存在选区\n hasSelectRange() {\n return this.isSelecting;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nSelect.instanceName = 'select';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Select);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Select.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/TouchEvent.js": +/*!****************************************************!*\ + !*** ../simple-mind-map/src/plugins/TouchEvent.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 手势事件支持插件\nclass TouchEvent {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.touchesNum = 0;\n this.singleTouchstartEvent = null;\n this.clickNum = 0;\n this.touchStartScaleView = null;\n this.lastTouchStartPosition = null;\n this.lastTouchStartDistance = 0;\n this.bindEvent();\n }\n\n // 绑定事件\n bindEvent() {\n this.onTouchstart = this.onTouchstart.bind(this);\n this.onTouchmove = this.onTouchmove.bind(this);\n this.onTouchcancel = this.onTouchcancel.bind(this);\n this.onTouchend = this.onTouchend.bind(this);\n window.addEventListener('touchstart', this.onTouchstart, {\n passive: false\n });\n window.addEventListener('touchmove', this.onTouchmove, {\n passive: false\n });\n window.addEventListener('touchcancel', this.onTouchcancel, {\n passive: false\n });\n window.addEventListener('touchend', this.onTouchend, {\n passive: false\n });\n }\n\n // 解绑事件\n unBindEvent() {\n window.removeEventListener('touchstart', this.onTouchstart);\n window.removeEventListener('touchmove', this.onTouchmove);\n window.removeEventListener('touchcancel', this.onTouchcancel);\n window.removeEventListener('touchend', this.onTouchend);\n }\n\n // 手指按下事件\n onTouchstart(e) {\n this.touchesNum = e.touches.length;\n this.touchStartScaleView = null;\n if (this.touchesNum === 1) {\n let touch = e.touches[0];\n if (this.lastTouchStartPosition) {\n this.lastTouchStartDistance = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"getTwoPointDistance\"])(this.lastTouchStartPosition.x, this.lastTouchStartPosition.y, touch.clientX, touch.clientY);\n }\n this.lastTouchStartPosition = {\n x: touch.clientX,\n y: touch.clientY\n };\n this.singleTouchstartEvent = touch;\n this.dispatchMouseEvent('mousedown', touch.target, touch);\n }\n }\n\n // 手指移动事件\n onTouchmove(e) {\n let len = e.touches.length;\n if (len === 1) {\n let touch = e.touches[0];\n this.dispatchMouseEvent('mousemove', touch.target, touch);\n } else if (len === 2) {\n let {\n disableTouchZoom,\n minTouchZoomScale,\n maxTouchZoomScale\n } = this.mindMap.opt;\n if (disableTouchZoom) return;\n minTouchZoomScale = minTouchZoomScale === -1 ? -Infinity : minTouchZoomScale / 100;\n maxTouchZoomScale = maxTouchZoomScale === -1 ? Infinity : maxTouchZoomScale / 100;\n let touch1 = e.touches[0];\n let touch2 = e.touches[1];\n let ox = touch1.clientX - touch2.clientX;\n let oy = touch1.clientY - touch2.clientY;\n let distance = Math.sqrt(Math.pow(ox, 2) + Math.pow(oy, 2));\n // 以两指中心点进行缩放\n let {\n x: touch1ClientX,\n y: touch1ClientY\n } = this.mindMap.toPos(touch1.clientX, touch1.clientY);\n let {\n x: touch2ClientX,\n y: touch2ClientY\n } = this.mindMap.toPos(touch2.clientX, touch2.clientY);\n let cx = (touch1ClientX + touch2ClientX) / 2;\n let cy = (touch1ClientY + touch2ClientY) / 2;\n // 手势缩放,基于最开始的位置进行缩放(基于前一个位置缩放不是线性关系); 缩放同时支持位置拖动\n const view = this.mindMap.view;\n if (!this.touchStartScaleView) {\n this.touchStartScaleView = {\n distance: distance,\n scale: view.scale,\n x: view.x,\n y: view.y,\n cx: cx,\n cy: cy\n };\n return;\n }\n const viewBefore = this.touchStartScaleView;\n let scale = viewBefore.scale * (distance / viewBefore.distance);\n if (Math.abs(distance - viewBefore.distance) <= 10) {\n scale = viewBefore.scale;\n }\n scale = scale < minTouchZoomScale ? minTouchZoomScale : scale > maxTouchZoomScale ? maxTouchZoomScale : scale;\n const ratio = 1 - scale / viewBefore.scale;\n view.scale = scale;\n view.x = viewBefore.x + (cx - viewBefore.x) * ratio + (cx - viewBefore.cx) * scale;\n view.y = viewBefore.y + (cy - viewBefore.y) * ratio + (cy - viewBefore.cy) * scale;\n view.transform();\n this.mindMap.emit('scale', scale);\n }\n }\n\n // 手指取消事件\n onTouchcancel(e) {}\n\n // 手指松开事件\n onTouchend(e) {\n this.dispatchMouseEvent('mouseup', e.target);\n if (this.touchesNum === 1) {\n // 模拟双击事件\n this.clickNum++;\n setTimeout(() => {\n this.clickNum = 0;\n this.lastTouchStartPosition = null;\n this.lastTouchStartDistance = 0;\n }, 300);\n let ev = this.singleTouchstartEvent;\n if (this.clickNum > 1 && this.lastTouchStartDistance <= 5) {\n this.clickNum = 0;\n this.dispatchMouseEvent('dblclick', ev.target, ev);\n } else {\n // 点击事件应该不用模拟\n // this.dispatchMouseEvent('click', ev.target, ev)\n }\n }\n this.touchesNum = 0;\n this.singleTouchstartEvent = null;\n this.touchStartScaleView = null;\n }\n\n // 发送鼠标事件\n dispatchMouseEvent(eventName, target, e) {\n let opt = {};\n if (e) {\n opt = {\n screenX: e.screenX,\n screenY: e.screenY,\n clientX: e.clientX,\n clientY: e.clientY,\n which: 1\n };\n }\n let event = new MouseEvent(eventName, {\n view: document.defaultView,\n bubbles: true,\n cancelable: true,\n ...opt\n });\n target.dispatchEvent(event);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nTouchEvent.instanceName = 'touchEvent';\n/* harmony default export */ __webpack_exports__[\"default\"] = (TouchEvent);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/TouchEvent.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/Watermark.js": +/*!***************************************************!*\ + !*** ../simple-mind-map/src/plugins/Watermark.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! deepmerge */ \"../simple-mind-map/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\n// 水印插件\nclass Watermark {\n constructor(opt = {}) {\n this.mindMap = opt.mindMap;\n this.lineSpacing = 0; // 水印行间距\n this.textSpacing = 0; // 行内水印间距\n this.angle = 0; // 旋转角度\n this.text = ''; // 水印文字\n this.textStyle = {}; // 水印文字样式\n this.watermarkDraw = null; // 容器\n this.isInExport = false; // 是否是在导出过程中\n this.maxLong = this.getMaxLong();\n this.updateWatermark(this.mindMap.opt.watermarkConfig || {});\n this.bindEvent();\n }\n getMaxLong() {\n return Math.sqrt(Math.pow(this.mindMap.width, 2) + Math.pow(this.mindMap.height, 2));\n }\n bindEvent() {\n this.onResize = this.onResize.bind(this);\n this.mindMap.on('resize', this.onResize);\n }\n unBindEvent() {\n this.mindMap.off('resize', this.onResize);\n }\n onResize() {\n this.maxLong = this.getMaxLong();\n this.draw();\n }\n\n // 创建水印容器\n createContainer() {\n if (this.watermarkDraw) return;\n this.watermarkDraw = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"]().css({\n 'pointer-events': 'none',\n 'user-select': 'none'\n }).addClass('smm-water-mark-container');\n this.updateLayer();\n }\n\n // 更新水印容器层级\n updateLayer() {\n if (!this.watermarkDraw) return;\n const {\n belowNode\n } = this.mindMap.opt.watermarkConfig;\n if (belowNode) {\n this.watermarkDraw.insertBefore(this.mindMap.draw);\n } else {\n this.mindMap.svg.add(this.watermarkDraw);\n }\n }\n\n // 删除水印容器\n removeContainer() {\n if (!this.watermarkDraw) {\n return;\n }\n this.watermarkDraw.remove();\n this.watermarkDraw = null;\n }\n\n // 获取是否存在水印\n hasWatermark() {\n return !!this.text.trim();\n }\n\n // 处理水印配置\n handleConfig({\n text,\n lineSpacing,\n textSpacing,\n angle,\n textStyle\n }) {\n this.text = text === undefined ? '' : String(text).trim();\n this.lineSpacing = typeof lineSpacing === 'number' && lineSpacing > 0 ? lineSpacing : 100;\n this.textSpacing = typeof textSpacing === 'number' && textSpacing > 0 ? textSpacing : 100;\n this.angle = typeof angle === 'number' && angle >= 0 && angle <= 90 ? angle : 30;\n this.textStyle = Object.assign(this.textStyle, textStyle || {});\n }\n\n // 清除水印\n clear() {\n if (this.watermarkDraw) this.watermarkDraw.clear();\n }\n\n // 绘制水印\n // 非精确绘制,会绘制一些超出可视区域的水印\n draw() {\n this.clear();\n // 如果是仅导出需要水印,那么非导出中不渲染\n const {\n onlyExport\n } = this.mindMap.opt.watermarkConfig;\n if (onlyExport && !this.isInExport) return;\n // 如果没有水印数据,那么水印容器也删除掉\n if (!this.hasWatermark()) {\n this.removeContainer();\n return;\n }\n this.createContainer();\n let x = 0;\n while (x < this.mindMap.width) {\n this.drawText(x);\n x += this.lineSpacing / Math.sin(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle));\n }\n let yOffset = this.lineSpacing / Math.cos(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle)) || this.lineSpacing;\n let y = yOffset;\n while (y < this.mindMap.height) {\n this.drawText(0, y);\n y += yOffset;\n }\n }\n\n // 绘制文字\n drawText(x, y) {\n let long = Math.min(this.maxLong, (this.mindMap.width - x) / Math.cos(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle)));\n let g = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"]();\n let bbox = null;\n let bboxWidth = 0;\n let textHeight = -1;\n while (bboxWidth < long) {\n let text = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]().text(this.text);\n g.add(text);\n text.transform({\n translateX: bboxWidth\n });\n this.setTextStyle(text);\n bbox = g.bbox();\n if (textHeight === -1) {\n textHeight = bbox.height;\n }\n bboxWidth = bbox.width + this.textSpacing;\n }\n let params = {\n rotate: this.angle,\n origin: 'top left',\n translateX: x,\n translateY: textHeight\n };\n if (y !== undefined) {\n params.translateY = y + textHeight;\n }\n g.transform(params);\n this.watermarkDraw.add(g);\n }\n\n // 给文字设置样式\n setTextStyle(text) {\n Object.keys(this.textStyle).forEach(item => {\n let value = this.textStyle[item];\n if (item === 'color') {\n text.fill(value);\n } else {\n text.css(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"camelCaseToHyphen\"])(item), value);\n }\n });\n }\n\n // 更新水印\n updateWatermark(config) {\n this.mindMap.opt.watermarkConfig = deepmerge__WEBPACK_IMPORTED_MODULE_2___default()(this.mindMap.opt.watermarkConfig, config);\n this.updateLayer();\n this.handleConfig(config);\n this.draw();\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n this.removeContainer();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n this.removeContainer();\n }\n}\nWatermark.instanceName = 'watermark';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Watermark);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Watermark.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js": +/*!*********************************************************************************!*\ + !*** ../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./associativeLineUtils */ \"../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js\");\n\n\n// 创建控制点、连线节点\nfunction createControlNodes(node, toNode) {\n let {\n associativeLineActiveColor\n } = this.getStyleConfig(node, toNode);\n // 连线\n this.controlLine1 = this.associativeLineDraw.line().stroke({\n color: associativeLineActiveColor,\n width: 2\n });\n this.controlLine2 = this.associativeLineDraw.line().stroke({\n color: associativeLineActiveColor,\n width: 2\n });\n // 控制点\n this.controlPoint1 = this.createOneControlNode('controlPoint1', node, toNode);\n this.controlPoint2 = this.createOneControlNode('controlPoint2', node, toNode);\n}\n\n// 创建控制点\nfunction createOneControlNode(pointKey, node, toNode) {\n let {\n associativeLineActiveColor\n } = this.getStyleConfig(node, toNode);\n return this.associativeLineDraw.circle(this.controlPointDiameter).stroke({\n color: associativeLineActiveColor\n }).fill({\n color: '#fff'\n }).click(e => {\n e.stopPropagation();\n }).mousedown(e => {\n this.onControlPointMousedown(e, pointKey);\n });\n}\n\n// 控制点的鼠标按下事件\nfunction onControlPointMousedown(e, pointKey) {\n if (this.mindMap.opt.readonly) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n this.isControlPointMousedown = true;\n this.mousedownControlPointKey = pointKey;\n}\n\n// 控制点的鼠标移动事件\nfunction onControlPointMousemove(e) {\n if (this.mindMap.opt.readonly) return;\n if (!this.isControlPointMousedown || !this.mousedownControlPointKey || !this[this.mousedownControlPointKey]) return;\n e.stopPropagation();\n e.preventDefault();\n let radius = this.controlPointDiameter / 2;\n // 转换鼠标当前的位置\n let {\n x,\n y\n } = this.getTransformedEventPos(e);\n this.controlPointMousemoveState.pos = {\n x,\n y\n };\n // 更新当前拖拽的控制点的位置\n this[this.mousedownControlPointKey].x(x - radius).y(y - radius);\n let [,,, node, toNode] = this.activeLine;\n let targetIndex = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getAssociativeLineTargetIndex\"])(node, toNode);\n let {\n associativeLinePoint,\n associativeLineTargetControlOffsets\n } = node.getData();\n associativeLinePoint = associativeLinePoint || [];\n const nodePos = this.getNodePos(node);\n const toNodePos = this.getNodePos(toNode);\n let [startPoint, endPoint] = this.updateAllLinesPos(node, toNode, associativeLinePoint[targetIndex]);\n this.controlPointMousemoveState.startPoint = startPoint;\n this.controlPointMousemoveState.endPoint = endPoint;\n this.controlPointMousemoveState.targetIndex = targetIndex;\n let offsets = [];\n if (!associativeLineTargetControlOffsets) {\n // 兼容0.4.5版本,没有associativeLineTargetControlOffsets的情况\n offsets = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getDefaultControlPointOffsets\"])(startPoint, endPoint);\n } else {\n offsets = associativeLineTargetControlOffsets[targetIndex];\n }\n let point1 = null;\n let point2 = null;\n const {\n x: clientX,\n y: clientY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n const _e = {\n clientX,\n clientY\n };\n // 拖拽的是控制点1\n if (this.mousedownControlPointKey === 'controlPoint1') {\n startPoint = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getNodePoint\"])(nodePos, '', 0, _e);\n point1 = {\n x,\n y\n };\n point2 = {\n x: endPoint.x + offsets[1].x,\n y: endPoint.y + offsets[1].y\n };\n if (startPoint) {\n // 保存更新后的坐标\n this.controlPointMousemoveState.startPoint = startPoint;\n // 更新控制点1的连线\n this.controlLine1.plot(startPoint.x, startPoint.y, point1.x, point1.y);\n }\n } else {\n // 拖拽的是控制点2\n endPoint = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getNodePoint\"])(toNodePos, '', 0, _e);\n point1 = {\n x: startPoint.x + offsets[0].x,\n y: startPoint.y + offsets[0].y\n };\n point2 = {\n x,\n y\n };\n if (endPoint) {\n // 保存更新后结束节点的坐标\n this.controlPointMousemoveState.endPoint = endPoint;\n // 更新控制点2的连线\n this.controlLine2.plot(endPoint.x, endPoint.y, point2.x, point2.y);\n }\n }\n this.updataAassociativeLine(startPoint, endPoint, point1, point2, this.activeLine);\n}\nfunction updataAassociativeLine(startPoint, endPoint, point1, point2, activeLine) {\n const [path, clickPath, text] = activeLine;\n // 更新关联线\n const pathStr = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"joinCubicBezierPath\"])(startPoint, endPoint, point1, point2);\n path.plot(pathStr);\n clickPath.plot(pathStr);\n this.updateTextPos(path, text);\n this.updateTextEditBoxPos(text);\n}\n\n// 控制点的鼠标松开事件\nfunction onControlPointMouseup(e) {\n if (!this.isControlPointMousedown) return;\n if (this.mindMap.opt.readonly) {\n // 只读:不保存数据,复位控制点状态\n this.resetControlPoint();\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n let {\n pos,\n startPoint,\n endPoint,\n targetIndex\n } = this.controlPointMousemoveState;\n let [,,, node] = this.activeLine;\n let offsetList = [];\n let {\n associativeLinePoint,\n associativeLineTargetControlOffsets\n } = node.getData();\n if (!associativeLinePoint) {\n associativeLinePoint = [];\n }\n associativeLinePoint[targetIndex] = associativeLinePoint[targetIndex] || {\n startPoint,\n endPoint\n };\n if (!associativeLineTargetControlOffsets) {\n // 兼容0.4.5版本,没有associativeLineTargetControlOffsets的情况\n offsetList[targetIndex] = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getDefaultControlPointOffsets\"])(startPoint, endPoint);\n } else {\n offsetList = associativeLineTargetControlOffsets;\n }\n let offset1 = null;\n let offset2 = null;\n if (this.mousedownControlPointKey === 'controlPoint1') {\n // 更新控制点1数据\n offset1 = {\n x: pos.x - startPoint.x,\n y: pos.y - startPoint.y\n };\n offset2 = offsetList[targetIndex][1];\n associativeLinePoint[targetIndex].startPoint = startPoint;\n } else {\n // 更新控制点2数据\n offset1 = offsetList[targetIndex][0];\n offset2 = {\n x: pos.x - endPoint.x,\n y: pos.y - endPoint.y\n };\n associativeLinePoint[targetIndex].endPoint = endPoint;\n }\n offsetList[targetIndex] = [offset1, offset2];\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n associativeLineTargetControlOffsets: offsetList,\n associativeLinePoint\n });\n this.isNotRenderAllLines = true;\n // 这里要加个setTimeout0是因为draw_click事件比mouseup事件触发的晚,所以重置isControlPointMousedown需要等draw_click事件触发完以后\n setTimeout(() => {\n this.resetControlPoint();\n }, 0);\n}\n\n// 复位控制点移动\nfunction resetControlPoint() {\n this.isControlPointMousedown = false;\n this.mousedownControlPointKey = '';\n this.controlPointMousemoveState = {\n pos: null,\n startPoint: null,\n endPoint: null,\n targetIndex: ''\n };\n}\n\n// 渲染控制点\nfunction renderControls(startPoint, endPoint, point1, point2, node, toNode) {\n if (this.mindMap.opt.readonly) {\n this.hideControls();\n return;\n }\n if (!this.mindMap.opt.enableAdjustAssociativeLinePoints) return;\n\n // 检查是否为流程图节点的正交线\n const isFlowChart = node.getData && toNode.getData && node.getData('isFlowChart') && toNode.getData('isFlowChart');\n if (isFlowChart) {\n // 正交线暂时不显示控制点,避免变成曲线\n this.hideControls();\n return;\n }\n if (!this.controlLine1) {\n this.createControlNodes(node, toNode);\n }\n let radius = this.controlPointDiameter / 2;\n // 控制点和起终点的连线\n this.controlLine1.plot(startPoint.x, startPoint.y, point1.x, point1.y);\n this.controlLine2.plot(endPoint.x, endPoint.y, point2.x, point2.y);\n // 控制点\n this.controlPoint1.x(point1.x - radius).y(point1.y - radius);\n this.controlPoint2.x(point2.x - radius).y(point2.y - radius);\n}\n\n// 删除控制点\nfunction removeControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.remove();\n });\n this.controlLine1 = null;\n this.controlLine2 = null;\n this.controlPoint1 = null;\n this.controlPoint2 = null;\n}\n\n// 隐藏控制点\nfunction hideControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.hide();\n });\n}\n\n// 显示控制点\nfunction showControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.show();\n });\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n createControlNodes,\n createOneControlNode,\n onControlPointMousedown,\n onControlPointMousemove,\n onControlPointMouseup,\n resetControlPoint,\n renderControls,\n removeControls,\n hideControls,\n showControls,\n updataAassociativeLine\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineText.js": +/*!*****************************************************************************!*\ + !*** ../simple-mind-map/src/plugins/associativeLine/associativeLineText.js ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 创建文字节点\nfunction createText(data) {\n let g = this.associativeLineDraw.group();\n const setActive = () => {\n if (this.mindMap.opt.readonly) return;\n if (!this.activeLine || this.activeLine[3] !== data.node || this.activeLine[4] !== data.toNode) {\n this.setActiveLine({\n ...data,\n text: g\n });\n }\n };\n g.click(e => {\n e.stopPropagation();\n if (this.mindMap.opt.readonly) return;\n setActive();\n });\n g.on('dblclick', e => {\n e.stopPropagation();\n if (this.mindMap.opt.readonly) return;\n setActive();\n if (!this.activeLine) return;\n this.showEditTextBox(g);\n });\n return g;\n}\n\n// 显示文本编辑框\nfunction showEditTextBox(g) {\n if (this.mindMap.opt.readonly) return;\n this.mindMap.emit('before_show_text_edit');\n // 注册回车快捷键\n this.mindMap.keyCommand.addShortcut('Enter', () => {\n this.hideEditTextBox();\n });\n // 输入框元素没有创建过,则先创建\n if (!this.textEditNode) {\n this.textEditNode = document.createElement('div');\n this.textEditNode.className = 'associative-line-text-edit-warp';\n this.textEditNode.style.cssText = `position:fixed;box-sizing: border-box;background-color:#fff;box-shadow: 0 0 20px rgba(0,0,0,.5);padding: 3px 5px;margin-left: -5px;margin-top: -3px;outline: none; word-break: break-all;`;\n this.textEditNode.setAttribute('contenteditable', true);\n this.textEditNode.addEventListener('keyup', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('click', e => {\n e.stopPropagation();\n });\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.textEditNode);\n }\n let [,,, node, toNode] = this.activeLine;\n let {\n associativeLineTextFontSize,\n associativeLineTextFontFamily,\n associativeLineTextLineHeight\n } = this.getStyleConfig(node, toNode);\n let {\n defaultAssociativeLineText,\n nodeTextEditZIndex\n } = this.mindMap.opt;\n let scale = this.mindMap.view.scale;\n let text = this.getText(node, toNode);\n let textLines = (text || defaultAssociativeLineText).split(/\\n/gim);\n this.textEditNode.style.fontFamily = associativeLineTextFontFamily;\n this.textEditNode.style.fontSize = associativeLineTextFontSize * scale + 'px';\n this.textEditNode.style.lineHeight = textLines.length > 1 ? associativeLineTextLineHeight : 'normal';\n this.textEditNode.style.zIndex = nodeTextEditZIndex;\n this.textEditNode.innerHTML = textLines.join('
    ');\n this.textEditNode.style.display = 'block';\n this.updateTextEditBoxPos(g);\n this.showTextEdit = true;\n // 如果是默认文本要全选输入框\n if (text === '' || text === defaultAssociativeLineText) {\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"selectAllInput\"])(this.textEditNode);\n } else {\n // 否则聚焦即可\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"focusInput\"])(this.textEditNode);\n }\n}\n\n// 删除文本编辑框元素\nfunction removeTextEditEl() {\n if (!this.textEditNode) return;\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.removeChild(this.textEditNode);\n}\n\n// 处理画布缩放\nfunction onScale() {\n this.hideEditTextBox();\n}\n\n// 更新文本编辑框位置\nfunction updateTextEditBoxPos(g) {\n let rect = g.node.getBoundingClientRect();\n if (this.textEditNode) {\n this.textEditNode.style.minWidth = `${rect.width + 10}px`;\n this.textEditNode.style.minHeight = `${rect.height + 6}px`;\n this.textEditNode.style.left = `${rect.left}px`;\n this.textEditNode.style.top = `${rect.top}px`;\n }\n}\n\n// 隐藏文本编辑框\nfunction hideEditTextBox() {\n if (!this.showTextEdit) {\n return;\n }\n let [path,, text, node, toNode] = this.activeLine;\n // 只读模式下不保存任何编辑内容\n if (!this.mindMap.opt.readonly) {\n let str = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getStrWithBrFromHtml\"])(this.textEditNode.innerHTML);\n // 如果是默认文本,那么不保存\n let isDefaultText = str === this.mindMap.opt.defaultAssociativeLineText;\n str = isDefaultText ? '' : str;\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n associativeLineText: {\n ...(node.getData('associativeLineText') || {}),\n [toNode.getData('uid')]: str\n }\n });\n this.renderText(str, path, text, node, toNode);\n }\n this.textEditNode.style.display = 'none';\n this.textEditNode.innerHTML = '';\n this.showTextEdit = false;\n this.mindMap.emit('hide_text_edit');\n}\n\n// 获取某根关联线的文字\nfunction getText(node, toNode) {\n let obj = node.getData('associativeLineText');\n if (!obj) {\n return '';\n }\n return obj[toNode.getData('uid')] || '';\n}\n\n// 渲染关联线文字\nfunction renderText(str, path, text, node, toNode) {\n if (!str) return;\n let {\n associativeLineTextFontSize,\n associativeLineTextLineHeight\n } = this.getStyleConfig(node, toNode);\n text.clear();\n let textArr = str.replace(/\\n$/g, '').split(/\\n/gim);\n textArr.forEach((item, index) => {\n // 避免尾部的空行不占宽度,导致文本编辑框定位异常的问题\n if (item === '') {\n item = '';\n }\n let textNode = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]().text(item);\n textNode.y(associativeLineTextFontSize * associativeLineTextLineHeight * index);\n this.styleText(textNode, node, toNode);\n text.add(textNode);\n });\n updateTextPos(path, text);\n}\n\n// 给文本设置样式\nfunction styleText(textNode, node, toNode) {\n let {\n associativeLineTextColor,\n associativeLineTextFontSize,\n associativeLineTextFontFamily\n } = this.getStyleConfig(node, toNode);\n textNode.fill({\n color: associativeLineTextColor\n }).css({\n 'font-family': associativeLineTextFontFamily,\n 'font-size': associativeLineTextFontSize + 'px'\n });\n}\n\n// 更新关联线文字位置\nfunction updateTextPos(path, text) {\n let pathLength = path.length();\n let centerPoint = path.pointAt(pathLength / 2);\n let {\n width: textWidth,\n height: textHeight\n } = text.bbox();\n text.x(centerPoint.x - textWidth / 2);\n text.y(centerPoint.y - textHeight / 2);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getText,\n createText,\n styleText,\n onScale,\n showEditTextBox,\n removeTextEditEl,\n hideEditTextBox,\n updateTextEditBoxPos,\n renderText,\n updateTextPos\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineText.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js": +/*!******************************************************************************!*\ + !*** ../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js ***! + \******************************************************************************/ +/*! exports provided: getAssociativeLineTargetIndex, computeCubicBezierPathPoints, joinCubicBezierPath, computeOrthogonalPath, cubicBezierPath, calcPoint, getNodePoint, computeNodePoints, getNodeLinePath, getDefaultControlPointOffsets */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAssociativeLineTargetIndex\", function() { return getAssociativeLineTargetIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeCubicBezierPathPoints\", function() { return computeCubicBezierPathPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinCubicBezierPath\", function() { return joinCubicBezierPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeOrthogonalPath\", function() { return computeOrthogonalPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicBezierPath\", function() { return cubicBezierPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calcPoint\", function() { return calcPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodePoint\", function() { return getNodePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeNodePoints\", function() { return computeNodePoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeLinePath\", function() { return getNodeLinePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultControlPointOffsets\", function() { return getDefaultControlPointOffsets; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 获取目标节点在起始节点的目标数组中的索引\nconst getAssociativeLineTargetIndex = (node, toNode) => {\n return node.getData('associativeLineTargets').findIndex(item => {\n return item === toNode.getData('uid');\n });\n};\n\n// 计算贝塞尔曲线的控制点\nconst computeCubicBezierPathPoints = (x1, y1, x2, y2) => {\n const min = 5;\n let cx1 = x1 + (x2 - x1) / 2;\n let cy1 = y1;\n let cx2 = cx1;\n let cy2 = y2;\n if (Math.abs(x1 - x2) <= min) {\n cx1 = x1 + (y2 - y1) / 2;\n cx2 = cx1;\n }\n if (Math.abs(y1 - y2) <= min) {\n cx1 = x1;\n cy1 = y1 - (x2 - x1) / 2;\n cx2 = x2;\n cy2 = cy1;\n }\n return [{\n x: cx1,\n y: cy1\n }, {\n x: cx2,\n y: cy2\n }];\n};\n\n// 拼接贝塞尔曲线路径\nconst joinCubicBezierPath = (startPoint, endPoint, point1, point2) => {\n return `M ${startPoint.x},${startPoint.y} C ${point1.x},${point1.y} ${point2.x},${point2.y} ${endPoint.x},${endPoint.y}`;\n};\n\n// 计算正交路径\nconst computeOrthogonalPath = (startPoint, endPoint, startDir, endDir) => {\n const path = [`M ${startPoint.x},${startPoint.y}`];\n const controlPoints = [];\n\n // 计算延伸距离\n const minExtension = 30;\n const dx = Math.abs(endPoint.x - startPoint.x);\n const dy = Math.abs(endPoint.y - startPoint.y);\n const extension = Math.max(minExtension, Math.min(dx, dy) * 0.3);\n\n // 计算起点延伸点\n let p1 = {\n ...startPoint\n };\n switch (startDir) {\n case 'left':\n p1.x -= extension;\n break;\n case 'right':\n p1.x += extension;\n break;\n case 'top':\n p1.y -= extension;\n break;\n case 'bottom':\n p1.y += extension;\n break;\n }\n\n // 计算终点延伸点\n let p2 = {\n ...endPoint\n };\n switch (endDir) {\n case 'left':\n p2.x -= extension;\n break;\n case 'right':\n p2.x += extension;\n break;\n case 'top':\n p2.y -= extension;\n break;\n case 'bottom':\n p2.y += extension;\n break;\n }\n\n // 构建路径\n path.push(`L ${p1.x},${p1.y}`);\n controlPoints.push(p1);\n\n // 连接中间路径\n if ((startDir === 'left' || startDir === 'right') && (endDir === 'left' || endDir === 'right')) {\n // 水平出口,水平入口\n const midX = (p1.x + p2.x) / 2;\n path.push(`L ${midX},${p1.y}`);\n path.push(`L ${midX},${p2.y}`);\n controlPoints.push({\n x: midX,\n y: p1.y\n });\n controlPoints.push({\n x: midX,\n y: p2.y\n });\n } else if ((startDir === 'top' || startDir === 'bottom') && (endDir === 'top' || endDir === 'bottom')) {\n // 垂直出口,垂直入口\n const midY = (p1.y + p2.y) / 2;\n path.push(`L ${p1.x},${midY}`);\n path.push(`L ${p2.x},${midY}`);\n controlPoints.push({\n x: p1.x,\n y: midY\n });\n controlPoints.push({\n x: p2.x,\n y: midY\n });\n } else {\n // 一个水平,一个垂直\n path.push(`L ${p2.x},${p1.y}`);\n controlPoints.push({\n x: p2.x,\n y: p1.y\n });\n }\n path.push(`L ${p2.x},${p2.y}`);\n controlPoints.push(p2);\n path.push(`L ${endPoint.x},${endPoint.y}`);\n return {\n path: path.join(' '),\n controlPoints\n };\n};\n\n// 获取节点的位置信息\nconst getNodeRect = node => {\n let {\n left,\n top,\n width,\n height\n } = node;\n return {\n right: left + width,\n bottom: top + height,\n left,\n top,\n width,\n height\n };\n};\n\n// 三次贝塞尔曲线\nconst cubicBezierPath = (x1, y1, x2, y2) => {\n let points = computeCubicBezierPathPoints(x1, y1, x2, y2);\n return joinCubicBezierPath({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }, points[0], points[1]);\n};\nconst calcPoint = (node, e) => {\n const {\n left,\n top,\n translateLeft,\n translateTop,\n width,\n height\n } = node;\n const clientX = e.clientX;\n const clientY = e.clientY;\n // 中心点的坐标\n const centerX = translateLeft + width / 2;\n const centerY = translateTop + height / 2;\n const translateCenterX = left + width / 2;\n const translateCenterY = top + height / 2;\n const theta = Math.atan(height / width);\n // 矩形左上角坐标\n const deltaX = clientX - centerX;\n const deltaY = centerY - clientY;\n // 方向值\n const direction = Math.atan2(deltaY, deltaX);\n // 默认坐标\n let x = left + width;\n let y = top + height;\n if (direction < theta && direction >= -theta) {\n // 右边\n // 正切值 = 对边/邻边,对边 = 正切值*邻边\n const range = direction * (width / 2);\n if (direction < theta && direction >= 0) {\n // 中心点上边\n y = translateCenterY - range;\n } else if (direction >= -theta && direction < 0) {\n // 中心点下方\n y = translateCenterY - range;\n }\n return {\n x,\n y,\n dir: 'right',\n range\n };\n } else if (direction >= theta && direction < Math.PI - theta) {\n // 上边\n y = top;\n let range = 0;\n if (direction < Math.PI / 2 - theta && direction >= theta) {\n // 正切值 = 对边/邻边,邻边 = 对边/正切值\n const side = height / 2 / direction;\n range = -side;\n // 中心点右侧\n x = translateCenterX + side;\n } else if (direction >= Math.PI / 2 - theta && direction < Math.PI - theta) {\n // 中心点左侧\n const tanValue = (centerX - clientX) / (centerY - clientY);\n const side = height / 2 * tanValue;\n range = side;\n x = translateCenterX - side;\n }\n return {\n x,\n y,\n dir: 'top',\n range\n };\n } else if (direction < -theta && direction >= theta - Math.PI) {\n // 下边\n let range = 0;\n if (direction >= theta - Math.PI / 2 && direction < -theta) {\n // 中心点右侧\n // 正切值 = 对边/邻边,邻边 = 对边/正切值\n const side = height / 2 / direction;\n range = side;\n x = translateCenterX - side;\n } else if (direction < theta - Math.PI / 2 && direction >= theta - Math.PI) {\n // 中心点左侧\n const tanValue = (centerX - clientX) / (centerY - clientY);\n const side = height / 2 * tanValue;\n range = -side;\n x = translateCenterX + side;\n }\n return {\n x,\n y,\n dir: 'bottom',\n range\n };\n }\n // 左边\n x = left;\n const tanValue = (centerY - clientY) / (centerX - clientX);\n const range = tanValue * (width / 2);\n if (direction >= -Math.PI && direction < theta - Math.PI) {\n // 中心点右侧\n y = translateCenterY - range;\n } else if (direction < Math.PI && direction >= Math.PI - theta) {\n // 中心点左侧\n y = translateCenterY - range;\n }\n return {\n x,\n y,\n dir: 'left',\n range\n };\n};\n// 获取节点的连接点\nconst getNodePoint = (node, dir = 'right', range = 0, e = null) => {\n let {\n left,\n top,\n width,\n height\n } = node;\n if (e) {\n return calcPoint(node, e);\n }\n switch (dir) {\n case 'left':\n return {\n x: left,\n y: top + height / 2 - range,\n dir\n };\n case 'right':\n return {\n x: left + width,\n y: top + height / 2 - range,\n dir\n };\n case 'top':\n return {\n x: left + width / 2 - range,\n y: top,\n dir\n };\n case 'bottom':\n return {\n x: left + width / 2 - range,\n y: top + height,\n dir\n };\n default:\n break;\n }\n};\n\n// 根据两个节点的位置计算节点的连接点\nconst computeNodePoints = (fromNode, toNode) => {\n const fromRect = getNodeRect(fromNode);\n const toRect = getNodeRect(toNode);\n let fromDir = '';\n let toDir = '';\n const dir = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getRectRelativePosition\"])({\n x: fromRect.left,\n y: fromRect.top,\n width: fromRect.width,\n height: fromRect.height\n }, {\n x: toRect.left,\n y: toRect.top,\n width: toRect.width,\n height: toRect.height\n });\n // 起始矩形在结束矩形的什么方向\n switch (dir) {\n case 'left-top':\n fromDir = 'right';\n toDir = 'top';\n break;\n case 'right-top':\n fromDir = 'left';\n toDir = 'top';\n break;\n case 'right-bottom':\n fromDir = 'left';\n toDir = 'bottom';\n break;\n case 'left-bottom':\n fromDir = 'right';\n toDir = 'bottom';\n break;\n case 'left':\n fromDir = 'right';\n toDir = 'left';\n break;\n case 'right':\n fromDir = 'left';\n toDir = 'right';\n break;\n case 'top':\n fromDir = 'right';\n toDir = 'right';\n break;\n case 'bottom':\n fromDir = 'left';\n toDir = 'left';\n break;\n case 'overlap':\n fromDir = 'right';\n toDir = 'right';\n break;\n default:\n break;\n }\n return [getNodePoint(fromNode, fromDir), getNodePoint(toNode, toDir)];\n};\n\n// 获取节点的关联线路径\nconst getNodeLinePath = (startPoint, endPoint, node, toNode) => {\n // 检查是否都是流程图节点\n const isFlowChart = node.getData && toNode.getData && node.getData('isFlowChart') && toNode.getData('isFlowChart');\n if (isFlowChart) {\n var _associativeLinePoint, _associativeLinePoint2;\n // 流程图节点使用正交路径\n // 获取方向信息\n const targetIndex = getAssociativeLineTargetIndex(node, toNode);\n const associativeLinePoint = (node.getData('associativeLinePoint') || [])[targetIndex] || {};\n const startDir = ((_associativeLinePoint = associativeLinePoint.startPoint) === null || _associativeLinePoint === void 0 ? void 0 : _associativeLinePoint.dir) || startPoint.dir || 'right';\n const endDir = ((_associativeLinePoint2 = associativeLinePoint.endPoint) === null || _associativeLinePoint2 === void 0 ? void 0 : _associativeLinePoint2.dir) || endPoint.dir || 'left';\n return computeOrthogonalPath(startPoint, endPoint, startDir, endDir);\n } else {\n // 非流程图节点使用原有的贝塞尔曲线\n let targetIndex = getAssociativeLineTargetIndex(node, toNode);\n // 控制点\n let controlPoints = [];\n let associativeLineTargetControlOffsets = node.getData('associativeLineTargetControlOffsets');\n if (associativeLineTargetControlOffsets && associativeLineTargetControlOffsets[targetIndex]) {\n // 节点保存了控制点差值\n let offsets = associativeLineTargetControlOffsets[targetIndex];\n controlPoints = [{\n x: startPoint.x + offsets[0].x,\n y: startPoint.y + offsets[0].y\n }, {\n x: endPoint.x + offsets[1].x,\n y: endPoint.y + offsets[1].y\n }];\n } else {\n // 没有保存控制点则生成默认的\n controlPoints = computeCubicBezierPathPoints(startPoint.x, startPoint.y, endPoint.x, endPoint.y);\n }\n // 根据控制点拼接贝塞尔曲线路径\n return {\n path: joinCubicBezierPath(startPoint, endPoint, controlPoints[0], controlPoints[1]),\n controlPoints\n };\n }\n};\n\n// 获取默认的控制点差值\nconst getDefaultControlPointOffsets = (startPoint, endPoint) => {\n let controlPoints = computeCubicBezierPathPoints(startPoint.x, startPoint.y, endPoint.x, endPoint.y);\n return [{\n x: controlPoints[0].x - startPoint.x,\n y: controlPoints[0].y - startPoint.y\n }, {\n x: controlPoints[1].x - endPoint.x,\n y: controlPoints[1].y - endPoint.y\n }];\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/svg/btns.js": +/*!******************************************!*\ + !*** ../simple-mind-map/src/svg/btns.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// 展开按钮\nconst open = ``;\n\n// 收缩按钮\nconst close = ``;\n\n// 删除按钮\nconst remove = ``;\n\n// 图片调整按钮\nconst imgAdjust = ``;\n\n// 快捷创建子节点按钮\nconst quickCreateChild = ``;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n open,\n close,\n remove,\n imgAdjust,\n quickCreateChild\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/svg/btns.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/svg/icons.js": +/*!*******************************************!*\ + !*** ../simple-mind-map/src/svg/icons.js ***! + \*******************************************/ +/*! exports provided: nodeIconList, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeIconList\", function() { return nodeIconList; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 思源PDF\nconst siyuanPDFLink = ``;\n\n// 超链接图标\nconst hyperlink = '';\n\n// 备注图标\nconst note = '';\n\n// 附件图标\nconst attachment = '';\n\n// 思源图标\nconst siyuan = `\n\n\n\n\n\n\n\n`;\n\n// 思源超链接\nconst siyuanLink = `\nCreated with Fabric.js 5.2.4\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\t\t\n\n\n\t\t\n\n\n\t\t\n\n\n\n\n\n\n\n`;\n\n// 节点icon\nconst nodeIconList = [{\n name: '优先级图标',\n type: 'priority',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }, {\n name: '9',\n icon: ``\n }, {\n name: '10',\n icon: ``\n }]\n}, {\n name: '进度图标',\n type: 'progress',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }]\n},\n// {\n// name: '表情图标',\n// type: 'expression',\n// list: [\n// {\n// name: '1',\n// icon: ``\n// },\n// {\n// name: '2',\n// icon: ``\n// },\n// {\n// name: '3',\n// icon: ``\n// },\n// {\n// name: '4',\n// icon: ``\n// },\n// {\n// name: '5',\n// icon: ``\n// },\n// {\n// name: '6',\n// icon: ``\n// },\n// {\n// name: '7',\n// icon: ``\n// },\n// {\n// name: '8',\n// icon: ``\n// },\n// {\n// name: '9',\n// icon: ``\n// },\n// {\n// name: '10',\n// icon: ``\n// },\n// {\n// name: '11',\n// icon: ``\n// },\n// {\n// name: '12',\n// icon: ``\n// },\n// {\n// name: '13',\n// icon: ``\n// },\n// {\n// name: '14',\n// icon: ``\n// },\n// {\n// name: '15',\n// icon: ``\n// },\n// {\n// name: '16',\n// icon: ``\n// },\n// {\n// name: '17',\n// icon: ``\n// },\n// {\n// name: '18',\n// icon: ``\n// },\n// {\n// name: '19',\n// icon: ``\n// },\n// {\n// name: '20',\n// icon: ``\n// }\n// ]\n// },\n{\n name: '表情图标',\n type: 'expression',\n list: [{\n name: '1',\n icon: ``\n // icon: ``\n }, {\n name: '2',\n // icon: ``\n icon: ``\n }, {\n name: '3',\n // icon: ``\n icon: ``\n }, {\n name: '4',\n // icon: ``\n icon: ``\n }, {\n name: '5',\n // icon: ``\n icon: ``\n }, {\n name: '6',\n // icon: ``\n icon: ``\n }, {\n name: '7',\n // icon: ``\n icon: ``\n }, {\n name: '8',\n // icon: ``\n icon: ``\n }, {\n name: '9',\n // icon: ``\n icon: ``\n }, {\n name: '10',\n // icon: ``\n icon: ``\n }, {\n name: '11',\n // icon: ``\n icon: ``\n }, {\n name: '12',\n // icon: ``\n icon: ``\n }, {\n name: '13',\n // icon: ``\n icon: ``\n }, {\n name: '14',\n // icon: ``\n icon: ``\n }, {\n name: '15',\n // icon: ``\n icon: ``\n }, {\n name: '16',\n // icon: ``\n icon: ``\n }, {\n name: '17',\n // icon: ``\n icon: ``\n }, {\n name: '18',\n // icon: ``\n icon: ``\n }, {\n name: '19',\n // icon: ``\n icon: ``\n }, {\n name: '20',\n // icon: ``\n icon: ``\n }]\n}, {\n name: '标记图标',\n type: 'sign',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }, {\n name: '9',\n icon: ``\n }, {\n name: '10',\n icon: ``\n }, {\n name: '11',\n icon: ``\n }, {\n name: '12',\n icon: ``\n }, {\n name: '13',\n icon: ``\n }, {\n name: '14',\n icon: ``\n }, {\n name: '15',\n icon: ``\n }, {\n name: '16',\n icon: ``\n }, {\n name: '17',\n icon: ``\n }, {\n name: '18',\n icon: ``\n }, {\n name: '19',\n icon: ``\n }, {\n name: '20',\n icon: ``\n }, {\n name: '21',\n icon: ``\n }, {\n name: '22',\n icon: ``\n }, {\n name: '23',\n icon: ``\n }]\n}];\n\n// 获取nodeIconList icon内容\nconst getNodeIconListIcon = (name, extendIconList = []) => {\n let arr = name.split('_');\n const iconList = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"mergerIconList\"])([...nodeIconList, ...extendIconList]);\n let typeData = iconList.find(item => {\n return item.type === arr[0];\n });\n if (typeData) {\n let typeName = typeData.list.find(item => {\n return item.name === arr[1];\n });\n if (typeName) {\n return typeName.icon;\n }\n return '';\n } else {\n return '';\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n siyuanPDFLink,\n hyperlink,\n note,\n attachment,\n siyuan,\n siyuanLink,\n nodeIconList,\n getNodeIconListIcon\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/svg/icons.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/theme/default.js": +/*!***********************************************!*\ + !*** ../simple-mind-map/src/theme/default.js ***! + \***********************************************/ +/*! exports provided: default, checkIsNodeSizeIndependenceConfig, lineStyleProps */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsNodeSizeIndependenceConfig\", function() { return checkIsNodeSizeIndependenceConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineStyleProps\", function() { return lineStyleProps; });\n// 默认主题 - Material Design 3 风格(基于 KMind 主题设计器)\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // 节点内边距\n paddingX: 16,\n paddingY: 8,\n // 图片显示的最大宽度\n imgMaxWidth: 200,\n // 图片显示的最大高度\n imgMaxHeight: 100,\n // icon的大小\n iconSize: 20,\n // 连线的粗细\n lineWidth: 1.5,\n // 连线的颜色\n lineColor: '#2D3748',\n // 连线样式\n lineDasharray: 'none',\n // 连线是否开启流动效果,仅在虚线时有效(需要注册LineFlow插件)\n lineFlow: false,\n // 流动效果一个周期的时间,单位:s\n lineFlowDuration: 1,\n // 流动方向是否是从父节点到子节点\n lineFlowForward: true,\n // 连线风格\n lineStyle: 'straight',\n // 曲线(curve)【仅支持logicalStructure、mindMap、verticalTimeline三种结构】、直线(straight)、直连(direct)【仅支持logicalStructure、mindMap、organizationStructure、verticalTimeline四种结构】\n // 曲线连接时,根节点和其他节点的连接线样式保持统一,默认根节点为 ( 型,其他节点为 { 型,设为true后,都为 { 型。仅支持logicalStructure、mindMap两种结构\n rootLineKeepSameInCurve: true,\n // 曲线连接时,根节点和其他节点的连线起始位置保持统一,默认根节点的连线起始位置在节点中心,其他节点在节点右侧(或左侧),如果该配置设为true,那么根节点的连线起始位置也会在节点右侧(或左侧)\n rootLineStartPositionKeepSameInCurve: false,\n // 直线连接(straight)时,连线的圆角大小,设置为0代表没有圆角,仅支持logicalStructure、mindMap、verticalTimeline三种结构\n lineRadius: 8,\n // 连线是否显示标记,目前只支持箭头\n showLineMarker: false,\n // 概要连线的粗细\n generalizationLineWidth: 1,\n // 概要连线的颜色\n generalizationLineColor: '#2D3748',\n // 概要曲线距节点的距离\n generalizationLineMargin: 0,\n // 概要节点距节点的距离\n generalizationNodeMargin: 20,\n // 关联线默认状态的粗细\n associativeLineWidth: 2,\n // 关联线默认状态的颜色\n associativeLineColor: 'rgb(51, 51, 51)',\n // 关联线激活状态的粗细\n associativeLineActiveWidth: 8,\n // 关联线激活状态的颜色\n associativeLineActiveColor: 'rgba(2, 167, 240, 1)',\n // 关联线样式\n associativeLineDasharray: [6, 4],\n // 关联线文字颜色\n associativeLineTextColor: 'rgb(51, 51, 51)',\n // 关联线文字大小\n associativeLineTextFontSize: 14,\n // 关联线文字行高\n associativeLineTextLineHeight: 1.2,\n // 关联线文字字体\n associativeLineTextFontFamily: '微软雅黑, Microsoft YaHei',\n // 背景颜色\n backgroundColor: '#F7FAFC',\n // 背景图片\n backgroundImage: 'none',\n // 背景重复\n backgroundRepeat: 'no-repeat',\n // 设置背景图像的起始位置\n backgroundPosition: 'center center',\n // 设置背景图片大小\n backgroundSize: 'cover',\n // 节点使用只有底边横线的样式,仅支持logicalStructure、mindMap、catalogOrganization、organizationStructure四种结构\n nodeUseLineStyle: false,\n // 根节点样式\n root: {\n shape: 'rectangle',\n fillColor: '#2D3748',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#FFFFFF',\n fontSize: 20,\n fontWeight: 'bold',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 2,\n borderDasharray: 'none',\n borderRadius: 8,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#2D3748',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n // 连线标记的位置,start(头部)、end(尾部),该配置在showLineMarker配置为true时生效\n lineMarkerDir: 'end',\n // 节点鼠标hover和激活时显示的矩形边框的颜色,主题里不设置,默认会取hoverRectColor实例化选项的值\n hoverRectColor: '',\n // 点鼠标hover和激活时显示的矩形边框的圆角大小\n hoverRectRadius: 8,\n // 文本对齐\n textAlign: 'center',\n // right、center、justify、left\n // 图片放置位置,相对于整个文本内容\n imgPlacement: 'top',\n // left、right、bottom、top\n // 标签放置位置\n tagPlacement: 'right',\n // right(文字右侧)、bottom(文本内容下方)\n // 下列样式也支持给节点设置,用于覆盖最外层的设置\n paddingX: 24,\n paddingY: 14\n // lineWidth,\n // lineColor,\n // lineDasharray,\n // lineFlow,\n // lineFlowDuration,\n // lineFlowForward\n // 关联线的所有样式\n },\n // 二级节点样式\n second: {\n shape: 'rectangle',\n marginX: 100,\n marginY: 40,\n fillColor: '#718096',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#FFFFFF',\n fontSize: 16,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 1.5,\n borderDasharray: 'none',\n borderRadius: 6,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#718096',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n lineMarkerDir: 'end',\n hoverRectColor: '',\n hoverRectRadius: 6,\n textAlign: 'left',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 20,\n // ai加的,要核实一下是否支持\n paddingY: 10 // ai加的,要核实一下是否支持\n },\n // 三级及以下节点样式\n node: {\n shape: 'rectangle',\n marginX: 50,\n marginY: 0,\n fillColor: 'transparent',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#2D3748',\n fontSize: 14,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 1,\n borderRadius: 4,\n borderDasharray: 'none',\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#EDF2F7',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n lineMarkerDir: 'end',\n hoverRectColor: '',\n hoverRectRadius: 4,\n textAlign: 'left',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 16,\n // ai加的,要核实一下是否支持\n paddingY: 8 // ai加的,要核实一下是否支持\n },\n // 概要节点样式\n generalization: {\n shape: 'rectangle',\n marginX: 100,\n marginY: 40,\n fillColor: '#FFF5F5',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#742A2A',\n fontSize: 14,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: '#FC8181',\n borderWidth: 1,\n borderDasharray: '2,2',\n borderRadius: 6,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#FFF5F5',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n hoverRectColor: '',\n hoverRectRadius: 6,\n textAlign: 'center',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 16,\n // ai加的,要核实一下是否支持\n paddingY: 8 // ai加的,要核实一下是否支持\n }\n});\n\n// 检测主题配置是否是节点大小无关的\nconst nodeSizeIndependenceList = ['lineWidth', 'lineColor', 'lineDasharray', 'lineStyle', 'generalizationLineWidth', 'generalizationLineColor', 'associativeLineWidth', 'associativeLineColor', 'associativeLineActiveWidth', 'associativeLineActiveColor', 'associativeLineTextColor', 'associativeLineTextFontSize', 'associativeLineTextLineHeight', 'associativeLineTextFontFamily', 'backgroundColor', 'backgroundImage', 'backgroundRepeat', 'backgroundPosition', 'backgroundSize', 'rootLineKeepSameInCurve', 'rootLineStartPositionKeepSameInCurve', 'showLineMarker', 'lineRadius', 'hoverRectColor', 'hoverRectRadius', 'lineFlow', 'lineFlowDuration', 'lineFlowForward', 'textAlign'];\nconst checkIsNodeSizeIndependenceConfig = config => {\n let keys = Object.keys(config);\n for (let i = 0; i < keys.length; i++) {\n if (!nodeSizeIndependenceList.find(item => {\n return item === keys[i];\n })) {\n return false;\n }\n }\n return true;\n};\n\n// 连线的样式\nconst lineStyleProps = ['lineColor', 'lineDasharray', 'lineWidth', 'lineMarkerDir', 'lineFlow', 'lineFlowDuration', 'lineFlowForward'];\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/theme/default.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/theme/index.js": +/*!*********************************************!*\ + !*** ../simple-mind-map/src/theme/index.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./default */ \"../simple-mind-map/src/theme/default.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n default: _default__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/theme/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/AutoMove.js": +/*!************************************************!*\ + !*** ../simple-mind-map/src/utils/AutoMove.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// 画布自动移动类\nclass AutoMove {\n constructor(mindMap) {\n this.mindMap = mindMap;\n this.autoMoveTimer = null;\n }\n\n // 鼠标移动事件\n onMove(x, y, callback = () => {}, handle = () => {}) {\n callback();\n // 检测边缘移动\n let step = this.mindMap.opt.selectTranslateStep;\n let limit = this.mindMap.opt.selectTranslateLimit;\n let count = 0;\n // 左边缘\n if (x <= this.mindMap.elRect.left + limit) {\n handle('left', step);\n this.mindMap.view.translateX(step);\n count++;\n }\n // 右边缘\n if (x >= this.mindMap.elRect.right - limit) {\n handle('right', step);\n this.mindMap.view.translateX(-step);\n count++;\n }\n // 上边缘\n if (y <= this.mindMap.elRect.top + limit) {\n handle('top', step);\n this.mindMap.view.translateY(step);\n count++;\n }\n // 下边缘\n if (y >= this.mindMap.elRect.bottom - limit) {\n handle('bottom', step);\n this.mindMap.view.translateY(-step);\n count++;\n }\n if (count > 0) {\n this.startAutoMove(x, y, callback, handle);\n }\n }\n\n // 开启自动移动\n startAutoMove(x, y, callback, handle) {\n this.autoMoveTimer = setTimeout(() => {\n this.onMove(x, y, callback, handle);\n }, 20);\n }\n\n // 清除自动移动定时器\n clearAutoMoveTimer() {\n clearTimeout(this.autoMoveTimer);\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (AutoMove);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/AutoMove.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/BatchExecution.js": +/*!******************************************************!*\ + !*** ../simple-mind-map/src/utils/BatchExecution.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! . */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 批量执行\nclass BatchExecution {\n // 构造函数\n constructor() {\n this.has = {};\n this.queue = [];\n this.nextTick = Object(___WEBPACK_IMPORTED_MODULE_1__[\"nextTick\"])(this.flush, this);\n }\n\n // 添加任务\n push(name, fn) {\n if (this.has[name]) {\n this.replaceTask(name, fn);\n return;\n }\n this.has[name] = true;\n this.queue.push({\n name,\n fn\n });\n this.nextTick();\n }\n\n // 替换任务\n replaceTask(name, fn) {\n const index = this.queue.findIndex(item => {\n return item.name === name;\n });\n if (index !== -1) {\n this.queue[index] = {\n name,\n fn\n };\n }\n }\n\n // 执行队列\n flush() {\n let fns = this.queue.slice(0);\n this.queue = [];\n fns.forEach(({\n name,\n fn\n }) => {\n this.has[name] = false;\n fn();\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (BatchExecution);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/BatchExecution.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/Lru.js": +/*!*******************************************!*\ + !*** ../simple-mind-map/src/utils/Lru.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Lru; });\n// LRU缓存类\nclass Lru {\n constructor(max) {\n this.max = max || 1000;\n this.size = 0;\n this.pool = new Map();\n }\n add(key, value) {\n const isExist = this.has(key);\n // 如果该key之前不存在,并且现在数量已经超出最大值,则不再继续添加\n if (!isExist && this.size >= this.max) {\n return false;\n }\n // 已经存在则可以更新,因为不影响数量\n // 如果该key是否已经存在,则先删除\n this.delete(key);\n // 添加\n this.pool.set(key, value);\n this.size++;\n // 删除最早的没啥意义,详见:https://github.com/wanglin2/mind-map/issues/467\n // if (this.size > this.max) {\n // let keys = this.pool.keys()\n // let last = keys.next()\n // this.delete(last.value)\n // }\n return true;\n }\n delete(key) {\n if (this.pool.has(key)) {\n this.pool.delete(key);\n this.size--;\n }\n }\n has(key) {\n return this.pool.has(key);\n }\n get(key) {\n if (this.pool.has(key)) {\n return this.pool.get(key);\n }\n }\n clear() {\n this.size = 0;\n this.pool = new Map();\n }\n}\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/Lru.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/index.js": +/*!*********************************************!*\ + !*** ../simple-mind-map/src/utils/index.js ***! + \*********************************************/ +/*! exports provided: walk, bfsWalk, resizeImgSizeByOriginRatio, resizeImgSize, resizeImg, getStrWithBrFromHtml, simpleDeepClone, copyRenderTree, copyNodeTree, imgToDataUrl, parseDataUrl, downloadFile, throttle, debounce, asyncRun, degToRad, camelCaseToHyphen, measureText, joinFontStr, nextTick, checkNodeOuter, getTextFromHtml, readBlob, nodeToHTML, getImageSize, createUid, loadImage, removeHTMLEntities, getType, isUndef, removeHtmlStyle, addHtmlStyle, checkIsRichText, replaceHtmlText, removeHtmlNodeByClass, isWhite, isTransparent, getVisibleColorFromTheme, removeFormulaTags, nodeRichTextToTextWithWrap, textToNodeRichTextWithWrap, removeRichTextStyes, isMobile, getObjectChangedProps, checkIsNodeStyleDataKey, isNodeNotNeedRenderData, mergerIconList, getTopAncestorsFomNodeList, checkHasSupSubRelation, parseAddGeneralizationNodeList, checkTwoRectIsOverlap, focusInput, selectAllInput, addDataToAppointNodes, createUidForAppointNodes, formatDataToArray, getNodeDataIndex, getNodeIndexInNodeList, generateColorByContent, htmlEscape, isSameObject, checkClipboardReadEnable, setDataToClipboard, getDataFromClipboard, removeFromParentNodeData, handleSelfCloseTags, checkNodeListIsEqual, getChromeVersion, createSmmFormatData, checkSmmFormatData, checkSiyuanId, checkSiyuanLinkFormatData, checkSiyuanPdfUrlFormatData, handleInputPasteText, transformTreeDataToObject, transformObjectToTreeData, getTwoPointDistance, getRectRelativePosition, handleGetSvgDataExtraContent, getNodeTreeBoundingRect, getNodeListBoundingRect, fullscrrenEvent, fullScreen, exitFullScreen, createForeignObjectNode, formatGetNodeGeneralization, defenseXSS, addXmlns, sortNodeList, mergeTheme, getNodeRichTextStyles, compareVersion */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"walk\", function() { return walk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bfsWalk\", function() { return bfsWalk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImgSizeByOriginRatio\", function() { return resizeImgSizeByOriginRatio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImgSize\", function() { return resizeImgSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImg\", function() { return resizeImg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStrWithBrFromHtml\", function() { return getStrWithBrFromHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"simpleDeepClone\", function() { return simpleDeepClone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyRenderTree\", function() { return copyRenderTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyNodeTree\", function() { return copyNodeTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"imgToDataUrl\", function() { return imgToDataUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDataUrl\", function() { return parseDataUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return downloadFile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return throttle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asyncRun\", function() { return asyncRun; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degToRad\", function() { return degToRad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"camelCaseToHyphen\", function() { return camelCaseToHyphen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureText\", function() { return measureText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinFontStr\", function() { return joinFontStr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextTick\", function() { return nextTick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkNodeOuter\", function() { return checkNodeOuter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTextFromHtml\", function() { return getTextFromHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"readBlob\", function() { return readBlob; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeToHTML\", function() { return nodeToHTML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getImageSize\", function() { return getImageSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createUid\", function() { return createUid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadImage\", function() { return loadImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHTMLEntities\", function() { return removeHTMLEntities; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndef\", function() { return isUndef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHtmlStyle\", function() { return removeHtmlStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addHtmlStyle\", function() { return addHtmlStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsRichText\", function() { return checkIsRichText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replaceHtmlText\", function() { return replaceHtmlText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHtmlNodeByClass\", function() { return removeHtmlNodeByClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWhite\", function() { return isWhite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTransparent\", function() { return isTransparent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVisibleColorFromTheme\", function() { return getVisibleColorFromTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFormulaTags\", function() { return removeFormulaTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeRichTextToTextWithWrap\", function() { return nodeRichTextToTextWithWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"textToNodeRichTextWithWrap\", function() { return textToNodeRichTextWithWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeRichTextStyes\", function() { return removeRichTextStyes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return isMobile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getObjectChangedProps\", function() { return getObjectChangedProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsNodeStyleDataKey\", function() { return checkIsNodeStyleDataKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNodeNotNeedRenderData\", function() { return isNodeNotNeedRenderData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergerIconList\", function() { return mergerIconList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTopAncestorsFomNodeList\", function() { return getTopAncestorsFomNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkHasSupSubRelation\", function() { return checkHasSupSubRelation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseAddGeneralizationNodeList\", function() { return parseAddGeneralizationNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkTwoRectIsOverlap\", function() { return checkTwoRectIsOverlap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"focusInput\", function() { return focusInput; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"selectAllInput\", function() { return selectAllInput; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDataToAppointNodes\", function() { return addDataToAppointNodes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createUidForAppointNodes\", function() { return createUidForAppointNodes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDataToArray\", function() { return formatDataToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeDataIndex\", function() { return getNodeDataIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeIndexInNodeList\", function() { return getNodeIndexInNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateColorByContent\", function() { return generateColorByContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlEscape\", function() { return htmlEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSameObject\", function() { return isSameObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkClipboardReadEnable\", function() { return checkClipboardReadEnable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDataToClipboard\", function() { return setDataToClipboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDataFromClipboard\", function() { return getDataFromClipboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFromParentNodeData\", function() { return removeFromParentNodeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleSelfCloseTags\", function() { return handleSelfCloseTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkNodeListIsEqual\", function() { return checkNodeListIsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getChromeVersion\", function() { return getChromeVersion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSmmFormatData\", function() { return createSmmFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSmmFormatData\", function() { return checkSmmFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanId\", function() { return checkSiyuanId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanLinkFormatData\", function() { return checkSiyuanLinkFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanPdfUrlFormatData\", function() { return checkSiyuanPdfUrlFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleInputPasteText\", function() { return handleInputPasteText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformTreeDataToObject\", function() { return transformTreeDataToObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformObjectToTreeData\", function() { return transformObjectToTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTwoPointDistance\", function() { return getTwoPointDistance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRectRelativePosition\", function() { return getRectRelativePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleGetSvgDataExtraContent\", function() { return handleGetSvgDataExtraContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeTreeBoundingRect\", function() { return getNodeTreeBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeListBoundingRect\", function() { return getNodeListBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullscrrenEvent\", function() { return fullscrrenEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullScreen\", function() { return fullScreen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exitFullScreen\", function() { return exitFullScreen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createForeignObjectNode\", function() { return createForeignObjectNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatGetNodeGeneralization\", function() { return formatGetNodeGeneralization; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defenseXSS\", function() { return defenseXSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addXmlns\", function() { return addXmlns; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortNodeList\", function() { return sortNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeTheme\", function() { return mergeTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeRichTextStyles\", function() { return getNodeRichTextStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareVersion\", function() { return compareVersion; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uuid */ \"../simple-mind-map/node_modules/uuid/dist/esm-browser/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _mersenneTwister__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mersenneTwister */ \"../simple-mind-map/src/utils/mersenneTwister.js\");\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! deepmerge */ \"../simple-mind-map/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _theme_default__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../theme/default */ \"../simple-mind-map/src/theme/default.js\");\n\n\n\n\n\n\n\n\n\n// 深度优先遍历树\nconst walk = (root, parent, beforeCallback, afterCallback, isRoot, layerIndex = 0, index = 0, ancestors = []) => {\n let stop = false;\n if (beforeCallback) {\n stop = beforeCallback(root, parent, isRoot, layerIndex, index, ancestors);\n }\n if (!stop && root.children && root.children.length > 0) {\n let _layerIndex = layerIndex + 1;\n root.children.forEach((node, nodeIndex) => {\n walk(node, root, beforeCallback, afterCallback, false, _layerIndex, nodeIndex, [...ancestors, root]);\n });\n }\n afterCallback && afterCallback(root, parent, isRoot, layerIndex, index, ancestors);\n};\n\n// 广度优先遍历树\nconst bfsWalk = (root, callback) => {\n let stack = [root];\n let isStop = false;\n if (callback(root, null) === 'stop') {\n isStop = true;\n }\n while (stack.length) {\n if (isStop) {\n break;\n }\n let cur = stack.shift();\n if (cur.children && cur.children.length) {\n cur.children.forEach(item => {\n if (isStop) return;\n stack.push(item);\n if (callback(item, cur) === 'stop') {\n isStop = true;\n }\n });\n }\n }\n};\n\n// 按原比例缩放图片\nconst resizeImgSizeByOriginRatio = (width, height, newWidth, newHeight) => {\n let arr = [];\n let nRatio = width / height;\n let mRatio = newWidth / newHeight;\n if (nRatio > mRatio) {\n // 固定宽度\n arr = [newWidth, newWidth / nRatio];\n } else {\n // 固定高度\n arr = [nRatio * newHeight, newHeight];\n }\n return arr;\n};\n\n// 缩放图片尺寸\nconst resizeImgSize = (width, height, maxWidth, maxHeight) => {\n let nRatio = width / height;\n let arr = [];\n if (maxWidth && maxHeight) {\n if (width <= maxWidth && height <= maxHeight) {\n arr = [width, height];\n } else {\n let mRatio = maxWidth / maxHeight;\n if (nRatio > mRatio) {\n // 固定宽度\n arr = [maxWidth, maxWidth / nRatio];\n } else {\n // 固定高度\n arr = [nRatio * maxHeight, maxHeight];\n }\n }\n } else if (maxWidth) {\n if (width <= maxWidth) {\n arr = [width, height];\n } else {\n arr = [maxWidth, maxWidth / nRatio];\n }\n } else if (maxHeight) {\n if (height <= maxHeight) {\n arr = [width, height];\n } else {\n arr = [nRatio * maxHeight, maxHeight];\n }\n }\n return arr;\n};\n\n// 缩放图片\nconst resizeImg = (imgUrl, maxWidth, maxHeight) => {\n return new Promise((resolve, reject) => {\n let img = new Image();\n img.src = imgUrl;\n img.onload = () => {\n let arr = resizeImgSize(img.naturalWidth, img.naturalHeight, maxWidth, maxHeight);\n resolve(arr);\n };\n img.onerror = e => {\n reject(e);\n };\n });\n};\n\n// 从头html结构字符串里获取带换行符的字符串\nconst getStrWithBrFromHtml = str => {\n str = str.replace(/
    /gim, '\\n');\n let el = document.createElement('div');\n el.innerHTML = str;\n str = el.textContent;\n return str;\n};\n\n// 极简的深拷贝\nconst simpleDeepClone = data => {\n try {\n return JSON.parse(JSON.stringify(data));\n } catch (error) {\n return null;\n }\n};\n\n// 复制渲染树数据\nconst copyRenderTree = (tree, root, removeActiveState = false) => {\n // 添加空值检查\n if (!root || !root.data) {\n return null;\n }\n tree.data = simpleDeepClone(root.data);\n if (removeActiveState && tree.data) {\n tree.data.isActive = false;\n const generalizationList = formatGetNodeGeneralization(tree.data);\n generalizationList.forEach(item => {\n item.isActive = false;\n });\n }\n tree.children = [];\n if (root.children && root.children.length > 0) {\n root.children.forEach((item, index) => {\n const copied = copyRenderTree({}, item, removeActiveState);\n if (copied) {\n tree.children[index] = copied;\n }\n });\n }\n // data、children外的其他字段\n Object.keys(root).forEach(key => {\n if (!['data', 'children'].includes(key) && !/^_/.test(key)) {\n tree[key] = root[key];\n }\n });\n return tree;\n};\n\n// 复制节点树数据\nconst copyNodeTree = (tree, root, removeActiveState = false, removeId = true) => {\n const rootData = root.nodeData ? root.nodeData : root;\n tree.data = simpleDeepClone(rootData.data);\n // 移除节点uid\n if (removeId) {\n delete tree.data.uid;\n } else if (!tree.data.uid) {\n // 否则保留或生成\n tree.data.uid = createUid();\n }\n if (removeActiveState) {\n tree.data.isActive = false;\n }\n tree.children = [];\n if (root.children && root.children.length > 0) {\n root.children.forEach((item, index) => {\n tree.children[index] = copyNodeTree({}, item, removeActiveState, removeId);\n });\n } else if (root.nodeData && root.nodeData.children && root.nodeData.children.length > 0) {\n root.nodeData.children.forEach((item, index) => {\n tree.children[index] = copyNodeTree({}, item, removeActiveState, removeId);\n });\n }\n // data、children外的其他字段\n Object.keys(rootData).forEach(key => {\n if (!['data', 'children'].includes(key) && !/^_/.test(key)) {\n tree[key] = rootData[key];\n }\n });\n return tree;\n};\n\n// 图片转成dataURL\nconst imgToDataUrl = (src, returnBlob = false) => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n // 跨域图片需要添加这个属性,否则画布被污染了无法导出图片\n img.setAttribute('crossOrigin', 'anonymous');\n img.onload = () => {\n try {\n let canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n let ctx = canvas.getContext('2d');\n // 图片绘制到canvas里\n ctx.drawImage(img, 0, 0, img.width, img.height);\n if (returnBlob) {\n canvas.toBlob(blob => {\n resolve(blob);\n });\n } else {\n resolve(canvas.toDataURL());\n }\n } catch (e) {\n reject(e);\n }\n };\n img.onerror = e => {\n reject(e);\n };\n img.src = src;\n });\n};\n\n// 解析dataUrl\nconst parseDataUrl = data => {\n if (!/^data:/.test(data)) return data;\n let [typeStr, base64] = data.split(',');\n let res = /^data:[^/]+\\/([^;]+);/.exec(typeStr);\n let type = res[1];\n return {\n type,\n base64\n };\n};\n\n// 下载文件\nconst downloadFile = (file, fileName) => {\n let a = document.createElement('a');\n a.href = file;\n a.download = fileName;\n a.click();\n};\n\n// 节流函数\nconst throttle = (fn, time = 300, ctx) => {\n let timer = null;\n return (...args) => {\n if (timer) {\n return;\n }\n timer = setTimeout(() => {\n fn.call(ctx, ...args);\n timer = null;\n }, time);\n };\n};\n\n// 防抖函数\nconst debounce = (fn, wait = 300, ctx) => {\n let timeout = null;\n return (...args) => {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn.apply(ctx, args);\n }, wait);\n };\n};\n\n// 异步执行任务队列\nconst asyncRun = (taskList, callback = () => {}) => {\n let index = 0;\n let len = taskList.length;\n if (len <= 0) {\n return callback();\n }\n let loop = () => {\n if (index >= len) {\n callback();\n return;\n }\n taskList[index]();\n setTimeout(() => {\n index++;\n loop();\n }, 0);\n };\n loop();\n};\n\n// 角度转弧度\nconst degToRad = deg => {\n return deg * (Math.PI / 180);\n};\n\n// 驼峰转连字符\nconst camelCaseToHyphen = str => {\n return str.replace(/([a-z])([A-Z])/g, (...args) => {\n return args[1] + '-' + args[2].toLowerCase();\n });\n};\n\n//计算节点的文本长宽\nlet measureTextContext = null;\nconst measureText = (text, {\n italic,\n bold,\n fontSize,\n fontFamily\n}) => {\n const font = joinFontStr({\n italic,\n bold,\n fontSize,\n fontFamily\n });\n if (!measureTextContext) {\n const canvas = document.createElement('canvas');\n measureTextContext = canvas.getContext('2d');\n }\n measureTextContext.save();\n measureTextContext.font = font;\n const {\n width,\n actualBoundingBoxAscent,\n actualBoundingBoxDescent\n } = measureTextContext.measureText(text);\n measureTextContext.restore();\n const height = actualBoundingBoxAscent + actualBoundingBoxDescent;\n return {\n width,\n height\n };\n};\n\n// 拼接font字符串\nconst joinFontStr = ({\n italic,\n bold,\n fontSize,\n fontFamily\n}) => {\n return `${italic ? 'italic ' : ''} ${bold ? 'bold ' : ''} ${fontSize}px ${fontFamily} `;\n};\n\n// 在下一个事件循环里执行任务\nconst nextTick = function (fn, ctx) {\n let pending = false;\n let timerFunc = null;\n let handle = () => {\n pending = false;\n ctx ? fn.call(ctx) : fn();\n };\n // 支持MutationObserver接口的话使用MutationObserver\n if (typeof MutationObserver !== 'undefined') {\n let counter = 1;\n let observer = new MutationObserver(handle);\n let textNode = document.createTextNode(counter);\n observer.observe(textNode, {\n characterData: true // 设为 true 表示监视指定目标节点或子节点树中节点所包含的字符数据的变化\n });\n timerFunc = function () {\n counter = (counter + 1) % 2; // counter会在0和1两者循环变化\n textNode.data = counter; // 节点变化会触发回调handle,\n };\n } else {\n // 否则使用定时器\n timerFunc = setTimeout;\n }\n return function () {\n if (pending) return;\n pending = true;\n timerFunc(handle, 0);\n };\n};\n\n// 检查节点是否超出画布\nconst checkNodeOuter = (mindMap, node, offsetX = 0, offsetY = 0) => {\n let elRect = mindMap.elRect;\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = mindMap.draw.transform();\n let {\n left,\n top,\n width,\n height\n } = node;\n let right = (left + width) * scaleX + translateX;\n let bottom = (top + height) * scaleY + translateY;\n left = left * scaleX + translateX;\n top = top * scaleY + translateY;\n let offsetLeft = 0;\n let offsetTop = 0;\n if (left < 0 + offsetX) {\n offsetLeft = -left + offsetX;\n }\n if (right > elRect.width - offsetX) {\n offsetLeft = -(right - elRect.width) - offsetX;\n }\n if (top < 0 + offsetY) {\n offsetTop = -top + offsetY;\n }\n if (bottom > elRect.height - offsetY) {\n offsetTop = -(bottom - elRect.height) - offsetY;\n }\n return {\n isOuter: offsetLeft !== 0 || offsetTop !== 0,\n offsetLeft,\n offsetTop\n };\n};\n\n// 提取html字符串里的纯文本\nlet getTextFromHtmlEl = null;\nconst getTextFromHtml = html => {\n if (!getTextFromHtmlEl) {\n getTextFromHtmlEl = document.createElement('div');\n }\n getTextFromHtmlEl.innerHTML = html;\n return getTextFromHtmlEl.textContent;\n};\n\n// 将blob转成data:url\nconst readBlob = blob => {\n return new Promise((resolve, reject) => {\n let reader = new FileReader();\n reader.onload = evt => {\n resolve(evt.target.result);\n };\n reader.onerror = err => {\n reject(err);\n };\n reader.readAsDataURL(blob);\n });\n};\n\n// 将dom节点转换成html字符串\nlet nodeToHTMLWrapEl = null;\nconst nodeToHTML = node => {\n if (!nodeToHTMLWrapEl) {\n nodeToHTMLWrapEl = document.createElement('div');\n }\n nodeToHTMLWrapEl.innerHTML = '';\n nodeToHTMLWrapEl.appendChild(node);\n return nodeToHTMLWrapEl.innerHTML;\n};\n\n// 获取图片大小\nconst getImageSize = src => {\n return new Promise(resolve => {\n let img = new Image();\n img.src = src;\n img.onload = () => {\n resolve({\n width: img.width,\n height: img.height\n });\n };\n img.onerror = () => {\n resolve({\n width: 0,\n height: 0\n });\n };\n });\n};\n\n// 创建节点唯一的id\nconst createUid = () => {\n const timestamp = new Date().toISOString().replace(/[-:TZ]/g, '').replace('.', '');\n const uuid = Object(uuid__WEBPACK_IMPORTED_MODULE_2__[\"v4\"])().split('-')[0];\n return `kmind-node-${timestamp}-${uuid}`;\n};\n\n// 加载图片文件\nconst loadImage = imgFile => {\n return new Promise((resolve, reject) => {\n let fr = new FileReader();\n fr.readAsDataURL(imgFile);\n fr.onload = async e => {\n let url = e.target.result;\n let size = await getImageSize(url);\n resolve({\n url,\n size\n });\n };\n fr.onerror = error => {\n reject(error);\n };\n });\n};\n\n// 移除字符串中的html实体\nconst removeHTMLEntities = str => {\n [[' ', ' ']].forEach(item => {\n str = str.replace(new RegExp(item[0], 'g'), item[1]);\n });\n return str;\n};\n\n// 获取一个数据的类型\nconst getType = data => {\n return Object.prototype.toString.call(data).slice(8, -1);\n};\n\n// 判断一个数据是否是null和undefined和空字符串\nconst isUndef = data => {\n return data === null || data === undefined || data === '';\n};\n\n// 移除html字符串中节点的内联样式\nconst removeHtmlStyle = html => {\n return html.replace(/(<[^\\s]+)\\s+style=[\"'][^'\"]+[\"']\\s*(>)/g, '$1$2');\n};\n\n// 给html标签中指定的标签添加内联样式\nlet addHtmlStyleEl = null;\nconst addHtmlStyle = (html, tag, style) => {\n if (!addHtmlStyleEl) {\n addHtmlStyleEl = document.createElement('div');\n }\n const tags = Array.isArray(tag) ? tag : [tag];\n addHtmlStyleEl.innerHTML = html;\n let walk = root => {\n let childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n // 元素节点\n if (tags.includes(node.tagName.toLowerCase())) {\n node.style.cssText = style;\n } else {\n walk(node);\n }\n }\n });\n };\n walk(addHtmlStyleEl);\n return addHtmlStyleEl.innerHTML;\n};\n\n// 检查一个字符串是否是富文本字符\nlet checkIsRichTextEl = null;\nconst checkIsRichText = str => {\n if (!checkIsRichTextEl) {\n checkIsRichTextEl = document.createElement('div');\n }\n checkIsRichTextEl.innerHTML = str;\n for (let c = checkIsRichTextEl.childNodes, i = c.length; i--;) {\n if (c[i].nodeType == 1) return true;\n }\n return false;\n};\n\n// 搜索和替换html字符串中指定的文本\nlet replaceHtmlTextEl = null;\nconst replaceHtmlText = (html, searchText, replaceText) => {\n if (!replaceHtmlTextEl) {\n replaceHtmlTextEl = document.createElement('div');\n }\n replaceHtmlTextEl.innerHTML = html;\n let walk = root => {\n let childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n // 元素节点\n walk(node);\n } else if (node.nodeType === 3) {\n // 文本节点\n root.replaceChild(document.createTextNode(node.nodeValue.replace(new RegExp(searchText, 'g'), replaceText)), node);\n }\n });\n };\n walk(replaceHtmlTextEl);\n return replaceHtmlTextEl.innerHTML;\n};\n\n// 去除html字符串中指定选择器的节点,然后返回html字符串\nlet removeHtmlNodeByClassEl = null;\nconst removeHtmlNodeByClass = (html, selector) => {\n if (!removeHtmlNodeByClassEl) {\n removeHtmlNodeByClassEl = document.createElement('div');\n }\n removeHtmlNodeByClassEl.innerHTML = html;\n const node = removeHtmlNodeByClassEl.querySelector(selector);\n if (node) {\n node.parentNode.removeChild(node);\n }\n return removeHtmlNodeByClassEl.innerHTML;\n};\n\n// 判断一个颜色是否是白色\nconst isWhite = color => {\n color = String(color).replace(/\\s+/g, '');\n return ['#fff', '#ffffff', '#FFF', '#FFFFFF', 'rgb(255,255,255)'].includes(color) || /rgba\\(255,255,255,[^)]+\\)/.test(color);\n};\n\n// 判断一个颜色是否是透明\nconst isTransparent = color => {\n color = String(color).replace(/\\s+/g, '');\n return ['', 'transparent'].includes(color) || /rgba\\(\\d+,\\d+,\\d+,0\\)/.test(color);\n};\n\n// 从当前主题里获取一个非透明非白色的颜色\nconst getVisibleColorFromTheme = themeConfig => {\n let {\n lineColor,\n root,\n second,\n node\n } = themeConfig;\n let list = [lineColor, root.fillColor, root.color, second.fillColor, second.color, node.fillColor, node.color, root.borderColor, second.borderColor, node.borderColor];\n for (let i = 0; i < list.length; i++) {\n let color = list[i];\n if (!isTransparent(color) && !isWhite(color)) {\n return color;\n }\n }\n};\n\n// 去掉DOM节点中的公式标签\nconst removeFormulaTags = node => {\n const walk = root => {\n const childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n if (node.classList.contains('ql-formula')) {\n node.parentNode.removeChild(node);\n } else {\n walk(node);\n }\n }\n });\n };\n walk(node);\n};\n\n// 将

    形式的节点富文本内容转换成\\n换行的文本\n// 会过滤掉节点中的格式节点\nlet nodeRichTextToTextWithWrapEl = null;\nconst nodeRichTextToTextWithWrap = html => {\n if (!nodeRichTextToTextWithWrapEl) {\n nodeRichTextToTextWithWrapEl = document.createElement('div');\n }\n nodeRichTextToTextWithWrapEl.innerHTML = html;\n const childNodes = nodeRichTextToTextWithWrapEl.childNodes;\n let res = '';\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n removeFormulaTags(node);\n if (node.tagName.toLowerCase() === 'p') {\n res += node.textContent + '\\n';\n } else {\n res += node.textContent;\n }\n } else if (node.nodeType === 3) {\n // 文本节点\n res += node.nodeValue;\n }\n }\n return res.replace(/\\n$/, '');\n};\n\n// 将
    换行的文本转换成

    形式的节点富文本内容\nlet textToNodeRichTextWithWrapEl = null;\nconst textToNodeRichTextWithWrap = html => {\n if (!textToNodeRichTextWithWrapEl) {\n textToNodeRichTextWithWrapEl = document.createElement('div');\n }\n textToNodeRichTextWithWrapEl.innerHTML = html;\n const childNodes = textToNodeRichTextWithWrapEl.childNodes;\n let list = [];\n let str = '';\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n if (node.tagName.toLowerCase() === 'br') {\n list.push(str);\n str = '';\n } else {\n str += node.textContent;\n }\n } else if (node.nodeType === 3) {\n // 文本节点\n str += node.nodeValue;\n }\n }\n if (str) {\n list.push(str);\n }\n return list.map(item => {\n return `

    ${htmlEscape(item)}

    `;\n }).join('');\n};\n\n// 去除富文本内容的样式,包括样式标签,比如strong、em、s等\n// 但要保留数学公式内容\nlet removeRichTextStyesEl = null;\nconst removeRichTextStyes = html => {\n if (!removeRichTextStyesEl) {\n removeRichTextStyesEl = document.createElement('div');\n }\n removeRichTextStyesEl.innerHTML = html;\n // 首先用占位文本替换掉所有的公式\n const formulaList = removeRichTextStyesEl.querySelectorAll('.ql-formula');\n Array.from(formulaList).forEach(el => {\n const placeholder = document.createTextNode('$smmformula$');\n el.parentNode.replaceChild(placeholder, el);\n });\n // 然后遍历每行节点,去掉内部的所有标签,转为文本\n const childNodes = removeRichTextStyesEl.childNodes;\n let list = [];\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n list.push(node.textContent);\n } else if (node.nodeType === 3) {\n // 文本节点\n list.push(node.nodeValue);\n }\n }\n // 拼接文本\n html = list.map(item => {\n return `

    ${htmlEscape(item)}

    `;\n }).join('');\n // 将公式添加回去\n if (formulaList.length > 0) {\n html = html.replace(/\\$smmformula\\$/g, '');\n removeRichTextStyesEl.innerHTML = html;\n const els = removeRichTextStyesEl.querySelectorAll('.smmformula');\n Array.from(els).forEach((el, index) => {\n el.parentNode.replaceChild(formulaList[index], el);\n });\n html = removeRichTextStyesEl.innerHTML;\n }\n return html;\n};\n\n// 判断是否是移动端环境\nconst isMobile = () => {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n};\n\n// 获取对象改变了的的属性\nconst getObjectChangedProps = (oldObject, newObject) => {\n const res = {};\n Object.keys(newObject).forEach(prop => {\n const oldVal = oldObject[prop];\n const newVal = newObject[prop];\n if (getType(oldVal) !== getType(newVal)) {\n res[prop] = newVal;\n return;\n }\n if (getType(oldVal) === 'Object') {\n if (JSON.stringify(oldVal) !== JSON.stringify(newVal)) {\n res[prop] = newVal;\n return;\n }\n } else {\n if (oldVal !== newVal) {\n res[prop] = newVal;\n return;\n }\n }\n });\n return res;\n};\n\n// 判断一个字段是否是节点数据中的样式字段\nconst checkIsNodeStyleDataKey = key => {\n // 用户自定义字段\n if (/^_/.test(key)) return false;\n // 不在节点非样式字段列表里,那么就是样式字段\n if (!_constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"nodeDataNoStylePropList\"].includes(key)) {\n return true;\n }\n return false;\n};\n\n// 判断一个对象是否不需要触发节点重新创建\nconst isNodeNotNeedRenderData = config => {\n const list = [..._theme_default__WEBPACK_IMPORTED_MODULE_7__[\"lineStyleProps\"]]; // 节点连线样式\n const keys = Object.keys(config);\n for (let i = 0; i < keys.length; i++) {\n if (!list.includes(keys[i])) {\n return false;\n }\n }\n return true;\n};\n\n// 合并图标数组\n// const data = [\n// { type: 'priority', name: '优先级图标', list: [{ name: '1', icon: 'a' }, { name: 2, icon: 'b' }] },\n// { type: 'priority', name: '优先级图标', list: [{ name: '2', icon: 'c' }, { name: 3, icon: 'd' }] },\n// ];\n\n// mergerIconList(data) 结果\n\n// [\n// { type: 'priority', name: '优先级图标', list: [{ name: '1', icon: 'a' }, { name: 2, icon: 'c' }, { name: 3, icon: 'd' }] },\n// ]\nconst mergerIconList = list => {\n return list.reduce((result, item) => {\n const existingItem = result.find(x => x.type === item.type);\n if (existingItem) {\n item.list.forEach(newObj => {\n const existingObj = existingItem.list.find(x => x.name === newObj.name);\n if (existingObj) {\n existingObj.icon = newObj.icon;\n } else {\n existingItem.list.push(newObj);\n }\n });\n } else {\n result.push({\n ...item\n });\n }\n return result;\n }, []);\n};\n\n// 从节点实例列表里找出顶层的节点\nconst getTopAncestorsFomNodeList = list => {\n let res = [];\n list.forEach(node => {\n if (!list.find(item => {\n return item.uid !== node.uid && item.isAncestor(node);\n })) {\n res.push(node);\n }\n });\n return res;\n};\n\n// 从给定的节点实例列表里判断是否存在上下级关系\nconst checkHasSupSubRelation = list => {\n for (let i = 0; i < list.length; i++) {\n const cur = list[i];\n if (list.find(item => {\n return item.uid !== cur.uid && cur.isAncestor(item);\n })) {\n return true;\n }\n }\n return false;\n};\n\n// 解析要添加概要的节点实例列表\nconst parseAddGeneralizationNodeList = list => {\n const cache = {};\n const uidToParent = {};\n list.forEach(node => {\n const parent = node.parent;\n if (parent) {\n const pUid = parent.uid;\n uidToParent[pUid] = parent;\n const index = node.getIndexInBrothers();\n const data = {\n node,\n index\n };\n if (cache[pUid]) {\n if (!cache[pUid].find(item => {\n return item.index === data.index;\n })) {\n cache[pUid].push(data);\n }\n } else {\n cache[pUid] = [data];\n }\n }\n });\n const res = [];\n Object.keys(cache).forEach(uid => {\n if (cache[uid].length > 1) {\n const rangeList = cache[uid].map(item => {\n return item.index;\n }).sort((a, b) => {\n return a - b;\n });\n res.push({\n node: uidToParent[uid],\n range: [rangeList[0], rangeList[rangeList.length - 1]]\n });\n } else {\n res.push({\n node: cache[uid][0].node\n });\n }\n });\n return res;\n};\n\n// 判断两个矩形是否重叠\nconst checkTwoRectIsOverlap = (minx1, maxx1, miny1, maxy1, minx2, maxx2, miny2, maxy2) => {\n return maxx1 > minx2 && maxx2 > minx1 && maxy1 > miny2 && maxy2 > miny1;\n};\n\n// 聚焦指定输入框\nconst focusInput = el => {\n let selection = window.getSelection();\n let range = document.createRange();\n range.selectNodeContents(el);\n range.collapse();\n selection.removeAllRanges();\n selection.addRange(range);\n};\n\n// 聚焦全选指定输入框\nconst selectAllInput = el => {\n let selection = window.getSelection();\n let range = document.createRange();\n range.selectNodeContents(el);\n selection.removeAllRanges();\n selection.addRange(range);\n};\n\n// 给指定的节点列表树数据添加附加数据,会修改原数据\nconst addDataToAppointNodes = (appointNodes, data = {}) => {\n data = {\n ...data\n };\n const alreadyIsRichText = data && data.richText;\n // 如果指定的数据就是富文本格式,那么不需要重新创建\n if (alreadyIsRichText && data.resetRichText) {\n delete data.resetRichText;\n }\n const walk = list => {\n list.forEach(node => {\n node.data = {\n ...node.data,\n ...data\n };\n if (node.children && node.children.length > 0) {\n walk(node.children);\n }\n });\n };\n walk(appointNodes);\n return appointNodes;\n};\n\n// 给指定的节点列表树数据添加uid,会修改原数据\n// createNewId默认为false,即如果节点不存在uid的话,会创建新的uid。如果传true,那么无论节点数据原来是否存在uid,都会创建新的uid\nconst createUidForAppointNodes = (appointNodes, createNewId = false, handle = null, handleGeneralization = false) => {\n const walk = list => {\n list.forEach(node => {\n if (!node.data) {\n node.data = {};\n }\n if (createNewId || isUndef(node.data.uid)) {\n node.data.uid = createUid();\n }\n if (handleGeneralization) {\n const generalizationList = formatGetNodeGeneralization(node.data);\n generalizationList.forEach(gNode => {\n if (createNewId || isUndef(gNode.uid)) {\n gNode.uid = createUid();\n }\n });\n }\n handle && handle(node);\n if (node.children && node.children.length > 0) {\n walk(node.children);\n }\n });\n };\n walk(appointNodes);\n return appointNodes;\n};\n\n// 传入一个数据,如果该数据是数组,那么返回该数组,否则返回一个以该数据为成员的数组\nconst formatDataToArray = data => {\n if (!data) return [];\n return Array.isArray(data) ? data : [data];\n};\n\n// 获取节点在同级里的位置索引\nconst getNodeDataIndex = node => {\n return node.parent ? node.parent.nodeData.children.findIndex(item => {\n return item.data.uid === node.uid;\n }) : 0;\n};\n\n// 从一个节点列表里找出某个节点的索引\nconst getNodeIndexInNodeList = (node, nodeList) => {\n return nodeList.findIndex(item => {\n return item.uid === node.uid;\n });\n};\n\n// 根据内容生成颜色\nconst generateColorByContent = str => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n // 这里使用伪随机数的原因是因为\n // 1. 如果字符串的内容差不多,根据hash生产的颜色就比较相近,不好区分,比如v1.1 v1.2,所以需要加入随机数来使得颜色能够区分开\n // 2. 普通的随机数每次数值不一样,就会导致每次新增标签原来的标签颜色就会发生改变,所以加入了这个方法,使得内容不变随机数也不变\n const rng = new _mersenneTwister__WEBPACK_IMPORTED_MODULE_4__[\"default\"](hash);\n const h = rng.genrand_int32() % 360;\n return 'hsla(' + h + ', 50%, 50%, 1)';\n};\n\n// html转义\nconst htmlEscape = str => {\n [['&', '&'], ['<', '<'], ['>', '>']].forEach(item => {\n str = str.replace(new RegExp(item[0], 'g'), item[1]);\n });\n return str;\n};\n\n// 判断两个对象是否相同,只处理对象或数组\nconst isSameObject = (a, b) => {\n const type = getType(a);\n // a、b类型不一致,那么肯定不相同\n if (type !== getType(b)) return false;\n // 如果都是对象\n if (type === 'Object') {\n const keysa = Object.keys(a);\n const keysb = Object.keys(b);\n // 对象字段数量不一样,肯定不相同\n if (keysa.length !== keysb.length) return false;\n // 字段数量一样,那么需要遍历字段进行判断\n for (let i = 0; i < keysa.length; i++) {\n const key = keysa[i];\n // b没有a的一个字段,那么肯定不相同\n if (!keysb.includes(key)) return false;\n // 字段名称一样,那么需要递归判断它们的值\n const isSame = isSameObject(a[key], b[key]);\n if (!isSame) {\n return false;\n }\n }\n return true;\n } else if (type === 'Array') {\n // 如果都是数组\n // 数组长度不一样,肯定不相同\n if (a.length !== b.length) return false;\n // 长度一样,那么需要遍历进行判断\n for (let i = 0; i < a.length; i++) {\n const itema = a[i];\n const itemb = b[i];\n const typea = getType(itema);\n const typeb = getType(itemb);\n if (typea !== typeb) return false;\n const isSame = isSameObject(itema, itemb);\n if (!isSame) {\n return false;\n }\n }\n return true;\n } else {\n // 其他类型,直接全等判断\n return a === b;\n }\n};\n\n// 检查navigator.clipboard对象的读取是否可用\nconst checkClipboardReadEnable = () => {\n return navigator.clipboard && typeof navigator.clipboard.read === 'function';\n};\n\n// 将数据设置到用户剪切板中\nconst setDataToClipboard = data => {\n if (navigator.clipboard && navigator.clipboard.writeText) {\n navigator.clipboard.writeText(JSON.stringify(data));\n }\n};\n\n// 从用户剪贴板中读取文字和图片\nconst getDataFromClipboard = async () => {\n let text = null;\n let img = null;\n if (checkClipboardReadEnable()) {\n const items = await navigator.clipboard.read();\n if (items && items.length > 0) {\n for (const clipboardItem of items) {\n for (const type of clipboardItem.types) {\n if (/^image\\//.test(type)) {\n img = await clipboardItem.getType(type);\n } else if (type === 'text/plain') {\n const blob = await clipboardItem.getType(type);\n text = await blob.text();\n }\n }\n }\n }\n }\n return {\n text,\n img\n };\n};\n\n// 从节点的父节点的nodeData.children列表中移除该节点的数据\nconst removeFromParentNodeData = node => {\n if (!node || !node.parent) return;\n const index = getNodeDataIndex(node);\n if (index === -1) return;\n node.parent.nodeData.children.splice(index, 1);\n\n // 更新父节点的概要节点的range索引\n // 当删除一个节点后,所有在它之后的节点索引都会减1\n // 因此需要相应地更新概要节点的range\n const parentData = node.parent.nodeData.data;\n if (parentData && parentData.generalization) {\n const generalizationList = Array.isArray(parentData.generalization) ? parentData.generalization : [parentData.generalization];\n generalizationList.forEach(item => {\n if (item && item.range && Array.isArray(item.range) && item.range.length === 2) {\n const [start, end] = item.range;\n\n // 如果删除的节点在概要范围之前,需要将范围索引都减1\n if (index < start) {\n item.range = [start - 1, end - 1];\n }\n // 如果删除的节点在概要范围内的开始位置\n else if (index === start) {\n // 如果概要只包含这一个节点,则需要删除这个概要\n if (start === end) {\n // 标记这个概要为需要删除\n item._shouldRemove = true;\n } else {\n // 否则调整范围,不改变起始索引但终点索引减1\n item.range = [start, end - 1];\n }\n }\n // 如果删除的节点在概要范围内(不包括起始位置)\n else if (index > start && index <= end) {\n // 终点索引减1\n item.range = [start, end - 1];\n }\n // 如果删除的节点在概要范围之后,不需要调整\n }\n });\n\n // 移除标记为删除的概要节点\n if (Array.isArray(parentData.generalization)) {\n parentData.generalization = parentData.generalization.filter(item => !item._shouldRemove);\n // 删除临时标记\n parentData.generalization.forEach(item => {\n if (item._shouldRemove !== undefined) {\n delete item._shouldRemove;\n }\n });\n }\n }\n};\n\n// 给html自闭合标签添加闭合状态\nconst handleSelfCloseTags = str => {\n _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"selfCloseTagList\"].forEach(tagName => {\n str = str.replace(new RegExp(`<${tagName}([^>]*)>`, 'g'), `<${tagName} $1 />`);\n });\n return str;\n};\n\n// 检查两个节点列表是否包含的节点是一样的\nconst checkNodeListIsEqual = (list1, list2) => {\n if (list1.length !== list2.length) return false;\n for (let i = 0; i < list1.length; i++) {\n if (!list2.find(item => {\n return item.uid === list1[i].uid;\n })) {\n return false;\n }\n }\n return true;\n};\n\n// 获取浏览器的chrome内核版本\nconst getChromeVersion = () => {\n const match = navigator.userAgent.match(/\\s+Chrome\\/(.*)\\s+/);\n if (match && match[1]) {\n return Number.parseFloat(match[1]);\n }\n return '';\n};\n\n// 创建smm粘贴的粘贴数据\nconst createSmmFormatData = data => {\n return {\n simpleMindMap: true,\n data\n };\n};\n\n// 检查是否是smm粘贴格式的数据\nconst checkSmmFormatData = data => {\n let smmData = null;\n // 如果是字符串,则尝试解析为对象\n if (typeof data === 'string') {\n try {\n const parsedData = JSON.parse(data);\n // 判断是否是对象,且存在属性标志\n if (typeof parsedData === 'object' && parsedData.simpleMindMap) {\n smmData = parsedData.data;\n }\n } catch (error) {}\n } else if (typeof data === 'object' && data.simpleMindMap) {\n // 否则如果是对象,则检查属性标志\n smmData = data.data;\n }\n const isSmm = !!smmData;\n return {\n isSmm,\n data: isSmm ? smmData : String(data)\n };\n};\n\n// 检查是否是思源块id\n// 20241014145814-8rc1bfx\nconst checkSiyuanId = text => {\n var _arr$, _arr$2;\n const arr = text.split('-');\n if (arr.length !== 2) return false;\n return (arr === null || arr === void 0 || (_arr$ = arr[0]) === null || _arr$ === void 0 ? void 0 : _arr$.length) === 14 && (arr === null || arr === void 0 || (_arr$2 = arr[1]) === null || _arr$2 === void 0 ? void 0 : _arr$2.length) === 7;\n};\n\n// 检查是否是思源链接粘贴格式的数据\n// ((20241014145814-8rc1bfx '未命名kmind文档'))\n// siyuan://blocks/20240917095319-iqn29t9\nconst checkSiyuanLinkFormatData = text => {\n let isSiyuanLink = false;\n let siyuanLink = '';\n let siyuanLinkTitle = '';\n if (text.startsWith('siyuan://blocks/')) {\n isSiyuanLink = true;\n siyuanLink = text;\n }\n // 块引链接之后可能用其它的形式展示,先注释掉\n // if (text.startsWith('((') && text.endsWith('))')) {\n // // 去除前后双括号\n // const _text = text.slice(2, -2)\n // const arr = _text.split(' ')\n // if (arr.length === 2 && checkSiyuanId(arr[0])) {\n // siyuanLinkTitle = arr[1].replaceAll(\"'\", '')\n // isSiyuanLink = true\n // siyuanLink = `siyuan://blocks/${arr[0]}`\n // }\n // }\n return {\n isSiyuanLink,\n siyuanLink,\n siyuanLinkTitle\n };\n};\n\n// 检查是否是思源PDF粘贴格式\n/** 带有图片的矩形\n * <>\n![](assets/Google-P1-20250409140908-g6i1mdg.png)\n */\n\n/** 文字标注\n * <>\n */\n\nconst checkSiyuanPdfUrlFormatData = text => {\n let isSiyuanPdfUrl = false;\n let siyuanPdfUrl = '';\n let siyuanPdfUrlTitle = '';\n let siyuanPdfImageUrl = ''; // 新增图片地址字段\n\n // 判断是否为思源PDF链接格式\n if (typeof text === 'string') {\n // 格式1: 带有图片的矩形标注(可能包含图片引用)\n // <>\n // ![](assets/Google-P1-20250409140908-g6i1mdg.png)\n const rectWithImageRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]+)\">>\\s*\\n*!\\[\\]\\((assets\\/[^)]+)\\)/;\n const rectWithImageMatch = text.match(rectWithImageRegex);\n\n // 格式1的另一种形式:仅包含矩形标注\n const rectRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]+)\">>$/;\n const rectMatch = text.match(rectRegex);\n\n // 格式2: 文字标注\n // <>\n const textRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]*)\">>$/;\n const textMatch = text.match(textRegex);\n if (rectWithImageMatch || rectMatch || textMatch) {\n const match = rectWithImageMatch || rectMatch || textMatch;\n const path = match[1]; // PDF文件路径\n const id = match[2]; // 标注ID\n const title = match[3]; // 标注标题\n\n isSiyuanPdfUrl = true;\n siyuanPdfUrlTitle = title;\n\n // 如果是带图片的格式,提取图片地址\n if (rectWithImageMatch && rectWithImageMatch[4]) {\n siyuanPdfImageUrl = `/${rectWithImageMatch[4]}`;\n }\n\n // 构建思源PDF链接URL,格式为:\n // siyuan://plugins/kmind-plugin?data={\"type\":\"pdf\",\"path\":\"assets/文件.pdf\",\"id\":\"ID\"}\n const data = {\n type: 'pdf',\n path: path,\n id: id\n };\n\n // 如果有图片地址,也添加到链接数据中\n if (siyuanPdfImageUrl) {\n data.imageUrl = siyuanPdfImageUrl;\n }\n siyuanPdfUrl = `siyuan://plugins/kmind-plugin?data=${JSON.stringify(data)}`;\n }\n }\n return {\n isSiyuanPdfUrl,\n siyuanPdfUrl,\n siyuanPdfUrlTitle,\n siyuanPdfImageUrl // 返回提取的图片地址\n };\n};\n\n// 处理输入框的粘贴事件,会去除文本的html格式、换行\nconst handleInputPasteText = (e, text) => {\n e.preventDefault();\n const selection = window.getSelection();\n if (!selection.rangeCount) return;\n selection.deleteFromDocument();\n text = text || e.clipboardData.getData('text');\n // 转义特殊字符\n text = htmlEscape(text);\n // 去除格式\n text = getTextFromHtml(text);\n // 去除换行\n // text = text.replace(/\\n/g, '')\n const textArr = text.split(/\\n/g);\n const fragment = document.createDocumentFragment();\n textArr.forEach((item, index) => {\n const node = document.createTextNode(item);\n fragment.appendChild(node);\n if (index < textArr.length - 1) {\n const br = document.createElement('br');\n fragment.appendChild(br);\n }\n });\n selection.getRangeAt(0).insertNode(fragment);\n selection.collapseToEnd();\n};\n\n// 将思维导图树结构转平级对象\n/*\n {\n data: {\n uid: 'xxx'\n },\n children: [\n {\n data: {\n uid: 'xxx'\n },\n children: []\n }\n ]\n }\n 转为:\n {\n uid: {\n children: [uid1, uid2],\n data: {}\n }\n }\n */\nconst transformTreeDataToObject = data => {\n const res = {};\n const walk = (root, parent) => {\n const uid = root.data.uid;\n if (parent) {\n parent.children.push(uid);\n }\n res[uid] = {\n isRoot: !parent,\n data: {\n ...root.data\n },\n children: []\n };\n if (root.children && root.children.length > 0) {\n root.children.forEach(item => {\n walk(item, res[uid]);\n });\n }\n };\n walk(data, null);\n return res;\n};\n\n// 将平级对象转树结构\n// transformTreeDataToObject方法的反向操作\n// 找到父节点的uid\nconst _findParentUid = (data, targetUid) => {\n const uids = Object.keys(data);\n let res = '';\n uids.forEach(uid => {\n const children = data[uid].children;\n const isParent = children.findIndex(childUid => {\n return childUid === targetUid;\n }) !== -1;\n if (isParent) {\n res = uid;\n }\n });\n return res;\n};\nconst transformObjectToTreeData = data => {\n const uids = Object.keys(data);\n if (uids.length <= 0) return null;\n const rootKey = uids.find(uid => {\n return data[uid].isRoot;\n });\n if (!rootKey || !data[rootKey]) return null;\n // 根节点\n const res = {\n data: simpleDeepClone(data[rootKey].data),\n children: []\n };\n const map = {};\n map[rootKey] = res;\n uids.forEach(uid => {\n const parentUid = _findParentUid(data, uid);\n const cur = data[uid];\n const node = map[uid] || {\n data: simpleDeepClone(cur.data),\n children: []\n };\n if (!map[uid]) {\n map[uid] = node;\n }\n if (parentUid) {\n const index = data[parentUid].children.findIndex(item => {\n return item === uid;\n });\n if (!map[parentUid]) {\n map[parentUid] = {\n data: simpleDeepClone(data[parentUid].data),\n children: []\n };\n }\n map[parentUid].children[index] = node;\n }\n });\n return res;\n};\n\n// 计算两个点的直线距离\nconst getTwoPointDistance = (x1, y1, x2, y2) => {\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\n\n// 判断两个矩形的相对位置\n// 第一个矩形在第二个矩形的什么方向\nconst getRectRelativePosition = (rect1, rect2) => {\n // 获取第一个矩形的中心点坐标\n const rect1CenterX = rect1.x + rect1.width / 2;\n const rect1CenterY = rect1.y + rect1.height / 2;\n\n // 获取第二个矩形的中心点坐标\n const rect2CenterX = rect2.x + rect2.width / 2;\n const rect2CenterY = rect2.y + rect2.height / 2;\n\n // 判断第一个矩形在第二个矩形的哪个方向\n if (rect1CenterX < rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'left-top';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'right-top';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'right-bottom';\n } else if (rect1CenterX < rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'left-bottom';\n } else if (rect1CenterX < rect2CenterX && rect1CenterY === rect2CenterY) {\n return 'left';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY === rect2CenterY) {\n return 'right';\n } else if (rect1CenterX === rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'top';\n } else if (rect1CenterX === rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'bottom';\n } else {\n return 'overlap';\n }\n};\n\n// 处理获取svg内容时添加额外内容\nconst handleGetSvgDataExtraContent = ({\n addContentToHeader,\n addContentToFooter\n}) => {\n // 追加内容\n const cssTextList = [];\n let header = null;\n let headerHeight = 0;\n let footer = null;\n let footerHeight = 0;\n const handle = (fn, callback) => {\n if (typeof fn === 'function') {\n const res = fn();\n if (!res) return;\n const {\n el,\n cssText,\n height\n } = res;\n if (el instanceof HTMLElement) {\n addXmlns(el);\n const foreignObject = createForeignObjectNode({\n el,\n height\n });\n callback(foreignObject, height);\n }\n if (cssText) {\n cssTextList.push(cssText);\n }\n }\n };\n handle(addContentToHeader, (foreignObject, height) => {\n header = foreignObject;\n headerHeight = height;\n });\n handle(addContentToFooter, (foreignObject, height) => {\n footer = foreignObject;\n footerHeight = height;\n });\n return {\n cssTextList,\n header,\n headerHeight,\n footer,\n footerHeight\n };\n};\n\n// 获取指定节点的包围框信息\nconst getNodeTreeBoundingRect = (node, x = 0, y = 0, paddingX = 0, paddingY = 0, excludeSelf = false, excludeGeneralization = false) => {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n const walk = (root, isRoot) => {\n if (!(isRoot && excludeSelf) && root.group) {\n try {\n const {\n x,\n y,\n width,\n height\n } = root.group.findOne('.smm-node-shape').rbox();\n if (x < minX) {\n minX = x;\n }\n if (x + width > maxX) {\n maxX = x + width;\n }\n if (y < minY) {\n minY = y;\n }\n if (y + height > maxY) {\n maxY = y + height;\n }\n } catch (e) {}\n }\n if (!excludeGeneralization && root._generalizationList.length > 0) {\n root._generalizationList.forEach(item => {\n walk(item.generalizationNode);\n });\n }\n if (root.children) {\n root.children.forEach(item => {\n walk(item);\n });\n }\n };\n walk(node, true);\n minX = minX - x + paddingX;\n minY = minY - y + paddingY;\n maxX = maxX - x + paddingX;\n maxY = maxY - y + paddingY;\n return {\n left: minX,\n top: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n};\n\n// 获取多个节点总的包围框\nconst getNodeListBoundingRect = (nodeList, x = 0, y = 0, paddingX = 0, paddingY = 0) => {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n nodeList.forEach(node => {\n const {\n left,\n top,\n width,\n height\n } = getNodeTreeBoundingRect(node, x, y, paddingX, paddingY, false, true);\n if (left < minX) {\n minX = left;\n }\n if (left + width > maxX) {\n maxX = left + width;\n }\n if (top < minY) {\n minY = top;\n }\n if (top + height > maxY) {\n maxY = top + height;\n }\n });\n return {\n left: minX,\n top: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n};\n\n// 全屏事件检测\nconst getOnfullscreEnevt = () => {\n if (document.documentElement.requestFullScreen) {\n return 'fullscreenchange';\n } else if (document.documentElement.webkitRequestFullScreen) {\n return 'webkitfullscreenchange';\n } else if (document.documentElement.mozRequestFullScreen) {\n return 'mozfullscreenchange';\n } else if (document.documentElement.msRequestFullscreen) {\n return 'msfullscreenchange';\n }\n};\nconst fullscrrenEvent = getOnfullscreEnevt();\n\n// 全屏\nconst fullScreen = element => {\n if (element.requestFullScreen) {\n element.requestFullScreen();\n } else if (element.webkitRequestFullScreen) {\n element.webkitRequestFullScreen();\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen();\n }\n};\n\n// 退出全屏\nconst exitFullScreen = () => {\n if (!document.fullscreenElement) return;\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n }\n};\n\n// 创建foreignObject节点\nconst createForeignObjectNode = ({\n el,\n width,\n height\n}) => {\n const foreignObject = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_5__[\"ForeignObject\"]();\n if (width !== undefined) {\n foreignObject.width(width);\n }\n if (height !== undefined) {\n foreignObject.height(height);\n }\n foreignObject.add(el);\n return foreignObject;\n};\n\n// 格式化获取节点的概要数据\nconst formatGetNodeGeneralization = data => {\n const generalization = data.generalization;\n if (generalization) {\n return Array.isArray(generalization) ? generalization : [generalization];\n } else {\n return [];\n }\n};\n\n/**\n * 防御 XSS 攻击,过滤恶意 HTML 标签和属性\n * @param {string} text 需要过滤的文本\n * @returns {string} 过滤后的文本\n */\nconst defenseXSS = text => {\n text = String(text);\n\n // 初始化结果变量\n let result = text;\n\n // 使用正则表达式匹配 HTML 标签\n const match = text.match(/<(\\S*?)[^>]*>.*?|<.*? \\/>/g);\n if (match == null) {\n // 如果没有匹配到任何标签,则直接返回原始文本\n return text;\n }\n\n // 遍历匹配到的标签\n for (let value of match) {\n // 定义白名单属性正则表达式(style、target、href)\n const whiteAttrRegex = new RegExp(/(style|target|href)=[\"'][^\"']*[\"']/g);\n\n // 定义黑名单href正则表达式(javascript:)\n const aHrefBlackRegex = new RegExp(/href=[\"']javascript:/g);\n\n // 过滤 HTML 标签\n const filterHtml = value.replace(\n // 匹配属性键值对(如:key=\"value\")\n /([a-zA-Z-]+)\\s*=\\s*[\"']([^\"']*)[\"']/g, text => {\n // 如果属性值包含黑名单href或不在白名单中,则删除该属性\n if (aHrefBlackRegex.test(text) || !whiteAttrRegex.test(text)) {\n return '';\n }\n\n // 否则,保留该属性\n return text;\n });\n\n // 将过滤后的标签替换回原始文本\n result = result.replace(value, filterHtml);\n }\n\n // 返回最终结果\n return result;\n};\n\n// 给节点添加命名空间\nconst addXmlns = el => {\n el.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n};\n\n// 给一组节点实例升序排序,依据其sortIndex值\nconst sortNodeList = nodeList => {\n nodeList = [...nodeList];\n nodeList.sort((a, b) => {\n return a.sortIndex - b.sortIndex;\n });\n return nodeList;\n};\n\n// 合并主题配置\nconst mergeTheme = (dest, source) => {\n return deepmerge__WEBPACK_IMPORTED_MODULE_6___default()(dest, source, {\n arrayMerge: (destinationArray, sourceArray) => {\n return sourceArray;\n }\n });\n};\n\n// 获取节点实例的文本样式数据\nconst getNodeRichTextStyles = node => {\n const res = {};\n _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"richTextSupportStyleList\"].forEach(prop => {\n let value = node.style.merge(prop);\n if (prop === 'fontSize') {\n value = value + 'px';\n }\n res[prop] = value;\n });\n return res;\n};\n\n// 判断两个版本号的关系\n/*\na > b 返回 >\na < b 返回 <\na = b 返回 =\n*/\nconst compareVersion = (a, b) => {\n const aArr = String(a).split('.');\n const bArr = String(b).split('.');\n const max = Math.max(aArr.length, bArr.length);\n for (let i = 0; i < max; i++) {\n const ai = aArr[i] || 0;\n const bi = bArr[i] || 0;\n if (ai > bi) {\n return '>';\n } else if (ai < bi) {\n return '<';\n }\n }\n return '=';\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/index.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/mersenneTwister.js": +/*!*******************************************************!*\ + !*** ../simple-mind-map/src/utils/mersenneTwister.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MersenneTwister; });\n/**\n * @description 为了保证相同的内容每次生成的随机数都是一样的,我们可以使用一个伪随机数生成器(PRNG),并使用内容的哈希值作为种子。以下是一个使用Mersenne Twister算法的PRNG的实现:\n *\n * @param {*} seed\n */\n\nfunction MersenneTwister(seed) {\n this.N = 624;\n this.M = 397;\n this.MATRIX_A = 0x9908b0df;\n this.UPPER_MASK = 0x80000000;\n this.LOWER_MASK = 0x7fffffff;\n this.mt = new Array(this.N);\n this.mti = this.N + 1;\n this.init_genrand(seed);\n}\nMersenneTwister.prototype.init_genrand = function (s) {\n this.mt[0] = s >>> 0;\n for (this.mti = 1; this.mti < this.N; this.mti++) {\n s = this.mt[this.mti - 1] ^ this.mt[this.mti - 1] >>> 30;\n this.mt[this.mti] = (((s & 0xffff0000) >>> 16) * 1812433253 << 16) + (s & 0x0000ffff) * 1812433253 + this.mti;\n this.mt[this.mti] >>>= 0;\n }\n};\nMersenneTwister.prototype.genrand_int32 = function () {\n var y;\n var mag01 = new Array(0x0, this.MATRIX_A);\n if (this.mti >= this.N) {\n var kk;\n if (this.mti == this.N + 1) this.init_genrand(5489);\n for (kk = 0; kk < this.N - this.M; kk++) {\n y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;\n this.mt[kk] = this.mt[kk + this.M] ^ y >>> 1 ^ mag01[y & 0x1];\n }\n for (; kk < this.N - 1; kk++) {\n y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;\n this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ y >>> 1 ^ mag01[y & 0x1];\n }\n y = this.mt[this.N - 1] & this.UPPER_MASK | this.mt[0] & this.LOWER_MASK;\n this.mt[this.N - 1] = this.mt[this.M - 1] ^ y >>> 1 ^ mag01[y & 0x1];\n this.mti = 0;\n }\n y = this.mt[this.mti++];\n y ^= y >>> 11;\n y ^= y << 7 & 0x9d2c5680;\n y ^= y << 15 & 0xefc60000;\n y ^= y >>> 18;\n return y >>> 0;\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/mersenneTwister.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js": +/*!*********************************************************************!*\ + !*** ../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js ***! + \*********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n// 将以空格分隔的字符串值转换成成数字/单位/值数组\nconst getNumberValueFromStr = value => {\n let arr = String(value).split(/\\s+/);\n return arr.map(item => {\n if (/^[\\d.]+/.test(item)) {\n // 数字+单位\n let res = /^([\\d.]+)(.*)$/.exec(item);\n return [Number(res[1]), res[2]];\n } else {\n // 单个值\n return item;\n }\n });\n};\n\n// 缩放宽度\nconst zoomWidth = (ratio, height) => {\n // w / height = ratio\n return ratio * height;\n};\n\n// 缩放高度\nconst zoomHeight = (ratio, width) => {\n // width / h = ratio\n return width / ratio;\n};\n\n// 关键词到百分比值的映射\nconst keyWordToPercentageMap = {\n left: 0,\n top: 0,\n center: 50,\n bottom: 100,\n right: 100\n};\n\n// 模拟background-size\nconst handleBackgroundSize = ({\n backgroundSize,\n drawOpt,\n imageRatio,\n canvasWidth,\n canvasHeight,\n canvasRatio\n}) => {\n if (backgroundSize) {\n // 将值转换成数组\n let backgroundSizeValueArr = getNumberValueFromStr(backgroundSize);\n // 两个值都为auto,那就相当于不设置\n if (backgroundSizeValueArr[0] === 'auto' && backgroundSizeValueArr[1] === 'auto') {\n return;\n }\n // 值为cover\n if (backgroundSizeValueArr[0] === 'cover') {\n if (imageRatio > canvasRatio) {\n // 图片的宽高比大于canvas的宽高比,那么图片高度缩放到和canvas的高度一致,宽度自适应\n drawOpt.height = canvasHeight;\n drawOpt.width = zoomWidth(imageRatio, canvasHeight);\n } else {\n // 否则图片宽度缩放到和canvas的宽度一致,高度自适应\n drawOpt.width = canvasWidth;\n drawOpt.height = zoomHeight(imageRatio, canvasWidth);\n }\n return;\n }\n // 值为contain\n if (backgroundSizeValueArr[0] === 'contain') {\n if (imageRatio > canvasRatio) {\n // 图片的宽高比大于canvas的宽高比,那么图片宽度缩放到和canvas的宽度一致,高度自适应\n drawOpt.width = canvasWidth;\n drawOpt.height = zoomHeight(imageRatio, canvasWidth);\n } else {\n // 否则图片高度缩放到和canvas的高度一致,宽度自适应\n drawOpt.height = canvasHeight;\n drawOpt.width = zoomWidth(imageRatio, canvasHeight);\n }\n return;\n }\n // 图片宽度\n let newNumberWidth = -1;\n if (backgroundSizeValueArr[0]) {\n if (Array.isArray(backgroundSizeValueArr[0])) {\n // 数字+单位类型\n if (backgroundSizeValueArr[0][1] === '%') {\n // %单位\n drawOpt.width = backgroundSizeValueArr[0][0] / 100 * canvasWidth;\n newNumberWidth = drawOpt.width;\n } else {\n // 其他都认为是px单位\n drawOpt.width = backgroundSizeValueArr[0][0];\n newNumberWidth = backgroundSizeValueArr[0][0];\n }\n } else if (backgroundSizeValueArr[0] === 'auto') {\n // auto类型,那么根据设置的新高度以图片原宽高比进行自适应\n if (backgroundSizeValueArr[1]) {\n if (backgroundSizeValueArr[1][1] === '%') {\n // 高度为%单位\n drawOpt.width = zoomWidth(imageRatio, backgroundSizeValueArr[1][0] / 100 * canvasHeight);\n } else {\n // 其他都认为是px单位\n drawOpt.width = zoomWidth(imageRatio, backgroundSizeValueArr[1][0]);\n }\n }\n }\n }\n // 设置了图片高度\n if (backgroundSizeValueArr[1] && Array.isArray(backgroundSizeValueArr[1])) {\n // 数字+单位类型\n if (backgroundSizeValueArr[1][1] === '%') {\n // 高度为%单位\n drawOpt.height = backgroundSizeValueArr[1][0] / 100 * canvasHeight;\n } else {\n // 其他都认为是px单位\n drawOpt.height = backgroundSizeValueArr[1][0];\n }\n } else if (newNumberWidth !== -1) {\n // 没有设置图片高度或者设置为auto,那么根据设置的新宽度以图片原宽高比进行自适应\n drawOpt.height = zoomHeight(imageRatio, newNumberWidth);\n }\n }\n};\n\n// 模拟background-position\nconst handleBackgroundPosition = ({\n backgroundPosition,\n drawOpt,\n imgWidth,\n imgHeight,\n canvasWidth,\n canvasHeight\n}) => {\n if (backgroundPosition) {\n // 将值转换成数组\n let backgroundPositionValueArr = getNumberValueFromStr(backgroundPosition);\n // 将关键词转为百分比\n backgroundPositionValueArr = backgroundPositionValueArr.map(item => {\n if (typeof item === 'string') {\n return keyWordToPercentageMap[item] !== undefined ? [keyWordToPercentageMap[item], '%'] : item;\n }\n return item;\n });\n if (Array.isArray(backgroundPositionValueArr[0])) {\n if (backgroundPositionValueArr.length === 1) {\n // 如果只设置了一个值,第二个默认为50%\n backgroundPositionValueArr.push([50, '%']);\n }\n // 水平位置\n if (backgroundPositionValueArr[0][1] === '%') {\n // 单位为%\n let canvasX = backgroundPositionValueArr[0][0] / 100 * canvasWidth;\n let imgX = backgroundPositionValueArr[0][0] / 100 * imgWidth;\n // 计算差值\n drawOpt.x = canvasX - imgX;\n } else {\n // 其他单位默认都为px\n drawOpt.x = backgroundPositionValueArr[0][0];\n }\n // 垂直位置\n if (backgroundPositionValueArr[1][1] === '%') {\n // 单位为%\n let canvasY = backgroundPositionValueArr[1][0] / 100 * canvasHeight;\n let imgY = backgroundPositionValueArr[1][0] / 100 * imgHeight;\n // 计算差值\n drawOpt.y = canvasY - imgY;\n } else {\n // 其他单位默认都为px\n drawOpt.y = backgroundPositionValueArr[1][0];\n }\n }\n }\n};\n\n// 模拟background-repeat\nconst handleBackgroundRepeat = ({\n ctx,\n image,\n backgroundRepeat,\n drawOpt,\n imgWidth,\n imgHeight,\n canvasWidth,\n canvasHeight\n}) => {\n if (backgroundRepeat) {\n // 保存在handleBackgroundPosition中计算出来的x、y\n let ox = drawOpt.x;\n let oy = drawOpt.y;\n // 计算ox和oy能平铺的图片数量\n let oxRepeatNum = Math.ceil(ox / imgWidth);\n let oyRepeatNum = Math.ceil(oy / imgHeight);\n // 计算ox和oy第一张图片的位置\n let oxRepeatX = ox - oxRepeatNum * imgWidth;\n let oxRepeatY = oy - oyRepeatNum * imgHeight;\n // 将值转换成数组\n let backgroundRepeatValueArr = getNumberValueFromStr(backgroundRepeat);\n // 不处理\n if (backgroundRepeatValueArr[0] === 'no-repeat' || imgWidth >= canvasWidth && imgHeight >= canvasHeight) {\n return;\n }\n // 水平平铺\n if (backgroundRepeatValueArr[0] === 'repeat-x') {\n if (canvasWidth > imgWidth) {\n let x = oxRepeatX;\n while (x < canvasWidth) {\n drawImage(ctx, image, {\n ...drawOpt,\n x\n });\n x += imgWidth;\n }\n return true;\n }\n }\n // 垂直平铺\n if (backgroundRepeatValueArr[0] === 'repeat-y') {\n if (canvasHeight > imgHeight) {\n let y = oxRepeatY;\n while (y < canvasHeight) {\n drawImage(ctx, image, {\n ...drawOpt,\n y\n });\n y += imgHeight;\n }\n return true;\n }\n }\n // 平铺\n if (backgroundRepeatValueArr[0] === 'repeat') {\n let x = oxRepeatX;\n while (x < canvasWidth) {\n if (canvasHeight > imgHeight) {\n let y = oxRepeatY;\n while (y < canvasHeight) {\n drawImage(ctx, image, {\n ...drawOpt,\n x,\n y\n });\n y += imgHeight;\n }\n }\n x += imgWidth;\n }\n return true;\n }\n }\n};\n\n// 根据参数绘制图片\nconst drawImage = (ctx, image, drawOpt) => {\n ctx.drawImage(image, drawOpt.sx, drawOpt.sy, drawOpt.swidth, drawOpt.sheight, drawOpt.x, drawOpt.y, drawOpt.width, drawOpt.height);\n};\nconst drawBackgroundImageToCanvas = (ctx, width, height, img, {\n backgroundSize,\n backgroundPosition,\n backgroundRepeat\n}, callback = () => {}) => {\n // 画布的长宽比\n let canvasRatio = width / height;\n // 加载图片\n let image = new Image();\n image.src = img;\n image.onload = () => {\n // 图片的宽度及长宽比\n let imgWidth = image.width;\n let imgHeight = image.height;\n let imageRatio = imgWidth / imgHeight;\n // 绘制图片\n // drawImage方法的参数值\n let drawOpt = {\n sx: 0,\n sy: 0,\n swidth: imgWidth,\n sheight: imgHeight,\n x: 0,\n y: 0,\n width: imgWidth,\n height: imgHeight\n };\n // 模拟background-size\n handleBackgroundSize({\n backgroundSize,\n drawOpt,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 模拟background-position\n handleBackgroundPosition({\n backgroundPosition,\n drawOpt,\n imgWidth: drawOpt.width,\n imgHeight: drawOpt.height,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 模拟background-repeat\n let notNeedDraw = handleBackgroundRepeat({\n ctx,\n image,\n backgroundRepeat,\n drawOpt,\n imgWidth: drawOpt.width,\n imgHeight: drawOpt.height,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 绘制图片\n if (!notNeedDraw) {\n drawImage(ctx, image, drawOpt);\n }\n callback();\n };\n image.onerror = e => {\n callback(e);\n };\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (drawBackgroundImageToCanvas);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js?"); + +/***/ }), + +/***/ "../simple-mind-map/src/utils/xmind.js": +/*!*********************************************!*\ + !*** ../simple-mind-map/src/utils/xmind.js ***! + \*********************************************/ +/*! exports provided: getSummaryText, getSummaryText2, getRoot, getItemByName, getElementsByType, addSummaryData, handleNodeImageFromXmind, handleNodeImageToXmind, getXmindContentXmlData, parseNodeGeneralizationToXmind */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSummaryText\", function() { return getSummaryText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSummaryText2\", function() { return getSummaryText2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRoot\", function() { return getRoot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getItemByName\", function() { return getItemByName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getElementsByType\", function() { return getElementsByType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addSummaryData\", function() { return addSummaryData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleNodeImageFromXmind\", function() { return handleNodeImageFromXmind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleNodeImageToXmind\", function() { return handleNodeImageToXmind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getXmindContentXmlData\", function() { return getXmindContentXmlData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseNodeGeneralizationToXmind\", function() { return parseNodeGeneralizationToXmind; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n\n// 解析出新xmind的概要文本\nconst getSummaryText = (node, topicId) => {\n if (node.children.summary && node.children.summary.length > 0) {\n for (let i = 0; i < node.children.summary.length; i++) {\n const cur = node.children.summary[i];\n if (cur.id === topicId) {\n return cur.title;\n }\n }\n }\n};\n\n// 解析出旧xmind的概要文本\nconst getSummaryText2 = (item, topicId) => {\n const summaryElements = getElementsByType(item.elements, 'summary');\n if (summaryElements && summaryElements && summaryElements.length > 0) {\n for (let i = 0; i < summaryElements.length; i++) {\n const cur = summaryElements[i];\n if (cur.attributes.id === topicId) {\n return cur.elements && cur.elements[0] && cur.elements[0].elements && cur.elements[0].elements[0] ? cur.elements[0].elements[0].text : '';\n }\n }\n }\n return '';\n};\n\n// 解析旧版xmind数据时,找出根节点\nconst getRoot = list => {\n let root = null;\n const walk = arr => {\n if (!arr) return;\n for (let i = 0; i < arr.length; i++) {\n if (!root && arr[i].name === 'topic') {\n root = arr[i];\n return;\n }\n }\n arr.forEach(item => {\n walk(item.elements);\n });\n };\n walk(list);\n return root;\n};\n\n// 解析旧版xmind数据,从一个数组中根据name找出该项\nconst getItemByName = (arr, name) => {\n return arr.find(item => {\n return item.name === name;\n });\n};\n\n// 解析旧版xmind数据,从一个数组中根据attributes.type找出该项\nconst getElementsByType = (arr, type) => {\n return arr.find(el => {\n return el.attributes.type === type;\n }).elements;\n};\n\n// 解析xmind数据,将概要转换为smm支持的结构\nconst addSummaryData = (selfList, childrenList, getText, range) => {\n const summaryData = {\n expand: true,\n isActive: false,\n text: getText(),\n range: null\n };\n const match = range.match(/\\((\\d+),(\\d+)\\)/);\n if (match) {\n const startIndex = Number(match[1]);\n const endIndex = Number(match[2]);\n if (startIndex === endIndex) {\n childrenList[startIndex] = summaryData;\n } else {\n summaryData.range = [startIndex, endIndex];\n selfList.push(summaryData);\n }\n } else {\n selfList.push(summaryData);\n }\n};\n\n// 解析xmind数据时,解析其中的图片数据\nconst handleNodeImageFromXmind = async (node, newNode, promiseList, files) => {\n if (node.image && /\\.(jpg|jpeg|png|gif|webp)$/.test(node.image.src)) {\n // 处理异步逻辑\n let resolve = null;\n const promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n promiseList.push(promise);\n try {\n // 读取图片\n const imageType = /\\.([^.]+)$/.exec(node.image.src)[1];\n const imageBase64 = `data:image/${imageType};base64,` + (await files['resources/' + node.image.src.split('/')[1]].async('base64'));\n newNode.data.image = imageBase64;\n // 如果图片尺寸不存在\n if (!node.image.width && !node.image.height) {\n const imageSize = await Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"getImageSize\"])(imageBase64);\n newNode.data.imageSize = {\n width: imageSize.width,\n height: imageSize.height\n };\n } else {\n newNode.data.imageSize = {\n width: node.image.width,\n height: node.image.height\n };\n }\n resolve();\n } catch (error) {\n console.log(error);\n resolve();\n }\n }\n};\n\n// 导出为xmind时,处理图片数据\nconst handleNodeImageToXmind = async (node, newData, promiseList, imageList) => {\n if (node.data.image) {\n // 处理异步逻辑\n let resolve = null;\n let promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n promiseList.push(promise);\n try {\n let imgName = '';\n let imgData = node.data.image;\n // base64之外的其他图片要先转换成data:url\n if (!/^data:/.test(node.data.image)) {\n imgData = await Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"imgToDataUrl\"])(node.data.image);\n }\n // 从data:url中解析出图片类型和ase64\n let dataUrlRes = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"parseDataUrl\"])(imgData);\n imgName = 'image_' + imageList.length + '.' + dataUrlRes.type;\n imageList.push({\n name: imgName,\n data: dataUrlRes.base64\n });\n newData.image = {\n src: 'xap:resources/' + imgName,\n width: node.data.imageSize.width,\n height: node.data.imageSize.height\n };\n resolve();\n } catch (error) {\n console.log(error);\n resolve();\n }\n }\n};\nconst getXmindContentXmlData = () => {\n return ` Warning 警告 Attention Warnung 경고 This file can not be opened normally, please do not modify and save, otherwise the contents will be permanently lost! You can try using XMind 8 Update 3 or later version to open 该文件无法正常打开,请勿修改并保存,否则文件内容将会永久性丢失! 你可以尝试使用 XMind 8 Update 3 或更新版本打开 該文件無法正常打開,請勿修改並保存,否則文件內容將會永久性丟失! 你可以嘗試使用 XMind 8 Update 3 或更新版本打開 この文書は正常に開かないので、修正して保存しないようにしてください。そうでないと、書類の内容が永久に失われます。! XMind 8 Update 3 や更新版を使って開くこともできます Datei kann nicht richtig geöffnet werden. Bitte ändern Sie diese Datei nicht und speichern Sie sie, sonst wird die Datei endgültig gelöscht werden. Bitte versuchen Sie, diese Datei mit XMind 8 Update 3 oder später zu öffnen. Ce fichier ne peut pas ouvert normalement, veuillez le rédiger et sauvegarder, sinon le fichier sera perdu en permanence. Vous pouvez essayer d'ouvrir avec XMind 8 Update 3 ou avec une version plus récente. 파일을 정상적으로 열 수 없으며, 수정 및 저장하지 마십시오. 그렇지 않으면 파일의 내용이 영구적으로 손실됩니다! XMind 8 Update 3 또는 이후 버전을 사용하여 -1 Sheet 1 `;\n};\n\n// 获取节点自身的概要,非子节点区间\nconst getSelfGeneralization = data => {\n const list = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])(data);\n return list.filter(item => {\n return !item.range || item.range.length <= 0;\n });\n};\n\n// 获取节点区间概要\nconst getRangeGeneralization = data => {\n const list = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])(data);\n return list.filter(item => {\n return item.range && item.range.length > 0;\n });\n};\n\n// 导出为xmind时,将概要转换为xmind的格式\nconst parseNodeGeneralizationToXmind = node => {\n const summary = [];\n const summaries = [];\n const collectSummary = (item, startIndex, endIndex) => {\n const summaryTopicId = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])();\n const summaryTitle = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(item.text);\n summary.push({\n id: summaryTopicId,\n title: summaryTitle,\n attributedTitle: [{\n text: summaryTitle\n }]\n });\n summaries.push({\n id: Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])(),\n range: '(' + startIndex + ',' + endIndex + ')',\n topicId: summaryTopicId\n });\n };\n // 在xmind中,概要都是保存在父节点的\n // 而在simple-mind-map中,区间概要保存在父节点中,不带区间的保存在自身\n // 所以先要过滤出自身的区间概要\n const generalizationList = getRangeGeneralization(node.data);\n generalizationList.forEach(item => {\n collectSummary(item, item.range[0], item.range[1]);\n })\n\n // 遍历子节点,找出子节点自身的概要\n ;\n (node.children || []).forEach((child, childIndex) => {\n const list = getSelfGeneralization(child.data);\n list.forEach(item => {\n collectSummary(item, childIndex, childIndex);\n });\n });\n return {\n summary,\n summaries\n };\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/xmind.js?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fant-design%2Fexport-outlined": +/*!********************************************************!*\ + !*** ./_virtual_~icons%2Fant-design%2Fexport-outlined ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"fill-rule\":\"evenodd\",\"d\":\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32M770.87 199.131l-52.2-52.2c-4.7-4.7-1.9-12.8 4.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4l-256.2 256.2c-3.1 3.1-8.2 3.1-11.3 0l-42.4-42.4c-3.1-3.1-3.1-8.2 0-11.3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-export-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fexport-outlined?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fant-design%2Fhighlight-outlined": +/*!***********************************************************!*\ + !*** ./_virtual_~icons%2Fant-design%2Fhighlight-outlined ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1l40 39.4l-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1l39.5 38.9l-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6l40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6l40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2M389.8 796.2H229.6l134.4-133l80.1 78.9zm154.8-62.1L373.2 565.2l68.6-67.6l171.4 168.9zM713.1 658L450.3 399.1L597.6 254l262.8 259z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-highlight-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fhighlight-outlined?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fant-design%2Fhistory-outlined": +/*!*********************************************************!*\ + !*** ./_virtual_~icons%2Fant-design%2Fhistory-outlined ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8m219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1m167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1c-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9a352.2 352.2 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.4 353.4 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8c17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82C285 82.1 92.6 276.7 95 516.4C97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3c1.5-4.2-.7-8.9-4.9-10.4\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-history-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fhistory-outlined?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fant-design%2Fimport-outlined": +/*!********************************************************!*\ + !*** ./_virtual_~icons%2Fant-design%2Fimport-outlined ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"fill-rule\":\"evenodd\",\"d\":\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32M653.3 424.6l52.2 52.2c4.7 4.7 1.9 12.8-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4l256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-import-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fimport-outlined?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fant-design%2Fnode-index-outlined": +/*!************************************************************!*\ + !*** ./_virtual_~icons%2Fant-design%2Fnode-index-outlined ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7c3.3-27.3 19.8-41.9 50.1-49c18.4-4.3 38.8-4.9 57.3-3.2c1.7.2 3.5.3 5.2.5c11.3 2.7 22.8 5 34.3 6.8c34.1 5.6 68.8 8.4 101.8 6.6c92.8-5 156-45.9 159.2-132.7c3.1-84.1-54.7-143.7-147.9-183.6c-29.9-12.8-61.6-22.7-93.3-30.2c-14.3-3.4-26.3-5.7-35.2-7.2c-7.9-75.9-71.5-133.8-147.8-134.4S189.7 168 180.5 243.8s40 146.3 114.2 163.9s149.9-23.3 175.7-95.1c9.4 1.7 18.7 3.6 28 5.8c28.2 6.6 56.4 15.4 82.4 26.6c70.7 30.2 109.3 70.1 107.5 119.9c-1.6 44.6-33.6 65.2-96.2 68.6c-27.5 1.5-57.6-.9-87.3-5.8c-8.3-1.4-15.9-2.8-22.6-4.3c-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3c-25-2.3-52.1-1.5-78.5 4.6c-55.2 12.9-93.9 47.2-101.1 105.8c-15.7 126.2 78.6 184.7 276 188.9c29.1 70.4 106.4 107.9 179.6 87c73.3-20.9 119.3-93.4 106.9-168.6M329.1 345.2c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3s83.3 37.3 83.3 83.3s-37.3 83.3-83.3 83.3M695.6 845c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3s83.3 37.3 83.3 83.3s-37.3 83.3-83.3 83.3\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-node-index-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fnode-index-outlined?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fclarity%2Fadd-text-line": +/*!***************************************************!*\ + !*** ./_virtual_~icons%2Fclarity%2Fadd-text-line ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M31 21H13a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-2\",attrs:{\"fill\":\"currentColor\",\"d\":\"M12 16a1 1 0 0 0 1 1h18a1 1 0 0 0 0-2H13a1 1 0 0 0-1 1\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-3\",attrs:{\"fill\":\"currentColor\",\"d\":\"M27 27H13a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-4\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15.89 9a1 1 0 0 0-1-1H10V3.21a1 1 0 0 0-2 0V8H2.89a1 1 0 0 0 0 2H8v5.21a1 1 0 0 0 2 0V10h4.89a1 1 0 0 0 1-1\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-add-text-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Fadd-text-line?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fclarity%2Fdirectory-line": +/*!****************************************************!*\ + !*** ./_virtual_~icons%2Fclarity%2Fdirectory-line ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M30 9H16.42l-2.31-3.18A2 2 0 0 0 12.49 5H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2m0 20H6V13h7.31a2 2 0 0 0 2-2H6V7h6.49l2.61 3.59a1 1 0 0 0 .81.41H30Z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-directory-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Fdirectory-line?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fclarity%2Ftree-view-line": +/*!****************************************************!*\ + !*** ./_virtual_~icons%2Fclarity%2Ftree-view-line ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15 32h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1m-3-2h2v-2h-2Z\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-2\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15 16h-4a1 1 0 0 0-1 1v1.2H5.8V12H7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1.2v17.8h6.36a.8.8 0 0 0 0-1.6H5.8v-8.4H10V21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1M4 8h2v2H4Zm10 12h-2v-2h2Z\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-3\",attrs:{\"fill\":\"currentColor\",\"d\":\"M34 9a1 1 0 0 0-1-1H10v2h23a1 1 0 0 0 1-1\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-4\",attrs:{\"fill\":\"currentColor\",\"d\":\"M33 18H18v2h15a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-5\",attrs:{\"fill\":\"currentColor\",\"d\":\"M33 28H18v2h15a1 1 0 0 0 0-2\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-tree-view-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Ftree-view-line?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ffluent%2Fcomment-add-16-regular": +/*!***********************************************************!*\ + !*** ./_virtual_~icons%2Ffluent%2Fcomment-add-16-regular ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 16 16\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15 5.5a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11zM3.5 3h2.1q.276-.538.657-1H3.5A2.5 2.5 0 0 0 1 4.5v5A2.5 2.5 0 0 0 3.5 12H4v1.942a.98.98 0 0 0 1.625.738L8.688 12H12.5A2.5 2.5 0 0 0 15 9.5v-.837c-.29.411-.634.78-1.023 1.098A1.5 1.5 0 0 1 12.5 11H8.312L5 13.898V11H3.5A1.5 1.5 0 0 1 2 9.5v-5A1.5 1.5 0 0 1 3.5 3\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-comment-add-16-regular',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent%252Fcomment-add-16-regular?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ffluent-mdl2%2Ffull-width-edit": +/*!*********************************************************!*\ + !*** ./_virtual_~icons%2Ffluent-mdl2%2Ffull-width-edit ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 2048 2048\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2048 256v540q-58-37-128-51V384h-384v256h-128V384H640v256H512V384H128v1280h384v-128h128v128h128v128H0V256zM640 1024H512V768h128zm-128 128h128v256H512zm1024-384v256h-128V768zm312 128q42 0 78 15t64 42t42 63t16 78q0 39-15 76t-43 65l-717 719l-377 94l94-377l717-718q28-28 65-42t76-15m51 249q21-21 21-51q0-31-20-50t-52-20q-14 0-27 4t-23 15l-692 694l-34 135l135-34z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-mdl2-full-width-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent-mdl2%252Ffull-width-edit?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ffluent-mdl2%2Fhighlight-mapped-shapes": +/*!*****************************************************************!*\ + !*** ./_virtual_~icons%2Ffluent-mdl2%2Fhighlight-mapped-shapes ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 2048 2048\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2048 640v640h-896v-256H979l-339 226v158h384v640H128v-640h384v-158L77 960l435-290V512H384q-53 0-99-20t-82-55t-55-81t-20-100q0-53 20-99t55-82t81-55T384 0h384q53 0 99 20t82 55t55 81t20 100q0 53-20 99t-55 82t-81 55t-100 20H640v158l339 226h173V640zM768 384q27 0 50-10t40-27t28-41t10-50q0-27-10-50t-27-40t-41-28t-50-10H384q-27 0-50 10t-40 27t-28 41t-10 50q0 27 10 50t27 40t41 28t50 10zM384 1664v128h384v-128zm461-704L576 781L307 960l269 179zm947-64h-384v128h384z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-mdl2-highlight-mapped-shapes',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent-mdl2%252Fhighlight-mapped-shapes?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fhugeicons%2Fbook-edit": +/*!*************************************************!*\ + !*** ./_virtual_~icons%2Fhugeicons%2Fbook-edit ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M11.022 6.787v13M11 19.5c-.222 0-.677-.242-1.585-.726c-.923-.492-2.198-.982-3.832-1.29c-1.834-.344-2.75-.516-3.167-1.025C2 15.949 2 15.135 2 13.504V7.097c0-1.783 0-2.675.649-3.224c.648-.549 1.41-.406 2.933-.12c3.008.566 4.8 1.749 5.418 2.428c.618-.679 2.41-1.862 5.418-2.427c1.523-.287 2.285-.43 2.933.119c.649.549.649 1.44.649 3.224V10m.864 2.94l.695.692a1.496 1.496 0 0 1 0 2.12l-3.642 3.696a2 2 0 0 1-1.051.552l-2.257.488a.5.5 0 0 1-.598-.593l.48-2.235c.075-.397.268-.762.555-1.047l3.688-3.674a1.51 1.51 0 0 1 2.13 0\",\"color\":\"currentColor\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-book-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fbook-edit?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fhugeicons%2Fnode-edit": +/*!*************************************************!*\ + !*** ./_virtual_~icons%2Fhugeicons%2Fnode-edit ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M13 19.5h-1c-2.828 0-4.243 0-5.121-.879C6 17.743 6 16.328 6 13.5v-2m0 0V8m0 3.5h5.5\"}}),_c('path',{attrs:{\"d\":\"M13 19.5c0-1.178 0-1.768.351-2.134C13.704 17 14.27 17 15.4 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.049-.366S13 20.678 13 19.5M4.286 2h3.428C9.79 2 10 3.11 10 5s-.211 3-2.286 3H4.286C2.21 8 2 6.89 2 5s.211-3 2.286-3m16.72 3.384l.608.606a1.31 1.31 0 0 1 0 1.856l-3.187 3.234a1.76 1.76 0 0 1-.92.483l-1.974.427a.438.438 0 0 1-.523-.52l.42-1.955c.066-.347.235-.667.485-.916l3.227-3.215a1.32 1.32 0 0 1 1.864 0\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-node-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fnode-edit?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fhugeicons%2Fsubnode-add": +/*!***************************************************!*\ + !*** ./_virtual_~icons%2Fhugeicons%2Fsubnode-add ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M14.5 19.5h-1c-2.828 0-4.243 0-5.121-.879C7.5 17.743 7.5 16.328 7.5 13.5v-2m0-3.5v3.5m0 0H12\"}}),_c('path',{attrs:{\"d\":\"M14.5 19.5c0-1.178 0-1.768.351-2.134C15.204 17 15.77 17 16.9 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.048-.366c-.352-.366-.352-.956-.352-2.134M5.786 2h3.428C11.29 2 11.5 3.11 11.5 5s-.211 3-2.286 3H5.786C3.71 8 3.5 6.89 3.5 5s.211-3 2.286-3M17.5 9v5m2.5-2.5h-5\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-subnode-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsubnode-add?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fhugeicons%2Fsubnode-delete": +/*!******************************************************!*\ + !*** ./_virtual_~icons%2Fhugeicons%2Fsubnode-delete ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M14.5 19.5h-1c-2.828 0-4.243 0-5.121-.879C7.5 17.743 7.5 16.328 7.5 13.5v-2m0-3.5v3.5m0 0h5\"}}),_c('path',{attrs:{\"d\":\"M14.5 19.5c0-1.178 0-1.768.351-2.134C15.204 17 15.77 17 16.9 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.048-.366c-.352-.366-.352-.956-.352-2.134M5.786 2h3.428C11.29 2 11.5 3.11 11.5 5s-.211 3-2.286 3H5.786C3.71 8 3.5 6.89 3.5 5s.211-3 2.286-3M19.5 9.5l-2 2m0 0l-2 2m2-2l2 2m-2-2l-2-2\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-subnode-delete',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsubnode-delete?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fhugeicons%2Fsummation-01": +/*!****************************************************!*\ + !*** ./_virtual_~icons%2Fhugeicons%2Fsummation-01 ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M19 17.143c0 1.503 0 2.255-.35 2.804a2.3 2.3 0 0 1-.717.708c-.557.345-1.32.345-2.844.345H9.2c-2.585 0-3.878 0-4.153-.735c-.276-.734.705-1.564 2.668-3.223l3.943-3.334c.939-.794 1.408-1.19 1.408-1.708c0-.517-.47-.914-1.408-1.708L7.714 6.958C5.751 5.3 4.77 4.47 5.046 3.735C5.32 3 6.614 3 9.199 3h5.89c1.525 0 2.287 0 2.844.345c.29.18.535.422.717.708c.35.549.35 1.3.35 2.804\",\"color\":\"currentColor\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-summation-01',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsummation-01?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fic%2Foutline-format-paint": +/*!*****************************************************!*\ + !*** ./_virtual_~icons%2Fic%2Foutline-format-paint ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 4V3c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6h1v4H9v11c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-9h8V4zm-2 2H6V4h10z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-outline-format-paint',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Foutline-format-paint?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fic%2Foutline-lock": +/*!*********************************************!*\ + !*** ./_virtual_~icons%2Fic%2Foutline-lock ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2M9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9zm9 14H6V10h12zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-outline-lock',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Foutline-lock?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fic%2Ftwotone-delete-outline": +/*!*******************************************************!*\ + !*** ./_virtual_~icons%2Fic%2Ftwotone-delete-outline ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5l-1-1h-5l-1 1H5v2h14V4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-twotone-delete-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Ftwotone-delete-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fic%2Ftwotone-map": +/*!********************************************!*\ + !*** ./_virtual_~icons%2Fic%2Ftwotone-map ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m5 18.31l3-1.16V5.45L5 6.46zm11 .24l3-1.01V5.69l-3 1.17z\",\"opacity\":\".3\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m20.5 3l-.16.03L15 5.1L9 3L3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1l5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M8 17.15l-3 1.16V6.46l3-1.01zm6 1.38l-4-1.4V5.47l4 1.4zm5-.99l-3 1.01V6.86l3-1.16z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-twotone-map',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Ftwotone-map?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ficon-park-outline%2Fdark-mode": +/*!*********************************************************!*\ + !*** ./_virtual_~icons%2Ficon-park-outline%2Fdark-mode ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"d\":\"m24.003 4l5.27 5.27h9.457v9.456l5.27 5.27l-5.27 5.278v9.456h-9.456L24.004 44l-5.278-5.27H9.27v-9.456L4 23.997l5.27-5.27V9.27h9.456z\"}}),_c('path',{attrs:{\"d\":\"M27 17c0 8-5 9-10 9c0 4 6.5 8 12 4s2-13-2-13\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'icon-park-outline-dark-mode',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-outline%252Fdark-mode?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ficon-park-outline%2Ffull-screen-one": +/*!***************************************************************!*\ + !*** ./_virtual_~icons%2Ficon-park-outline%2Ffull-screen-one ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"4\",\"d\":\"m6 6l10 9.9m-10 26L16 32m26 9.9L32.1 32m9.8-26L32 15.9M33 6h9v9m0 18v9h-9m-18 0H6v-9m0-18V6h9\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'icon-park-outline-full-screen-one',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-outline%252Ffull-screen-one?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ficon-park-solid%2Fdark-mode": +/*!*******************************************************!*\ + !*** ./_virtual_~icons%2Ficon-park-solid%2Fdark-mode ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('defs',[_c('mask',{attrs:{\"id\":_vm.idMap['ipSDarkMode0']}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"fill\":\"#fff\",\"stroke\":\"#fff\",\"d\":\"m24.003 4l5.27 5.27h9.457v9.456l5.27 5.27l-5.27 5.278v9.456h-9.456L24.004 44l-5.278-5.27H9.27v-9.456L4 23.997l5.27-5.27V9.27h9.456z\"}}),_c('path',{attrs:{\"fill\":\"#000\",\"stroke\":\"#000\",\"d\":\"M27 17c0 8-5 9-10 9c0 4 6.5 8 12 4s2-13-2-13\"}})])])]),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 0h48v48H0z\",\"mask\":'url(#'+_vm.idMap['ipSDarkMode0']+')'}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n data() {const __randId = () => Math.random().toString(36).substr(2, 10);const idMap = {'ipSDarkMode0':'uicons-'+__randId()};;return { idMap }},\n name: 'icon-park-solid-dark-mode',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-solid%252Fdark-mode?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ficon-park-twotone%2Ffull-screen-play": +/*!****************************************************************!*\ + !*** ./_virtual_~icons%2Ficon-park-twotone%2Ffull-screen-play ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('defs',[_c('mask',{attrs:{\"id\":_vm.idMap['ipTFullScreenPlay0']}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"#fff\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"d\":\"M16 40H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h36a2 2 0 0 1 2 2v6\"}}),_c('path',{attrs:{\"fill\":\"#555\",\"d\":\"M42 24H26a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V26a2 2 0 0 0-2-2Z\"}})])])]),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 0h48v48H0z\",\"mask\":'url(#'+_vm.idMap['ipTFullScreenPlay0']+')'}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n data() {const __randId = () => Math.random().toString(36).substr(2, 10);const idMap = {'ipTFullScreenPlay0':'uicons-'+__randId()};;return { idMap }},\n name: 'icon-park-twotone-full-screen-play',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-twotone%252Ffull-screen-play?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Ficonoir%2Fedit": +/*!******************************************!*\ + !*** ./_virtual_~icons%2Ficonoir%2Fedit ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M3 21h18M12.222 5.828L15.05 3L20 7.95l-2.828 2.828m-4.95-4.95l-5.607 5.607a1 1 0 0 0-.293.707v4.536h4.536a1 1 0 0 0 .707-.293l5.607-5.607m-4.95-4.95l4.95 4.95\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'iconoir-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficonoir%252Fedit?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Flucide%2Fimage-plus": +/*!***********************************************!*\ + !*** ./_virtual_~icons%2Flucide%2Fimage-plus ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\"}},[_c('path',{attrs:{\"d\":\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7m4 2h6m-3-3v6\"}}),_c('circle',{attrs:{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}}),_c('path',{attrs:{\"d\":\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'lucide-image-plus',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Flucide%252Fimage-plus?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fadd": +/*!**************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fadd ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 13H5v-2h6V5h2v6h6v2h-6v6h-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fadd?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fadd-link": +/*!*******************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fadd-link ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M17 20v-3h-3v-2h3v-3h2v3h3v2h-3v3zm-6-3H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm14-1h-2q0-1.25-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-add-link',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fadd-link?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-bottom": +/*!*************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-bottom ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-dock-to-bottom',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fdock-to-bottom?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-right": +/*!************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-right ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm5-2h9V5h-9z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-dock-to-right',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fdock-to-right?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-down": +/*!******************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-down ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m12 15.4l-6-6L7.4 8l4.6 4.6L16.6 8L18 9.4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-down',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-down?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-left": +/*!******************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-left ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m14 18l-6-6l6-6l1.4 1.4l-4.6 4.6l4.6 4.6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-left',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-left?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-right": +/*!*******************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-right ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12.6 12L8 7.4L9.4 6l6 6l-6 6L8 16.6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-right',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-right?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fredo": +/*!***************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fredo ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M9.9 19q-2.425 0-4.163-1.575T4 13.5t1.738-3.925T9.9 8h6.3l-2.6-2.6L15 4l5 5l-5 5l-1.4-1.4l2.6-2.6H9.9q-1.575 0-2.738 1T6 13.5T7.163 16T9.9 17H17v2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-redo',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fredo?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fundo": +/*!***************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fundo ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M7 19v-2h7.1q1.575 0 2.738-1T18 13.5T16.838 11T14.1 10H7.8l2.6 2.6L9 14L4 9l5-5l1.4 1.4L7.8 8h6.3q2.425 0 4.163 1.575T20 13.5t-1.737 3.925T14.1 19z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-undo',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fundo?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fvisibility-outline": +/*!*****************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols%2Fvisibility-outline ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 16q1.875 0 3.188-1.312T16.5 11.5t-1.312-3.187T12 7T8.813 8.313T7.5 11.5t1.313 3.188T12 16m0-1.8q-1.125 0-1.912-.788T9.3 11.5t.788-1.912T12 8.8t1.913.788t.787 1.912t-.787 1.913T12 14.2m0 4.8q-3.65 0-6.65-2.037T1 11.5q1.35-3.425 4.35-5.462T12 4t6.65 2.038T23 11.5q-1.35 3.425-4.35 5.463T12 19m0-2q2.825 0 5.188-1.487T20.8 11.5q-1.25-2.525-3.613-4.012T12 6T6.813 7.488T3.2 11.5q1.25 2.525 3.613 4.013T12 17\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-visibility-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fvisibility-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols-light%2Farrows-more-down-outline-rounded": +/*!*************************************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols-light%2Farrows-more-down-outline-rounded ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6.808 20q-.343 0-.576-.232T6 19.192V10.5q0-.213.144-.356T6.501 10t.356.144T7 10.5V19h8.5q.213 0 .356.144t.144.357t-.144.356T15.5 20zm4-4q-.343 0-.576-.232T10 15.192V6.5q0-.213.144-.356T10.501 6t.356.144T11 6.5V15h8.5q.213 0 .356.144t.144.357t-.144.356T19.5 16z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-light-arrows-more-down-outline-rounded',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols-light%252Farrows-more-down-outline-rounded?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmaterial-symbols-light%2Ffile-open-outline": +/*!**********************************************************************!*\ + !*** ./_virtual_~icons%2Fmaterial-symbols-light%2Ffile-open-outline ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6.616 21q-.691 0-1.153-.462T5 19.385V4.615q0-.69.463-1.152T6.616 3H14.5L19 7.5v7h-1V8h-4V4H6.616q-.231 0-.424.192T6 4.615v14.77q0 .23.192.423t.423.192H15.5v1zm15.334.663l-3.45-3.45v2.956h-1V16.5h4.67v1h-2.982l3.45 3.45zM6 20V4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-light-file-open-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols-light%252Ffile-open-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Falarm-off": +/*!*******************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Falarm-off ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M8 3.28L6.6 1.86l-.86.71L7.16 4m9.31 14.39C15.26 19.39 13.7 20 12 20a7 7 0 0 1-7-7c0-1.7.61-3.26 1.61-4.47M2.92 2.29L1.65 3.57L3 4.9l-1.13.93l1.42 1.42l1.11-.94l.8.8A8.96 8.96 0 0 0 3 13a9 9 0 0 0 9 9c2.25 0 4.31-.83 5.89-2.2l2.2 2.2l1.27-1.27L3.89 3.27zM22 5.72l-4.6-3.86l-1.29 1.53l4.6 3.86zM12 6a7 7 0 0 1 7 7c0 .84-.16 1.65-.43 2.4l1.52 1.52c.58-1.19.91-2.51.91-3.92a9 9 0 0 0-9-9c-1.41 0-2.73.33-3.92.91L9.6 6.43C10.35 6.16 11.16 6 12 6\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-alarm-off',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Falarm-off?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Fbracket": +/*!*****************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Fbracket ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2 2v2h5v4H2v2h5c1.11 0 2-.89 2-2V7h5v10H9v-1c0-1.11-.89-2-2-2H2v2h5v4H2v2h5c1.11 0 2-.89 2-2v-1h5c1.11 0 2-.89 2-2v-4h6v-2h-6V7c0-1.11-.89-2-2-2H9V4c0-1.11-.89-2-2-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-bracket',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fbracket?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Fbrain-freeze-outline": +/*!******************************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Fbrain-freeze-outline ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13 3c3.88 0 7 3.14 7 7c0 2.8-1.63 5.19-4 6.31V21H9v-3H8c-1.11 0-2-.89-2-2v-3H4.5c-.42 0-.66-.5-.42-.81L6 9.66A7.003 7.003 0 0 1 13 3m0-2C8.41 1 4.61 4.42 4.06 8.9L2.5 11h-.03l-.02.03c-.55.76-.62 1.76-.19 2.59c.36.69 1 1.17 1.74 1.32V16c0 1.85 1.28 3.42 3 3.87V23h11v-5.5c2.5-1.67 4-4.44 4-7.5c0-4.97-4.04-9-9-9m4.33 8.3l-1.96.51l1.44 1.46c.35.34.35.92 0 1.27s-.93.35-1.27 0l-1.45-1.44l-.52 1.96c-.12.49-.61.76-1.07.64a.91.91 0 0 1-.66-1.11l.53-1.96l-1.96.53a.91.91 0 0 1-1.11-.66c-.12-.45.16-.95.64-1.07l1.96-.52l-1.44-1.45a.9.9 0 0 1 1.27-1.27l1.46 1.44l.51-1.96c.12-.49.62-.77 1.09-.64c.49.13.77.62.64 1.1L14.9 8.1l1.97-.53c.48-.13.97.15 1.1.64c.13.47-.15.97-.64 1.09\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-brain-freeze-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fbrain-freeze-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Fcode-block-brackets": +/*!*****************************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Fcode-block-brackets ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2 3v10h4v-2H4V5h2V3zm10 8h-2v2h4V3h-4v2h2zm10-5v12c0 1.11-.89 2-2 2H4a2 2 0 0 1-2-2v-3h2v3h16V6h-2.97V4H20c1.11 0 2 .89 2 2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-code-block-brackets',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fcode-block-brackets?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Fcontent-save-move-outline": +/*!***********************************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Fcontent-save-move-outline ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13 17h4v-3l5 4.5l-5 4.5v-3h-4zm1-4.2c-.5-.49-1.22-.8-2-.8a2.996 2.996 0 0 0-1 5.82a6.03 6.03 0 0 1 3-5.02M11.09 19H5V5h11.17L19 7.83v4.52c.75.26 1.42.65 2 1.19V7l-4-4H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.81c-.35-.61-.6-1.28-.72-2M6 10h9V6H6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-content-save-move-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fcontent-save-move-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Femoticon-plus-outline": +/*!*******************************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Femoticon-plus-outline ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15 18h3v-3h2v3h3v2h-3v3h-2v-3h-3zm-3-.5c-2.33 0-4.31-1.46-5.11-3.5h8.8a5.94 5.94 0 0 0-2.46 3.36c-.4.09-.81.14-1.23.14M8.5 11C7.67 11 7 10.33 7 9.5S7.67 8 8.5 8s1.5.67 1.5 1.5S9.33 11 8.5 11m7 0c-.83 0-1.5-.67-1.5-1.5S14.67 8 15.5 8s1.5.67 1.5 1.5s-.67 1.5-1.5 1.5M12 20l1.07-.07c.11.68.33 1.33.65 1.92c-.56.1-1.14.15-1.72.15c-5.53 0-10-4.5-10-10S6.47 2 12 2c5.5 0 10 4.5 10 10c0 .59-.05 1.16-.15 1.72c-.59-.32-1.23-.54-1.92-.65L20 12c0-4.42-3.58-8-8-8s-8 3.58-8 8s3.58 8 8 8\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-emoticon-plus-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Femoticon-plus-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Feye-outline": +/*!*********************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Feye-outline ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 9a3 3 0 0 1 3 3a3 3 0 0 1-3 3a3 3 0 0 1-3-3a3 3 0 0 1 3-3m0-4.5c5 0 9.27 3.11 11 7.5c-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0 0 17.64 0a9.821 9.821 0 0 0-17.64 0\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-eye-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Feye-outline?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Fkeyboard-variant": +/*!**************************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Fkeyboard-variant ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6 16h12v2H6zm0-3v2H2v-2zm1 2v-2h3v2zm4 0v-2h2v2zm3 0v-2h3v2zm4 0v-2h4v2zM2 10h3v2H2zm17 2v-2h3v2zm-1 0h-2v-2h2zM8 12H6v-2h2zm4 0H9v-2h3zm3 0h-2v-2h2zM2 9V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h5v2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-keyboard-variant',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fkeyboard-variant?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmdi%2Ftag-add": +/*!*****************************************!*\ + !*** ./_virtual_~icons%2Fmdi%2Ftag-add ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m21.41 11.58l-9-9C12.04 2.21 11.53 2 11 2H4a2 2 0 0 0-2 2v7c0 .53.21 1.04.59 1.41l.41.4c.9-.54 1.94-.81 3-.81a6 6 0 0 1 6 6c0 1.06-.28 2.09-.82 3l.4.4c.37.38.89.6 1.42.6s1.04-.21 1.41-.59l7-7c.38-.37.59-.88.59-1.41s-.21-1.04-.59-1.42M5.5 7A1.5 1.5 0 0 1 4 5.5A1.5 1.5 0 0 1 5.5 4A1.5 1.5 0 0 1 7 5.5A1.5 1.5 0 0 1 5.5 7M10 19H7v3H5v-3H2v-2h3v-3h2v3h3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-tag-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Ftag-add?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fmingcute%2Ffile-new-line": +/*!****************************************************!*\ + !*** ./_virtual_~icons%2Fmingcute%2Ffile-new-line ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13.586 2a2 2 0 0 1 1.284.467l.13.119L19.414 7a2 2 0 0 1 .578 1.238l.008.176V20a2 2 0 0 1-1.85 1.995L18 22H6a2 2 0 0 1-1.995-1.85L4 20V4a2 2 0 0 1 1.85-1.995L6 2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm0 7.5a1 1 0 0 1 1 1V14h1.5a1 1 0 1 1 0 2H13v1.5a1 1 0 1 1-2 0V16H9.5a1 1 0 1 1 0-2H11v-1.5a1 1 0 0 1 1-1m2-7.086V8h3.586z\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mingcute-file-new-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmingcute%252Ffile-new-line?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fph%2Ftree-structure-light": +/*!*****************************************************!*\ + !*** ./_virtual_~icons%2Fph%2Ftree-structure-light ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 256 256\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M160 110h48a14 14 0 0 0 14-14V48a14 14 0 0 0-14-14h-48a14 14 0 0 0-14 14v18h-18a22 22 0 0 0-22 22v34H70v-10a14 14 0 0 0-14-14H24a14 14 0 0 0-14 14v32a14 14 0 0 0 14 14h32a14 14 0 0 0 14-14v-10h36v34a22 22 0 0 0 22 22h18v18a14 14 0 0 0 14 14h48a14 14 0 0 0 14-14v-48a14 14 0 0 0-14-14h-48a14 14 0 0 0-14 14v18h-18a10 10 0 0 1-10-10V88a10 10 0 0 1 10-10h18v18a14 14 0 0 0 14 14M58 144a2 2 0 0 1-2 2H24a2 2 0 0 1-2-2v-32a2 2 0 0 1 2-2h32a2 2 0 0 1 2 2Zm100 16a2 2 0 0 1 2-2h48a2 2 0 0 1 2 2v48a2 2 0 0 1-2 2h-48a2 2 0 0 1-2-2Zm0-112a2 2 0 0 1 2-2h48a2 2 0 0 1 2 2v48a2 2 0 0 1-2 2h-48a2 2 0 0 1-2-2Z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ph-tree-structure-light',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fph%252Ftree-structure-light?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fri%2Fmenu-search-line": +/*!*************************************************!*\ + !*** ./_virtual_~icons%2Fri%2Fmenu-search-line ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15.5 5a3.5 3.5 0 1 0 0 7a3.5 3.5 0 0 0 0-7M10 8.5a5.5 5.5 0 1 1 10.032 3.117l2.675 2.676l-1.414 1.414l-2.675-2.675A5.5 5.5 0 0 1 10 8.5M3 4h5v2H3zm0 7h5v2H3zm18 7v2H3v-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ri-menu-search-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fri%252Fmenu-search-line?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fri%2Fmind-map": +/*!*****************************************!*\ + !*** ./_virtual_~icons%2Fri%2Fmind-map ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 3a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.829-2H11c-1.1 0-2 .9-2 2v.171a3.001 3.001 0 0 1 0 5.658V15c0 1.1.9 2 2 2h1.17A3 3 0 0 1 15 15h3a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.829-2H11c-2.21 0-4-1.79-4-4H5a3 3 0 1 1 0-6h2a4 4 0 0 1 4-4h1.17A3 3 0 0 1 15 3zm0 14h-3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2M8 11H5a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2m10-6h-3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ri-mind-map',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fri%252Fmind-map?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fsimple-icons%2Frelay": +/*!************************************************!*\ + !*** ./_virtual_~icons%2Fsimple-icons%2Frelay ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2.264 4.937A2.264 2.264 0 1 0 4.456 7.77h10.339a1.792 1.792 0 0 1 0 3.583h-5.73a3.037 3.037 0 0 0-3.034 3.033a3.036 3.036 0 0 0 3.033 3.033h10.494a2.264 2.264 0 1 0 0-1.242H9.064a1.793 1.793 0 0 1-1.791-1.791c0-.988.803-1.792 1.791-1.792h5.73a3.036 3.036 0 0 0 3.034-3.033a3.036 3.036 0 0 0-3.033-3.033H4.427a2.265 2.265 0 0 0-2.163-1.592\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'simple-icons-relay',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fsimple-icons%252Frelay?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fstreamline%2Ftarget-3": +/*!*************************************************!*\ + !*** ./_virtual_~icons%2Fstreamline%2Ftarget-3 ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 14 14\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"d\":\"M.875 7a6.125 6.125 0 1 1 12.25 0A6.125 6.125 0 0 1 .875 7M7 .875v1.633M13.125 7h-1.633M7 13.125v-1.633M.875 7h1.633m2.888 0h3.208M7 5.396v3.208\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'streamline-target-3',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fstreamline%252Ftarget-3?"); + +/***/ }), + +/***/ "./_virtual_~icons%2Fuil%2Fgame-structure": +/*!************************************************!*\ + !*** ./_virtual_~icons%2Fuil%2Fgame-structure ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M21 18h-2v-3a1 1 0 0 0-1-1h-5v-2.71l1.13.59a1 1 0 0 0 1.45-1.05l-.4-2.37l1.72-1.69a1 1 0 0 0 .26-1a1 1 0 0 0-.81-.68L14 4.72l-1.1-2.16a1 1 0 0 0-1.8 0L10 4.72l-2.39.35a1 1 0 0 0-.81.68a1 1 0 0 0 .26 1l1.76 1.71l-.4 2.37a1 1 0 0 0 1.45 1.05l1.13-.59V14H6a1 1 0 0 0-1 1v3H3a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1h4v1a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1H7v-2h10v2h-2a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1h4v1a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1m-9-9.37a1 1 0 0 0-.47.12l-.8.42l.15-.9a1 1 0 0 0-.29-.88l-.65-.64l.9-.13a1 1 0 0 0 .76-.54l.4-.82l.4.82a1 1 0 0 0 .76.54l.9.13l-.65.64a1 1 0 0 0-.29.88l.15.9l-.8-.42a1 1 0 0 0-.47-.12\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'uil-game-structure',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fuil%252Fgame-structure?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _defineProperty; });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(e, r, t) {\n return (r = Object(_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toPrimitive; });\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\n\nfunction toPrimitive(t, r) {\n if (\"object\" != Object(_typeof_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != Object(_typeof_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toPropertyKey; });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = Object(_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == Object(_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _typeof; });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/typeof.js?"); + +/***/ }), + +/***/ "./node_modules/@toast-ui/editor/dist/esm/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/@toast-ui/editor/dist/esm/index.js ***! + \*********************************************************/ +/*! exports provided: Editor, EditorCore, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Editor\", function() { return ToastUIEditor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EditorCore\", function() { return ToastUIEditorCore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ToastUIEditor; });\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-model */ \"./node_modules/prosemirror-model/dist/index.js\");\n/* harmony import */ var prosemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-view */ \"./node_modules/prosemirror-view/dist/index.js\");\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-transform */ \"./node_modules/prosemirror-transform/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prosemirror-state */ \"./node_modules/prosemirror-state/dist/index.js\");\n/* harmony import */ var prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prosemirror-keymap */ \"./node_modules/prosemirror-keymap/dist/index.js\");\n/* harmony import */ var prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prosemirror-commands */ \"./node_modules/prosemirror-commands/dist/index.js\");\n/* harmony import */ var prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prosemirror-inputrules */ \"./node_modules/prosemirror-inputrules/dist/index.js\");\n/* harmony import */ var prosemirror_history__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prosemirror-history */ \"./node_modules/prosemirror-history/dist/index.js\");\n/**\n * @toast-ui/editor\n * @version 3.2.2 | Fri Feb 17 2023\n * @author NHN Cloud FE Development Lab \n * @license MIT\n */\n\n\n\n\n\n\n\n\n\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics$1 = function(d, b) {\r\n extendStatics$1 = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics$1(d, b);\r\n};\r\n\r\nfunction __extends$1(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics$1(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign$1 = function() {\r\n __assign$1 = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign$1.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArray$1(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n}\n\n/**\n * @fileoverview Execute the provided callback once for each property of object which actually exist.\n * @author NHN FE Development Lab \n */\n\n/**\n * Execute the provided callback once for each property of object which actually exist.\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the property\n * 2) The name of the property\n * 3) The object being traversed\n * @param {Object} obj The object that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEachOwnProperties from 'tui-code-snippet/collection/forEachOwnProperties';\n * \n * // CommonJS\n * const forEachOwnProperties = require('tui-code-snippet/collection/forEachOwnProperties'); \n *\n * let sum = 0;\n *\n * forEachOwnProperties({a:1,b:2,c:3}, function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n */\nfunction forEachOwnProperties$2(obj, iteratee, context) {\n var key;\n\n context = context || null;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (iteratee.call(context, obj[key], key, obj) === false) {\n break;\n }\n }\n }\n}\n\nvar forEachOwnProperties_1 = forEachOwnProperties$2;\n\n/**\n * @fileoverview Extend the target object from other objects.\n * @author NHN FE Development Lab \n */\n\n/**\n * @module object\n */\n\n/**\n * Extend the target object from other objects.\n * @param {object} target - Object that will be extended\n * @param {...object} objects - Objects as sources\n * @returns {object} Extended object\n * @memberof module:object\n */\nfunction extend(target, objects) { // eslint-disable-line no-unused-vars\n var hasOwnProp = Object.prototype.hasOwnProperty;\n var source, prop, i, len;\n\n for (i = 1, len = arguments.length; i < len; i += 1) {\n source = arguments[i];\n for (prop in source) {\n if (hasOwnProp.call(source, prop)) {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\n\nvar extend_1 = extend;\n\n/**\n * @fileoverview Check whether the given variable is a string or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a string or not.\n * If the given variable is a string, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is string?\n * @memberof module:type\n */\nfunction isString$3(obj) {\n return typeof obj === 'string' || obj instanceof String;\n}\n\nvar isString_1 = isString$3;\n\n/**\n * @fileoverview Check whether the given variable is an instance of Array or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is an instance of Array or not.\n * If the given variable is an instance of Array, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is array instance?\n * @memberof module:type\n */\nfunction isArray$3(obj) {\n return obj instanceof Array;\n}\n\nvar isArray_1 = isArray$3;\n\n/**\n * @fileoverview Execute the provided callback once for each element present in the array(or Array-like object) in ascending order.\n * @author NHN FE Development Lab \n */\n\n/**\n * Execute the provided callback once for each element present\n * in the array(or Array-like object) in ascending order.\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the element\n * 2) The index of the element\n * 3) The array(or Array-like object) being traversed\n * @param {Array|Arguments|NodeList} arr The array(or Array-like object) that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEachArray from 'tui-code-snippet/collection/forEachArray';\n * \n * // CommonJS\n * const forEachArray = require('tui-code-snippet/collection/forEachArray'); \n *\n * let sum = 0;\n *\n * forEachArray([1,2,3], function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n */\nfunction forEachArray$3(arr, iteratee, context) {\n var index = 0;\n var len = arr.length;\n\n context = context || null;\n\n for (; index < len; index += 1) {\n if (iteratee.call(context, arr[index], index, arr) === false) {\n break;\n }\n }\n}\n\nvar forEachArray_1 = forEachArray$3;\n\n/**\n * @fileoverview Execute the provided callback once for each property of object(or element of array) which actually exist.\n * @author NHN FE Development Lab \n */\n\nvar isArray$2 = isArray_1;\nvar forEachArray$2 = forEachArray_1;\nvar forEachOwnProperties$1 = forEachOwnProperties_1;\n\n/**\n * @module collection\n */\n\n/**\n * Execute the provided callback once for each property of object(or element of array) which actually exist.\n * If the object is Array-like object(ex-arguments object), It needs to transform to Array.(see 'ex2' of example).\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the property(or The value of the element)\n * 2) The name of the property(or The index of the element)\n * 3) The object being traversed\n * @param {Object} obj The object that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEach from 'tui-code-snippet/collection/forEach'; \n * \n * // CommonJS\n * const forEach = require('tui-code-snippet/collection/forEach'); \n *\n * let sum = 0;\n *\n * forEach([1,2,3], function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n *\n * // In case of Array-like object\n * const array = Array.prototype.slice.call(arrayLike); // change to array\n * forEach(array, function(value){\n * sum += value;\n * });\n */\nfunction forEach$4(obj, iteratee, context) {\n if (isArray$2(obj)) {\n forEachArray$2(obj, iteratee, context);\n } else {\n forEachOwnProperties$1(obj, iteratee, context);\n }\n}\n\nvar forEach_1 = forEach$4;\n\n/**\n * @fileoverview Setting element style\n * @author NHN FE Development Lab \n */\n\nvar isString$2 = isString_1;\nvar forEach$3 = forEach_1;\n\n/**\n * Setting element style\n * @param {(HTMLElement|SVGElement)} element - element to setting style\n * @param {(string|object)} key - style prop name or {prop: value} pair object\n * @param {string} [value] - style value\n * @memberof module:domUtil\n */\nfunction css(element, key, value) {\n var style = element.style;\n\n if (isString$2(key)) {\n style[key] = value;\n\n return;\n }\n\n forEach$3(key, function(v, k) {\n style[k] = v;\n });\n}\n\nvar css_1 = css;\n\n/* eslint-disable complexity */\n\nvar isArray$1 = isArray_1;\n\n/**\n * @module array\n */\n\n/**\n * Returns the first index at which a given element can be found in the array\n * from start index(default 0), or -1 if it is not present.\n * It compares searchElement to elements of the Array using strict equality\n * (the same method used by the ===, or triple-equals, operator).\n * @param {*} searchElement Element to locate in the array\n * @param {Array} array Array that will be traversed.\n * @param {number} startIndex Start index in array for searching (default 0)\n * @returns {number} the First index at which a given element, or -1 if it is not present\n * @memberof module:array\n * @example\n * // ES6\n * import inArray from 'tui-code-snippet/array/inArray';\n * \n * // CommonJS\n * const inArray = require('tui-code-snippet/array/inArray');\n *\n * const arr = ['one', 'two', 'three', 'four'];\n * const idx1 = inArray('one', arr, 3); // -1\n * const idx2 = inArray('one', arr); // 0\n */\nfunction inArray$4(searchElement, array, startIndex) {\n var i;\n var length;\n startIndex = startIndex || 0;\n\n if (!isArray$1(array)) {\n return -1;\n }\n\n if (Array.prototype.indexOf) {\n return Array.prototype.indexOf.call(array, searchElement, startIndex);\n }\n\n length = array.length;\n for (i = startIndex; startIndex >= 0 && i < length; i += 1) {\n if (array[i] === searchElement) {\n return i;\n }\n }\n\n return -1;\n}\n\nvar inArray_1 = inArray$4;\n\n/**\n * @fileoverview Check whether the given variable is undefined or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is undefined or not.\n * If the given variable is undefined, returns true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is undefined?\n * @memberof module:type\n */\nfunction isUndefined$4(obj) {\n return obj === undefined; // eslint-disable-line no-undefined\n}\n\nvar isUndefined_1 = isUndefined$4;\n\n/**\n * @fileoverview Get HTML element's design classes.\n * @author NHN FE Development Lab \n */\n\nvar isUndefined$3 = isUndefined_1;\n\n/**\n * Get HTML element's design classes.\n * @param {(HTMLElement|SVGElement)} element target element\n * @returns {string} element css class name\n * @memberof module:domUtil\n */\nfunction getClass$3(element) {\n if (!element || !element.className) {\n return '';\n }\n\n if (isUndefined$3(element.className.baseVal)) {\n return element.className;\n }\n\n return element.className.baseVal;\n}\n\nvar getClass_1 = getClass$3;\n\n/**\n * @fileoverview Set className value\n * @author NHN FE Development Lab \n */\n\nvar isArray = isArray_1;\nvar isUndefined$2 = isUndefined_1;\n\n/**\n * Set className value\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {(string|string[])} cssClass - class names\n * @private\n */\nfunction setClassName$2(element, cssClass) {\n cssClass = isArray(cssClass) ? cssClass.join(' ') : cssClass;\n\n cssClass = cssClass.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n if (isUndefined$2(element.className.baseVal)) {\n element.className = cssClass;\n\n return;\n }\n\n element.className.baseVal = cssClass;\n}\n\nvar _setClassName = setClassName$2;\n\n/**\n * @fileoverview Add css class to element\n * @author NHN FE Development Lab \n */\n\nvar forEach$2 = forEach_1;\nvar inArray$3 = inArray_1;\nvar getClass$2 = getClass_1;\nvar setClassName$1 = _setClassName;\n\n/**\n * domUtil module\n * @module domUtil\n */\n\n/**\n * Add css class to element\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {...string} cssClass - css classes to add\n * @memberof module:domUtil\n */\nfunction addClass(element) {\n var cssClass = Array.prototype.slice.call(arguments, 1);\n var classList = element.classList;\n var newClass = [];\n var origin;\n\n if (classList) {\n forEach$2(cssClass, function(name) {\n element.classList.add(name);\n });\n\n return;\n }\n\n origin = getClass$2(element);\n\n if (origin) {\n cssClass = [].concat(origin.split(/\\s+/), cssClass);\n }\n\n forEach$2(cssClass, function(cls) {\n if (inArray$3(cls, newClass) < 0) {\n newClass.push(cls);\n }\n });\n\n setClassName$1(element, newClass);\n}\n\nvar addClass_1 = addClass;\n\n/**\n * @fileoverview Remove css class from element\n * @author NHN FE Development Lab \n */\n\nvar forEachArray$1 = forEachArray_1;\nvar inArray$2 = inArray_1;\nvar getClass$1 = getClass_1;\nvar setClassName = _setClassName;\n\n/**\n * Remove css class from element\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {...string} cssClass - css classes to remove\n * @memberof module:domUtil\n */\nfunction removeClass(element) {\n var cssClass = Array.prototype.slice.call(arguments, 1);\n var classList = element.classList;\n var origin, newClass;\n\n if (classList) {\n forEachArray$1(cssClass, function(name) {\n classList.remove(name);\n });\n\n return;\n }\n\n origin = getClass$1(element).split(/\\s+/);\n newClass = [];\n forEachArray$1(origin, function(name) {\n if (inArray$2(name, cssClass) < 0) {\n newClass.push(name);\n }\n });\n\n setClassName(element, newClass);\n}\n\nvar removeClass_1 = removeClass;\n\n/**\n * @fileoverview Check whether the given variable is a number or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a number or not.\n * If the given variable is a number, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is number?\n * @memberof module:type\n */\nfunction isNumber(obj) {\n return typeof obj === 'number' || obj instanceof Number;\n}\n\nvar isNumber_1 = isNumber;\n\n/**\n * @fileoverview Check whether the given variable is null or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is null or not.\n * If the given variable(arguments[0]) is null, returns true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is null?\n * @memberof module:type\n */\nfunction isNull$1(obj) {\n return obj === null;\n}\n\nvar isNull_1 = isNull$1;\n\n/**\n * @fileoverview Request image ping.\n * @author NHN FE Development Lab \n */\n\nvar forEachOwnProperties = forEachOwnProperties_1;\n\n/**\n * @module request\n */\n\n/**\n * Request image ping.\n * @param {String} url url for ping request\n * @param {Object} trackingInfo infos for make query string\n * @returns {HTMLElement}\n * @memberof module:request\n * @example\n * // ES6\n * import imagePing from 'tui-code-snippet/request/imagePing';\n * \n * // CommonJS\n * const imagePing = require('tui-code-snippet/request/imagePing');\n *\n * imagePing('https://www.google-analytics.com/collect', {\n * v: 1,\n * t: 'event',\n * tid: 'trackingid',\n * cid: 'cid',\n * dp: 'dp',\n * dh: 'dh'\n * });\n */\nfunction imagePing$1(url, trackingInfo) {\n var trackingElement = document.createElement('img');\n var queryString = '';\n forEachOwnProperties(trackingInfo, function(value, key) {\n queryString += '&' + key + '=' + value;\n });\n queryString = queryString.substring(1);\n\n trackingElement.src = url + '?' + queryString;\n\n trackingElement.style.display = 'none';\n document.body.appendChild(trackingElement);\n document.body.removeChild(trackingElement);\n\n return trackingElement;\n}\n\nvar imagePing_1 = imagePing$1;\n\n/**\n * @fileoverview Send hostname on DOMContentLoaded.\n * @author NHN FE Development Lab \n */\n\nvar isUndefined$1 = isUndefined_1;\nvar imagePing = imagePing_1;\n\nvar ms7days = 7 * 24 * 60 * 60 * 1000;\n\n/**\n * Check if the date has passed 7 days\n * @param {number} date - milliseconds\n * @returns {boolean}\n * @private\n */\nfunction isExpired(date) {\n var now = new Date().getTime();\n\n return now - date > ms7days;\n}\n\n/**\n * Send hostname on DOMContentLoaded.\n * To prevent hostname set tui.usageStatistics to false.\n * @param {string} appName - application name\n * @param {string} trackingId - GA tracking ID\n * @ignore\n */\nfunction sendHostname(appName, trackingId) {\n var url = 'https://www.google-analytics.com/collect';\n var hostname = location.hostname;\n var hitType = 'event';\n var eventCategory = 'use';\n var applicationKeyForStorage = 'TOAST UI ' + appName + ' for ' + hostname + ': Statistics';\n var date = window.localStorage.getItem(applicationKeyForStorage);\n\n // skip if the flag is defined and is set to false explicitly\n if (!isUndefined$1(window.tui) && window.tui.usageStatistics === false) {\n return;\n }\n\n // skip if not pass seven days old\n if (date && !isExpired(date)) {\n return;\n }\n\n window.localStorage.setItem(applicationKeyForStorage, new Date().getTime());\n\n setTimeout(function() {\n if (document.readyState === 'interactive' || document.readyState === 'complete') {\n imagePing(url, {\n v: 1,\n t: hitType,\n tid: trackingId,\n cid: hostname,\n dp: hostname,\n dh: appName,\n el: appName,\n ec: eventCategory\n });\n }\n }, 1000);\n}\n\nvar sendHostname_1 = sendHostname;\n\n/Mac/.test(navigator.platform);\nvar reSpaceMoreThanOne = /[\\u0020]+/g;\nvar reEscapeChars$1 = /[>(){}[\\]+-.!#|]/g;\nvar reEscapeHTML = /<([a-zA-Z_][a-zA-Z0-9\\-._]*)(\\s|[^\\\\>])*\\/?>|<(\\/)([a-zA-Z_][a-zA-Z0-9\\-._]*)\\s*\\/?>||<([a-zA-Z_][a-zA-Z0-9\\-.:/]*)>/g;\nvar reEscapeBackSlash = /\\\\[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\\\]/g;\nvar reEscapePairedChars = /[*_~`]/g;\nvar reMdImageSyntax = /!\\[.*\\]\\(.*\\)/g;\nvar reEscapedCharInLinkSyntax = /[[\\]]/g;\nvar reEscapeBackSlashInSentence = /(?:^|[^\\\\])\\\\(?!\\\\)/g;\nvar XMLSPECIAL$1 = '[&<>\"]';\nvar reXmlSpecial$1 = new RegExp(XMLSPECIAL$1, 'g');\nfunction replaceUnsafeChar$1(char) {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n default:\n return char;\n }\n}\nfunction escapeXml$1(text) {\n if (reXmlSpecial$1.test(text)) {\n return text.replace(reXmlSpecial$1, replaceUnsafeChar$1);\n }\n return text;\n}\nfunction sendHostName() {\n sendHostname_1('editor', 'UA-129966929-1');\n}\nfunction includes(arr, targetItem) {\n return arr.indexOf(targetItem) !== -1;\n}\nvar availableLinkAttributes = ['rel', 'target', 'hreflang', 'type'];\nvar reMarkdownTextToEscapeMap = {\n codeblock: /(^ {4}[^\\n]+\\n*)+/,\n thematicBreak: /^ *((\\* *){3,}|(- *){3,} *|(_ *){3,}) */,\n atxHeading: /^(#{1,6}) +[\\s\\S]+/,\n seTextheading: /^([^\\n]+)\\n *(=|-){2,} */,\n blockquote: /^( *>[^\\n]+.*)+/,\n list: /^ *(\\*+|-+|\\d+\\.) [\\s\\S]+/,\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +[\"(]([^\\n]+)[\")])? */,\n link: /!?\\[.*\\]\\(.*\\)/,\n reflink: /!?\\[.*\\]\\s*\\[([^\\]]*)\\]/,\n verticalBar: /\\u007C/,\n fencedCodeblock: /^((`|~){3,})/,\n};\nfunction sanitizeLinkAttribute(attribute) {\n if (!attribute) {\n return null;\n }\n var linkAttributes = {};\n availableLinkAttributes.forEach(function (key) {\n if (!isUndefined_1(attribute[key])) {\n linkAttributes[key] = attribute[key];\n }\n });\n return linkAttributes;\n}\nfunction repeat$1(text, count) {\n var result = '';\n for (var i = 0; i < count; i += 1) {\n result += text;\n }\n return result;\n}\nfunction isNeedEscapeText(text) {\n var needEscape = false;\n forEachOwnProperties_1(reMarkdownTextToEscapeMap, function (reMarkdownTextToEscape) {\n if (reMarkdownTextToEscape.test(text)) {\n needEscape = true;\n }\n return !needEscape;\n });\n return needEscape;\n}\nfunction escapeTextForLink(text) {\n var imageSyntaxRanges = [];\n var result = reMdImageSyntax.exec(text);\n while (result) {\n imageSyntaxRanges.push([result.index, result.index + result[0].length]);\n result = reMdImageSyntax.exec(text);\n }\n return text.replace(reEscapedCharInLinkSyntax, function (matched, offset) {\n var isDelimiter = imageSyntaxRanges.some(function (range) { return offset > range[0] && offset < range[1]; });\n return isDelimiter ? matched : \"\\\\\" + matched;\n });\n}\nfunction escape$1(text) {\n var aheadReplacer = function (matched) { return \"\\\\\" + matched; };\n var behindReplacer = function (matched) { return matched + \"\\\\\"; };\n var escapedText = text.replace(reSpaceMoreThanOne, ' ');\n if (reEscapeBackSlash.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeBackSlash, aheadReplacer);\n }\n if (reEscapeBackSlashInSentence.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeBackSlashInSentence, behindReplacer);\n }\n escapedText = escapedText.replace(reEscapePairedChars, aheadReplacer);\n if (reEscapeHTML.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeHTML, aheadReplacer);\n }\n if (isNeedEscapeText(escapedText)) {\n escapedText = escapedText.replace(reEscapeChars$1, aheadReplacer);\n }\n return escapedText;\n}\nfunction quote(text) {\n var result;\n if (text.indexOf('\"') === -1) {\n result = '\"\"';\n }\n else {\n result = text.indexOf(\"'\") === -1 ? \"''\" : '()';\n }\n return result[0] + text + result[1];\n}\nfunction isNil(value) {\n return isNull_1(value) || isUndefined_1(value);\n}\nfunction shallowEqual(o1, o2) {\n if (o1 === null && o1 === o2) {\n return true;\n }\n if (typeof o1 !== 'object' || typeof o2 !== 'object' || isNil(o1) || isNil(o2)) {\n return o1 === o2;\n }\n for (var key in o1) {\n if (o1[key] !== o2[key]) {\n return false;\n }\n }\n for (var key in o2) {\n if (!(key in o1)) {\n return false;\n }\n }\n return true;\n}\nfunction last$1(arr) {\n return arr[arr.length - 1];\n}\nfunction between$1(value, min, max) {\n return value >= min && value <= max;\n}\nfunction isObject$1(obj) {\n return typeof obj === 'object' && obj !== null;\n}\nfunction deepMergedCopy(targetObj, obj) {\n var resultObj = __assign$1({}, targetObj);\n if (targetObj && obj) {\n Object.keys(obj).forEach(function (prop) {\n if (isObject$1(resultObj[prop])) {\n if (Array.isArray(obj[prop])) {\n resultObj[prop] = deepCopyArray(obj[prop]);\n }\n else if (resultObj.hasOwnProperty(prop)) {\n resultObj[prop] = deepMergedCopy(resultObj[prop], obj[prop]);\n }\n else {\n resultObj[prop] = deepCopy(obj[prop]);\n }\n }\n else {\n resultObj[prop] = obj[prop];\n }\n });\n }\n return resultObj;\n}\nfunction deepCopyArray(items) {\n return items.map(function (item) {\n if (isObject$1(item)) {\n return Array.isArray(item) ? deepCopyArray(item) : deepCopy(item);\n }\n return item;\n });\n}\nfunction deepCopy(obj) {\n var keys = Object.keys(obj);\n if (!keys.length) {\n return obj;\n }\n return keys.reduce(function (acc, prop) {\n if (isObject$1(obj[prop])) {\n acc[prop] = Array.isArray(obj[prop]) ? deepCopyArray(obj[prop]) : deepCopy(obj[prop]);\n }\n else {\n acc[prop] = obj[prop];\n }\n return acc;\n }, {});\n}\nfunction assign(targetObj, obj) {\n if (obj === void 0) { obj = {}; }\n Object.keys(obj).forEach(function (prop) {\n if (targetObj.hasOwnProperty(prop) && typeof targetObj[prop] === 'object') {\n if (Array.isArray(obj[prop])) {\n targetObj[prop] = obj[prop];\n }\n else {\n assign(targetObj[prop], obj[prop]);\n }\n }\n else {\n targetObj[prop] = obj[prop];\n }\n });\n return targetObj;\n}\nfunction getSortedNumPair(valueA, valueB) {\n return valueA > valueB ? [valueB, valueA] : [valueA, valueB];\n}\n\n/**\n * @fileoverview Transform the Array-like object to Array.\n * @author NHN FE Development Lab \n */\n\nvar forEachArray = forEachArray_1;\n\n/**\n * Transform the Array-like object to Array.\n * In low IE (below 8), Array.prototype.slice.call is not perfect. So, try-catch statement is used.\n * @param {*} arrayLike Array-like object\n * @returns {Array} Array\n * @memberof module:collection\n * @example\n * // ES6\n * import toArray from 'tui-code-snippet/collection/toArray'; \n * \n * // CommonJS\n * const toArray = require('tui-code-snippet/collection/toArray'); \n *\n * const arrayLike = {\n * 0: 'one',\n * 1: 'two',\n * 2: 'three',\n * 3: 'four',\n * length: 4\n * };\n * const result = toArray(arrayLike);\n *\n * alert(result instanceof Array); // true\n * alert(result); // one,two,three,four\n */\nfunction toArray$1(arrayLike) {\n var arr;\n try {\n arr = Array.prototype.slice.call(arrayLike);\n } catch (e) {\n arr = [];\n forEachArray(arrayLike, function(value) {\n arr.push(value);\n });\n }\n\n return arr;\n}\n\nvar toArray_1 = toArray$1;\n\nfunction createParagraph(schema, content) {\n var paragraph = schema.nodes.paragraph;\n if (!content) {\n return paragraph.createAndFill();\n }\n return paragraph.create(null, isString_1(content) ? schema.text(content) : content);\n}\nfunction createTextNode$1(schema, text, marks) {\n return schema.text(text, marks);\n}\nfunction createTextSelection(tr, from, to) {\n if (to === void 0) { to = from; }\n var contentSize = tr.doc.content.size;\n var size = contentSize > 0 ? contentSize - 1 : 1;\n return prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"].create(tr.doc, Math.min(from, size), Math.min(to, size));\n}\nfunction addParagraph(tr, _a, schema) {\n var pos = _a.pos;\n tr.replaceWith(pos, pos, createParagraph(schema));\n return tr.setSelection(createTextSelection(tr, pos + 1));\n}\nfunction replaceTextNode(_a) {\n var state = _a.state, from = _a.from, startIndex = _a.startIndex, endIndex = _a.endIndex, createText = _a.createText;\n var tr = state.tr, doc = state.doc, schema = state.schema;\n for (var i = startIndex; i <= endIndex; i += 1) {\n var _b = doc.child(i), nodeSize = _b.nodeSize, textContent = _b.textContent, content = _b.content;\n var text = createText(textContent);\n var node = text ? createTextNode$1(schema, text) : prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].empty;\n var mappedFrom = tr.mapping.map(from);\n var mappedTo = mappedFrom + content.size;\n tr.replaceWith(mappedFrom, mappedTo, node);\n from += nodeSize;\n }\n return tr;\n}\nfunction splitAndExtendBlock(tr, pos, text, node) {\n var textLen = text.length;\n tr.split(pos)\n .delete(pos - textLen, pos)\n .insert(tr.mapping.map(pos), node)\n .setSelection(createTextSelection(tr, tr.mapping.map(pos) - textLen));\n}\n\nfunction getMdStartLine(mdNode) {\n return mdNode.sourcepos[0][0];\n}\nfunction getMdEndLine(mdNode) {\n return mdNode.sourcepos[1][0];\n}\nfunction getMdStartCh(mdNode) {\n return mdNode.sourcepos[0][1];\n}\nfunction getMdEndCh(mdNode) {\n return mdNode.sourcepos[1][1];\n}\nfunction isHTMLNode(mdNode) {\n var type = mdNode.type;\n return type === 'htmlBlock' || type === 'htmlInline';\n}\nfunction isStyledInlineNode(mdNode) {\n var type = mdNode.type;\n return (type === 'strike' ||\n type === 'strong' ||\n type === 'emph' ||\n type === 'code' ||\n type === 'link' ||\n type === 'image');\n}\nfunction isCodeBlockNode(mdNode) {\n return mdNode && mdNode.type === 'codeBlock';\n}\nfunction isListNode$1(mdNode) {\n return mdNode && (mdNode.type === 'item' || mdNode.type === 'list');\n}\nfunction isOrderedListNode(mdNode) {\n return isListNode$1(mdNode) && mdNode.listData.type === 'ordered';\n}\nfunction isBulletListNode(mdNode) {\n return isListNode$1(mdNode) && mdNode.listData.type !== 'ordered';\n}\nfunction isTableCellNode(mdNode) {\n return mdNode && (mdNode.type === 'tableCell' || mdNode.type === 'tableDelimCell');\n}\nfunction isInlineNode$1(mdNode) {\n switch (mdNode.type) {\n case 'code':\n case 'text':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'htmlInline':\n case 'linebreak':\n case 'softbreak':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nfunction findClosestNode(mdNode, condition, includeSelf) {\n if (includeSelf === void 0) { includeSelf = true; }\n mdNode = includeSelf ? mdNode : mdNode.parent;\n while (mdNode && mdNode.type !== 'document') {\n if (condition(mdNode)) {\n return mdNode;\n }\n mdNode = mdNode.parent;\n }\n return null;\n}\nfunction traverseParentNodes(mdNode, iteratee, includeSelf) {\n if (includeSelf === void 0) { includeSelf = true; }\n mdNode = includeSelf ? mdNode : mdNode.parent;\n while (mdNode && mdNode.type !== 'document') {\n iteratee(mdNode);\n mdNode = mdNode.parent;\n }\n}\nfunction addOffsetPos(originPos, offset) {\n return [originPos[0], originPos[1] + offset];\n}\nfunction setOffsetPos(originPos, newOffset) {\n return [originPos[0], newOffset];\n}\nfunction getInlineMarkdownText(mdNode) {\n var text = mdNode.firstChild.literal;\n switch (mdNode.type) {\n case 'emph':\n return \"*\" + text + \"*\";\n case 'strong':\n return \"**\" + text + \"**\";\n case 'strike':\n return \"~~\" + text + \"~~\";\n case 'code':\n return \"`\" + text + \"`\";\n case 'link':\n case 'image':\n /* eslint-disable no-case-declarations */\n var _a = mdNode, destination = _a.destination, title = _a.title;\n var delim = mdNode.type === 'link' ? '' : '!';\n return delim + \"[\" + text + \"](\" + destination + (title ? \" \\\"\" + title + \"\\\"\" : '') + \")\";\n default:\n return null;\n }\n}\nfunction isContainer$2(node) {\n switch (node.type) {\n case 'document':\n case 'blockQuote':\n case 'list':\n case 'item':\n case 'paragraph':\n case 'heading':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'table':\n case 'tableHead':\n case 'tableBody':\n case 'tableRow':\n case 'tableCell':\n case 'tableDelimRow':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nfunction getChildrenText$1(node) {\n var buffer = [];\n var walker = node.walker();\n var event = null;\n while ((event = walker.next())) {\n var childNode = event.node;\n if (childNode.type === 'text') {\n buffer.push(childNode.literal);\n }\n }\n return buffer.join('');\n}\n\nvar widgetRules = [];\nvar widgetRuleMap = {};\nvar reWidgetPrefix = /\\$\\$widget\\d+\\s/;\nfunction unwrapWidgetSyntax(text) {\n var index = text.search(reWidgetPrefix);\n if (index !== -1) {\n var rest = text.substring(index);\n var replaced = rest.replace(reWidgetPrefix, '').replace('$$', '');\n text = text.substring(0, index);\n text += unwrapWidgetSyntax(replaced);\n }\n return text;\n}\nfunction createWidgetContent(info, text) {\n return \"$$\" + info + \" \" + text + \"$$\";\n}\nfunction widgetToDOM(info, text) {\n var _a = widgetRuleMap[info], rule = _a.rule, toDOM = _a.toDOM;\n var matches = unwrapWidgetSyntax(text).match(rule);\n if (matches) {\n text = matches[0];\n }\n return toDOM(text);\n}\nfunction getWidgetRules() {\n return widgetRules;\n}\nfunction setWidgetRules(rules) {\n widgetRules = rules;\n widgetRules.forEach(function (rule, index) {\n widgetRuleMap[\"widget\" + index] = rule;\n });\n}\nfunction mergeNodes(nodes, text, schema, ruleIndex) {\n return nodes.concat(createNodesWithWidget(text, schema, ruleIndex));\n}\n/**\n * create nodes with plain text and replace text matched to the widget rules with the widget node\n * For example, in case the text and widget rules as below\n *\n * text: $test plain text #test\n * widget rules: [{ rule: /$.+/ }, { rule: /#.+/ }]\n *\n * The creating node process is recursive and is as follows.\n *\n * in first widget rule(/$.+/)\n * $test -> widget node\n * plain text -> match with next widget rule\n * #test -> match with next widget rule\n *\n * in second widget rule(/#.+/)\n * plain text -> text node(no rule for matching)\n * #test -> widget node\n */\nfunction createNodesWithWidget(text, schema, ruleIndex) {\n if (ruleIndex === void 0) { ruleIndex = 0; }\n var nodes = [];\n var rule = (widgetRules[ruleIndex] || {}).rule;\n var nextRuleIndex = ruleIndex + 1;\n text = unwrapWidgetSyntax(text);\n if (rule && rule.test(text)) {\n var index = void 0;\n while ((index = text.search(rule)) !== -1) {\n var prev = text.substring(0, index);\n // get widget node on first splitted text using next widget rule\n if (prev) {\n nodes = mergeNodes(nodes, prev, schema, nextRuleIndex);\n }\n // build widget node using current widget rule\n text = text.substring(index);\n var literal = text.match(rule)[0];\n var info = \"widget\" + ruleIndex;\n nodes.push(schema.nodes.widget.create({ info: info }, schema.text(createWidgetContent(info, literal))));\n text = text.substring(literal.length);\n }\n // get widget node on last splitted text using next widget rule\n if (text) {\n nodes = mergeNodes(nodes, text, schema, nextRuleIndex);\n }\n }\n else if (text) {\n nodes =\n ruleIndex < widgetRules.length - 1\n ? mergeNodes(nodes, text, schema, nextRuleIndex)\n : [schema.text(text)];\n }\n return nodes;\n}\nfunction getWidgetContent(widgetNode) {\n var event;\n var text = '';\n var walker = widgetNode.walker();\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n if (entering) {\n if (node !== widgetNode && node.type !== 'text') {\n text += getInlineMarkdownText(node);\n // skip the children\n walker.resumeAt(widgetNode, false);\n walker.next();\n }\n else if (node.type === 'text') {\n text += node.literal;\n }\n }\n }\n return text;\n}\n\nfunction getDefaultCommands() {\n return {\n deleteSelection: function () { return prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"deleteSelection\"]; },\n selectAll: function () { return prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"selectAll\"]; },\n undo: function () { return prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undo\"]; },\n redo: function () { return prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"redo\"]; },\n };\n}\n\nfunction placeholder(options) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n decorations: function (state) {\n var doc = state.doc;\n if (options.text &&\n doc.childCount === 1 &&\n doc.firstChild.isTextblock &&\n doc.firstChild.content.size === 0) {\n var placeHolder = document.createElement('span');\n addClass_1(placeHolder, 'placeholder');\n if (options.className) {\n addClass_1(placeHolder, options.className);\n }\n placeHolder.textContent = options.text;\n return prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"DecorationSet\"].create(doc, [prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"Decoration\"].widget(1, placeHolder)]);\n }\n return null;\n },\n },\n });\n}\n\n/**\n * @fileoverview Check element has specific css class\n * @author NHN FE Development Lab \n */\n\nvar inArray$1 = inArray_1;\nvar getClass = getClass_1;\n\n/**\n * Check element has specific css class\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {string} cssClass - css class\n * @returns {boolean}\n * @memberof module:domUtil\n */\nfunction hasClass(element, cssClass) {\n var origin;\n\n if (element.classList) {\n return element.classList.contains(cssClass);\n }\n\n origin = getClass(element).split(/\\s+/);\n\n return inArray$1(cssClass, origin) > -1;\n}\n\nvar hasClass_1 = hasClass;\n\n/**\n * @fileoverview Check element match selector\n * @author NHN FE Development Lab \n */\n\nvar inArray = inArray_1;\nvar toArray = toArray_1;\n\nvar elProto = Element.prototype;\nvar matchSelector = elProto.matches ||\n elProto.webkitMatchesSelector ||\n elProto.mozMatchesSelector ||\n elProto.msMatchesSelector ||\n function(selector) {\n var doc = this.document || this.ownerDocument;\n\n return inArray(this, toArray(doc.querySelectorAll(selector))) > -1;\n };\n\n/**\n * Check element match selector\n * @param {HTMLElement} element - element to check\n * @param {string} selector - selector to check\n * @returns {boolean} is selector matched to element?\n * @memberof module:domUtil\n */\nfunction matches(element, selector) {\n return matchSelector.call(element, selector);\n}\n\nvar matches_1 = matches;\n\nvar TAG_NAME = '[A-Za-z][A-Za-z0-9-]*';\nvar ATTRIBUTE_NAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\nvar UNQUOTED_VALUE = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar SINGLE_QUOTED_VALUE = \"'[^']*'\";\nvar DOUBLE_QUOTED_VALUE = '\"[^\"]*\"';\nvar ATTRIBUTE_VALUE = \"(?:\" + UNQUOTED_VALUE + \"|\" + SINGLE_QUOTED_VALUE + \"|\" + DOUBLE_QUOTED_VALUE + \")\";\nvar ATTRIBUTE_VALUE_SPEC = \"\" + '(?:\\\\s*=\\\\s*' + ATTRIBUTE_VALUE + \")\";\nvar ATTRIBUTE$1 = \"\" + '(?:\\\\s+' + ATTRIBUTE_NAME + ATTRIBUTE_VALUE_SPEC + \"?)\";\nvar OPEN_TAG = \"<(\" + TAG_NAME + \")(\" + ATTRIBUTE$1 + \")*\\\\s*/?>\";\nvar CLOSE_TAG = \"]\";\nvar HTML_TAG = \"(?:\" + OPEN_TAG + \"|\" + CLOSE_TAG + \")\";\nvar reHTMLTag = new RegExp(\"^\" + HTML_TAG, 'i');\nvar reBR = //i;\nvar reHTMLComment = /|/;\nvar ALTERNATIVE_TAG_FOR_BR = '

    ';\n\nfunction isPositionInBox(style, offsetX, offsetY) {\n var left = parseInt(style.left, 10);\n var top = parseInt(style.top, 10);\n var width = parseInt(style.width, 10) + parseInt(style.paddingLeft, 10) + parseInt(style.paddingRight, 10);\n var height = parseInt(style.height, 10) + parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n return offsetX >= left && offsetX <= left + width && offsetY >= top && offsetY <= top + height;\n}\nvar CLS_PREFIX = 'toastui-editor-';\nfunction cls() {\n var names = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n names[_i] = arguments[_i];\n }\n var result = [];\n for (var _a = 0, names_1 = names; _a < names_1.length; _a++) {\n var name_1 = names_1[_a];\n var className = void 0;\n if (Array.isArray(name_1)) {\n className = name_1[0] ? name_1[1] : null;\n }\n else {\n className = name_1;\n }\n if (className) {\n result.push(\"\" + CLS_PREFIX + className);\n }\n }\n return result.join(' ');\n}\nfunction clsWithMdPrefix() {\n var names = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n names[_i] = arguments[_i];\n }\n return names.map(function (className) { return CLS_PREFIX + \"md-\" + className; }).join(' ');\n}\nfunction isTextNode(node) {\n return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.TEXT_NODE;\n}\nfunction isElemNode(node) {\n return node && node.nodeType === Node.ELEMENT_NODE;\n}\nfunction findNodes(element, selector) {\n var nodeList = toArray_1(element.querySelectorAll(selector));\n if (nodeList.length) {\n return nodeList;\n }\n return [];\n}\nfunction appendNodes(node, nodesToAppend) {\n nodesToAppend = isArray_1(nodesToAppend) ? toArray_1(nodesToAppend) : [nodesToAppend];\n nodesToAppend.forEach(function (nodeToAppend) {\n node.appendChild(nodeToAppend);\n });\n}\nfunction insertBeforeNode(insertedNode, node) {\n if (node.parentNode) {\n node.parentNode.insertBefore(insertedNode, node);\n }\n}\nfunction removeNode$1(node) {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\nfunction unwrapNode(node) {\n var result = [];\n while (node.firstChild) {\n result.push(node.firstChild);\n if (node.parentNode) {\n node.parentNode.insertBefore(node.firstChild, node);\n }\n }\n removeNode$1(node);\n return result;\n}\nfunction toggleClass(element, className, state) {\n if (isUndefined_1(state)) {\n state = !hasClass_1(element, className);\n }\n var toggleFn = state ? addClass_1 : removeClass_1;\n toggleFn(element, className);\n}\nfunction createElementWith(contents, target) {\n var container = document.createElement('div');\n if (isString_1(contents)) {\n container.innerHTML = contents;\n }\n else {\n container.appendChild(contents);\n }\n var firstChild = container.firstChild;\n if (target) {\n target.appendChild(firstChild);\n }\n return firstChild;\n}\nfunction getOuterWidth(el) {\n var computed = window.getComputedStyle(el);\n return (['margin-left', 'margin-right'].reduce(function (acc, type) { return acc + parseInt(computed.getPropertyValue(type), 10); }, 0) + el.offsetWidth);\n}\nfunction closest(node, found) {\n var condition;\n if (isString_1(found)) {\n condition = function (target) { return matches_1(target, found); };\n }\n else {\n condition = function (target) { return target === found; };\n }\n while (node && node !== document) {\n if (isElemNode(node) && condition(node)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction getTotalOffset(el, root) {\n var offsetTop = 0;\n var offsetLeft = 0;\n while (el && el !== root) {\n var top_1 = el.offsetTop, left = el.offsetLeft, offsetParent = el.offsetParent;\n offsetTop += top_1;\n offsetLeft += left;\n if (offsetParent === root.offsetParent) {\n break;\n }\n el = el.offsetParent;\n }\n return { offsetTop: offsetTop, offsetLeft: offsetLeft };\n}\nfunction setAttributes(attributes, element) {\n Object.keys(attributes).forEach(function (attrName) {\n if (isNil(attributes[attrName])) {\n element.removeAttribute(attrName);\n }\n else {\n element.setAttribute(attrName, attributes[attrName]);\n }\n });\n}\nfunction replaceBRWithEmptyBlock(html) {\n // remove br in paragraph to compatible with markdown\n var replacedHTML = html.replace(/

    <\\/p>/gi, '

    ');\n var reHTMLTag = new RegExp(HTML_TAG, 'ig');\n var htmlTagMatched = replacedHTML.match(reHTMLTag);\n htmlTagMatched === null || htmlTagMatched === void 0 ? void 0 : htmlTagMatched.forEach(function (htmlTag, index) {\n if (reBR.test(htmlTag)) {\n var alternativeTag = ALTERNATIVE_TAG_FOR_BR;\n if (index) {\n var prevTag = htmlTagMatched[index - 1];\n var openTagMatched = prevTag.match(OPEN_TAG);\n if (openTagMatched && !/br/i.test(openTagMatched[1])) {\n var tagName = openTagMatched[1];\n alternativeTag = \"<\" + tagName + \">\";\n }\n }\n replacedHTML = replacedHTML.replace(reBR, alternativeTag);\n }\n });\n return replacedHTML;\n}\nfunction removeProseMirrorHackNodes(html) {\n var reProseMirrorImage = /\"\"/g;\n var reProseMirrorTrailingBreak = / class=\"ProseMirror-trailingBreak\"/g;\n var resultHTML = html;\n resultHTML = resultHTML.replace(reProseMirrorImage, '');\n resultHTML = resultHTML.replace(reProseMirrorTrailingBreak, '');\n return resultHTML;\n}\n\nvar pluginKey$1 = new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"PluginKey\"]('widget');\nvar MARGIN = 5;\nvar PopupWidget = /** @class */ (function () {\n function PopupWidget(view, eventEmitter) {\n var _this = this;\n this.popup = null;\n this.removeWidget = function () {\n if (_this.popup) {\n _this.rootEl.removeChild(_this.popup);\n _this.popup = null;\n }\n };\n this.rootEl = view.dom.parentElement;\n this.eventEmitter = eventEmitter;\n this.eventEmitter.listen('blur', this.removeWidget);\n this.eventEmitter.listen('loadUI', function () {\n _this.rootEl = closest(view.dom.parentElement, \".\" + cls('defaultUI'));\n });\n this.eventEmitter.listen('removePopupWidget', this.removeWidget);\n }\n PopupWidget.prototype.update = function (view) {\n var widget = pluginKey$1.getState(view.state);\n this.removeWidget();\n if (widget) {\n var node = widget.node, style = widget.style;\n var _a = view.coordsAtPos(widget.pos), top_1 = _a.top, left = _a.left, bottom = _a.bottom;\n var height = bottom - top_1;\n var rect = this.rootEl.getBoundingClientRect();\n var relTopPos = top_1 - rect.top;\n css_1(node, { opacity: '0' });\n this.rootEl.appendChild(node);\n css_1(node, {\n position: 'absolute',\n left: left - rect.left + MARGIN + \"px\",\n top: (style === 'bottom' ? relTopPos + height - MARGIN : relTopPos - height) + \"px\",\n opacity: '1',\n });\n this.popup = node;\n view.focus();\n }\n };\n PopupWidget.prototype.destroy = function () {\n this.eventEmitter.removeEventHandler('blur', this.removeWidget);\n };\n return PopupWidget;\n}());\nfunction addWidget(eventEmitter) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n key: pluginKey$1,\n state: {\n init: function () {\n return null;\n },\n apply: function (tr) {\n return tr.getMeta('widget');\n },\n },\n view: function (editorView) {\n return new PopupWidget(editorView, eventEmitter);\n },\n });\n}\n\nfunction addDefaultImageBlobHook(eventEmitter) {\n eventEmitter.listen('addImageBlobHook', function (blob, callback) {\n var reader = new FileReader();\n reader.onload = function (_a) {\n var target = _a.target;\n return callback(target.result);\n };\n reader.readAsDataURL(blob);\n });\n}\nfunction emitImageBlobHook(eventEmitter, blob, type) {\n var hook = function (imageUrl, altText) {\n eventEmitter.emit('command', 'addImage', {\n imageUrl: imageUrl,\n altText: altText || blob.name || 'image',\n });\n };\n eventEmitter.emit('addImageBlobHook', blob, hook, type);\n}\nfunction pasteImageOnly(items) {\n var images = toArray_1(items).filter(function (_a) {\n var type = _a.type;\n return type.indexOf('image') !== -1;\n });\n if (images.length === 1) {\n var item = images[0];\n if (item) {\n return item.getAsFile();\n }\n }\n return null;\n}\n\nfunction dropImage(_a) {\n var eventEmitter = _a.eventEmitter;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n drop: function (_, ev) {\n var _a;\n var items = (_a = ev.dataTransfer) === null || _a === void 0 ? void 0 : _a.files;\n if (items) {\n forEachArray_1(items, function (item) {\n if (item.type.indexOf('image') !== -1) {\n ev.preventDefault();\n ev.stopPropagation();\n emitImageBlobHook(eventEmitter, item, ev.type);\n return false;\n }\n return true;\n });\n }\n return true;\n },\n },\n },\n });\n}\n\nvar Node$2 = /** @class */ (function () {\n function Node() {\n }\n Object.defineProperty(Node.prototype, \"type\", {\n get: function () {\n return 'node';\n },\n enumerable: false,\n configurable: true\n });\n Node.prototype.setContext = function (context) {\n this.context = context;\n };\n return Node;\n}());\n\nfunction widgetNodeView(pmNode) {\n var dom = document.createElement('span');\n var node = widgetToDOM(pmNode.attrs.info, pmNode.textContent);\n dom.className = 'tui-widget';\n dom.appendChild(node);\n return { dom: dom };\n}\nfunction isWidgetNode(pmNode) {\n return pmNode.type.name === 'widget';\n}\nvar Widget = /** @class */ (function (_super) {\n __extends$1(Widget, _super);\n function Widget() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Widget.prototype, \"name\", {\n get: function () {\n return 'widget';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Widget.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n info: { default: null },\n },\n group: 'inline',\n inline: true,\n content: 'text*',\n selectable: false,\n atom: true,\n toDOM: function () {\n return ['span', { class: 'tui-widget' }, 0];\n },\n parseDOM: [\n {\n tag: 'span.tui-widget',\n getAttrs: function (dom) {\n var text = dom.textContent;\n var _a = text.match(/\\$\\$(widget\\d+)/), info = _a[1];\n return { info: info };\n },\n },\n ],\n };\n },\n enumerable: false,\n configurable: true\n });\n return Widget;\n}(Node$2));\n\nvar EditorBase = /** @class */ (function () {\n function EditorBase(eventEmitter) {\n this.timer = null;\n this.el = document.createElement('div');\n this.el.className = 'toastui-editor';\n this.eventEmitter = eventEmitter;\n this.placeholder = { text: '' };\n }\n EditorBase.prototype.createState = function () {\n return prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"EditorState\"].create({\n schema: this.schema,\n plugins: this.createPlugins(),\n });\n };\n EditorBase.prototype.initEvent = function () {\n var _a = this, eventEmitter = _a.eventEmitter, view = _a.view, editorType = _a.editorType;\n view.dom.addEventListener('focus', function () { return eventEmitter.emit('focus', editorType); });\n view.dom.addEventListener('blur', function () { return eventEmitter.emit('blur', editorType); });\n };\n EditorBase.prototype.emitChangeEvent = function (tr) {\n this.eventEmitter.emit('caretChange', this.editorType);\n if (tr.docChanged) {\n this.eventEmitter.emit('change', this.editorType);\n }\n };\n Object.defineProperty(EditorBase.prototype, \"defaultPlugins\", {\n get: function () {\n var rules = this.createInputRules();\n var plugins = __spreadArray$1(__spreadArray$1([], this.keymaps), [\n Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(__assign$1({ 'Shift-Enter': prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"baseKeymap\"].Enter }, prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"baseKeymap\"])),\n Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"history\"])(),\n placeholder(this.placeholder),\n addWidget(this.eventEmitter),\n dropImage(this.context),\n ]);\n return rules ? plugins.concat(rules) : plugins;\n },\n enumerable: false,\n configurable: true\n });\n EditorBase.prototype.createInputRules = function () {\n var widgetRules = getWidgetRules();\n var rules = widgetRules.map(function (_a) {\n var rule = _a.rule;\n return new prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"InputRule\"](rule, function (state, match, start, end) {\n var schema = state.schema, tr = state.tr, doc = state.doc;\n var allMatched = match.input.match(new RegExp(rule, 'g'));\n var pos = doc.resolve(start);\n var parent = pos.parent;\n var count = 0;\n if (isWidgetNode(parent)) {\n parent = pos.node(pos.depth - 1);\n }\n parent.forEach(function (child) { return isWidgetNode(child) && (count += 1); });\n // replace the content only if the count of matched rules in whole text is greater than current widget node count\n if (allMatched.length > count) {\n var content = last$1(allMatched);\n var nodes = createNodesWithWidget(content, schema);\n // adjust start position based on widget content\n return tr.replaceWith(end - content.length + 1, end, nodes);\n }\n return null;\n });\n });\n return rules.length ? Object(prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"inputRules\"])({ rules: rules }) : null;\n };\n EditorBase.prototype.clearTimer = function () {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n };\n EditorBase.prototype.createSchema = function () {\n return new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Schema\"]({\n nodes: this.specs.nodes,\n marks: this.specs.marks,\n });\n };\n EditorBase.prototype.createKeymaps = function (useCommandShortcut) {\n var _a = getDefaultCommands(), undo = _a.undo, redo = _a.redo;\n var allKeymaps = this.specs.keymaps(useCommandShortcut);\n var historyKeymap = {\n 'Mod-z': undo(),\n 'Shift-Mod-z': redo(),\n };\n return useCommandShortcut ? allKeymaps.concat(Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(historyKeymap)) : allKeymaps;\n };\n EditorBase.prototype.createCommands = function () {\n return this.specs.commands(this.view);\n };\n EditorBase.prototype.createPluginProps = function () {\n var _this = this;\n return this.extraPlugins.map(function (plugin) { return plugin(_this.eventEmitter); });\n };\n EditorBase.prototype.focus = function () {\n var _this = this;\n this.clearTimer();\n // prevent the error for IE11\n this.timer = setTimeout(function () {\n _this.view.focus();\n _this.view.dispatch(_this.view.state.tr.scrollIntoView());\n });\n };\n EditorBase.prototype.blur = function () {\n this.view.dom.blur();\n };\n EditorBase.prototype.destroy = function () {\n var _this = this;\n this.clearTimer();\n this.view.destroy();\n Object.keys(this).forEach(function (prop) {\n delete _this[prop];\n });\n };\n EditorBase.prototype.moveCursorToStart = function (focus) {\n var tr = this.view.state.tr;\n this.view.dispatch(tr.setSelection(createTextSelection(tr, 1)).scrollIntoView());\n if (focus) {\n this.focus();\n }\n };\n EditorBase.prototype.moveCursorToEnd = function (focus) {\n var tr = this.view.state.tr;\n this.view.dispatch(tr.setSelection(createTextSelection(tr, tr.doc.content.size - 1)).scrollIntoView());\n if (focus) {\n this.focus();\n }\n };\n EditorBase.prototype.setScrollTop = function (top) {\n this.view.dom.scrollTop = top;\n };\n EditorBase.prototype.getScrollTop = function () {\n return this.view.dom.scrollTop;\n };\n EditorBase.prototype.setPlaceholder = function (text) {\n this.placeholder.text = text;\n this.view.dispatch(this.view.state.tr.scrollIntoView());\n };\n EditorBase.prototype.setHeight = function (height) {\n css_1(this.el, { height: height + \"px\" });\n };\n EditorBase.prototype.setMinHeight = function (minHeight) {\n css_1(this.el, { minHeight: minHeight + \"px\" });\n };\n EditorBase.prototype.getElement = function () {\n return this.el;\n };\n return EditorBase;\n}());\n\n/**\n * @fileoverview Check whether the given variable is a function or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a function or not.\n * If the given variable is a function, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is function?\n * @memberof module:type\n */\nfunction isFunction(obj) {\n return obj instanceof Function;\n}\n\nvar isFunction_1 = isFunction;\n\nvar defaultCommandShortcuts = [\n 'Enter',\n 'Shift-Enter',\n 'Mod-Enter',\n 'Tab',\n 'Shift-Tab',\n 'Delete',\n 'Backspace',\n 'Mod-Delete',\n 'Mod-Backspace',\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'Mod-d',\n 'Mod-D',\n 'Alt-ArrowUp',\n 'Alt-ArrowDown',\n];\nfunction execCommand(view, command, payload) {\n view.focus();\n return command(payload)(view.state, view.dispatch, view);\n}\nvar SpecManager = /** @class */ (function () {\n function SpecManager(specs) {\n this.specs = specs;\n }\n Object.defineProperty(SpecManager.prototype, \"nodes\", {\n get: function () {\n return this.specs\n .filter(function (spec) { return spec.type === 'node'; })\n .reduce(function (nodes, _a) {\n var _b;\n var name = _a.name, schema = _a.schema;\n return __assign$1(__assign$1({}, nodes), (_b = {}, _b[name] = schema, _b));\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpecManager.prototype, \"marks\", {\n get: function () {\n return this.specs\n .filter(function (spec) { return spec.type === 'mark'; })\n .reduce(function (marks, _a) {\n var _b;\n var name = _a.name, schema = _a.schema;\n return __assign$1(__assign$1({}, marks), (_b = {}, _b[name] = schema, _b));\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n SpecManager.prototype.commands = function (view, addedCommands) {\n var specCommands = this.specs\n .filter(function (_a) {\n var commands = _a.commands;\n return commands;\n })\n .reduce(function (allCommands, spec) {\n var commands = {};\n var specCommand = spec.commands();\n if (isFunction_1(specCommand)) {\n commands[spec.name] = function (payload) { return execCommand(view, specCommand, payload); };\n }\n else {\n Object.keys(specCommand).forEach(function (name) {\n commands[name] = function (payload) { return execCommand(view, specCommand[name], payload); };\n });\n }\n return __assign$1(__assign$1({}, allCommands), commands);\n }, {});\n var defaultCommands = getDefaultCommands();\n Object.keys(defaultCommands).forEach(function (name) {\n specCommands[name] = function (payload) { return execCommand(view, defaultCommands[name], payload); };\n });\n if (addedCommands) {\n Object.keys(addedCommands).forEach(function (name) {\n specCommands[name] = function (payload) { return execCommand(view, addedCommands[name], payload); };\n });\n }\n return specCommands;\n };\n SpecManager.prototype.keymaps = function (useCommandShortcut) {\n var specKeymaps = this.specs.filter(function (spec) { return spec.keymaps; }).map(function (spec) { return spec.keymaps(); });\n return specKeymaps.map(function (keys) {\n if (!useCommandShortcut) {\n Object.keys(keys).forEach(function (key) {\n if (!includes(defaultCommandShortcuts, key)) {\n delete keys[key];\n }\n });\n }\n return Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(keys);\n });\n };\n SpecManager.prototype.setContext = function (context) {\n this.specs.forEach(function (spec) {\n spec.setContext(context);\n });\n };\n return SpecManager;\n}());\n\nfunction resolveSelectionPos(selection) {\n var from = selection.from, to = selection.to;\n if (selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"AllSelection\"]) {\n return [from + 1, to - 1];\n }\n return [from, to];\n}\nfunction getMdLine(resolvedPos) {\n return resolvedPos.index(0) + 1;\n}\nfunction getWidgetNodePos(node, chPos, direction) {\n if (direction === void 0) { direction = 1; }\n var additionalPos = 0;\n node.forEach(function (child, pos) {\n // add or subtract widget node tag\n if (isWidgetNode(child) && pos + 2 < chPos) {\n additionalPos += 2 * direction;\n }\n });\n return additionalPos;\n}\nfunction getEditorToMdPos(doc, from, to) {\n if (to === void 0) { to = from; }\n var collapsed = from === to;\n var startResolvedPos = doc.resolve(from);\n var startLine = getMdLine(startResolvedPos);\n var endLine = startLine;\n var startOffset = startResolvedPos.start(1);\n var endOffset = startOffset;\n if (!collapsed) {\n // prevent the end offset from pointing to the root document position\n var endResolvedPos = doc.resolve(to === doc.content.size ? to - 1 : to);\n endOffset = endResolvedPos.start(1);\n endLine = getMdLine(endResolvedPos);\n // To resolve the end offset excluding document tag size\n if (endResolvedPos.pos === doc.content.size) {\n to = doc.content.size - 2;\n }\n }\n var startCh = Math.max(from - startOffset + 1, 1);\n var endCh = Math.max(to - endOffset + 1, 1);\n return [\n [startLine, startCh + getWidgetNodePos(doc.child(startLine - 1), startCh, -1)],\n [endLine, endCh + getWidgetNodePos(doc.child(endLine - 1), endCh, -1)],\n ];\n}\nfunction getStartPosListPerLine(doc, endIndex) {\n var startPosListPerLine = [];\n for (var i = 0, pos = 0; i < endIndex; i += 1) {\n var child = doc.child(i);\n startPosListPerLine[i] = pos;\n pos += child.nodeSize;\n }\n return startPosListPerLine;\n}\nfunction getMdToEditorPos(doc, startPos, endPos) {\n var startPosListPerLine = getStartPosListPerLine(doc, endPos[0]);\n var startIndex = startPos[0] - 1;\n var endIndex = endPos[0] - 1;\n var startNode = doc.child(startIndex);\n var endNode = doc.child(endIndex);\n // calculate the position corresponding to the line\n var from = startPosListPerLine[startIndex];\n var to = startPosListPerLine[endIndex];\n // calculate the position corresponding to the character offset of the line\n from += startPos[1] + getWidgetNodePos(startNode, startPos[1] - 1);\n to += endPos[1] + getWidgetNodePos(endNode, endPos[1] - 1);\n return [from, Math.min(to, doc.content.size)];\n}\nfunction getRangeInfo(selection) {\n var $from = selection.$from, $to = selection.$to;\n var from = selection.from, to = selection.to;\n var doc = $from.doc;\n if (selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"AllSelection\"]) {\n $from = doc.resolve(from + 1);\n $to = doc.resolve(to - 1);\n }\n if ($from.depth === 0) {\n $from = doc.resolve(from - 1);\n $to = $from;\n }\n return {\n startFromOffset: $from.start(1),\n endFromOffset: $to.start(1),\n startToOffset: $from.end(1),\n endToOffset: $to.end(1),\n startIndex: $from.index(0),\n endIndex: $to.index(0),\n from: $from.pos,\n to: $to.pos,\n };\n}\nfunction getNodeContentOffsetRange(doc, targetIndex) {\n var startOffset = 1;\n var endOffset = 1;\n for (var i = 0, offset = 0; i < doc.childCount; i += 1) {\n var nodeSize = doc.child(i).nodeSize;\n // calculate content start, end offset(not node offset)\n startOffset = offset + 1;\n endOffset = offset + nodeSize - 1;\n if (i === targetIndex) {\n break;\n }\n offset += nodeSize;\n }\n return { startOffset: startOffset, endOffset: endOffset };\n}\n\nvar HEADING = 'heading';\nvar BLOCK_QUOTE = 'blockQuote';\nvar LIST_ITEM = 'listItem';\nvar TABLE = 'table';\nvar TABLE_CELL = 'tableCell';\nvar CODE_BLOCK = 'codeBlock';\nvar THEMATIC_BREAK = 'thematicBreak';\nvar LINK = 'link';\nvar CODE = 'code';\nvar META = 'meta';\nvar DELIM = 'delimiter';\nvar TASK_DELIM = 'taskDelimiter';\nvar TEXT = 'markedText';\nvar HTML = 'html';\nvar CUSTOM_BLOCK = 'customBlock';\nvar delimSize = {\n strong: 2,\n emph: 1,\n strike: 2,\n};\nfunction markInfo(start, end, type, attrs) {\n return { start: start, end: end, spec: { type: type, attrs: attrs } };\n}\nfunction heading$1(_a, start, end) {\n var level = _a.level, headingType = _a.headingType;\n var marks = [markInfo(start, end, HEADING, { level: level })];\n if (headingType === 'atx') {\n marks.push(markInfo(start, addOffsetPos(start, level), DELIM));\n }\n else {\n marks.push(markInfo(setOffsetPos(end, 0), end, HEADING, { seText: true }));\n }\n return marks;\n}\nfunction emphasisAndStrikethrough(_a, start, end) {\n var type = _a.type;\n var startDelimPos = addOffsetPos(start, delimSize[type]);\n var endDelimPos = addOffsetPos(end, -delimSize[type]);\n return [\n markInfo(startDelimPos, endDelimPos, type),\n markInfo(start, startDelimPos, DELIM),\n markInfo(endDelimPos, end, DELIM),\n ];\n}\nfunction markLink(start, end, linkTextStart, lastChildCh) {\n return [\n markInfo(start, end, LINK),\n markInfo(setOffsetPos(start, linkTextStart[1] + 1), setOffsetPos(end, lastChildCh), LINK, {\n desc: true,\n }),\n markInfo(setOffsetPos(end, lastChildCh + 2), addOffsetPos(end, -1), LINK, { url: true }),\n ];\n}\nfunction image$1(_a, start, end) {\n var lastChild = _a.lastChild;\n var lastChildCh = lastChild ? getMdEndCh(lastChild) + 1 : 3; // 3: length of '![]'\n var linkTextEnd = addOffsetPos(start, 1);\n return __spreadArray$1([markInfo(start, linkTextEnd, META)], markLink(start, end, linkTextEnd, lastChildCh));\n}\nfunction link(_a, start, end) {\n var lastChild = _a.lastChild, extendedAutolink = _a.extendedAutolink;\n var lastChildCh = lastChild ? getMdEndCh(lastChild) + 1 : 2; // 2: length of '[]'\n return extendedAutolink\n ? [markInfo(start, end, LINK, { desc: true })]\n : markLink(start, end, start, lastChildCh);\n}\nfunction code(_a, start, end) {\n var tickCount = _a.tickCount;\n var openDelimEnd = addOffsetPos(start, tickCount);\n var closeDelimStart = addOffsetPos(end, -tickCount);\n return [\n markInfo(start, end, CODE),\n markInfo(start, openDelimEnd, CODE, { start: true }),\n markInfo(openDelimEnd, closeDelimStart, CODE, { marked: true }),\n markInfo(closeDelimStart, end, CODE, { end: true }),\n ];\n}\nfunction lineBackground(parent, start, end, prefix) {\n var defaultBackground = {\n start: start,\n end: end,\n spec: {\n attrs: { className: prefix + \"-line-background\", codeStart: start[0], codeEnd: end[0] },\n },\n lineBackground: true,\n };\n return parent.type !== 'item' && parent.type !== 'blockQuote'\n ? [\n __assign$1(__assign$1({}, defaultBackground), { end: start, spec: { attrs: { className: prefix + \"-line-background start\" } } }),\n __assign$1(__assign$1({}, defaultBackground), { start: [Math.min(start[0] + 1, end[0]), start[1]] }),\n ]\n : null;\n}\nfunction codeBlock$1(node, start, end, endLine) {\n var fenceOffset = node.fenceOffset, fenceLength = node.fenceLength, fenceChar = node.fenceChar, info = node.info, infoPadding = node.infoPadding, parent = node.parent;\n var fenceEnd = fenceOffset + fenceLength;\n var marks = [markInfo(setOffsetPos(start, 1), end, CODE_BLOCK)];\n if (fenceChar) {\n marks.push(markInfo(start, addOffsetPos(start, fenceEnd), DELIM));\n }\n if (info) {\n marks.push(markInfo(addOffsetPos(start, fenceLength), addOffsetPos(start, fenceLength + infoPadding + info.length), META));\n }\n var codeBlockEnd = \"^(\\\\s{0,4})(\" + fenceChar + \"{\" + fenceLength + \",})\";\n var reCodeBlockEnd = new RegExp(codeBlockEnd);\n if (reCodeBlockEnd.test(endLine)) {\n marks.push(markInfo(setOffsetPos(end, 1), end, DELIM));\n }\n var lineBackgroundMarkInfo = lineBackground(parent, start, end, 'code-block');\n return lineBackgroundMarkInfo ? marks.concat(lineBackgroundMarkInfo) : marks;\n}\nfunction customBlock$2(node, start, end) {\n var _a = node, offset = _a.offset, syntaxLength = _a.syntaxLength, info = _a.info, parent = _a.parent;\n var syntaxEnd = offset + syntaxLength;\n var marks = [markInfo(setOffsetPos(start, 1), end, CUSTOM_BLOCK)];\n marks.push(markInfo(start, addOffsetPos(start, syntaxEnd), DELIM));\n if (info) {\n marks.push(markInfo(addOffsetPos(start, syntaxEnd), addOffsetPos(start, syntaxLength + info.length), META));\n }\n marks.push(markInfo(setOffsetPos(end, 1), end, DELIM));\n var lineBackgroundMarkInfo = lineBackground(parent, start, end, 'custom-block');\n return lineBackgroundMarkInfo ? marks.concat(lineBackgroundMarkInfo) : marks;\n}\nfunction markListItemChildren(node, markType) {\n var marks = [];\n while (node) {\n var type = node.type;\n if (type === 'paragraph' || type === 'codeBlock') {\n marks.push(markInfo([getMdStartLine(node), getMdStartCh(node) - 1], [getMdEndLine(node), getMdEndCh(node) + 1], markType));\n }\n node = node.next;\n }\n return marks;\n}\nfunction markParagraphInBlockQuote(node) {\n var marks = [];\n while (node) {\n marks.push(markInfo([getMdStartLine(node), getMdStartCh(node)], [getMdEndLine(node), getMdEndCh(node) + 1], TEXT));\n node = node.next;\n }\n return marks;\n}\nfunction blockQuote$2(node, start, end) {\n var marks = node.parent && node.parent.type !== 'blockQuote' ? [markInfo(start, end, BLOCK_QUOTE)] : [];\n if (node.firstChild) {\n var childMarks = [];\n if (node.firstChild.type === 'paragraph') {\n childMarks = markParagraphInBlockQuote(node.firstChild.firstChild);\n }\n else if (node.firstChild.type === 'list') {\n childMarks = markListItemChildren(node.firstChild, TEXT);\n }\n marks = __spreadArray$1(__spreadArray$1([], marks), childMarks);\n }\n return marks;\n}\nfunction getSpecOfListItemStyle(node) {\n var depth = 0;\n while (node.parent.parent && node.parent.parent.type === 'item') {\n node = node.parent.parent;\n depth += 1;\n }\n var attrs = [{ odd: true }, { even: true }][depth % 2];\n return [LIST_ITEM, __assign$1(__assign$1({}, attrs), { listStyle: true })];\n}\nfunction item$1(node, start) {\n var _a = node.listData, padding = _a.padding, task = _a.task;\n var spec = getSpecOfListItemStyle(node);\n var marks = [markInfo.apply(void 0, __spreadArray$1([start, addOffsetPos(start, padding)], spec))];\n if (task) {\n marks.push(markInfo(addOffsetPos(start, padding), addOffsetPos(start, padding + 3), TASK_DELIM));\n marks.push(markInfo(addOffsetPos(start, padding + 1), addOffsetPos(start, padding + 2), META));\n }\n return marks.concat(markListItemChildren(node.firstChild, TEXT));\n}\nvar markNodeFuncMap = {\n heading: heading$1,\n strong: emphasisAndStrikethrough,\n emph: emphasisAndStrikethrough,\n strike: emphasisAndStrikethrough,\n link: link,\n image: image$1,\n code: code,\n codeBlock: codeBlock$1,\n blockQuote: blockQuote$2,\n item: item$1,\n customBlock: customBlock$2,\n};\nvar simpleMarkClassNameMap = {\n thematicBreak: THEMATIC_BREAK,\n table: TABLE,\n tableCell: TABLE_CELL,\n htmlInline: HTML,\n};\nfunction getMarkInfo(node, start, end, endLine) {\n var type = node.type;\n if (isFunction_1(markNodeFuncMap[type])) {\n // @ts-ignore\n return markNodeFuncMap[type](node, start, end, endLine);\n }\n if (simpleMarkClassNameMap[type]) {\n return [markInfo(start, end, simpleMarkClassNameMap[type])];\n }\n return null;\n}\n\nvar removingBackgroundIndexMap = {};\nfunction syntaxHighlight(_a) {\n var schema = _a.schema, toastMark = _a.toastMark;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n appendTransaction: function (transactions, _, newState) {\n var tr = transactions[0];\n var newTr = newState.tr;\n if (tr.docChanged) {\n var markInfo_1 = [];\n var editResult = tr.getMeta('editResult');\n editResult.forEach(function (result) {\n var nodes = result.nodes, removedNodeRange = result.removedNodeRange;\n if (nodes.length) {\n markInfo_1 = markInfo_1.concat(getMarkForRemoving(newTr, nodes));\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var parent_1 = nodes_1[_i];\n var walker = parent_1.walker();\n var event_1 = walker.next();\n while (event_1) {\n var node = event_1.node, entering = event_1.entering;\n if (entering) {\n markInfo_1 = markInfo_1.concat(getMarkForAdding(node, toastMark));\n }\n event_1 = walker.next();\n }\n }\n }\n else if (removedNodeRange) {\n var maxIndex = newTr.doc.childCount - 1;\n var _a = removedNodeRange.line, startLine = _a[0], endLine = _a[1];\n var startIndex = Math.min(startLine, maxIndex);\n var endIndex = Math.min(endLine, maxIndex);\n // cache the index to remove code block, custom block background when there are no adding nodes\n for (var i = startIndex; i <= endIndex; i += 1) {\n removingBackgroundIndexMap[i] = true;\n }\n }\n });\n appendMarkTr(newTr, schema, markInfo_1);\n }\n return newTr.setMeta('widget', tr.getMeta('widget'));\n },\n });\n}\nfunction isDifferentBlock(doc, index, attrs) {\n return Object.keys(attrs).some(function (name) { return attrs[name] !== doc.child(index).attrs[name]; });\n}\nfunction addLineBackground(tr, doc, paragraph, blockPosInfo, attrs) {\n if (attrs === void 0) { attrs = {}; }\n var startIndex = blockPosInfo.startIndex, endIndex = blockPosInfo.endIndex, from = blockPosInfo.from, to = blockPosInfo.to;\n var shouldChangeBlockType = false;\n for (var i = startIndex; i <= endIndex; i += 1) {\n // prevent to remove background of the node that need to have background\n delete removingBackgroundIndexMap[i];\n shouldChangeBlockType = isDifferentBlock(doc, i, attrs);\n }\n if (shouldChangeBlockType) {\n tr.setBlockType(from, to, paragraph, attrs);\n }\n}\nfunction appendMarkTr(tr, schema, marks) {\n var doc = tr.doc;\n var paragraph = schema.nodes.paragraph;\n // get start position per line for lazy calculation\n var startPosListPerLine = getStartPosListPerLine(doc, doc.childCount);\n marks.forEach(function (_a) {\n var start = _a.start, end = _a.end, spec = _a.spec, lineBackground = _a.lineBackground;\n var startIndex = Math.min(start[0], doc.childCount) - 1;\n var endIndex = Math.min(end[0], doc.childCount) - 1;\n var startNode = doc.child(startIndex);\n var endNode = doc.child(endIndex);\n // calculate the position corresponding to the line\n var from = startPosListPerLine[startIndex];\n var to = startPosListPerLine[endIndex];\n // calculate the position corresponding to the character offset of the line\n from += start[1] + getWidgetNodePos(startNode, start[1] - 1);\n to += end[1] + getWidgetNodePos(endNode, end[1] - 1);\n if (spec) {\n if (lineBackground) {\n var posInfo = { from: from, to: to, startIndex: startIndex, endIndex: endIndex };\n addLineBackground(tr, doc, paragraph, posInfo, spec.attrs);\n }\n else {\n tr.addMark(from, to, schema.mark(spec.type, spec.attrs));\n }\n }\n else {\n tr.removeMark(from, to);\n }\n });\n removeBlockBackground(tr, startPosListPerLine, paragraph);\n}\nfunction removeBlockBackground(tr, startPosListPerLine, paragraph) {\n Object.keys(removingBackgroundIndexMap).forEach(function (index) {\n var startIndex = Number(index);\n // get the end position of the current line with the next node start position.\n var endIndex = Math.min(Number(index) + 1, tr.doc.childCount - 1);\n var from = startPosListPerLine[startIndex];\n // subtract '1' for getting end position of the line\n var to = startPosListPerLine[endIndex] - 1;\n if (startIndex === endIndex) {\n to += 2;\n }\n tr.setBlockType(from, to, paragraph);\n });\n}\nfunction cacheIndexToRemoveBackground(doc, start, end) {\n var skipLines = [];\n removingBackgroundIndexMap = {};\n for (var i = start[0] - 1; i < end[0]; i += 1) {\n var node = doc.child(i);\n var codeEnd = node.attrs.codeEnd;\n var codeStart = node.attrs.codeStart;\n if (codeStart && codeEnd && !includes(skipLines, codeStart)) {\n skipLines.push(codeStart);\n codeEnd = Math.min(codeEnd, doc.childCount);\n // should subtract '1' to markdown line position\n // because markdown parser has '1'(not zero) as the start number\n var startIndex = codeStart - 1;\n var endIndex = end[0];\n for (var index = startIndex; index < endIndex; index += 1) {\n removingBackgroundIndexMap[index] = true;\n }\n }\n }\n}\nfunction getMarkForRemoving(_a, nodes) {\n var doc = _a.doc;\n var start = nodes[0].sourcepos[0];\n var _b = last$1(nodes).sourcepos, end = _b[1];\n var startPos = [start[0], start[1]];\n var endPos = [end[0], end[1] + 1];\n var marks = [];\n cacheIndexToRemoveBackground(doc, start, end);\n marks.push({ start: startPos, end: endPos });\n return marks;\n}\nfunction getMarkForAdding(node, toastMark) {\n var lineTexts = toastMark.getLineTexts();\n var startPos = [getMdStartLine(node), getMdStartCh(node)];\n var endPos = [getMdEndLine(node), getMdEndCh(node) + 1];\n var markInfo = getMarkInfo(node, startPos, endPos, lineTexts[endPos[0] - 1]);\n return markInfo !== null && markInfo !== void 0 ? markInfo : [];\n}\n\nvar defaultToolbarStateKeys = [\n 'taskList',\n 'orderedList',\n 'bulletList',\n 'table',\n 'strong',\n 'emph',\n 'strike',\n 'heading',\n 'thematicBreak',\n 'blockQuote',\n 'code',\n 'codeBlock',\n 'indent',\n 'outdent',\n];\nfunction getToolbarStateType$1(mdNode) {\n var type = mdNode.type;\n if (isListNode$1(mdNode)) {\n if (mdNode.listData.task) {\n return 'taskList';\n }\n return mdNode.listData.type === 'ordered' ? 'orderedList' : 'bulletList';\n }\n if (type.indexOf('table') !== -1) {\n return 'table';\n }\n if (!includes(defaultToolbarStateKeys, type)) {\n return null;\n }\n return type;\n}\nfunction getToolbarState$1(targetNode) {\n var toolbarState = {\n indent: { active: false, disabled: true },\n outdent: { active: false, disabled: true },\n };\n var listEnabled = true;\n traverseParentNodes(targetNode, function (mdNode) {\n var type = getToolbarStateType$1(mdNode);\n if (!type) {\n return;\n }\n if (type === 'bulletList' || type === 'orderedList') {\n // to apply the nearlist list state in the nested list\n if (listEnabled) {\n toolbarState[type] = { active: true };\n toolbarState.indent.disabled = false;\n toolbarState.outdent.disabled = false;\n listEnabled = false;\n }\n }\n else {\n toolbarState[type] = { active: true };\n }\n });\n return toolbarState;\n}\nfunction previewHighlight(_a) {\n var toastMark = _a.toastMark, eventEmitter = _a.eventEmitter;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n view: function () {\n return {\n update: function (view, prevState) {\n var state = view.state;\n var doc = state.doc, selection = state.selection;\n if (prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection)) {\n return;\n }\n var from = selection.from;\n var startChOffset = state.doc.resolve(from).start();\n var line = state.doc.content.findIndex(from).index + 1;\n var ch = from - startChOffset;\n if (from === startChOffset) {\n ch += 1;\n }\n var cursorPos = [line, ch];\n var mdNode = toastMark.findNodeAtPosition(cursorPos);\n var toolbarState = getToolbarState$1(mdNode);\n eventEmitter.emit('changeToolbarState', {\n cursorPos: cursorPos,\n mdNode: mdNode,\n toolbarState: toolbarState,\n });\n eventEmitter.emit('setFocusedNode', mdNode);\n },\n };\n },\n });\n}\n\nvar Doc$1 = /** @class */ (function (_super) {\n __extends$1(Doc, _super);\n function Doc() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Doc.prototype, \"name\", {\n get: function () {\n return 'doc';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Doc.prototype, \"schema\", {\n get: function () {\n return {\n content: 'block+',\n };\n },\n enumerable: false,\n configurable: true\n });\n return Doc;\n}(Node$2));\n\nvar Mark = /** @class */ (function () {\n function Mark() {\n }\n Object.defineProperty(Mark.prototype, \"type\", {\n get: function () {\n return 'mark';\n },\n enumerable: false,\n configurable: true\n });\n Mark.prototype.setContext = function (context) {\n this.context = context;\n };\n return Mark;\n}());\n\nfunction getTextByMdLine(doc, mdLine) {\n return getTextContent(doc, mdLine - 1);\n}\nfunction getTextContent(doc, index) {\n return doc.child(index).textContent;\n}\n\nvar reBlockQuote = /^\\s*> ?/;\nvar BlockQuote$1 = /** @class */ (function (_super) {\n __extends$1(BlockQuote, _super);\n function BlockQuote() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BlockQuote.prototype, \"name\", {\n get: function () {\n return 'blockQuote';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BlockQuote.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('block-quote') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n BlockQuote.prototype.createBlockQuoteText = function (text, isBlockQuote) {\n return isBlockQuote ? text.replace(reBlockQuote, '').trim() : \"> \" + text.trim();\n };\n BlockQuote.prototype.extendBlockQuote = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, tr = _a.tr, schema = _a.schema;\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n var isBlockQuote = reBlockQuote.test(textContent);\n if (isBlockQuote && to > endFromOffset && selection.empty) {\n var isEmpty = !textContent.replace(reBlockQuote, '').trim();\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n var slicedText = textContent.slice(to - endFromOffset).trim();\n var node = createTextNode$1(schema, _this.createBlockQuoteText(slicedText));\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n BlockQuote.prototype.commands = function () {\n var _this = this;\n return function () { return function (state, dispatch) {\n var selection = state.selection, doc = state.doc;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n var isBlockQuote = reBlockQuote.test(getTextContent(doc, startIndex));\n var tr = replaceTextNode({\n state: state,\n startIndex: startIndex,\n endIndex: endIndex,\n from: startFromOffset,\n createText: function (textContent) { return _this.createBlockQuoteText(textContent, isBlockQuote); },\n });\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n BlockQuote.prototype.keymaps = function () {\n var blockQuoteCommand = this.commands()();\n return {\n 'alt-q': blockQuoteCommand,\n 'alt-Q': blockQuoteCommand,\n Enter: this.extendBlockQuote(),\n };\n };\n return BlockQuote;\n}(Mark));\n\nvar reList = /(^\\s*)([-*+] |[\\d]+\\. )/;\nvar reOrderedList = /(^\\s*)([\\d])+\\.( \\[[ xX]])? /;\nvar reOrderedListGroup = /^(\\s*)((\\d+)([.)]\\s(?:\\[(?:x|\\s)\\]\\s)?))(.*)/;\nvar reCanBeTaskList = /(^\\s*)([-*+]|[\\d]+\\.)( \\[[ xX]])? /;\nvar reBulletListGroup = /^(\\s*)([-*+]+(\\s(?:\\[(?:x|\\s)\\]\\s)?))(.*)/;\nvar reTaskList = /(^\\s*)([-*+] |[\\d]+\\. )(\\[[ xX]] )/;\nvar reBulletTaskList = /(^\\s*)([-*+])( \\[[ xX]]) /;\nfunction getListType(text) {\n return reOrderedList.test(text) ? 'ordered' : 'bullet';\n}\nfunction getListDepth(mdNode) {\n var depth = 0;\n while (mdNode && mdNode.type !== 'document') {\n if (mdNode.type === 'list') {\n depth += 1;\n }\n mdNode = mdNode.parent;\n }\n return depth;\n}\nfunction findSameDepthList(toastMark, currentLine, depth, backward) {\n var lineTexts = toastMark.getLineTexts();\n var lineLen = lineTexts.length;\n var result = [];\n var line = currentLine;\n while (backward ? line < lineLen : line > 1) {\n line = backward ? line + 1 : line - 1;\n var mdNode = toastMark.findFirstNodeAtLine(line);\n var currentListDepth = getListDepth(mdNode);\n if (currentListDepth === depth) {\n result.push({ line: line, depth: depth, mdNode: mdNode });\n }\n else if (currentListDepth < depth) {\n break;\n }\n }\n return result;\n}\nfunction getSameDepthItems(_a) {\n var toastMark = _a.toastMark, mdNode = _a.mdNode, line = _a.line;\n var depth = getListDepth(mdNode);\n var forwardList = findSameDepthList(toastMark, line, depth, false).reverse();\n var backwardList = findSameDepthList(toastMark, line, depth, true);\n return forwardList.concat([{ line: line, depth: depth, mdNode: mdNode }]).concat(backwardList);\n}\nfunction textToBullet(text) {\n if (!reList.test(text)) {\n return \"* \" + text;\n }\n var type = getListType(text);\n if (type === 'bullet' && reCanBeTaskList.test(text)) {\n text = text.replace(reBulletTaskList, '$1$2 ');\n }\n else if (type === 'ordered') {\n text = text.replace(reOrderedList, '$1* ');\n }\n return text;\n}\nfunction textToOrdered(text, ordinalNum) {\n if (!reList.test(text)) {\n return ordinalNum + \". \" + text;\n }\n var type = getListType(text);\n if (type === 'bullet' || (type === 'ordered' && reCanBeTaskList.test(text))) {\n text = text.replace(reCanBeTaskList, \"$1\" + ordinalNum + \". \");\n }\n else if (type === 'ordered') {\n // eslint-disable-next-line prefer-destructuring\n var start = reOrderedListGroup.exec(text)[3];\n if (Number(start) !== ordinalNum) {\n text = text.replace(reOrderedList, \"$1\" + ordinalNum + \". \");\n }\n }\n return text;\n}\nfunction getChangedInfo(doc, sameDepthItems, type, start) {\n if (start === void 0) { start = 0; }\n var firstIndex = Number.MAX_VALUE;\n var lastIndex = 0;\n var changedResults = sameDepthItems.map(function (_a, index) {\n var line = _a.line;\n firstIndex = Math.min(line - 1, firstIndex);\n lastIndex = Math.max(line - 1, lastIndex);\n var text = getTextByMdLine(doc, line);\n text = type === 'bullet' ? textToBullet(text) : textToOrdered(text, index + 1 + start);\n return { text: text, line: line };\n });\n return { changedResults: changedResults, firstIndex: firstIndex, lastIndex: lastIndex };\n}\nfunction getBulletOrOrdered(type, context) {\n var sameDepthListInfo = getSameDepthItems(context);\n return getChangedInfo(context.doc, sameDepthListInfo, type);\n}\nvar otherListToList = {\n bullet: function (context) {\n return getBulletOrOrdered('bullet', context);\n },\n ordered: function (context) {\n return getBulletOrOrdered('ordered', context);\n },\n task: function (_a) {\n var mdNode = _a.mdNode, doc = _a.doc, line = _a.line;\n var text = getTextByMdLine(doc, line);\n if (mdNode.listData.task) {\n text = text.replace(reTaskList, '$1$2');\n }\n else if (isListNode$1(mdNode)) {\n text = text.replace(reList, '$1$2[ ] ');\n }\n return { changedResults: [{ text: text, line: line }] };\n },\n};\nvar otherNodeToList = {\n bullet: function (_a) {\n var doc = _a.doc, line = _a.line;\n var lineText = getTextByMdLine(doc, line);\n var changedResults = [{ text: \"* \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n ordered: function (_a) {\n var toastMark = _a.toastMark, doc = _a.doc, line = _a.line, startLine = _a.startLine;\n var lineText = getTextByMdLine(doc, line);\n var firstOrderedListNum = 1;\n var firstOrderedListLine = startLine;\n var skipped = 0;\n for (var i = startLine - 1; i > 0; i -= 1) {\n var mdNode = toastMark.findFirstNodeAtLine(i);\n var text = getTextByMdLine(doc, i);\n var canBeListNode = text && !!findClosestNode(mdNode, function (targetNode) { return isListNode$1(targetNode); });\n var searchResult = reOrderedListGroup.exec(getTextByMdLine(doc, i));\n if (!searchResult && !canBeListNode) {\n break;\n }\n if (!searchResult && canBeListNode) {\n skipped += 1;\n continue;\n }\n var _b = searchResult, indent = _b[1], start = _b[3];\n // basis on one depth list\n if (!indent) {\n firstOrderedListNum = Number(start);\n firstOrderedListLine = i;\n break;\n }\n }\n var ordinalNum = firstOrderedListNum + line - firstOrderedListLine - skipped;\n var changedResults = [{ text: ordinalNum + \". \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n task: function (_a) {\n var doc = _a.doc, line = _a.line;\n var lineText = getTextByMdLine(doc, line);\n var changedResults = [{ text: \"* [ ] \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n};\nvar extendList = {\n bullet: function (_a) {\n var line = _a.line, doc = _a.doc;\n var lineText = getTextByMdLine(doc, line);\n var _b = reBulletListGroup.exec(lineText), indent = _b[1], delimiter = _b[2];\n return { listSyntax: \"\" + indent + delimiter };\n },\n ordered: function (_a) {\n var toastMark = _a.toastMark, line = _a.line, mdNode = _a.mdNode, doc = _a.doc;\n var depth = getListDepth(mdNode);\n var lineText = getTextByMdLine(doc, line);\n var _b = reOrderedListGroup.exec(lineText), indent = _b[1], start = _b[3], delimiter = _b[4];\n var ordinalNum = Number(start) + 1;\n var listSyntax = \"\" + indent + ordinalNum + delimiter;\n var backwardList = findSameDepthList(toastMark, line, depth, true);\n var filteredList = backwardList.filter(function (info) {\n var searchResult = reOrderedListGroup.exec(getTextByMdLine(doc, info.line));\n return (searchResult &&\n searchResult[1].length === indent.length &&\n !!findClosestNode(info.mdNode, function (targetNode) { return isOrderedListNode(targetNode); }));\n });\n return __assign$1({ listSyntax: listSyntax }, getChangedInfo(doc, filteredList, 'ordered', ordinalNum));\n },\n};\nfunction getReorderedListInfo(doc, schema, line, ordinalNum, prevIndentLength) {\n var nodes = [];\n var lineText = getTextByMdLine(doc, line);\n var searchResult = reOrderedListGroup.exec(lineText);\n while (searchResult) {\n var indent = searchResult[1], delimiter = searchResult[4], text = searchResult[5];\n var indentLength = indent.length;\n if (indentLength === prevIndentLength) {\n nodes.push(createTextNode$1(schema, \"\" + indent + ordinalNum + delimiter + text));\n ordinalNum += 1;\n line += 1;\n }\n else if (indentLength > prevIndentLength) {\n var nestedListInfo = getReorderedListInfo(doc, schema, line, 1, indentLength);\n line = nestedListInfo.line;\n nodes = nodes.concat(nestedListInfo.nodes);\n }\n if (indentLength < prevIndentLength || line > doc.childCount) {\n break;\n }\n lineText = getTextByMdLine(doc, line);\n searchResult = reOrderedListGroup.exec(lineText);\n }\n return { nodes: nodes, line: line };\n}\n\nvar reStartSpace = /(^\\s{1,4})(.*)/;\nfunction isBlockUnit(from, to, text) {\n return from < to || reList.test(text) || reBlockQuote.test(text);\n}\nfunction isInTableCellNode(doc, schema, selection) {\n var $pos = selection.$from;\n if ($pos.depth === 0) {\n $pos = doc.resolve($pos.pos - 1);\n }\n var node = $pos.node(1);\n var startOffset = $pos.start(1);\n var contentSize = node.content.size;\n return (node.rangeHasMark(0, contentSize, schema.marks.table) &&\n $pos.pos - startOffset !== contentSize &&\n $pos.pos !== startOffset);\n}\nfunction createSelection(tr, posInfo) {\n var from = posInfo.from, to = posInfo.to;\n if (posInfo.type === 'indent') {\n var softTabLen = 4;\n from += softTabLen;\n to += (posInfo.lineLen + 1) * softTabLen;\n }\n else {\n var spaceLenList = posInfo.spaceLenList;\n from -= spaceLenList[0];\n for (var i = 0; i < spaceLenList.length; i += 1) {\n to -= spaceLenList[i];\n }\n }\n return createTextSelection(tr, from, to);\n}\nvar Paragraph$1 = /** @class */ (function (_super) {\n __extends$1(Paragraph, _super);\n function Paragraph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Paragraph.prototype, \"name\", {\n get: function () {\n return 'paragraph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Paragraph.prototype, \"schema\", {\n get: function () {\n return {\n content: 'inline*',\n attrs: {\n className: { default: null },\n codeStart: { default: null },\n codeEnd: { default: null },\n },\n selectable: false,\n group: 'block',\n parseDOM: [{ tag: 'div' }],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return attrs.className\n ? ['div', { class: clsWithMdPrefix(attrs.className) }, 0]\n : ['div', 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Paragraph.prototype.reorderList = function (startLine, endLine) {\n var _a = this.context, view = _a.view, toastMark = _a.toastMark, schema = _a.schema;\n var _b = view.state, tr = _b.tr, selection = _b.selection, doc = _b.doc;\n var mdNode = toastMark.findFirstNodeAtLine(startLine);\n var topListNode = mdNode;\n while (mdNode && !isBulletListNode(mdNode) && mdNode.parent.type !== 'document') {\n mdNode = mdNode.parent;\n if (isOrderedListNode(mdNode)) {\n topListNode = mdNode;\n break;\n }\n }\n if (topListNode) {\n startLine = topListNode.sourcepos[0][0];\n }\n var _c = reOrderedListGroup.exec(getTextByMdLine(doc, startLine)), indent = _c[1], start = _c[3];\n var indentLen = indent.length;\n var _d = getReorderedListInfo(doc, schema, startLine, Number(start), indentLen), line = _d.line, nodes = _d.nodes;\n endLine = Math.max(endLine, line - 1);\n var startOffset = getNodeContentOffsetRange(doc, startLine - 1).startOffset;\n for (var i = startLine - 1; i <= endLine - 1; i += 1) {\n var _e = doc.child(i), nodeSize = _e.nodeSize, content = _e.content;\n var mappedFrom = tr.mapping.map(startOffset);\n var mappedTo = mappedFrom + content.size;\n tr.replaceWith(mappedFrom, mappedTo, nodes[i - startLine + 1]);\n startOffset += nodeSize;\n }\n var newSelection = createTextSelection(tr, selection.from, selection.to);\n view.dispatch(tr.setSelection(newSelection));\n };\n Paragraph.prototype.indent = function (tabKey) {\n var _this = this;\n if (tabKey === void 0) { tabKey = false; }\n return function () { return function (state, dispatch) {\n var schema = state.schema, selection = state.selection, doc = state.doc;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, startFromOffset = _a.startFromOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n if (tabKey && isInTableCellNode(doc, schema, selection)) {\n return false;\n }\n var startLineText = getTextContent(doc, startIndex);\n if ((tabKey && isBlockUnit(from, to, startLineText)) ||\n (!tabKey && reList.test(startLineText))) {\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) { return \" \" + textContent; },\n });\n var posInfo = {\n type: 'indent',\n from: from,\n to: to,\n lineLen: endIndex - startIndex,\n };\n dispatch(tr.setSelection(createSelection(tr, posInfo)));\n if (reOrderedListGroup.test(startLineText)) {\n _this.reorderList(startIndex + 1, endIndex + 1);\n }\n }\n else if (tabKey) {\n dispatch(state.tr.insert(to, createTextNode$1(schema, ' ')));\n }\n return true;\n }; };\n };\n Paragraph.prototype.outdent = function (tabKey) {\n var _this = this;\n if (tabKey === void 0) { tabKey = false; }\n return function () { return function (state, dispatch) {\n var selection = state.selection, doc = state.doc, schema = state.schema;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, startFromOffset = _a.startFromOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n if (tabKey && isInTableCellNode(doc, schema, selection)) {\n return false;\n }\n var startLineText = getTextContent(doc, startIndex);\n if ((tabKey && isBlockUnit(from, to, startLineText)) ||\n (!tabKey && reList.test(startLineText))) {\n var spaceLenList_1 = [];\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) {\n var searchResult = reStartSpace.exec(textContent);\n spaceLenList_1.push(searchResult ? searchResult[1].length : 0);\n return textContent.replace(reStartSpace, '$2');\n },\n });\n var posInfo = { type: 'outdent', from: from, to: to, spaceLenList: spaceLenList_1 };\n dispatch(tr.setSelection(createSelection(tr, posInfo)));\n if (reOrderedListGroup.test(startLineText)) {\n _this.reorderList(startIndex + 1, endIndex + 1);\n }\n }\n else if (tabKey) {\n var startText = startLineText.slice(0, to - startFromOffset);\n var startTextWithoutSpace = startText.replace(/\\s{1,4}$/, '');\n var deletStart = to - (startText.length - startTextWithoutSpace.length);\n dispatch(state.tr.delete(deletStart, to));\n }\n return true;\n }; };\n };\n Paragraph.prototype.deleteLines = function () {\n var _this = this;\n return function (state, dispatch) {\n var view = _this.context.view;\n var _a = getRangeInfo(state.selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n var deleteRange = function () {\n dispatch(state.tr.deleteRange(startFromOffset, endToOffset));\n return true;\n };\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"chainCommands\"])(deleteRange, prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"joinForward\"])(state, dispatch, view);\n };\n };\n Paragraph.prototype.moveDown = function () {\n return function (state, dispatch) {\n var doc = state.doc, tr = state.tr, selection = state.selection, schema = state.schema;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, endIndex = _a.endIndex;\n if (endIndex < doc.content.childCount - 1) {\n var _b = doc.child(endIndex + 1), nodeSize = _b.nodeSize, textContent = _b.textContent;\n tr.delete(endToOffset, endToOffset + nodeSize)\n .split(startFromOffset)\n // subtract 2(start, end tag length) to insert prev line\n .insert(tr.mapping.map(startFromOffset) - 2, createTextNode$1(schema, textContent));\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Paragraph.prototype.moveUp = function () {\n return function (state, dispatch) {\n var tr = state.tr, doc = state.doc, selection = state.selection, schema = state.schema;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex;\n if (startIndex > 0) {\n var _b = doc.child(startIndex - 1), nodeSize = _b.nodeSize, textContent = _b.textContent;\n tr.delete(startFromOffset - nodeSize, startFromOffset)\n .split(tr.mapping.map(endToOffset))\n .insert(tr.mapping.map(endToOffset), createTextNode$1(schema, textContent));\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Paragraph.prototype.commands = function () {\n return {\n indent: this.indent(),\n outdent: this.outdent(),\n };\n };\n Paragraph.prototype.keymaps = function () {\n return {\n Tab: this.indent(true)(),\n 'Shift-Tab': this.outdent(true)(),\n 'Mod-d': this.deleteLines(),\n 'Mod-D': this.deleteLines(),\n 'Alt-ArrowUp': this.moveUp(),\n 'Alt-ArrowDown': this.moveDown(),\n };\n };\n return Paragraph;\n}(Node$2));\n\nvar Text$1 = /** @class */ (function (_super) {\n __extends$1(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Text.prototype, \"name\", {\n get: function () {\n return 'text';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Text.prototype, \"schema\", {\n get: function () {\n return {\n group: 'inline',\n };\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(Node$2));\n\nvar reHeading = /^#{1,6}\\s/;\nvar Heading$1 = /** @class */ (function (_super) {\n __extends$1(Heading, _super);\n function Heading() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Heading.prototype, \"name\", {\n get: function () {\n return 'heading';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Heading.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n level: { default: 1 },\n seText: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var level = attrs.level, seText = attrs.seText;\n var classNames = \"heading|heading\" + level;\n if (seText) {\n classNames += '|delimiter|setext';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Heading.prototype.createHeadingText = function (level, text, curHeadingSyntax) {\n var textContent = text.replace(curHeadingSyntax, '').trim();\n var headingText = '';\n while (level > 0) {\n headingText += '#';\n level -= 1;\n }\n return headingText + \" \" + textContent;\n };\n Heading.prototype.commands = function () {\n var _this = this;\n return function (payload) { return function (state, dispatch) {\n var level = payload.level;\n var _a = getRangeInfo(state.selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) {\n var matchedHeading = textContent.match(reHeading);\n var curHeadingSyntax = matchedHeading ? matchedHeading[0] : '';\n return _this.createHeadingText(level, textContent, curHeadingSyntax);\n },\n });\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n return Heading;\n}(Mark));\n\nvar fencedCodeBlockSyntax = '```';\nvar CodeBlock$1 = /** @class */ (function (_super) {\n __extends$1(CodeBlock, _super);\n function CodeBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CodeBlock.prototype, \"name\", {\n get: function () {\n return 'codeBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CodeBlock.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('code-block') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CodeBlock.prototype.commands = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n var fencedNode = createTextNode$1(schema, fencedCodeBlockSyntax);\n // add fenced start block\n tr.insert(startFromOffset, fencedNode).split(startFromOffset + fencedCodeBlockSyntax.length);\n // add fenced end block\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), fencedNode);\n dispatch(tr.setSelection(\n // subtract fenced syntax length and open, close tag(2)\n createTextSelection(tr, tr.mapping.map(endToOffset) - (fencedCodeBlockSyntax.length + 2))));\n return true;\n }; };\n };\n CodeBlock.prototype.keepIndentation = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), startFromOffset = _b.startFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, from = _b.from, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n if (from === to && textContent.trim()) {\n var matched = textContent.match(/^\\s+/);\n var mdNode = toastMark.findFirstNodeAtLine(endIndex + 1);\n if (isCodeBlockNode(mdNode) && matched) {\n var spaces = matched[0];\n var slicedText = textContent.slice(to - startFromOffset);\n var node = createTextNode$1(schema, spaces + slicedText);\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n dispatch(tr);\n return true;\n }\n }\n return false;\n };\n };\n CodeBlock.prototype.keymaps = function () {\n var codeBlockCommand = this.commands()();\n return {\n 'Shift-Mod-p': codeBlockCommand,\n 'Shift-Mod-P': codeBlockCommand,\n Enter: this.keepIndentation(),\n };\n };\n return CodeBlock;\n}(Mark));\n\nvar reEmptyTable = /\\||\\s/g;\nfunction createTableHeader(columnCount) {\n return [createTableRow(columnCount), createTableRow(columnCount, true)];\n}\nfunction createTableBody$1(columnCount, rowCount) {\n var bodyRows = [];\n for (var i = 0; i < rowCount; i += 1) {\n bodyRows.push(createTableRow(columnCount));\n }\n return bodyRows;\n}\nfunction createTableRow(columnCount, delim) {\n var row = '|';\n for (var i = 0; i < columnCount; i += 1) {\n row += delim ? ' --- |' : ' |';\n }\n return row;\n}\nfunction createTargetTypes(moveNext) {\n return moveNext\n ? { type: 'next', parentType: 'tableHead', childType: 'firstChild' }\n : { type: 'prev', parentType: 'tableBody', childType: 'lastChild' };\n}\nvar Table$1 = /** @class */ (function (_super) {\n __extends$1(Table, _super);\n function Table() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Table.prototype, \"name\", {\n get: function () {\n return 'table';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Table.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('table') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Table.prototype.extendTable = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, tr = _a.tr, schema = _a.schema;\n if (!selection.empty) {\n return false;\n }\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdPos = [endIndex + 1, to - endFromOffset + 1];\n var mdNode = _this.context.toastMark.findNodeAtPosition(mdPos);\n var cellNode = findClosestNode(mdNode, function (node) {\n return isTableCellNode(node) &&\n (node.parent.type === 'tableDelimRow' || node.parent.parent.type === 'tableBody');\n });\n if (cellNode) {\n var isEmpty = !textContent.replace(reEmptyTable, '').trim();\n var parent_1 = cellNode.parent;\n var columnCount = parent_1.parent.parent.columns.length;\n var row = createTableRow(columnCount);\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n tr\n .split(endToOffset)\n .insert(tr.mapping.map(endToOffset), createTextNode$1(schema, row))\n // should subtract `2` to selection end position considering ` |` text\n .setSelection(createTextSelection(tr, tr.mapping.map(endToOffset) - 2));\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Table.prototype.moveTableCell = function (moveNext) {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr;\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endIndex = _b.endIndex, to = _b.to;\n var mdPos = [endIndex + 1, to - endFromOffset];\n var mdNode = _this.context.toastMark.findNodeAtPosition(mdPos);\n var cellNode = findClosestNode(mdNode, function (node) { return isTableCellNode(node); });\n if (cellNode) {\n var parent_2 = cellNode.parent;\n var _c = createTargetTypes(moveNext), type = _c.type, parentType = _c.parentType, childType = _c.childType;\n var chOffset = getMdEndCh(cellNode);\n if (cellNode[type]) {\n chOffset = getMdEndCh(cellNode[type]) - 1;\n }\n else {\n var row = !parent_2[type] && parent_2.parent.type === parentType\n ? parent_2.parent[type][childType]\n : parent_2[type];\n if (type === 'next') {\n // if there is next row, the base offset would be end position of the next row's first child.\n // Otherwise, the base offset is zero.\n var baseOffset = row ? getMdEndCh(row[childType]) : 0;\n // calculate tag(open, close) position('2') for selection\n chOffset += baseOffset + 2;\n }\n else if (type === 'prev') {\n // if there is prev row, the target position would be '-4' for calculating ' |' characters and tag(open, close)\n // Otherwise, the target position is zero.\n chOffset = row ? -4 : 0;\n }\n }\n dispatch(tr.setSelection(createTextSelection(tr, endFromOffset + chOffset)));\n return true;\n }\n return false;\n };\n };\n Table.prototype.addTable = function () {\n return function (payload) { return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, schema = _a.schema;\n var _b = payload, columnCount = _b.columnCount, rowCount = _b.rowCount;\n var endToOffset = getRangeInfo(selection).endToOffset;\n var headerRows = createTableHeader(columnCount);\n var bodyRows = createTableBody$1(columnCount, rowCount - 1);\n var rows = __spreadArray$1(__spreadArray$1([], headerRows), bodyRows);\n rows.forEach(function (row) {\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), createTextNode$1(schema, row));\n });\n // should add `4` to selection position considering `| ` text and start block tag length\n dispatch(tr.setSelection(createTextSelection(tr, endToOffset + 4)));\n return true;\n }; };\n };\n Table.prototype.commands = function () {\n return { addTable: this.addTable() };\n };\n Table.prototype.keymaps = function () {\n return {\n Enter: this.extendTable(),\n Tab: this.moveTableCell(true),\n 'Shift-Tab': this.moveTableCell(false),\n };\n };\n return Table;\n}(Mark));\n\nvar thematicBreakSyntax = '***';\nvar ThematicBreak$1 = /** @class */ (function (_super) {\n __extends$1(ThematicBreak, _super);\n function ThematicBreak() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ThematicBreak.prototype, \"name\", {\n get: function () {\n return 'thematicBreak';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ThematicBreak.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('thematic-break') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ThematicBreak.prototype.hr = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, endToOffset = _a.endToOffset;\n var node = createTextNode$1(schema, thematicBreakSyntax);\n tr\n .split(from)\n .replaceWith(tr.mapping.map(from), tr.mapping.map(to), node)\n .split(tr.mapping.map(to)).setSelection(createTextSelection(tr, tr.mapping.map(endToOffset)));\n dispatch(tr);\n return true;\n }; };\n };\n ThematicBreak.prototype.commands = function () {\n return { hr: this.hr() };\n };\n ThematicBreak.prototype.keymaps = function () {\n var lineCommand = this.hr()();\n return { 'Mod-l': lineCommand, 'Mod-L': lineCommand };\n };\n return ThematicBreak;\n}(Mark));\n\nfunction cannotBeListNode(_a, line) {\n var type = _a.type, sourcepos = _a.sourcepos;\n // eslint-disable-next-line prefer-destructuring\n var startLine = sourcepos[0][0];\n return line <= startLine && (type === 'codeBlock' || type === 'heading' || type.match('table'));\n}\nvar ListItem$1 = /** @class */ (function (_super) {\n __extends$1(ListItem, _super);\n function ListItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ListItem.prototype, \"name\", {\n get: function () {\n return 'listItem';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListItem.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n odd: { default: false },\n even: { default: false },\n listStyle: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var odd = attrs.odd, even = attrs.even, listStyle = attrs.listStyle;\n var classNames = 'list-item';\n if (listStyle) {\n classNames += '|list-item-style';\n }\n if (odd) {\n classNames += '|list-item-odd';\n }\n if (even) {\n classNames += '|list-item-even';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ListItem.prototype.extendList = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, schema = _a.schema, tr = _a.tr;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), to = _b.to, startFromOffset = _b.startFromOffset, endFromOffset = _b.endFromOffset, endIndex = _b.endIndex, endToOffset = _b.endToOffset;\n var textContent = getTextContent(doc, endIndex);\n var isList = reList.test(textContent);\n if (!isList || selection.from === startFromOffset || !selection.empty) {\n return false;\n }\n var isEmpty = !textContent.replace(reCanBeTaskList, '').trim();\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n var commandType = getListType(textContent);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdNode = toastMark.findFirstNodeAtLine(endIndex + 1);\n var slicedText = textContent.slice(to - endFromOffset);\n var context = { toastMark: toastMark, mdNode: mdNode, doc: doc, line: endIndex + 1 };\n var _c = extendList[commandType](context), listSyntax = _c.listSyntax, changedResults = _c.changedResults;\n // change ordinal number of backward ordered list\n if (changedResults === null || changedResults === void 0 ? void 0 : changedResults.length) {\n // split the block\n tr.split(to);\n // set first ordered list info\n changedResults.unshift({ text: listSyntax + slicedText, line: endIndex + 1 });\n _this.changeToListPerLine(tr, changedResults, {\n from: to,\n // don't subtract 1 because the line has increased through 'split' command.\n startLine: changedResults[0].line,\n endLine: last$1(changedResults).line,\n });\n var pos = tr.mapping.map(endToOffset) - slicedText.length;\n tr.setSelection(createTextSelection(tr, pos));\n }\n else {\n var node = createTextNode$1(schema, listSyntax + slicedText);\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n }\n }\n dispatch(tr);\n return true;\n };\n };\n ListItem.prototype.toList = function (commandType) {\n var _this = this;\n return function () { return function (_a, dispatch) {\n var doc = _a.doc, tr = _a.tr, selection = _a.selection;\n var toastMark = _this.context.toastMark;\n var rangeInfo = getRangeInfo(selection);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var startLine = rangeInfo.startIndex + 1;\n var endLine = rangeInfo.endIndex + 1;\n var endToOffset = rangeInfo.endToOffset;\n var skipLines = [];\n for (var line = startLine; line <= endLine; line += 1) {\n var mdNode = toastMark.findFirstNodeAtLine(line);\n if (mdNode && cannotBeListNode(mdNode, line)) {\n break;\n }\n // to skip unnecessary processing\n if (skipLines.indexOf(line) !== -1) {\n continue;\n }\n var context = { toastMark: toastMark, mdNode: mdNode, doc: doc, line: line, startLine: startLine };\n var changedResults = (isListNode$1(mdNode)\n ? otherListToList[commandType](context)\n : otherNodeToList[commandType](context)).changedResults;\n var endOffset = _this.changeToListPerLine(tr, changedResults, {\n from: getNodeContentOffsetRange(doc, changedResults[0].line - 1).startOffset,\n startLine: changedResults[0].line,\n endLine: last$1(changedResults).line,\n indexDiff: 1,\n });\n endToOffset = Math.max(endOffset, endToOffset);\n if (changedResults) {\n skipLines = skipLines.concat(changedResults.map(function (info) { return info.line; }));\n }\n }\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n ListItem.prototype.changeToListPerLine = function (tr, changedResults, _a) {\n var from = _a.from, startLine = _a.startLine, endLine = _a.endLine, _b = _a.indexDiff, indexDiff = _b === void 0 ? 0 : _b;\n var maxEndOffset = 0;\n var _loop_1 = function (i) {\n var _c = tr.doc.child(i), nodeSize = _c.nodeSize, content = _c.content;\n var mappedFrom = tr.mapping.map(from);\n var mappedTo = mappedFrom + content.size;\n var changedResult = changedResults.filter(function (result) { return result.line - indexDiff === i; })[0];\n if (changedResult) {\n tr.replaceWith(mappedFrom, mappedTo, createTextNode$1(this_1.context.schema, changedResult.text));\n maxEndOffset = Math.max(maxEndOffset, from + content.size);\n }\n from += nodeSize;\n };\n var this_1 = this;\n for (var i = startLine - indexDiff; i <= endLine - indexDiff; i += 1) {\n _loop_1(i);\n }\n return maxEndOffset;\n };\n ListItem.prototype.toggleTask = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), startIndex = _b.startIndex, endIndex = _b.endIndex;\n var newTr = null;\n for (var i = startIndex; i <= endIndex; i += 1) {\n var mdNode = toastMark.findFirstNodeAtLine(i + 1);\n if (isListNode$1(mdNode) && mdNode.listData.task) {\n var _c = mdNode.listData, checked = _c.checked, padding = _c.padding;\n var stateChar = checked ? ' ' : 'x';\n var mdPos = mdNode.sourcepos[0];\n var startOffset = getNodeContentOffsetRange(doc, mdPos[0] - 1).startOffset;\n startOffset += mdPos[1] + padding;\n newTr = tr.replaceWith(startOffset, startOffset + 1, schema.text(stateChar));\n }\n }\n if (newTr) {\n dispatch(newTr);\n return true;\n }\n return false;\n };\n };\n ListItem.prototype.commands = function () {\n return {\n bulletList: this.toList('bullet'),\n orderedList: this.toList('ordered'),\n taskList: this.toList('task'),\n };\n };\n ListItem.prototype.keymaps = function () {\n var bulletCommand = this.toList('bullet')();\n var orderedCommand = this.toList('ordered')();\n var taskCommand = this.toList('task')();\n var togleTaskCommand = this.toggleTask();\n return {\n 'Mod-u': bulletCommand,\n 'Mod-U': bulletCommand,\n 'Mod-o': orderedCommand,\n 'Mod-O': orderedCommand,\n 'alt-t': taskCommand,\n 'alt-T': taskCommand,\n 'Shift-Ctrl-x': togleTaskCommand,\n 'Shift-Ctrl-X': togleTaskCommand,\n Enter: this.extendList(),\n };\n };\n return ListItem;\n}(Mark));\n\nfunction toggleMark(condition, syntax) {\n return function () { return function (_a, dispatch) {\n var tr = _a.tr, selection = _a.selection;\n var conditionFn = !isFunction_1(condition)\n ? function (text) { return condition.test(text); }\n : condition;\n var syntaxLen = syntax.length;\n var doc = tr.doc;\n var _b = resolveSelectionPos(selection), from = _b[0], to = _b[1];\n var prevPos = Math.max(from - syntaxLen, 1);\n var nextPos = Math.min(to + syntaxLen, doc.content.size - 1);\n var slice = selection.content();\n var textContent = slice.content.textBetween(0, slice.content.size, '\\n');\n var prevText = doc.textBetween(prevPos, from, '\\n');\n var nextText = doc.textBetween(to, nextPos, '\\n');\n textContent = \"\" + prevText + textContent + nextText;\n if (prevText && nextText && conditionFn(textContent)) {\n tr.delete(nextPos - syntaxLen, nextPos).delete(prevPos, prevPos + syntaxLen);\n }\n else {\n tr.insertText(syntax, to).insertText(syntax, from);\n var newSelection = selection.empty\n ? createTextSelection(tr, from + syntaxLen)\n : createTextSelection(tr, from + syntaxLen, to + syntaxLen);\n tr.setSelection(newSelection);\n }\n dispatch(tr);\n return true;\n }; };\n}\n\nvar reStrong = /^(\\*{2}|_{2}).*([\\s\\S]*)\\1$/m;\nvar strongSyntax = '**';\nvar Strong$1 = /** @class */ (function (_super) {\n __extends$1(Strong, _super);\n function Strong() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strong.prototype, \"name\", {\n get: function () {\n return 'strong';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strong.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('strong') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strong.prototype.bold = function () {\n return toggleMark(reStrong, strongSyntax);\n };\n Strong.prototype.commands = function () {\n return { bold: this.bold() };\n };\n Strong.prototype.keymaps = function () {\n var boldCommand = this.bold()();\n return { 'Mod-b': boldCommand, 'Mod-B': boldCommand };\n };\n return Strong;\n}(Mark));\n\nvar reStrike = /^(~{2}).*([\\s\\S]*)\\1$/m;\nvar strikeSyntax = '~~';\nvar Strike$1 = /** @class */ (function (_super) {\n __extends$1(Strike, _super);\n function Strike() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strike.prototype, \"name\", {\n get: function () {\n return 'strike';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strike.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('strike') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strike.prototype.commands = function () {\n return toggleMark(reStrike, strikeSyntax);\n };\n Strike.prototype.keymaps = function () {\n var strikeCommand = this.commands()();\n return { 'Mod-s': strikeCommand, 'Mod-S': strikeCommand };\n };\n return Strike;\n}(Mark));\n\nvar reEmph = /^(\\*|_).*([\\s\\S]*)\\1$/m;\nvar emphSyntax = '*';\nvar Emph$1 = /** @class */ (function (_super) {\n __extends$1(Emph, _super);\n function Emph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Emph.prototype, \"name\", {\n get: function () {\n return 'emph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Emph.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('emph') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Emph.prototype.italic = function () {\n return toggleMark(reEmph, emphSyntax);\n };\n Emph.prototype.commands = function () {\n return { italic: this.italic() };\n };\n Emph.prototype.keymaps = function () {\n var italicCommand = this.italic()();\n return { 'Mod-i': italicCommand, 'Mod-I': italicCommand };\n };\n return Emph;\n}(Mark));\n\nvar reCode = /^(`).*([\\s\\S]*)\\1$/m;\nvar codeSyntax = '`';\nvar Code$1 = /** @class */ (function (_super) {\n __extends$1(Code, _super);\n function Code() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Code.prototype, \"name\", {\n get: function () {\n return 'code';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Code.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n start: { default: false },\n end: { default: false },\n marked: { default: false },\n },\n toDOM: function (mark) {\n var _a = mark.attrs, start = _a.start, end = _a.end, marked = _a.marked;\n var classNames = 'code';\n if (start) {\n classNames += '|delimiter|start';\n }\n if (end) {\n classNames += '|delimiter|end';\n }\n if (marked) {\n classNames += '|marked-text';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Code.prototype.commands = function () {\n return toggleMark(reCode, codeSyntax);\n };\n Code.prototype.keymaps = function () {\n var codeCommand = this.commands()();\n return { 'Shift-Mod-c': codeCommand, 'Shift-Mod-C': codeCommand };\n };\n return Code;\n}(Mark));\n\nvar Link$1 = /** @class */ (function (_super) {\n __extends$1(Link, _super);\n function Link() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Link.prototype, \"name\", {\n get: function () {\n return 'link';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Link.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n url: { default: false },\n desc: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var url = attrs.url, desc = attrs.desc;\n var classNames = 'link';\n if (url) {\n classNames += '|link-url|marked-text';\n }\n if (desc) {\n classNames += '|link-desc|marked-text';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Link.prototype.addLinkOrImage = function (commandType) {\n return function (payload) { return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, schema = _a.schema;\n var _b = resolveSelectionPos(selection), from = _b[0], to = _b[1];\n var _c = payload, linkText = _c.linkText, altText = _c.altText, linkUrl = _c.linkUrl, imageUrl = _c.imageUrl;\n var text = linkText;\n var url = linkUrl;\n var syntax = '';\n if (commandType === 'image') {\n text = altText;\n url = imageUrl;\n syntax = '!';\n }\n text = escapeTextForLink(text);\n syntax += \"[\" + text + \"](\" + url + \")\";\n dispatch(tr.replaceWith(from, to, createTextNode$1(schema, syntax)));\n return true;\n }; };\n };\n Link.prototype.commands = function () {\n return {\n addImage: this.addLinkOrImage('image'),\n addLink: this.addLinkOrImage('link'),\n };\n };\n return Link;\n}(Mark));\n\nvar TaskDelimiter = /** @class */ (function (_super) {\n __extends$1(TaskDelimiter, _super);\n function TaskDelimiter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TaskDelimiter.prototype, \"name\", {\n get: function () {\n return 'taskDelimiter';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TaskDelimiter.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('delimiter', 'list-item') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TaskDelimiter;\n}(Mark));\nvar Delimiter = /** @class */ (function (_super) {\n __extends$1(Delimiter, _super);\n function Delimiter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Delimiter.prototype, \"name\", {\n get: function () {\n return 'delimiter';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Delimiter.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('delimiter') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Delimiter;\n}(Mark));\nvar Meta = /** @class */ (function (_super) {\n __extends$1(Meta, _super);\n function Meta() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Meta.prototype, \"name\", {\n get: function () {\n return 'meta';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Meta.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('meta') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Meta;\n}(Mark));\nvar MarkedText = /** @class */ (function (_super) {\n __extends$1(MarkedText, _super);\n function MarkedText() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MarkedText.prototype, \"name\", {\n get: function () {\n return 'markedText';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MarkedText.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('marked-text') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return MarkedText;\n}(Mark));\nvar TableCell = /** @class */ (function (_super) {\n __extends$1(TableCell, _super);\n function TableCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableCell.prototype, \"name\", {\n get: function () {\n return 'tableCell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableCell.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('table-cell') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableCell;\n}(Mark));\n\nvar Html = /** @class */ (function (_super) {\n __extends$1(Html, _super);\n function Html() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Html.prototype, \"name\", {\n get: function () {\n return 'html';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Html.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('html') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Html;\n}(Mark));\n\nvar customBlockSyntax = '$$';\nvar CustomBlock$1 = /** @class */ (function (_super) {\n __extends$1(CustomBlock, _super);\n function CustomBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CustomBlock.prototype, \"name\", {\n get: function () {\n return 'customBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CustomBlock.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('custom-block') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CustomBlock.prototype.commands = function () {\n return function (payload) { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n if (!(payload === null || payload === void 0 ? void 0 : payload.info)) {\n return false;\n }\n var customBlock = \"\" + customBlockSyntax + payload.info;\n var startNode = createTextNode$1(schema, customBlock);\n var endNode = createTextNode$1(schema, customBlockSyntax);\n tr.insert(startFromOffset, startNode).split(startFromOffset + customBlock.length);\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), endNode);\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset) - (customBlockSyntax.length + 2))));\n return true;\n }; };\n };\n return CustomBlock;\n}(Mark));\n\nvar reTaskMarkerKey = /x|backspace/i;\nvar reTaskMarker = /^\\[(\\s*)(x?)(\\s*)\\](?:\\s+)/i;\nfunction smartTask(_a) {\n var schema = _a.schema, toastMark = _a.toastMark;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n keyup: function (view, ev) {\n var _a;\n var _b = view.state, doc = _b.doc, tr = _b.tr, selection = _b.selection;\n if (selection.empty && reTaskMarkerKey.test(ev.key)) {\n var _c = getRangeInfo(selection), startIndex = _c.startIndex, startFromOffset = _c.startFromOffset, from = _c.from;\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdPos = [startIndex + 1, from - startFromOffset + 1];\n var mdNode = toastMark.findNodeAtPosition(mdPos);\n var paraNode = findClosestNode(mdNode, function (node) { var _a; return node.type === 'paragraph' && ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === 'item'; });\n if ((_a = paraNode === null || paraNode === void 0 ? void 0 : paraNode.firstChild) === null || _a === void 0 ? void 0 : _a.literal) {\n var firstChild = paraNode.firstChild;\n var matched = firstChild.literal.match(reTaskMarker);\n if (matched) {\n var startMdPos = firstChild.sourcepos[0];\n var startSpaces = matched[1], stateChar = matched[2], lastSpaces = matched[3];\n var spaces = startSpaces.length + lastSpaces.length;\n var startOffset = getNodeContentOffsetRange(doc, startMdPos[0] - 1).startOffset;\n var startPos = startMdPos[1] + startOffset;\n if (stateChar) {\n var addedPos = spaces ? spaces + 1 : 0;\n tr.replaceWith(startPos, addedPos + startPos, schema.text(stateChar));\n view.dispatch(tr);\n }\n else if (!spaces) {\n tr.insertText(' ', startPos);\n view.dispatch(tr);\n }\n }\n }\n }\n return false;\n },\n },\n },\n });\n}\n\nvar EVENT_TYPE = 'cut';\nvar reLineEnding$2 = /\\r\\n|\\n|\\r/;\nvar MdEditor = /** @class */ (function (_super) {\n __extends$1(MdEditor, _super);\n function MdEditor(eventEmitter, options) {\n var _this = _super.call(this, eventEmitter) || this;\n var toastMark = options.toastMark, _a = options.useCommandShortcut, useCommandShortcut = _a === void 0 ? true : _a, _b = options.mdPlugins, mdPlugins = _b === void 0 ? [] : _b;\n _this.editorType = 'markdown';\n _this.el.classList.add('md-mode');\n _this.toastMark = toastMark;\n _this.extraPlugins = mdPlugins;\n _this.specs = _this.createSpecs();\n _this.schema = _this.createSchema();\n _this.context = _this.createContext();\n _this.keymaps = _this.createKeymaps(useCommandShortcut);\n _this.view = _this.createView();\n _this.commands = _this.createCommands();\n _this.specs.setContext(__assign$1(__assign$1({}, _this.context), { view: _this.view }));\n _this.createClipboard();\n // To prevent unnecessary focus setting during initial rendering\n _this.eventEmitter.listen('changePreviewTabWrite', function (isMarkdownTabMounted) {\n return _this.toggleActive(true, isMarkdownTabMounted);\n });\n _this.eventEmitter.listen('changePreviewTabPreview', function () { return _this.toggleActive(false); });\n _this.initEvent();\n return _this;\n }\n MdEditor.prototype.toggleActive = function (active, isMarkdownTabMounted) {\n toggleClass(this.el, 'active', active);\n if (active) {\n if (!isMarkdownTabMounted) {\n this.focus();\n }\n }\n else {\n this.blur();\n }\n };\n MdEditor.prototype.createClipboard = function () {\n var _this = this;\n this.clipboard = document.createElement('textarea');\n this.clipboard.className = cls('pseudo-clipboard');\n this.clipboard.addEventListener('paste', function (ev) {\n var clipboardData = ev.clipboardData || window.clipboardData;\n var items = clipboardData && clipboardData.items;\n if (items) {\n var containRtfItem = toArray_1(items).some(function (item) { return item.kind === 'string' && item.type === 'text/rtf'; });\n // if it contains rtf, it's most likely copy paste from office -> no image\n if (!containRtfItem) {\n var imageBlob = pasteImageOnly(items);\n if (imageBlob) {\n ev.preventDefault();\n emitImageBlobHook(_this.eventEmitter, imageBlob, ev.type);\n }\n }\n }\n });\n // process the pasted data in input event for IE11\n this.clipboard.addEventListener('input', function (ev) {\n var text = ev.target.value;\n _this.replaceSelection(text);\n ev.preventDefault();\n ev.target.value = '';\n });\n this.el.insertBefore(this.clipboard, this.view.dom);\n };\n MdEditor.prototype.createContext = function () {\n return {\n toastMark: this.toastMark,\n schema: this.schema,\n eventEmitter: this.eventEmitter,\n };\n };\n MdEditor.prototype.createSpecs = function () {\n return new SpecManager([\n new Doc$1(),\n new Paragraph$1(),\n new Widget(),\n new Text$1(),\n new Heading$1(),\n new BlockQuote$1(),\n new CodeBlock$1(),\n new CustomBlock$1(),\n new Table$1(),\n new TableCell(),\n new ThematicBreak$1(),\n new ListItem$1(),\n new Strong$1(),\n new Strike$1(),\n new Emph$1(),\n new Code$1(),\n new Link$1(),\n new Delimiter(),\n new TaskDelimiter(),\n new MarkedText(),\n new Meta(),\n new Html(),\n ]);\n };\n MdEditor.prototype.createPlugins = function () {\n return __spreadArray$1([\n syntaxHighlight(this.context),\n previewHighlight(this.context),\n smartTask(this.context)\n ], this.createPluginProps()).concat(this.defaultPlugins);\n };\n MdEditor.prototype.createView = function () {\n var _this = this;\n return new prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"EditorView\"](this.el, {\n state: this.createState(),\n dispatchTransaction: function (tr) {\n _this.updateMarkdown(tr);\n var state = _this.view.state.applyTransaction(tr).state;\n _this.view.updateState(state);\n _this.emitChangeEvent(tr);\n },\n handleKeyDown: function (_, ev) {\n if ((ev.metaKey || ev.ctrlKey) && ev.key.toUpperCase() === 'V') {\n _this.clipboard.focus();\n }\n _this.eventEmitter.emit('keydown', _this.editorType, ev);\n return false;\n },\n handleDOMEvents: {\n copy: function (_, ev) { return _this.captureCopy(ev); },\n cut: function (_, ev) { return _this.captureCopy(ev, EVENT_TYPE); },\n scroll: function () {\n _this.eventEmitter.emit('scroll', 'editor');\n return true;\n },\n keyup: function (_, ev) {\n _this.eventEmitter.emit('keyup', _this.editorType, ev);\n return false;\n },\n },\n nodeViews: {\n widget: widgetNodeView,\n },\n });\n };\n MdEditor.prototype.createCommands = function () {\n return this.specs.commands(this.view);\n };\n MdEditor.prototype.captureCopy = function (ev, type) {\n ev.preventDefault();\n var _a = this.view.state, selection = _a.selection, tr = _a.tr;\n if (selection.empty) {\n return true;\n }\n var text = this.getChanged(selection.content());\n if (ev.clipboardData) {\n ev.clipboardData.setData('text/plain', text);\n }\n else {\n window.clipboardData.setData('Text', text);\n }\n if (type === EVENT_TYPE) {\n this.view.dispatch(tr.deleteSelection().scrollIntoView().setMeta('uiEvent', EVENT_TYPE));\n }\n return true;\n };\n MdEditor.prototype.updateMarkdown = function (tr) {\n var _this = this;\n if (tr.docChanged) {\n tr.steps.forEach(function (step, index) {\n if (step.slice && !(step instanceof prosemirror_transform__WEBPACK_IMPORTED_MODULE_2__[\"ReplaceAroundStep\"])) {\n var doc = tr.docs[index];\n var _a = [step.from, step.to], from = _a[0], to = _a[1];\n var _b = getEditorToMdPos(doc, from, to), startPos = _b[0], endPos = _b[1];\n var changed = _this.getChanged(step.slice);\n if (startPos[0] === endPos[0] && startPos[1] === endPos[1] && changed === '') {\n changed = '\\n';\n }\n var editResult = _this.toastMark.editMarkdown(startPos, endPos, changed);\n _this.eventEmitter.emit('updatePreview', editResult);\n tr.setMeta('editResult', editResult).scrollIntoView();\n }\n });\n }\n };\n MdEditor.prototype.getChanged = function (slice) {\n var changed = '';\n var from = 0;\n var to = slice.content.size;\n slice.content.nodesBetween(from, to, function (node, pos) {\n if (node.isText) {\n changed += node.text.slice(Math.max(from, pos) - pos, to - pos);\n }\n else if (node.isBlock && pos > 0) {\n changed += '\\n';\n }\n });\n return changed;\n };\n MdEditor.prototype.setSelection = function (start, end) {\n if (end === void 0) { end = start; }\n var tr = this.view.state.tr;\n var _a = getMdToEditorPos(tr.doc, start, end), from = _a[0], to = _a[1];\n this.view.dispatch(tr.setSelection(createTextSelection(tr, from, to)).scrollIntoView());\n };\n MdEditor.prototype.replaceSelection = function (text, start, end) {\n var newTr;\n var _a = this.view.state, tr = _a.tr, schema = _a.schema, doc = _a.doc;\n var lineTexts = text.split(reLineEnding$2);\n var nodes = lineTexts.map(function (lineText) {\n return createParagraph(schema, createNodesWithWidget(lineText, schema));\n });\n var slice = new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(nodes), 1, 1);\n this.focus();\n if (start && end) {\n var _b = getMdToEditorPos(doc, start, end), from = _b[0], to = _b[1];\n newTr = tr.replaceRange(from, to, slice);\n }\n else {\n newTr = tr.replaceSelection(slice);\n }\n this.view.dispatch(newTr.scrollIntoView());\n };\n MdEditor.prototype.deleteSelection = function (start, end) {\n var newTr;\n var _a = this.view.state, tr = _a.tr, doc = _a.doc;\n if (start && end) {\n var _b = getMdToEditorPos(doc, start, end), from = _b[0], to = _b[1];\n newTr = tr.deleteRange(from, to);\n }\n else {\n newTr = tr.deleteSelection();\n }\n this.view.dispatch(newTr.scrollIntoView());\n };\n MdEditor.prototype.getSelectedText = function (start, end) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var from = selection.from, to = selection.to;\n if (start && end) {\n var pos = getMdToEditorPos(doc, start, end);\n from = pos[0];\n to = pos[1];\n }\n return doc.textBetween(from, to, '\\n');\n };\n MdEditor.prototype.getSelection = function () {\n var _a = this.view.state.selection, from = _a.from, to = _a.to;\n return getEditorToMdPos(this.view.state.tr.doc, from, to);\n };\n MdEditor.prototype.setMarkdown = function (markdown, cursorToEnd) {\n if (cursorToEnd === void 0) { cursorToEnd = true; }\n var lineTexts = markdown.split(reLineEnding$2);\n var _a = this.view.state, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var nodes = lineTexts.map(function (lineText) {\n return createParagraph(schema, createNodesWithWidget(lineText, schema));\n });\n this.view.dispatch(tr.replaceWith(0, doc.content.size, nodes));\n if (cursorToEnd) {\n this.moveCursorToEnd(true);\n }\n };\n MdEditor.prototype.addWidget = function (node, style, mdPos) {\n var _a = this.view.state, tr = _a.tr, doc = _a.doc, selection = _a.selection;\n var pos = mdPos ? getMdToEditorPos(doc, mdPos, mdPos)[0] : selection.to;\n this.view.dispatch(tr.setMeta('widget', { pos: pos, node: node, style: style }));\n };\n MdEditor.prototype.replaceWithWidget = function (start, end, text) {\n var _a = this.view.state, tr = _a.tr, schema = _a.schema, doc = _a.doc;\n var pos = getMdToEditorPos(doc, start, end);\n var nodes = createNodesWithWidget(text, schema);\n this.view.dispatch(tr.replaceWith(pos[0], pos[1], nodes));\n };\n MdEditor.prototype.getRangeInfoOfNode = function (pos) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var mdPos = pos || getEditorToMdPos(doc, selection.from)[0];\n var mdNode = this.toastMark.findNodeAtPosition(mdPos);\n if (mdNode.type === 'text' && mdNode.parent.type !== 'paragraph') {\n mdNode = mdNode.parent;\n }\n // add 1 sync for prosemirror position\n mdNode.sourcepos[1][1] += 1;\n return { range: mdNode.sourcepos, type: mdNode.type };\n };\n MdEditor.prototype.getMarkdown = function () {\n return this.toastMark\n .getLineTexts()\n .map(function (lineText) { return unwrapWidgetSyntax(lineText); })\n .join('\\n');\n };\n MdEditor.prototype.getToastMark = function () {\n return this.toastMark;\n };\n return MdEditor;\n}(EditorBase));\n\n/**\n * @fileoverview Get event collection for specific HTML element\n * @author NHN FE Development Lab \n */\n\nvar EVENT_KEY = '_feEventKey';\n\n/**\n * Get event collection for specific HTML element\n * @param {HTMLElement} element - HTML element\n * @param {string} type - event type\n * @returns {array}\n * @private\n */\nfunction safeEvent$2(element, type) {\n var events = element[EVENT_KEY];\n var handlers;\n\n if (!events) {\n events = element[EVENT_KEY] = {};\n }\n\n handlers = events[type];\n if (!handlers) {\n handlers = events[type] = [];\n }\n\n return handlers;\n}\n\nvar _safeEvent = safeEvent$2;\n\n/**\n * @fileoverview Unbind DOM events\n * @author NHN FE Development Lab \n */\n\nvar isString$1 = isString_1;\nvar forEach$1 = forEach_1;\n\nvar safeEvent$1 = _safeEvent;\n\n/**\n * Unbind DOM events\n * If a handler function is not passed, remove all events of that type.\n * @param {HTMLElement} element - element to unbind events\n * @param {(string|object)} types - Space splitted events names or eventName:handler object\n * @param {function} [handler] - handler function\n * @memberof module:domEvent\n * @example\n * // Following the example of domEvent#on\n * \n * // Unbind one event from an element.\n * off(div, 'click', toggle);\n * \n * // Unbind multiple events with a same handler from multiple elements at once.\n * // Use event names splitted by a space.\n * off(element, 'mouseenter mouseleave', changeColor);\n * \n * // Unbind multiple events with different handlers from an element at once.\n * // Use an object which of key is an event name and value is a handler function.\n * off(div, {\n * keydown: highlight,\n * keyup: dehighlight\n * });\n * \n * // Unbind events without handlers.\n * off(div, 'drag');\n */\nfunction off(element, types, handler) {\n if (isString$1(types)) {\n forEach$1(types.split(/\\s+/g), function(type) {\n unbindEvent(element, type, handler);\n });\n\n return;\n }\n\n forEach$1(types, function(func, type) {\n unbindEvent(element, type, func);\n });\n}\n\n/**\n * Unbind DOM events\n * If a handler function is not passed, remove all events of that type.\n * @param {HTMLElement} element - element to unbind events\n * @param {string} type - events name\n * @param {function} [handler] - handler function\n * @private\n */\nfunction unbindEvent(element, type, handler) {\n var events = safeEvent$1(element, type);\n var index;\n\n if (!handler) {\n forEach$1(events, function(item) {\n removeHandler(element, type, item.wrappedHandler);\n });\n events.splice(0, events.length);\n } else {\n forEach$1(events, function(item, idx) {\n if (handler === item.handler) {\n removeHandler(element, type, item.wrappedHandler);\n index = idx;\n\n return false;\n }\n\n return true;\n });\n events.splice(index, 1);\n }\n}\n\n/**\n * Remove an event handler\n * @param {HTMLElement} element - An element to remove an event\n * @param {string} type - event type\n * @param {function} handler - event handler\n * @private\n */\nfunction removeHandler(element, type, handler) {\n if ('removeEventListener' in element) {\n element.removeEventListener(type, handler);\n } else if ('detachEvent' in element) {\n element.detachEvent('on' + type, handler);\n }\n}\n\nvar off_1 = off;\n\n/**\n * @fileoverview Bind DOM events\n * @author NHN FE Development Lab \n */\n\nvar isString = isString_1;\nvar forEach = forEach_1;\n\nvar safeEvent = _safeEvent;\n\n/**\n * Bind DOM events.\n * @param {HTMLElement} element - element to bind events\n * @param {(string|object)} types - Space splitted events names or eventName:handler object\n * @param {(function|object)} handler - handler function or context for handler method\n * @param {object} [context] context - context for handler method.\n * @memberof module:domEvent\n * @example\n * const div = document.querySelector('div');\n * \n * // Bind one event to an element.\n * on(div, 'click', toggle);\n * \n * // Bind multiple events with a same handler to multiple elements at once.\n * // Use event names splitted by a space.\n * on(div, 'mouseenter mouseleave', changeColor);\n * \n * // Bind multiple events with different handlers to an element at once.\n * // Use an object which of key is an event name and value is a handler function.\n * on(div, {\n * keydown: highlight,\n * keyup: dehighlight\n * });\n * \n * // Set a context for handler method.\n * const name = 'global';\n * const repository = {name: 'CodeSnippet'};\n * on(div, 'drag', function() {\n * console.log(this.name);\n * }, repository);\n * // Result when you drag a div: \"CodeSnippet\"\n */\nfunction on(element, types, handler, context) {\n if (isString(types)) {\n forEach(types.split(/\\s+/g), function(type) {\n bindEvent(element, type, handler, context);\n });\n\n return;\n }\n\n forEach(types, function(func, type) {\n bindEvent(element, type, func, handler);\n });\n}\n\n/**\n * Bind DOM events\n * @param {HTMLElement} element - element to bind events\n * @param {string} type - events name\n * @param {function} handler - handler function or context for handler method\n * @param {object} [context] context - context for handler method.\n * @private\n */\nfunction bindEvent(element, type, handler, context) {\n /**\n * Event handler\n * @param {Event} e - event object\n */\n function eventHandler(e) {\n handler.call(context || element, e || window.event);\n }\n\n if ('addEventListener' in element) {\n element.addEventListener(type, eventHandler);\n } else if ('attachEvent' in element) {\n element.attachEvent('on' + type, eventHandler);\n }\n memorizeHandler(element, type, handler, eventHandler);\n}\n\n/**\n * Memorize DOM event handler for unbinding.\n * @param {HTMLElement} element - element to bind events\n * @param {string} type - events name\n * @param {function} handler - handler function that user passed at on() use\n * @param {function} wrappedHandler - handler function that wrapped by domevent for implementing some features\n * @private\n */\nfunction memorizeHandler(element, type, handler, wrappedHandler) {\n var events = safeEvent(element, type);\n var existInEvents = false;\n\n forEach(events, function(obj) {\n if (obj.handler === handler) {\n existInEvents = true;\n\n return false;\n }\n\n return true;\n });\n\n if (!existInEvents) {\n events.push({\n handler: handler,\n wrappedHandler: wrappedHandler\n });\n }\n}\n\nvar on_1 = on;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode$1(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode$1.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode$1.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode$1.componentChars = \"-_.!~*'()\";\n\n\nvar encode_1 = encode$1;\n\nvar lib = {};\n\nvar decode = {};\n\nvar Aacute$1 = \"Á\";\nvar aacute$1 = \"á\";\nvar Abreve = \"Ă\";\nvar abreve = \"ă\";\nvar ac = \"∾\";\nvar acd = \"∿\";\nvar acE = \"∾̳\";\nvar Acirc$1 = \"Â\";\nvar acirc$1 = \"â\";\nvar acute$1 = \"´\";\nvar Acy = \"А\";\nvar acy = \"а\";\nvar AElig$1 = \"Æ\";\nvar aelig$1 = \"æ\";\nvar af = \"⁡\";\nvar Afr = \"𝔄\";\nvar afr = \"𝔞\";\nvar Agrave$1 = \"À\";\nvar agrave$1 = \"à\";\nvar alefsym = \"ℵ\";\nvar aleph = \"ℵ\";\nvar Alpha = \"Α\";\nvar alpha = \"α\";\nvar Amacr = \"Ā\";\nvar amacr = \"ā\";\nvar amalg = \"⨿\";\nvar amp$2 = \"&\";\nvar AMP$1 = \"&\";\nvar andand = \"⩕\";\nvar And = \"⩓\";\nvar and = \"∧\";\nvar andd = \"⩜\";\nvar andslope = \"⩘\";\nvar andv = \"⩚\";\nvar ang = \"∠\";\nvar ange = \"⦤\";\nvar angle = \"∠\";\nvar angmsdaa = \"⦨\";\nvar angmsdab = \"⦩\";\nvar angmsdac = \"⦪\";\nvar angmsdad = \"⦫\";\nvar angmsdae = \"⦬\";\nvar angmsdaf = \"⦭\";\nvar angmsdag = \"⦮\";\nvar angmsdah = \"⦯\";\nvar angmsd = \"∡\";\nvar angrt = \"∟\";\nvar angrtvb = \"⊾\";\nvar angrtvbd = \"⦝\";\nvar angsph = \"∢\";\nvar angst = \"Å\";\nvar angzarr = \"⍼\";\nvar Aogon = \"Ą\";\nvar aogon = \"ą\";\nvar Aopf = \"𝔸\";\nvar aopf = \"𝕒\";\nvar apacir = \"⩯\";\nvar ap = \"≈\";\nvar apE = \"⩰\";\nvar ape = \"≊\";\nvar apid = \"≋\";\nvar apos$1 = \"'\";\nvar ApplyFunction = \"⁡\";\nvar approx = \"≈\";\nvar approxeq = \"≊\";\nvar Aring$1 = \"Å\";\nvar aring$1 = \"å\";\nvar Ascr = \"𝒜\";\nvar ascr = \"𝒶\";\nvar Assign = \"≔\";\nvar ast = \"*\";\nvar asymp = \"≈\";\nvar asympeq = \"≍\";\nvar Atilde$1 = \"Ã\";\nvar atilde$1 = \"ã\";\nvar Auml$1 = \"Ä\";\nvar auml$1 = \"ä\";\nvar awconint = \"∳\";\nvar awint = \"⨑\";\nvar backcong = \"≌\";\nvar backepsilon = \"϶\";\nvar backprime = \"‵\";\nvar backsim = \"∽\";\nvar backsimeq = \"⋍\";\nvar Backslash = \"∖\";\nvar Barv = \"⫧\";\nvar barvee = \"⊽\";\nvar barwed = \"⌅\";\nvar Barwed = \"⌆\";\nvar barwedge = \"⌅\";\nvar bbrk = \"⎵\";\nvar bbrktbrk = \"⎶\";\nvar bcong = \"≌\";\nvar Bcy = \"Б\";\nvar bcy = \"б\";\nvar bdquo = \"„\";\nvar becaus = \"∵\";\nvar because = \"∵\";\nvar Because = \"∵\";\nvar bemptyv = \"⦰\";\nvar bepsi = \"϶\";\nvar bernou = \"ℬ\";\nvar Bernoullis = \"ℬ\";\nvar Beta = \"Β\";\nvar beta = \"β\";\nvar beth = \"ℶ\";\nvar between = \"≬\";\nvar Bfr = \"𝔅\";\nvar bfr = \"𝔟\";\nvar bigcap = \"⋂\";\nvar bigcirc = \"◯\";\nvar bigcup = \"⋃\";\nvar bigodot = \"⨀\";\nvar bigoplus = \"⨁\";\nvar bigotimes = \"⨂\";\nvar bigsqcup = \"⨆\";\nvar bigstar = \"★\";\nvar bigtriangledown = \"▽\";\nvar bigtriangleup = \"△\";\nvar biguplus = \"⨄\";\nvar bigvee = \"⋁\";\nvar bigwedge = \"⋀\";\nvar bkarow = \"⤍\";\nvar blacklozenge = \"⧫\";\nvar blacksquare = \"▪\";\nvar blacktriangle = \"▴\";\nvar blacktriangledown = \"▾\";\nvar blacktriangleleft = \"◂\";\nvar blacktriangleright = \"▸\";\nvar blank = \"␣\";\nvar blk12 = \"▒\";\nvar blk14 = \"░\";\nvar blk34 = \"▓\";\nvar block = \"█\";\nvar bne = \"=⃥\";\nvar bnequiv = \"≡⃥\";\nvar bNot = \"⫭\";\nvar bnot = \"⌐\";\nvar Bopf = \"𝔹\";\nvar bopf = \"𝕓\";\nvar bot = \"⊥\";\nvar bottom = \"⊥\";\nvar bowtie = \"⋈\";\nvar boxbox = \"⧉\";\nvar boxdl = \"┐\";\nvar boxdL = \"╕\";\nvar boxDl = \"╖\";\nvar boxDL = \"╗\";\nvar boxdr = \"┌\";\nvar boxdR = \"╒\";\nvar boxDr = \"╓\";\nvar boxDR = \"╔\";\nvar boxh = \"─\";\nvar boxH = \"═\";\nvar boxhd = \"┬\";\nvar boxHd = \"╤\";\nvar boxhD = \"╥\";\nvar boxHD = \"╦\";\nvar boxhu = \"┴\";\nvar boxHu = \"╧\";\nvar boxhU = \"╨\";\nvar boxHU = \"╩\";\nvar boxminus = \"⊟\";\nvar boxplus = \"⊞\";\nvar boxtimes = \"⊠\";\nvar boxul = \"┘\";\nvar boxuL = \"╛\";\nvar boxUl = \"╜\";\nvar boxUL = \"╝\";\nvar boxur = \"└\";\nvar boxuR = \"╘\";\nvar boxUr = \"╙\";\nvar boxUR = \"╚\";\nvar boxv = \"│\";\nvar boxV = \"║\";\nvar boxvh = \"┼\";\nvar boxvH = \"╪\";\nvar boxVh = \"╫\";\nvar boxVH = \"╬\";\nvar boxvl = \"┤\";\nvar boxvL = \"╡\";\nvar boxVl = \"╢\";\nvar boxVL = \"╣\";\nvar boxvr = \"├\";\nvar boxvR = \"╞\";\nvar boxVr = \"╟\";\nvar boxVR = \"╠\";\nvar bprime = \"‵\";\nvar breve = \"˘\";\nvar Breve = \"˘\";\nvar brvbar$1 = \"¦\";\nvar bscr = \"𝒷\";\nvar Bscr = \"ℬ\";\nvar bsemi = \"⁏\";\nvar bsim = \"∽\";\nvar bsime = \"⋍\";\nvar bsolb = \"⧅\";\nvar bsol = \"\\\\\";\nvar bsolhsub = \"⟈\";\nvar bull = \"•\";\nvar bullet = \"•\";\nvar bump = \"≎\";\nvar bumpE = \"⪮\";\nvar bumpe = \"≏\";\nvar Bumpeq = \"≎\";\nvar bumpeq = \"≏\";\nvar Cacute = \"Ć\";\nvar cacute = \"ć\";\nvar capand = \"⩄\";\nvar capbrcup = \"⩉\";\nvar capcap = \"⩋\";\nvar cap = \"∩\";\nvar Cap = \"⋒\";\nvar capcup = \"⩇\";\nvar capdot = \"⩀\";\nvar CapitalDifferentialD = \"ⅅ\";\nvar caps = \"∩︀\";\nvar caret = \"⁁\";\nvar caron = \"ˇ\";\nvar Cayleys = \"ℭ\";\nvar ccaps = \"⩍\";\nvar Ccaron = \"Č\";\nvar ccaron = \"č\";\nvar Ccedil$1 = \"Ç\";\nvar ccedil$1 = \"ç\";\nvar Ccirc = \"Ĉ\";\nvar ccirc = \"ĉ\";\nvar Cconint = \"∰\";\nvar ccups = \"⩌\";\nvar ccupssm = \"⩐\";\nvar Cdot = \"Ċ\";\nvar cdot = \"ċ\";\nvar cedil$1 = \"¸\";\nvar Cedilla = \"¸\";\nvar cemptyv = \"⦲\";\nvar cent$1 = \"¢\";\nvar centerdot = \"·\";\nvar CenterDot = \"·\";\nvar cfr = \"𝔠\";\nvar Cfr = \"ℭ\";\nvar CHcy = \"Ч\";\nvar chcy = \"ч\";\nvar check = \"✓\";\nvar checkmark = \"✓\";\nvar Chi = \"Χ\";\nvar chi = \"χ\";\nvar circ = \"ˆ\";\nvar circeq = \"≗\";\nvar circlearrowleft = \"↺\";\nvar circlearrowright = \"↻\";\nvar circledast = \"⊛\";\nvar circledcirc = \"⊚\";\nvar circleddash = \"⊝\";\nvar CircleDot = \"⊙\";\nvar circledR = \"®\";\nvar circledS = \"Ⓢ\";\nvar CircleMinus = \"⊖\";\nvar CirclePlus = \"⊕\";\nvar CircleTimes = \"⊗\";\nvar cir = \"○\";\nvar cirE = \"⧃\";\nvar cire = \"≗\";\nvar cirfnint = \"⨐\";\nvar cirmid = \"⫯\";\nvar cirscir = \"⧂\";\nvar ClockwiseContourIntegral = \"∲\";\nvar CloseCurlyDoubleQuote = \"”\";\nvar CloseCurlyQuote = \"’\";\nvar clubs = \"♣\";\nvar clubsuit = \"♣\";\nvar colon = \":\";\nvar Colon = \"∷\";\nvar Colone = \"⩴\";\nvar colone = \"≔\";\nvar coloneq = \"≔\";\nvar comma = \",\";\nvar commat = \"@\";\nvar comp = \"∁\";\nvar compfn = \"∘\";\nvar complement = \"∁\";\nvar complexes = \"ℂ\";\nvar cong = \"≅\";\nvar congdot = \"⩭\";\nvar Congruent = \"≡\";\nvar conint = \"∮\";\nvar Conint = \"∯\";\nvar ContourIntegral = \"∮\";\nvar copf = \"𝕔\";\nvar Copf = \"ℂ\";\nvar coprod = \"∐\";\nvar Coproduct = \"∐\";\nvar copy$1 = \"©\";\nvar COPY$1 = \"©\";\nvar copysr = \"℗\";\nvar CounterClockwiseContourIntegral = \"∳\";\nvar crarr = \"↵\";\nvar cross = \"✗\";\nvar Cross = \"⨯\";\nvar Cscr = \"𝒞\";\nvar cscr = \"𝒸\";\nvar csub = \"⫏\";\nvar csube = \"⫑\";\nvar csup = \"⫐\";\nvar csupe = \"⫒\";\nvar ctdot = \"⋯\";\nvar cudarrl = \"⤸\";\nvar cudarrr = \"⤵\";\nvar cuepr = \"⋞\";\nvar cuesc = \"⋟\";\nvar cularr = \"↶\";\nvar cularrp = \"⤽\";\nvar cupbrcap = \"⩈\";\nvar cupcap = \"⩆\";\nvar CupCap = \"≍\";\nvar cup = \"∪\";\nvar Cup = \"⋓\";\nvar cupcup = \"⩊\";\nvar cupdot = \"⊍\";\nvar cupor = \"⩅\";\nvar cups = \"∪︀\";\nvar curarr = \"↷\";\nvar curarrm = \"⤼\";\nvar curlyeqprec = \"⋞\";\nvar curlyeqsucc = \"⋟\";\nvar curlyvee = \"⋎\";\nvar curlywedge = \"⋏\";\nvar curren$1 = \"¤\";\nvar curvearrowleft = \"↶\";\nvar curvearrowright = \"↷\";\nvar cuvee = \"⋎\";\nvar cuwed = \"⋏\";\nvar cwconint = \"∲\";\nvar cwint = \"∱\";\nvar cylcty = \"⌭\";\nvar dagger = \"†\";\nvar Dagger = \"‡\";\nvar daleth = \"ℸ\";\nvar darr = \"↓\";\nvar Darr = \"↡\";\nvar dArr = \"⇓\";\nvar dash = \"‐\";\nvar Dashv = \"⫤\";\nvar dashv = \"⊣\";\nvar dbkarow = \"⤏\";\nvar dblac = \"˝\";\nvar Dcaron = \"Ď\";\nvar dcaron = \"ď\";\nvar Dcy = \"Д\";\nvar dcy = \"д\";\nvar ddagger = \"‡\";\nvar ddarr = \"⇊\";\nvar DD = \"ⅅ\";\nvar dd = \"ⅆ\";\nvar DDotrahd = \"⤑\";\nvar ddotseq = \"⩷\";\nvar deg$1 = \"°\";\nvar Del = \"∇\";\nvar Delta = \"Δ\";\nvar delta = \"δ\";\nvar demptyv = \"⦱\";\nvar dfisht = \"⥿\";\nvar Dfr = \"𝔇\";\nvar dfr = \"𝔡\";\nvar dHar = \"⥥\";\nvar dharl = \"⇃\";\nvar dharr = \"⇂\";\nvar DiacriticalAcute = \"´\";\nvar DiacriticalDot = \"˙\";\nvar DiacriticalDoubleAcute = \"˝\";\nvar DiacriticalGrave = \"`\";\nvar DiacriticalTilde = \"˜\";\nvar diam = \"⋄\";\nvar diamond = \"⋄\";\nvar Diamond = \"⋄\";\nvar diamondsuit = \"♦\";\nvar diams = \"♦\";\nvar die = \"¨\";\nvar DifferentialD = \"ⅆ\";\nvar digamma = \"ϝ\";\nvar disin = \"⋲\";\nvar div = \"÷\";\nvar divide$1 = \"÷\";\nvar divideontimes = \"⋇\";\nvar divonx = \"⋇\";\nvar DJcy = \"Ђ\";\nvar djcy = \"ђ\";\nvar dlcorn = \"⌞\";\nvar dlcrop = \"⌍\";\nvar dollar = \"$\";\nvar Dopf = \"𝔻\";\nvar dopf = \"𝕕\";\nvar Dot = \"¨\";\nvar dot = \"˙\";\nvar DotDot = \"⃜\";\nvar doteq = \"≐\";\nvar doteqdot = \"≑\";\nvar DotEqual = \"≐\";\nvar dotminus = \"∸\";\nvar dotplus = \"∔\";\nvar dotsquare = \"⊡\";\nvar doublebarwedge = \"⌆\";\nvar DoubleContourIntegral = \"∯\";\nvar DoubleDot = \"¨\";\nvar DoubleDownArrow = \"⇓\";\nvar DoubleLeftArrow = \"⇐\";\nvar DoubleLeftRightArrow = \"⇔\";\nvar DoubleLeftTee = \"⫤\";\nvar DoubleLongLeftArrow = \"⟸\";\nvar DoubleLongLeftRightArrow = \"⟺\";\nvar DoubleLongRightArrow = \"⟹\";\nvar DoubleRightArrow = \"⇒\";\nvar DoubleRightTee = \"⊨\";\nvar DoubleUpArrow = \"⇑\";\nvar DoubleUpDownArrow = \"⇕\";\nvar DoubleVerticalBar = \"∥\";\nvar DownArrowBar = \"⤓\";\nvar downarrow = \"↓\";\nvar DownArrow = \"↓\";\nvar Downarrow = \"⇓\";\nvar DownArrowUpArrow = \"⇵\";\nvar DownBreve = \"̑\";\nvar downdownarrows = \"⇊\";\nvar downharpoonleft = \"⇃\";\nvar downharpoonright = \"⇂\";\nvar DownLeftRightVector = \"⥐\";\nvar DownLeftTeeVector = \"⥞\";\nvar DownLeftVectorBar = \"⥖\";\nvar DownLeftVector = \"↽\";\nvar DownRightTeeVector = \"⥟\";\nvar DownRightVectorBar = \"⥗\";\nvar DownRightVector = \"⇁\";\nvar DownTeeArrow = \"↧\";\nvar DownTee = \"⊤\";\nvar drbkarow = \"⤐\";\nvar drcorn = \"⌟\";\nvar drcrop = \"⌌\";\nvar Dscr = \"𝒟\";\nvar dscr = \"𝒹\";\nvar DScy = \"Ѕ\";\nvar dscy = \"ѕ\";\nvar dsol = \"⧶\";\nvar Dstrok = \"Đ\";\nvar dstrok = \"đ\";\nvar dtdot = \"⋱\";\nvar dtri = \"▿\";\nvar dtrif = \"▾\";\nvar duarr = \"⇵\";\nvar duhar = \"⥯\";\nvar dwangle = \"⦦\";\nvar DZcy = \"Џ\";\nvar dzcy = \"џ\";\nvar dzigrarr = \"⟿\";\nvar Eacute$1 = \"É\";\nvar eacute$1 = \"é\";\nvar easter = \"⩮\";\nvar Ecaron = \"Ě\";\nvar ecaron = \"ě\";\nvar Ecirc$1 = \"Ê\";\nvar ecirc$1 = \"ê\";\nvar ecir = \"≖\";\nvar ecolon = \"≕\";\nvar Ecy = \"Э\";\nvar ecy = \"э\";\nvar eDDot = \"⩷\";\nvar Edot = \"Ė\";\nvar edot = \"ė\";\nvar eDot = \"≑\";\nvar ee = \"ⅇ\";\nvar efDot = \"≒\";\nvar Efr = \"𝔈\";\nvar efr = \"𝔢\";\nvar eg = \"⪚\";\nvar Egrave$1 = \"È\";\nvar egrave$1 = \"è\";\nvar egs = \"⪖\";\nvar egsdot = \"⪘\";\nvar el = \"⪙\";\nvar Element$1 = \"∈\";\nvar elinters = \"⏧\";\nvar ell = \"ℓ\";\nvar els = \"⪕\";\nvar elsdot = \"⪗\";\nvar Emacr = \"Ē\";\nvar emacr = \"ē\";\nvar empty = \"∅\";\nvar emptyset = \"∅\";\nvar EmptySmallSquare = \"◻\";\nvar emptyv = \"∅\";\nvar EmptyVerySmallSquare = \"▫\";\nvar emsp13 = \" \";\nvar emsp14 = \" \";\nvar emsp = \" \";\nvar ENG = \"Ŋ\";\nvar eng = \"ŋ\";\nvar ensp = \" \";\nvar Eogon = \"Ę\";\nvar eogon = \"ę\";\nvar Eopf = \"𝔼\";\nvar eopf = \"𝕖\";\nvar epar = \"⋕\";\nvar eparsl = \"⧣\";\nvar eplus = \"⩱\";\nvar epsi = \"ε\";\nvar Epsilon = \"Ε\";\nvar epsilon = \"ε\";\nvar epsiv = \"ϵ\";\nvar eqcirc = \"≖\";\nvar eqcolon = \"≕\";\nvar eqsim = \"≂\";\nvar eqslantgtr = \"⪖\";\nvar eqslantless = \"⪕\";\nvar Equal = \"⩵\";\nvar equals = \"=\";\nvar EqualTilde = \"≂\";\nvar equest = \"≟\";\nvar Equilibrium = \"⇌\";\nvar equiv = \"≡\";\nvar equivDD = \"⩸\";\nvar eqvparsl = \"⧥\";\nvar erarr = \"⥱\";\nvar erDot = \"≓\";\nvar escr = \"ℯ\";\nvar Escr = \"ℰ\";\nvar esdot = \"≐\";\nvar Esim = \"⩳\";\nvar esim = \"≂\";\nvar Eta = \"Η\";\nvar eta = \"η\";\nvar ETH$1 = \"Ð\";\nvar eth$1 = \"ð\";\nvar Euml$1 = \"Ë\";\nvar euml$1 = \"ë\";\nvar euro = \"€\";\nvar excl = \"!\";\nvar exist = \"∃\";\nvar Exists = \"∃\";\nvar expectation = \"ℰ\";\nvar exponentiale = \"ⅇ\";\nvar ExponentialE = \"ⅇ\";\nvar fallingdotseq = \"≒\";\nvar Fcy = \"Ф\";\nvar fcy = \"ф\";\nvar female = \"♀\";\nvar ffilig = \"ffi\";\nvar fflig = \"ff\";\nvar ffllig = \"ffl\";\nvar Ffr = \"𝔉\";\nvar ffr = \"𝔣\";\nvar filig = \"fi\";\nvar FilledSmallSquare = \"◼\";\nvar FilledVerySmallSquare = \"▪\";\nvar fjlig = \"fj\";\nvar flat = \"♭\";\nvar fllig = \"fl\";\nvar fltns = \"▱\";\nvar fnof = \"ƒ\";\nvar Fopf = \"𝔽\";\nvar fopf = \"𝕗\";\nvar forall = \"∀\";\nvar ForAll = \"∀\";\nvar fork = \"⋔\";\nvar forkv = \"⫙\";\nvar Fouriertrf = \"ℱ\";\nvar fpartint = \"⨍\";\nvar frac12$1 = \"½\";\nvar frac13 = \"⅓\";\nvar frac14$1 = \"¼\";\nvar frac15 = \"⅕\";\nvar frac16 = \"⅙\";\nvar frac18 = \"⅛\";\nvar frac23 = \"⅔\";\nvar frac25 = \"⅖\";\nvar frac34$1 = \"¾\";\nvar frac35 = \"⅗\";\nvar frac38 = \"⅜\";\nvar frac45 = \"⅘\";\nvar frac56 = \"⅚\";\nvar frac58 = \"⅝\";\nvar frac78 = \"⅞\";\nvar frasl = \"⁄\";\nvar frown = \"⌢\";\nvar fscr = \"𝒻\";\nvar Fscr = \"ℱ\";\nvar gacute = \"ǵ\";\nvar Gamma = \"Γ\";\nvar gamma = \"γ\";\nvar Gammad = \"Ϝ\";\nvar gammad = \"ϝ\";\nvar gap = \"⪆\";\nvar Gbreve = \"Ğ\";\nvar gbreve = \"ğ\";\nvar Gcedil = \"Ģ\";\nvar Gcirc = \"Ĝ\";\nvar gcirc = \"ĝ\";\nvar Gcy = \"Г\";\nvar gcy = \"г\";\nvar Gdot = \"Ġ\";\nvar gdot = \"ġ\";\nvar ge = \"≥\";\nvar gE = \"≧\";\nvar gEl = \"⪌\";\nvar gel = \"⋛\";\nvar geq = \"≥\";\nvar geqq = \"≧\";\nvar geqslant = \"⩾\";\nvar gescc = \"⪩\";\nvar ges = \"⩾\";\nvar gesdot = \"⪀\";\nvar gesdoto = \"⪂\";\nvar gesdotol = \"⪄\";\nvar gesl = \"⋛︀\";\nvar gesles = \"⪔\";\nvar Gfr = \"𝔊\";\nvar gfr = \"𝔤\";\nvar gg = \"≫\";\nvar Gg = \"⋙\";\nvar ggg = \"⋙\";\nvar gimel = \"ℷ\";\nvar GJcy = \"Ѓ\";\nvar gjcy = \"ѓ\";\nvar gla = \"⪥\";\nvar gl = \"≷\";\nvar glE = \"⪒\";\nvar glj = \"⪤\";\nvar gnap = \"⪊\";\nvar gnapprox = \"⪊\";\nvar gne = \"⪈\";\nvar gnE = \"≩\";\nvar gneq = \"⪈\";\nvar gneqq = \"≩\";\nvar gnsim = \"⋧\";\nvar Gopf = \"𝔾\";\nvar gopf = \"𝕘\";\nvar grave = \"`\";\nvar GreaterEqual = \"≥\";\nvar GreaterEqualLess = \"⋛\";\nvar GreaterFullEqual = \"≧\";\nvar GreaterGreater = \"⪢\";\nvar GreaterLess = \"≷\";\nvar GreaterSlantEqual = \"⩾\";\nvar GreaterTilde = \"≳\";\nvar Gscr = \"𝒢\";\nvar gscr = \"ℊ\";\nvar gsim = \"≳\";\nvar gsime = \"⪎\";\nvar gsiml = \"⪐\";\nvar gtcc = \"⪧\";\nvar gtcir = \"⩺\";\nvar gt$2 = \">\";\nvar GT$1 = \">\";\nvar Gt = \"≫\";\nvar gtdot = \"⋗\";\nvar gtlPar = \"⦕\";\nvar gtquest = \"⩼\";\nvar gtrapprox = \"⪆\";\nvar gtrarr = \"⥸\";\nvar gtrdot = \"⋗\";\nvar gtreqless = \"⋛\";\nvar gtreqqless = \"⪌\";\nvar gtrless = \"≷\";\nvar gtrsim = \"≳\";\nvar gvertneqq = \"≩︀\";\nvar gvnE = \"≩︀\";\nvar Hacek = \"ˇ\";\nvar hairsp = \" \";\nvar half = \"½\";\nvar hamilt = \"ℋ\";\nvar HARDcy = \"Ъ\";\nvar hardcy = \"ъ\";\nvar harrcir = \"⥈\";\nvar harr = \"↔\";\nvar hArr = \"⇔\";\nvar harrw = \"↭\";\nvar Hat = \"^\";\nvar hbar = \"ℏ\";\nvar Hcirc = \"Ĥ\";\nvar hcirc = \"ĥ\";\nvar hearts = \"♥\";\nvar heartsuit = \"♥\";\nvar hellip = \"…\";\nvar hercon = \"⊹\";\nvar hfr = \"𝔥\";\nvar Hfr = \"ℌ\";\nvar HilbertSpace = \"ℋ\";\nvar hksearow = \"⤥\";\nvar hkswarow = \"⤦\";\nvar hoarr = \"⇿\";\nvar homtht = \"∻\";\nvar hookleftarrow = \"↩\";\nvar hookrightarrow = \"↪\";\nvar hopf = \"𝕙\";\nvar Hopf = \"ℍ\";\nvar horbar = \"―\";\nvar HorizontalLine = \"─\";\nvar hscr = \"𝒽\";\nvar Hscr = \"ℋ\";\nvar hslash = \"ℏ\";\nvar Hstrok = \"Ħ\";\nvar hstrok = \"ħ\";\nvar HumpDownHump = \"≎\";\nvar HumpEqual = \"≏\";\nvar hybull = \"⁃\";\nvar hyphen = \"‐\";\nvar Iacute$1 = \"Í\";\nvar iacute$1 = \"í\";\nvar ic = \"⁣\";\nvar Icirc$1 = \"Î\";\nvar icirc$1 = \"î\";\nvar Icy = \"И\";\nvar icy = \"и\";\nvar Idot = \"İ\";\nvar IEcy = \"Е\";\nvar iecy = \"е\";\nvar iexcl$1 = \"¡\";\nvar iff = \"⇔\";\nvar ifr = \"𝔦\";\nvar Ifr = \"ℑ\";\nvar Igrave$1 = \"Ì\";\nvar igrave$1 = \"ì\";\nvar ii = \"ⅈ\";\nvar iiiint = \"⨌\";\nvar iiint = \"∭\";\nvar iinfin = \"⧜\";\nvar iiota = \"℩\";\nvar IJlig = \"IJ\";\nvar ijlig = \"ij\";\nvar Imacr = \"Ī\";\nvar imacr = \"ī\";\nvar image = \"ℑ\";\nvar ImaginaryI = \"ⅈ\";\nvar imagline = \"ℐ\";\nvar imagpart = \"ℑ\";\nvar imath = \"ı\";\nvar Im = \"ℑ\";\nvar imof = \"⊷\";\nvar imped = \"Ƶ\";\nvar Implies = \"⇒\";\nvar incare = \"℅\";\nvar infin = \"∞\";\nvar infintie = \"⧝\";\nvar inodot = \"ı\";\nvar intcal = \"⊺\";\nvar int = \"∫\";\nvar Int = \"∬\";\nvar integers = \"ℤ\";\nvar Integral = \"∫\";\nvar intercal = \"⊺\";\nvar Intersection = \"⋂\";\nvar intlarhk = \"⨗\";\nvar intprod = \"⨼\";\nvar InvisibleComma = \"⁣\";\nvar InvisibleTimes = \"⁢\";\nvar IOcy = \"Ё\";\nvar iocy = \"ё\";\nvar Iogon = \"Į\";\nvar iogon = \"į\";\nvar Iopf = \"𝕀\";\nvar iopf = \"𝕚\";\nvar Iota = \"Ι\";\nvar iota = \"ι\";\nvar iprod = \"⨼\";\nvar iquest$1 = \"¿\";\nvar iscr = \"𝒾\";\nvar Iscr = \"ℐ\";\nvar isin = \"∈\";\nvar isindot = \"⋵\";\nvar isinE = \"⋹\";\nvar isins = \"⋴\";\nvar isinsv = \"⋳\";\nvar isinv = \"∈\";\nvar it = \"⁢\";\nvar Itilde = \"Ĩ\";\nvar itilde = \"ĩ\";\nvar Iukcy = \"І\";\nvar iukcy = \"і\";\nvar Iuml$1 = \"Ï\";\nvar iuml$1 = \"ï\";\nvar Jcirc = \"Ĵ\";\nvar jcirc = \"ĵ\";\nvar Jcy = \"Й\";\nvar jcy = \"й\";\nvar Jfr = \"𝔍\";\nvar jfr = \"𝔧\";\nvar jmath = \"ȷ\";\nvar Jopf = \"𝕁\";\nvar jopf = \"𝕛\";\nvar Jscr = \"𝒥\";\nvar jscr = \"𝒿\";\nvar Jsercy = \"Ј\";\nvar jsercy = \"ј\";\nvar Jukcy = \"Є\";\nvar jukcy = \"є\";\nvar Kappa = \"Κ\";\nvar kappa = \"κ\";\nvar kappav = \"ϰ\";\nvar Kcedil = \"Ķ\";\nvar kcedil = \"ķ\";\nvar Kcy = \"К\";\nvar kcy = \"к\";\nvar Kfr = \"𝔎\";\nvar kfr = \"𝔨\";\nvar kgreen = \"ĸ\";\nvar KHcy = \"Х\";\nvar khcy = \"х\";\nvar KJcy = \"Ќ\";\nvar kjcy = \"ќ\";\nvar Kopf = \"𝕂\";\nvar kopf = \"𝕜\";\nvar Kscr = \"𝒦\";\nvar kscr = \"𝓀\";\nvar lAarr = \"⇚\";\nvar Lacute = \"Ĺ\";\nvar lacute = \"ĺ\";\nvar laemptyv = \"⦴\";\nvar lagran = \"ℒ\";\nvar Lambda = \"Λ\";\nvar lambda = \"λ\";\nvar lang = \"⟨\";\nvar Lang = \"⟪\";\nvar langd = \"⦑\";\nvar langle = \"⟨\";\nvar lap = \"⪅\";\nvar Laplacetrf = \"ℒ\";\nvar laquo$1 = \"«\";\nvar larrb = \"⇤\";\nvar larrbfs = \"⤟\";\nvar larr = \"←\";\nvar Larr = \"↞\";\nvar lArr = \"⇐\";\nvar larrfs = \"⤝\";\nvar larrhk = \"↩\";\nvar larrlp = \"↫\";\nvar larrpl = \"⤹\";\nvar larrsim = \"⥳\";\nvar larrtl = \"↢\";\nvar latail = \"⤙\";\nvar lAtail = \"⤛\";\nvar lat = \"⪫\";\nvar late = \"⪭\";\nvar lates = \"⪭︀\";\nvar lbarr = \"⤌\";\nvar lBarr = \"⤎\";\nvar lbbrk = \"❲\";\nvar lbrace = \"{\";\nvar lbrack = \"[\";\nvar lbrke = \"⦋\";\nvar lbrksld = \"⦏\";\nvar lbrkslu = \"⦍\";\nvar Lcaron = \"Ľ\";\nvar lcaron = \"ľ\";\nvar Lcedil = \"Ļ\";\nvar lcedil = \"ļ\";\nvar lceil = \"⌈\";\nvar lcub = \"{\";\nvar Lcy = \"Л\";\nvar lcy = \"л\";\nvar ldca = \"⤶\";\nvar ldquo = \"“\";\nvar ldquor = \"„\";\nvar ldrdhar = \"⥧\";\nvar ldrushar = \"⥋\";\nvar ldsh = \"↲\";\nvar le = \"≤\";\nvar lE = \"≦\";\nvar LeftAngleBracket = \"⟨\";\nvar LeftArrowBar = \"⇤\";\nvar leftarrow = \"←\";\nvar LeftArrow = \"←\";\nvar Leftarrow = \"⇐\";\nvar LeftArrowRightArrow = \"⇆\";\nvar leftarrowtail = \"↢\";\nvar LeftCeiling = \"⌈\";\nvar LeftDoubleBracket = \"⟦\";\nvar LeftDownTeeVector = \"⥡\";\nvar LeftDownVectorBar = \"⥙\";\nvar LeftDownVector = \"⇃\";\nvar LeftFloor = \"⌊\";\nvar leftharpoondown = \"↽\";\nvar leftharpoonup = \"↼\";\nvar leftleftarrows = \"⇇\";\nvar leftrightarrow = \"↔\";\nvar LeftRightArrow = \"↔\";\nvar Leftrightarrow = \"⇔\";\nvar leftrightarrows = \"⇆\";\nvar leftrightharpoons = \"⇋\";\nvar leftrightsquigarrow = \"↭\";\nvar LeftRightVector = \"⥎\";\nvar LeftTeeArrow = \"↤\";\nvar LeftTee = \"⊣\";\nvar LeftTeeVector = \"⥚\";\nvar leftthreetimes = \"⋋\";\nvar LeftTriangleBar = \"⧏\";\nvar LeftTriangle = \"⊲\";\nvar LeftTriangleEqual = \"⊴\";\nvar LeftUpDownVector = \"⥑\";\nvar LeftUpTeeVector = \"⥠\";\nvar LeftUpVectorBar = \"⥘\";\nvar LeftUpVector = \"↿\";\nvar LeftVectorBar = \"⥒\";\nvar LeftVector = \"↼\";\nvar lEg = \"⪋\";\nvar leg = \"⋚\";\nvar leq = \"≤\";\nvar leqq = \"≦\";\nvar leqslant = \"⩽\";\nvar lescc = \"⪨\";\nvar les = \"⩽\";\nvar lesdot = \"⩿\";\nvar lesdoto = \"⪁\";\nvar lesdotor = \"⪃\";\nvar lesg = \"⋚︀\";\nvar lesges = \"⪓\";\nvar lessapprox = \"⪅\";\nvar lessdot = \"⋖\";\nvar lesseqgtr = \"⋚\";\nvar lesseqqgtr = \"⪋\";\nvar LessEqualGreater = \"⋚\";\nvar LessFullEqual = \"≦\";\nvar LessGreater = \"≶\";\nvar lessgtr = \"≶\";\nvar LessLess = \"⪡\";\nvar lesssim = \"≲\";\nvar LessSlantEqual = \"⩽\";\nvar LessTilde = \"≲\";\nvar lfisht = \"⥼\";\nvar lfloor = \"⌊\";\nvar Lfr = \"𝔏\";\nvar lfr = \"𝔩\";\nvar lg = \"≶\";\nvar lgE = \"⪑\";\nvar lHar = \"⥢\";\nvar lhard = \"↽\";\nvar lharu = \"↼\";\nvar lharul = \"⥪\";\nvar lhblk = \"▄\";\nvar LJcy = \"Љ\";\nvar ljcy = \"љ\";\nvar llarr = \"⇇\";\nvar ll = \"≪\";\nvar Ll = \"⋘\";\nvar llcorner = \"⌞\";\nvar Lleftarrow = \"⇚\";\nvar llhard = \"⥫\";\nvar lltri = \"◺\";\nvar Lmidot = \"Ŀ\";\nvar lmidot = \"ŀ\";\nvar lmoustache = \"⎰\";\nvar lmoust = \"⎰\";\nvar lnap = \"⪉\";\nvar lnapprox = \"⪉\";\nvar lne = \"⪇\";\nvar lnE = \"≨\";\nvar lneq = \"⪇\";\nvar lneqq = \"≨\";\nvar lnsim = \"⋦\";\nvar loang = \"⟬\";\nvar loarr = \"⇽\";\nvar lobrk = \"⟦\";\nvar longleftarrow = \"⟵\";\nvar LongLeftArrow = \"⟵\";\nvar Longleftarrow = \"⟸\";\nvar longleftrightarrow = \"⟷\";\nvar LongLeftRightArrow = \"⟷\";\nvar Longleftrightarrow = \"⟺\";\nvar longmapsto = \"⟼\";\nvar longrightarrow = \"⟶\";\nvar LongRightArrow = \"⟶\";\nvar Longrightarrow = \"⟹\";\nvar looparrowleft = \"↫\";\nvar looparrowright = \"↬\";\nvar lopar = \"⦅\";\nvar Lopf = \"𝕃\";\nvar lopf = \"𝕝\";\nvar loplus = \"⨭\";\nvar lotimes = \"⨴\";\nvar lowast = \"∗\";\nvar lowbar = \"_\";\nvar LowerLeftArrow = \"↙\";\nvar LowerRightArrow = \"↘\";\nvar loz = \"◊\";\nvar lozenge = \"◊\";\nvar lozf = \"⧫\";\nvar lpar = \"(\";\nvar lparlt = \"⦓\";\nvar lrarr = \"⇆\";\nvar lrcorner = \"⌟\";\nvar lrhar = \"⇋\";\nvar lrhard = \"⥭\";\nvar lrm = \"‎\";\nvar lrtri = \"⊿\";\nvar lsaquo = \"‹\";\nvar lscr = \"𝓁\";\nvar Lscr = \"ℒ\";\nvar lsh = \"↰\";\nvar Lsh = \"↰\";\nvar lsim = \"≲\";\nvar lsime = \"⪍\";\nvar lsimg = \"⪏\";\nvar lsqb = \"[\";\nvar lsquo = \"‘\";\nvar lsquor = \"‚\";\nvar Lstrok = \"Ł\";\nvar lstrok = \"ł\";\nvar ltcc = \"⪦\";\nvar ltcir = \"⩹\";\nvar lt$2 = \"<\";\nvar LT$1 = \"<\";\nvar Lt = \"≪\";\nvar ltdot = \"⋖\";\nvar lthree = \"⋋\";\nvar ltimes = \"⋉\";\nvar ltlarr = \"⥶\";\nvar ltquest = \"⩻\";\nvar ltri = \"◃\";\nvar ltrie = \"⊴\";\nvar ltrif = \"◂\";\nvar ltrPar = \"⦖\";\nvar lurdshar = \"⥊\";\nvar luruhar = \"⥦\";\nvar lvertneqq = \"≨︀\";\nvar lvnE = \"≨︀\";\nvar macr$1 = \"¯\";\nvar male = \"♂\";\nvar malt = \"✠\";\nvar maltese = \"✠\";\nvar map = \"↦\";\nvar mapsto = \"↦\";\nvar mapstodown = \"↧\";\nvar mapstoleft = \"↤\";\nvar mapstoup = \"↥\";\nvar marker = \"▮\";\nvar mcomma = \"⨩\";\nvar Mcy = \"М\";\nvar mcy = \"м\";\nvar mdash = \"—\";\nvar mDDot = \"∺\";\nvar measuredangle = \"∡\";\nvar MediumSpace = \" \";\nvar Mellintrf = \"ℳ\";\nvar Mfr = \"𝔐\";\nvar mfr = \"𝔪\";\nvar mho = \"℧\";\nvar micro$1 = \"µ\";\nvar midast = \"*\";\nvar midcir = \"⫰\";\nvar mid = \"∣\";\nvar middot$1 = \"·\";\nvar minusb = \"⊟\";\nvar minus = \"−\";\nvar minusd = \"∸\";\nvar minusdu = \"⨪\";\nvar MinusPlus = \"∓\";\nvar mlcp = \"⫛\";\nvar mldr = \"…\";\nvar mnplus = \"∓\";\nvar models = \"⊧\";\nvar Mopf = \"𝕄\";\nvar mopf = \"𝕞\";\nvar mp = \"∓\";\nvar mscr = \"𝓂\";\nvar Mscr = \"ℳ\";\nvar mstpos = \"∾\";\nvar Mu = \"Μ\";\nvar mu = \"μ\";\nvar multimap = \"⊸\";\nvar mumap = \"⊸\";\nvar nabla = \"∇\";\nvar Nacute = \"Ń\";\nvar nacute = \"ń\";\nvar nang = \"∠⃒\";\nvar nap = \"≉\";\nvar napE = \"⩰̸\";\nvar napid = \"≋̸\";\nvar napos = \"ʼn\";\nvar napprox = \"≉\";\nvar natural = \"♮\";\nvar naturals = \"ℕ\";\nvar natur = \"♮\";\nvar nbsp$1 = \" \";\nvar nbump = \"≎̸\";\nvar nbumpe = \"≏̸\";\nvar ncap = \"⩃\";\nvar Ncaron = \"Ň\";\nvar ncaron = \"ň\";\nvar Ncedil = \"Ņ\";\nvar ncedil = \"ņ\";\nvar ncong = \"≇\";\nvar ncongdot = \"⩭̸\";\nvar ncup = \"⩂\";\nvar Ncy = \"Н\";\nvar ncy = \"н\";\nvar ndash = \"–\";\nvar nearhk = \"⤤\";\nvar nearr = \"↗\";\nvar neArr = \"⇗\";\nvar nearrow = \"↗\";\nvar ne = \"≠\";\nvar nedot = \"≐̸\";\nvar NegativeMediumSpace = \"​\";\nvar NegativeThickSpace = \"​\";\nvar NegativeThinSpace = \"​\";\nvar NegativeVeryThinSpace = \"​\";\nvar nequiv = \"≢\";\nvar nesear = \"⤨\";\nvar nesim = \"≂̸\";\nvar NestedGreaterGreater = \"≫\";\nvar NestedLessLess = \"≪\";\nvar NewLine = \"\\n\";\nvar nexist = \"∄\";\nvar nexists = \"∄\";\nvar Nfr = \"𝔑\";\nvar nfr = \"𝔫\";\nvar ngE = \"≧̸\";\nvar nge = \"≱\";\nvar ngeq = \"≱\";\nvar ngeqq = \"≧̸\";\nvar ngeqslant = \"⩾̸\";\nvar nges = \"⩾̸\";\nvar nGg = \"⋙̸\";\nvar ngsim = \"≵\";\nvar nGt = \"≫⃒\";\nvar ngt = \"≯\";\nvar ngtr = \"≯\";\nvar nGtv = \"≫̸\";\nvar nharr = \"↮\";\nvar nhArr = \"⇎\";\nvar nhpar = \"⫲\";\nvar ni = \"∋\";\nvar nis = \"⋼\";\nvar nisd = \"⋺\";\nvar niv = \"∋\";\nvar NJcy = \"Њ\";\nvar njcy = \"њ\";\nvar nlarr = \"↚\";\nvar nlArr = \"⇍\";\nvar nldr = \"‥\";\nvar nlE = \"≦̸\";\nvar nle = \"≰\";\nvar nleftarrow = \"↚\";\nvar nLeftarrow = \"⇍\";\nvar nleftrightarrow = \"↮\";\nvar nLeftrightarrow = \"⇎\";\nvar nleq = \"≰\";\nvar nleqq = \"≦̸\";\nvar nleqslant = \"⩽̸\";\nvar nles = \"⩽̸\";\nvar nless = \"≮\";\nvar nLl = \"⋘̸\";\nvar nlsim = \"≴\";\nvar nLt = \"≪⃒\";\nvar nlt = \"≮\";\nvar nltri = \"⋪\";\nvar nltrie = \"⋬\";\nvar nLtv = \"≪̸\";\nvar nmid = \"∤\";\nvar NoBreak = \"⁠\";\nvar NonBreakingSpace = \" \";\nvar nopf = \"𝕟\";\nvar Nopf = \"ℕ\";\nvar Not = \"⫬\";\nvar not$1 = \"¬\";\nvar NotCongruent = \"≢\";\nvar NotCupCap = \"≭\";\nvar NotDoubleVerticalBar = \"∦\";\nvar NotElement = \"∉\";\nvar NotEqual = \"≠\";\nvar NotEqualTilde = \"≂̸\";\nvar NotExists = \"∄\";\nvar NotGreater = \"≯\";\nvar NotGreaterEqual = \"≱\";\nvar NotGreaterFullEqual = \"≧̸\";\nvar NotGreaterGreater = \"≫̸\";\nvar NotGreaterLess = \"≹\";\nvar NotGreaterSlantEqual = \"⩾̸\";\nvar NotGreaterTilde = \"≵\";\nvar NotHumpDownHump = \"≎̸\";\nvar NotHumpEqual = \"≏̸\";\nvar notin = \"∉\";\nvar notindot = \"⋵̸\";\nvar notinE = \"⋹̸\";\nvar notinva = \"∉\";\nvar notinvb = \"⋷\";\nvar notinvc = \"⋶\";\nvar NotLeftTriangleBar = \"⧏̸\";\nvar NotLeftTriangle = \"⋪\";\nvar NotLeftTriangleEqual = \"⋬\";\nvar NotLess = \"≮\";\nvar NotLessEqual = \"≰\";\nvar NotLessGreater = \"≸\";\nvar NotLessLess = \"≪̸\";\nvar NotLessSlantEqual = \"⩽̸\";\nvar NotLessTilde = \"≴\";\nvar NotNestedGreaterGreater = \"⪢̸\";\nvar NotNestedLessLess = \"⪡̸\";\nvar notni = \"∌\";\nvar notniva = \"∌\";\nvar notnivb = \"⋾\";\nvar notnivc = \"⋽\";\nvar NotPrecedes = \"⊀\";\nvar NotPrecedesEqual = \"⪯̸\";\nvar NotPrecedesSlantEqual = \"⋠\";\nvar NotReverseElement = \"∌\";\nvar NotRightTriangleBar = \"⧐̸\";\nvar NotRightTriangle = \"⋫\";\nvar NotRightTriangleEqual = \"⋭\";\nvar NotSquareSubset = \"⊏̸\";\nvar NotSquareSubsetEqual = \"⋢\";\nvar NotSquareSuperset = \"⊐̸\";\nvar NotSquareSupersetEqual = \"⋣\";\nvar NotSubset = \"⊂⃒\";\nvar NotSubsetEqual = \"⊈\";\nvar NotSucceeds = \"⊁\";\nvar NotSucceedsEqual = \"⪰̸\";\nvar NotSucceedsSlantEqual = \"⋡\";\nvar NotSucceedsTilde = \"≿̸\";\nvar NotSuperset = \"⊃⃒\";\nvar NotSupersetEqual = \"⊉\";\nvar NotTilde = \"≁\";\nvar NotTildeEqual = \"≄\";\nvar NotTildeFullEqual = \"≇\";\nvar NotTildeTilde = \"≉\";\nvar NotVerticalBar = \"∤\";\nvar nparallel = \"∦\";\nvar npar = \"∦\";\nvar nparsl = \"⫽⃥\";\nvar npart = \"∂̸\";\nvar npolint = \"⨔\";\nvar npr = \"⊀\";\nvar nprcue = \"⋠\";\nvar nprec = \"⊀\";\nvar npreceq = \"⪯̸\";\nvar npre = \"⪯̸\";\nvar nrarrc = \"⤳̸\";\nvar nrarr = \"↛\";\nvar nrArr = \"⇏\";\nvar nrarrw = \"↝̸\";\nvar nrightarrow = \"↛\";\nvar nRightarrow = \"⇏\";\nvar nrtri = \"⋫\";\nvar nrtrie = \"⋭\";\nvar nsc = \"⊁\";\nvar nsccue = \"⋡\";\nvar nsce = \"⪰̸\";\nvar Nscr = \"𝒩\";\nvar nscr = \"𝓃\";\nvar nshortmid = \"∤\";\nvar nshortparallel = \"∦\";\nvar nsim = \"≁\";\nvar nsime = \"≄\";\nvar nsimeq = \"≄\";\nvar nsmid = \"∤\";\nvar nspar = \"∦\";\nvar nsqsube = \"⋢\";\nvar nsqsupe = \"⋣\";\nvar nsub = \"⊄\";\nvar nsubE = \"⫅̸\";\nvar nsube = \"⊈\";\nvar nsubset = \"⊂⃒\";\nvar nsubseteq = \"⊈\";\nvar nsubseteqq = \"⫅̸\";\nvar nsucc = \"⊁\";\nvar nsucceq = \"⪰̸\";\nvar nsup = \"⊅\";\nvar nsupE = \"⫆̸\";\nvar nsupe = \"⊉\";\nvar nsupset = \"⊃⃒\";\nvar nsupseteq = \"⊉\";\nvar nsupseteqq = \"⫆̸\";\nvar ntgl = \"≹\";\nvar Ntilde$1 = \"Ñ\";\nvar ntilde$1 = \"ñ\";\nvar ntlg = \"≸\";\nvar ntriangleleft = \"⋪\";\nvar ntrianglelefteq = \"⋬\";\nvar ntriangleright = \"⋫\";\nvar ntrianglerighteq = \"⋭\";\nvar Nu = \"Ν\";\nvar nu = \"ν\";\nvar num = \"#\";\nvar numero = \"№\";\nvar numsp = \" \";\nvar nvap = \"≍⃒\";\nvar nvdash = \"⊬\";\nvar nvDash = \"⊭\";\nvar nVdash = \"⊮\";\nvar nVDash = \"⊯\";\nvar nvge = \"≥⃒\";\nvar nvgt = \">⃒\";\nvar nvHarr = \"⤄\";\nvar nvinfin = \"⧞\";\nvar nvlArr = \"⤂\";\nvar nvle = \"≤⃒\";\nvar nvlt = \"<⃒\";\nvar nvltrie = \"⊴⃒\";\nvar nvrArr = \"⤃\";\nvar nvrtrie = \"⊵⃒\";\nvar nvsim = \"∼⃒\";\nvar nwarhk = \"⤣\";\nvar nwarr = \"↖\";\nvar nwArr = \"⇖\";\nvar nwarrow = \"↖\";\nvar nwnear = \"⤧\";\nvar Oacute$1 = \"Ó\";\nvar oacute$1 = \"ó\";\nvar oast = \"⊛\";\nvar Ocirc$1 = \"Ô\";\nvar ocirc$1 = \"ô\";\nvar ocir = \"⊚\";\nvar Ocy = \"О\";\nvar ocy = \"о\";\nvar odash = \"⊝\";\nvar Odblac = \"Ő\";\nvar odblac = \"ő\";\nvar odiv = \"⨸\";\nvar odot = \"⊙\";\nvar odsold = \"⦼\";\nvar OElig = \"Œ\";\nvar oelig = \"œ\";\nvar ofcir = \"⦿\";\nvar Ofr = \"𝔒\";\nvar ofr = \"𝔬\";\nvar ogon = \"˛\";\nvar Ograve$1 = \"Ò\";\nvar ograve$1 = \"ò\";\nvar ogt = \"⧁\";\nvar ohbar = \"⦵\";\nvar ohm = \"Ω\";\nvar oint = \"∮\";\nvar olarr = \"↺\";\nvar olcir = \"⦾\";\nvar olcross = \"⦻\";\nvar oline = \"‾\";\nvar olt = \"⧀\";\nvar Omacr = \"Ō\";\nvar omacr = \"ō\";\nvar Omega = \"Ω\";\nvar omega = \"ω\";\nvar Omicron = \"Ο\";\nvar omicron = \"ο\";\nvar omid = \"⦶\";\nvar ominus = \"⊖\";\nvar Oopf = \"𝕆\";\nvar oopf = \"𝕠\";\nvar opar = \"⦷\";\nvar OpenCurlyDoubleQuote = \"“\";\nvar OpenCurlyQuote = \"‘\";\nvar operp = \"⦹\";\nvar oplus = \"⊕\";\nvar orarr = \"↻\";\nvar Or = \"⩔\";\nvar or = \"∨\";\nvar ord = \"⩝\";\nvar order = \"ℴ\";\nvar orderof = \"ℴ\";\nvar ordf$1 = \"ª\";\nvar ordm$1 = \"º\";\nvar origof = \"⊶\";\nvar oror = \"⩖\";\nvar orslope = \"⩗\";\nvar orv = \"⩛\";\nvar oS = \"Ⓢ\";\nvar Oscr = \"𝒪\";\nvar oscr = \"ℴ\";\nvar Oslash$1 = \"Ø\";\nvar oslash$1 = \"ø\";\nvar osol = \"⊘\";\nvar Otilde$1 = \"Õ\";\nvar otilde$1 = \"õ\";\nvar otimesas = \"⨶\";\nvar Otimes = \"⨷\";\nvar otimes = \"⊗\";\nvar Ouml$1 = \"Ö\";\nvar ouml$1 = \"ö\";\nvar ovbar = \"⌽\";\nvar OverBar = \"‾\";\nvar OverBrace = \"⏞\";\nvar OverBracket = \"⎴\";\nvar OverParenthesis = \"⏜\";\nvar para$1 = \"¶\";\nvar parallel = \"∥\";\nvar par = \"∥\";\nvar parsim = \"⫳\";\nvar parsl = \"⫽\";\nvar part = \"∂\";\nvar PartialD = \"∂\";\nvar Pcy = \"П\";\nvar pcy = \"п\";\nvar percnt = \"%\";\nvar period = \".\";\nvar permil = \"‰\";\nvar perp = \"⊥\";\nvar pertenk = \"‱\";\nvar Pfr = \"𝔓\";\nvar pfr = \"𝔭\";\nvar Phi = \"Φ\";\nvar phi = \"φ\";\nvar phiv = \"ϕ\";\nvar phmmat = \"ℳ\";\nvar phone = \"☎\";\nvar Pi = \"Π\";\nvar pi = \"π\";\nvar pitchfork = \"⋔\";\nvar piv = \"ϖ\";\nvar planck = \"ℏ\";\nvar planckh = \"ℎ\";\nvar plankv = \"ℏ\";\nvar plusacir = \"⨣\";\nvar plusb = \"⊞\";\nvar pluscir = \"⨢\";\nvar plus = \"+\";\nvar plusdo = \"∔\";\nvar plusdu = \"⨥\";\nvar pluse = \"⩲\";\nvar PlusMinus = \"±\";\nvar plusmn$1 = \"±\";\nvar plussim = \"⨦\";\nvar plustwo = \"⨧\";\nvar pm = \"±\";\nvar Poincareplane = \"ℌ\";\nvar pointint = \"⨕\";\nvar popf = \"𝕡\";\nvar Popf = \"ℙ\";\nvar pound$1 = \"£\";\nvar prap = \"⪷\";\nvar Pr = \"⪻\";\nvar pr = \"≺\";\nvar prcue = \"≼\";\nvar precapprox = \"⪷\";\nvar prec = \"≺\";\nvar preccurlyeq = \"≼\";\nvar Precedes = \"≺\";\nvar PrecedesEqual = \"⪯\";\nvar PrecedesSlantEqual = \"≼\";\nvar PrecedesTilde = \"≾\";\nvar preceq = \"⪯\";\nvar precnapprox = \"⪹\";\nvar precneqq = \"⪵\";\nvar precnsim = \"⋨\";\nvar pre = \"⪯\";\nvar prE = \"⪳\";\nvar precsim = \"≾\";\nvar prime = \"′\";\nvar Prime = \"″\";\nvar primes = \"ℙ\";\nvar prnap = \"⪹\";\nvar prnE = \"⪵\";\nvar prnsim = \"⋨\";\nvar prod = \"∏\";\nvar Product = \"∏\";\nvar profalar = \"⌮\";\nvar profline = \"⌒\";\nvar profsurf = \"⌓\";\nvar prop = \"∝\";\nvar Proportional = \"∝\";\nvar Proportion = \"∷\";\nvar propto = \"∝\";\nvar prsim = \"≾\";\nvar prurel = \"⊰\";\nvar Pscr = \"𝒫\";\nvar pscr = \"𝓅\";\nvar Psi = \"Ψ\";\nvar psi = \"ψ\";\nvar puncsp = \" \";\nvar Qfr = \"𝔔\";\nvar qfr = \"𝔮\";\nvar qint = \"⨌\";\nvar qopf = \"𝕢\";\nvar Qopf = \"ℚ\";\nvar qprime = \"⁗\";\nvar Qscr = \"𝒬\";\nvar qscr = \"𝓆\";\nvar quaternions = \"ℍ\";\nvar quatint = \"⨖\";\nvar quest = \"?\";\nvar questeq = \"≟\";\nvar quot$2 = \"\\\"\";\nvar QUOT$1 = \"\\\"\";\nvar rAarr = \"⇛\";\nvar race = \"∽̱\";\nvar Racute = \"Ŕ\";\nvar racute = \"ŕ\";\nvar radic = \"√\";\nvar raemptyv = \"⦳\";\nvar rang = \"⟩\";\nvar Rang = \"⟫\";\nvar rangd = \"⦒\";\nvar range = \"⦥\";\nvar rangle = \"⟩\";\nvar raquo$1 = \"»\";\nvar rarrap = \"⥵\";\nvar rarrb = \"⇥\";\nvar rarrbfs = \"⤠\";\nvar rarrc = \"⤳\";\nvar rarr = \"→\";\nvar Rarr = \"↠\";\nvar rArr = \"⇒\";\nvar rarrfs = \"⤞\";\nvar rarrhk = \"↪\";\nvar rarrlp = \"↬\";\nvar rarrpl = \"⥅\";\nvar rarrsim = \"⥴\";\nvar Rarrtl = \"⤖\";\nvar rarrtl = \"↣\";\nvar rarrw = \"↝\";\nvar ratail = \"⤚\";\nvar rAtail = \"⤜\";\nvar ratio = \"∶\";\nvar rationals = \"ℚ\";\nvar rbarr = \"⤍\";\nvar rBarr = \"⤏\";\nvar RBarr = \"⤐\";\nvar rbbrk = \"❳\";\nvar rbrace = \"}\";\nvar rbrack = \"]\";\nvar rbrke = \"⦌\";\nvar rbrksld = \"⦎\";\nvar rbrkslu = \"⦐\";\nvar Rcaron = \"Ř\";\nvar rcaron = \"ř\";\nvar Rcedil = \"Ŗ\";\nvar rcedil = \"ŗ\";\nvar rceil = \"⌉\";\nvar rcub = \"}\";\nvar Rcy = \"Р\";\nvar rcy = \"р\";\nvar rdca = \"⤷\";\nvar rdldhar = \"⥩\";\nvar rdquo = \"”\";\nvar rdquor = \"”\";\nvar rdsh = \"↳\";\nvar real = \"ℜ\";\nvar realine = \"ℛ\";\nvar realpart = \"ℜ\";\nvar reals = \"ℝ\";\nvar Re = \"ℜ\";\nvar rect = \"▭\";\nvar reg$1 = \"®\";\nvar REG$1 = \"®\";\nvar ReverseElement = \"∋\";\nvar ReverseEquilibrium = \"⇋\";\nvar ReverseUpEquilibrium = \"⥯\";\nvar rfisht = \"⥽\";\nvar rfloor = \"⌋\";\nvar rfr = \"𝔯\";\nvar Rfr = \"ℜ\";\nvar rHar = \"⥤\";\nvar rhard = \"⇁\";\nvar rharu = \"⇀\";\nvar rharul = \"⥬\";\nvar Rho = \"Ρ\";\nvar rho = \"ρ\";\nvar rhov = \"ϱ\";\nvar RightAngleBracket = \"⟩\";\nvar RightArrowBar = \"⇥\";\nvar rightarrow = \"→\";\nvar RightArrow = \"→\";\nvar Rightarrow = \"⇒\";\nvar RightArrowLeftArrow = \"⇄\";\nvar rightarrowtail = \"↣\";\nvar RightCeiling = \"⌉\";\nvar RightDoubleBracket = \"⟧\";\nvar RightDownTeeVector = \"⥝\";\nvar RightDownVectorBar = \"⥕\";\nvar RightDownVector = \"⇂\";\nvar RightFloor = \"⌋\";\nvar rightharpoondown = \"⇁\";\nvar rightharpoonup = \"⇀\";\nvar rightleftarrows = \"⇄\";\nvar rightleftharpoons = \"⇌\";\nvar rightrightarrows = \"⇉\";\nvar rightsquigarrow = \"↝\";\nvar RightTeeArrow = \"↦\";\nvar RightTee = \"⊢\";\nvar RightTeeVector = \"⥛\";\nvar rightthreetimes = \"⋌\";\nvar RightTriangleBar = \"⧐\";\nvar RightTriangle = \"⊳\";\nvar RightTriangleEqual = \"⊵\";\nvar RightUpDownVector = \"⥏\";\nvar RightUpTeeVector = \"⥜\";\nvar RightUpVectorBar = \"⥔\";\nvar RightUpVector = \"↾\";\nvar RightVectorBar = \"⥓\";\nvar RightVector = \"⇀\";\nvar ring = \"˚\";\nvar risingdotseq = \"≓\";\nvar rlarr = \"⇄\";\nvar rlhar = \"⇌\";\nvar rlm = \"‏\";\nvar rmoustache = \"⎱\";\nvar rmoust = \"⎱\";\nvar rnmid = \"⫮\";\nvar roang = \"⟭\";\nvar roarr = \"⇾\";\nvar robrk = \"⟧\";\nvar ropar = \"⦆\";\nvar ropf = \"𝕣\";\nvar Ropf = \"ℝ\";\nvar roplus = \"⨮\";\nvar rotimes = \"⨵\";\nvar RoundImplies = \"⥰\";\nvar rpar = \")\";\nvar rpargt = \"⦔\";\nvar rppolint = \"⨒\";\nvar rrarr = \"⇉\";\nvar Rrightarrow = \"⇛\";\nvar rsaquo = \"›\";\nvar rscr = \"𝓇\";\nvar Rscr = \"ℛ\";\nvar rsh = \"↱\";\nvar Rsh = \"↱\";\nvar rsqb = \"]\";\nvar rsquo = \"’\";\nvar rsquor = \"’\";\nvar rthree = \"⋌\";\nvar rtimes = \"⋊\";\nvar rtri = \"▹\";\nvar rtrie = \"⊵\";\nvar rtrif = \"▸\";\nvar rtriltri = \"⧎\";\nvar RuleDelayed = \"⧴\";\nvar ruluhar = \"⥨\";\nvar rx = \"℞\";\nvar Sacute = \"Ś\";\nvar sacute = \"ś\";\nvar sbquo = \"‚\";\nvar scap = \"⪸\";\nvar Scaron = \"Š\";\nvar scaron = \"š\";\nvar Sc = \"⪼\";\nvar sc = \"≻\";\nvar sccue = \"≽\";\nvar sce = \"⪰\";\nvar scE = \"⪴\";\nvar Scedil = \"Ş\";\nvar scedil = \"ş\";\nvar Scirc = \"Ŝ\";\nvar scirc = \"ŝ\";\nvar scnap = \"⪺\";\nvar scnE = \"⪶\";\nvar scnsim = \"⋩\";\nvar scpolint = \"⨓\";\nvar scsim = \"≿\";\nvar Scy = \"С\";\nvar scy = \"с\";\nvar sdotb = \"⊡\";\nvar sdot = \"⋅\";\nvar sdote = \"⩦\";\nvar searhk = \"⤥\";\nvar searr = \"↘\";\nvar seArr = \"⇘\";\nvar searrow = \"↘\";\nvar sect$1 = \"§\";\nvar semi = \";\";\nvar seswar = \"⤩\";\nvar setminus = \"∖\";\nvar setmn = \"∖\";\nvar sext = \"✶\";\nvar Sfr = \"𝔖\";\nvar sfr = \"𝔰\";\nvar sfrown = \"⌢\";\nvar sharp = \"♯\";\nvar SHCHcy = \"Щ\";\nvar shchcy = \"щ\";\nvar SHcy = \"Ш\";\nvar shcy = \"ш\";\nvar ShortDownArrow = \"↓\";\nvar ShortLeftArrow = \"←\";\nvar shortmid = \"∣\";\nvar shortparallel = \"∥\";\nvar ShortRightArrow = \"→\";\nvar ShortUpArrow = \"↑\";\nvar shy$1 = \"­\";\nvar Sigma = \"Σ\";\nvar sigma = \"σ\";\nvar sigmaf = \"ς\";\nvar sigmav = \"ς\";\nvar sim = \"∼\";\nvar simdot = \"⩪\";\nvar sime = \"≃\";\nvar simeq = \"≃\";\nvar simg = \"⪞\";\nvar simgE = \"⪠\";\nvar siml = \"⪝\";\nvar simlE = \"⪟\";\nvar simne = \"≆\";\nvar simplus = \"⨤\";\nvar simrarr = \"⥲\";\nvar slarr = \"←\";\nvar SmallCircle = \"∘\";\nvar smallsetminus = \"∖\";\nvar smashp = \"⨳\";\nvar smeparsl = \"⧤\";\nvar smid = \"∣\";\nvar smile = \"⌣\";\nvar smt = \"⪪\";\nvar smte = \"⪬\";\nvar smtes = \"⪬︀\";\nvar SOFTcy = \"Ь\";\nvar softcy = \"ь\";\nvar solbar = \"⌿\";\nvar solb = \"⧄\";\nvar sol = \"/\";\nvar Sopf = \"𝕊\";\nvar sopf = \"𝕤\";\nvar spades = \"♠\";\nvar spadesuit = \"♠\";\nvar spar = \"∥\";\nvar sqcap = \"⊓\";\nvar sqcaps = \"⊓︀\";\nvar sqcup = \"⊔\";\nvar sqcups = \"⊔︀\";\nvar Sqrt = \"√\";\nvar sqsub = \"⊏\";\nvar sqsube = \"⊑\";\nvar sqsubset = \"⊏\";\nvar sqsubseteq = \"⊑\";\nvar sqsup = \"⊐\";\nvar sqsupe = \"⊒\";\nvar sqsupset = \"⊐\";\nvar sqsupseteq = \"⊒\";\nvar square = \"□\";\nvar Square = \"□\";\nvar SquareIntersection = \"⊓\";\nvar SquareSubset = \"⊏\";\nvar SquareSubsetEqual = \"⊑\";\nvar SquareSuperset = \"⊐\";\nvar SquareSupersetEqual = \"⊒\";\nvar SquareUnion = \"⊔\";\nvar squarf = \"▪\";\nvar squ = \"□\";\nvar squf = \"▪\";\nvar srarr = \"→\";\nvar Sscr = \"𝒮\";\nvar sscr = \"𝓈\";\nvar ssetmn = \"∖\";\nvar ssmile = \"⌣\";\nvar sstarf = \"⋆\";\nvar Star = \"⋆\";\nvar star = \"☆\";\nvar starf = \"★\";\nvar straightepsilon = \"ϵ\";\nvar straightphi = \"ϕ\";\nvar strns = \"¯\";\nvar sub = \"⊂\";\nvar Sub = \"⋐\";\nvar subdot = \"⪽\";\nvar subE = \"⫅\";\nvar sube = \"⊆\";\nvar subedot = \"⫃\";\nvar submult = \"⫁\";\nvar subnE = \"⫋\";\nvar subne = \"⊊\";\nvar subplus = \"⪿\";\nvar subrarr = \"⥹\";\nvar subset = \"⊂\";\nvar Subset = \"⋐\";\nvar subseteq = \"⊆\";\nvar subseteqq = \"⫅\";\nvar SubsetEqual = \"⊆\";\nvar subsetneq = \"⊊\";\nvar subsetneqq = \"⫋\";\nvar subsim = \"⫇\";\nvar subsub = \"⫕\";\nvar subsup = \"⫓\";\nvar succapprox = \"⪸\";\nvar succ = \"≻\";\nvar succcurlyeq = \"≽\";\nvar Succeeds = \"≻\";\nvar SucceedsEqual = \"⪰\";\nvar SucceedsSlantEqual = \"≽\";\nvar SucceedsTilde = \"≿\";\nvar succeq = \"⪰\";\nvar succnapprox = \"⪺\";\nvar succneqq = \"⪶\";\nvar succnsim = \"⋩\";\nvar succsim = \"≿\";\nvar SuchThat = \"∋\";\nvar sum = \"∑\";\nvar Sum = \"∑\";\nvar sung = \"♪\";\nvar sup1$1 = \"¹\";\nvar sup2$1 = \"²\";\nvar sup3$1 = \"³\";\nvar sup = \"⊃\";\nvar Sup = \"⋑\";\nvar supdot = \"⪾\";\nvar supdsub = \"⫘\";\nvar supE = \"⫆\";\nvar supe = \"⊇\";\nvar supedot = \"⫄\";\nvar Superset = \"⊃\";\nvar SupersetEqual = \"⊇\";\nvar suphsol = \"⟉\";\nvar suphsub = \"⫗\";\nvar suplarr = \"⥻\";\nvar supmult = \"⫂\";\nvar supnE = \"⫌\";\nvar supne = \"⊋\";\nvar supplus = \"⫀\";\nvar supset = \"⊃\";\nvar Supset = \"⋑\";\nvar supseteq = \"⊇\";\nvar supseteqq = \"⫆\";\nvar supsetneq = \"⊋\";\nvar supsetneqq = \"⫌\";\nvar supsim = \"⫈\";\nvar supsub = \"⫔\";\nvar supsup = \"⫖\";\nvar swarhk = \"⤦\";\nvar swarr = \"↙\";\nvar swArr = \"⇙\";\nvar swarrow = \"↙\";\nvar swnwar = \"⤪\";\nvar szlig$1 = \"ß\";\nvar Tab = \"\\t\";\nvar target = \"⌖\";\nvar Tau = \"Τ\";\nvar tau = \"τ\";\nvar tbrk = \"⎴\";\nvar Tcaron = \"Ť\";\nvar tcaron = \"ť\";\nvar Tcedil = \"Ţ\";\nvar tcedil = \"ţ\";\nvar Tcy = \"Т\";\nvar tcy = \"т\";\nvar tdot = \"⃛\";\nvar telrec = \"⌕\";\nvar Tfr = \"𝔗\";\nvar tfr = \"𝔱\";\nvar there4 = \"∴\";\nvar therefore = \"∴\";\nvar Therefore = \"∴\";\nvar Theta = \"Θ\";\nvar theta = \"θ\";\nvar thetasym = \"ϑ\";\nvar thetav = \"ϑ\";\nvar thickapprox = \"≈\";\nvar thicksim = \"∼\";\nvar ThickSpace = \"  \";\nvar ThinSpace = \" \";\nvar thinsp = \" \";\nvar thkap = \"≈\";\nvar thksim = \"∼\";\nvar THORN$1 = \"Þ\";\nvar thorn$1 = \"þ\";\nvar tilde = \"˜\";\nvar Tilde = \"∼\";\nvar TildeEqual = \"≃\";\nvar TildeFullEqual = \"≅\";\nvar TildeTilde = \"≈\";\nvar timesbar = \"⨱\";\nvar timesb = \"⊠\";\nvar times$1 = \"×\";\nvar timesd = \"⨰\";\nvar tint = \"∭\";\nvar toea = \"⤨\";\nvar topbot = \"⌶\";\nvar topcir = \"⫱\";\nvar top = \"⊤\";\nvar Topf = \"𝕋\";\nvar topf = \"𝕥\";\nvar topfork = \"⫚\";\nvar tosa = \"⤩\";\nvar tprime = \"‴\";\nvar trade = \"™\";\nvar TRADE = \"™\";\nvar triangle = \"▵\";\nvar triangledown = \"▿\";\nvar triangleleft = \"◃\";\nvar trianglelefteq = \"⊴\";\nvar triangleq = \"≜\";\nvar triangleright = \"▹\";\nvar trianglerighteq = \"⊵\";\nvar tridot = \"◬\";\nvar trie = \"≜\";\nvar triminus = \"⨺\";\nvar TripleDot = \"⃛\";\nvar triplus = \"⨹\";\nvar trisb = \"⧍\";\nvar tritime = \"⨻\";\nvar trpezium = \"⏢\";\nvar Tscr = \"𝒯\";\nvar tscr = \"𝓉\";\nvar TScy = \"Ц\";\nvar tscy = \"ц\";\nvar TSHcy = \"Ћ\";\nvar tshcy = \"ћ\";\nvar Tstrok = \"Ŧ\";\nvar tstrok = \"ŧ\";\nvar twixt = \"≬\";\nvar twoheadleftarrow = \"↞\";\nvar twoheadrightarrow = \"↠\";\nvar Uacute$1 = \"Ú\";\nvar uacute$1 = \"ú\";\nvar uarr = \"↑\";\nvar Uarr = \"↟\";\nvar uArr = \"⇑\";\nvar Uarrocir = \"⥉\";\nvar Ubrcy = \"Ў\";\nvar ubrcy = \"ў\";\nvar Ubreve = \"Ŭ\";\nvar ubreve = \"ŭ\";\nvar Ucirc$1 = \"Û\";\nvar ucirc$1 = \"û\";\nvar Ucy = \"У\";\nvar ucy = \"у\";\nvar udarr = \"⇅\";\nvar Udblac = \"Ű\";\nvar udblac = \"ű\";\nvar udhar = \"⥮\";\nvar ufisht = \"⥾\";\nvar Ufr = \"𝔘\";\nvar ufr = \"𝔲\";\nvar Ugrave$1 = \"Ù\";\nvar ugrave$1 = \"ù\";\nvar uHar = \"⥣\";\nvar uharl = \"↿\";\nvar uharr = \"↾\";\nvar uhblk = \"▀\";\nvar ulcorn = \"⌜\";\nvar ulcorner = \"⌜\";\nvar ulcrop = \"⌏\";\nvar ultri = \"◸\";\nvar Umacr = \"Ū\";\nvar umacr = \"ū\";\nvar uml$1 = \"¨\";\nvar UnderBar = \"_\";\nvar UnderBrace = \"⏟\";\nvar UnderBracket = \"⎵\";\nvar UnderParenthesis = \"⏝\";\nvar Union = \"⋃\";\nvar UnionPlus = \"⊎\";\nvar Uogon = \"Ų\";\nvar uogon = \"ų\";\nvar Uopf = \"𝕌\";\nvar uopf = \"𝕦\";\nvar UpArrowBar = \"⤒\";\nvar uparrow = \"↑\";\nvar UpArrow = \"↑\";\nvar Uparrow = \"⇑\";\nvar UpArrowDownArrow = \"⇅\";\nvar updownarrow = \"↕\";\nvar UpDownArrow = \"↕\";\nvar Updownarrow = \"⇕\";\nvar UpEquilibrium = \"⥮\";\nvar upharpoonleft = \"↿\";\nvar upharpoonright = \"↾\";\nvar uplus = \"⊎\";\nvar UpperLeftArrow = \"↖\";\nvar UpperRightArrow = \"↗\";\nvar upsi = \"υ\";\nvar Upsi = \"ϒ\";\nvar upsih = \"ϒ\";\nvar Upsilon = \"Υ\";\nvar upsilon = \"υ\";\nvar UpTeeArrow = \"↥\";\nvar UpTee = \"⊥\";\nvar upuparrows = \"⇈\";\nvar urcorn = \"⌝\";\nvar urcorner = \"⌝\";\nvar urcrop = \"⌎\";\nvar Uring = \"Ů\";\nvar uring = \"ů\";\nvar urtri = \"◹\";\nvar Uscr = \"𝒰\";\nvar uscr = \"𝓊\";\nvar utdot = \"⋰\";\nvar Utilde = \"Ũ\";\nvar utilde = \"ũ\";\nvar utri = \"▵\";\nvar utrif = \"▴\";\nvar uuarr = \"⇈\";\nvar Uuml$1 = \"Ü\";\nvar uuml$1 = \"ü\";\nvar uwangle = \"⦧\";\nvar vangrt = \"⦜\";\nvar varepsilon = \"ϵ\";\nvar varkappa = \"ϰ\";\nvar varnothing = \"∅\";\nvar varphi = \"ϕ\";\nvar varpi = \"ϖ\";\nvar varpropto = \"∝\";\nvar varr = \"↕\";\nvar vArr = \"⇕\";\nvar varrho = \"ϱ\";\nvar varsigma = \"ς\";\nvar varsubsetneq = \"⊊︀\";\nvar varsubsetneqq = \"⫋︀\";\nvar varsupsetneq = \"⊋︀\";\nvar varsupsetneqq = \"⫌︀\";\nvar vartheta = \"ϑ\";\nvar vartriangleleft = \"⊲\";\nvar vartriangleright = \"⊳\";\nvar vBar = \"⫨\";\nvar Vbar = \"⫫\";\nvar vBarv = \"⫩\";\nvar Vcy = \"В\";\nvar vcy = \"в\";\nvar vdash = \"⊢\";\nvar vDash = \"⊨\";\nvar Vdash = \"⊩\";\nvar VDash = \"⊫\";\nvar Vdashl = \"⫦\";\nvar veebar = \"⊻\";\nvar vee = \"∨\";\nvar Vee = \"⋁\";\nvar veeeq = \"≚\";\nvar vellip = \"⋮\";\nvar verbar = \"|\";\nvar Verbar = \"‖\";\nvar vert = \"|\";\nvar Vert = \"‖\";\nvar VerticalBar = \"∣\";\nvar VerticalLine = \"|\";\nvar VerticalSeparator = \"❘\";\nvar VerticalTilde = \"≀\";\nvar VeryThinSpace = \" \";\nvar Vfr = \"𝔙\";\nvar vfr = \"𝔳\";\nvar vltri = \"⊲\";\nvar vnsub = \"⊂⃒\";\nvar vnsup = \"⊃⃒\";\nvar Vopf = \"𝕍\";\nvar vopf = \"𝕧\";\nvar vprop = \"∝\";\nvar vrtri = \"⊳\";\nvar Vscr = \"𝒱\";\nvar vscr = \"𝓋\";\nvar vsubnE = \"⫋︀\";\nvar vsubne = \"⊊︀\";\nvar vsupnE = \"⫌︀\";\nvar vsupne = \"⊋︀\";\nvar Vvdash = \"⊪\";\nvar vzigzag = \"⦚\";\nvar Wcirc = \"Ŵ\";\nvar wcirc = \"ŵ\";\nvar wedbar = \"⩟\";\nvar wedge = \"∧\";\nvar Wedge = \"⋀\";\nvar wedgeq = \"≙\";\nvar weierp = \"℘\";\nvar Wfr = \"𝔚\";\nvar wfr = \"𝔴\";\nvar Wopf = \"𝕎\";\nvar wopf = \"𝕨\";\nvar wp = \"℘\";\nvar wr = \"≀\";\nvar wreath = \"≀\";\nvar Wscr = \"𝒲\";\nvar wscr = \"𝓌\";\nvar xcap = \"⋂\";\nvar xcirc = \"◯\";\nvar xcup = \"⋃\";\nvar xdtri = \"▽\";\nvar Xfr = \"𝔛\";\nvar xfr = \"𝔵\";\nvar xharr = \"⟷\";\nvar xhArr = \"⟺\";\nvar Xi = \"Ξ\";\nvar xi = \"ξ\";\nvar xlarr = \"⟵\";\nvar xlArr = \"⟸\";\nvar xmap = \"⟼\";\nvar xnis = \"⋻\";\nvar xodot = \"⨀\";\nvar Xopf = \"𝕏\";\nvar xopf = \"𝕩\";\nvar xoplus = \"⨁\";\nvar xotime = \"⨂\";\nvar xrarr = \"⟶\";\nvar xrArr = \"⟹\";\nvar Xscr = \"𝒳\";\nvar xscr = \"𝓍\";\nvar xsqcup = \"⨆\";\nvar xuplus = \"⨄\";\nvar xutri = \"△\";\nvar xvee = \"⋁\";\nvar xwedge = \"⋀\";\nvar Yacute$1 = \"Ý\";\nvar yacute$1 = \"ý\";\nvar YAcy = \"Я\";\nvar yacy = \"я\";\nvar Ycirc = \"Ŷ\";\nvar ycirc = \"ŷ\";\nvar Ycy = \"Ы\";\nvar ycy = \"ы\";\nvar yen$1 = \"¥\";\nvar Yfr = \"𝔜\";\nvar yfr = \"𝔶\";\nvar YIcy = \"Ї\";\nvar yicy = \"ї\";\nvar Yopf = \"𝕐\";\nvar yopf = \"𝕪\";\nvar Yscr = \"𝒴\";\nvar yscr = \"𝓎\";\nvar YUcy = \"Ю\";\nvar yucy = \"ю\";\nvar yuml$1 = \"ÿ\";\nvar Yuml = \"Ÿ\";\nvar Zacute = \"Ź\";\nvar zacute = \"ź\";\nvar Zcaron = \"Ž\";\nvar zcaron = \"ž\";\nvar Zcy = \"З\";\nvar zcy = \"з\";\nvar Zdot = \"Ż\";\nvar zdot = \"ż\";\nvar zeetrf = \"ℨ\";\nvar ZeroWidthSpace = \"​\";\nvar Zeta = \"Ζ\";\nvar zeta = \"ζ\";\nvar zfr = \"𝔷\";\nvar Zfr = \"ℨ\";\nvar ZHcy = \"Ж\";\nvar zhcy = \"ж\";\nvar zigrarr = \"⇝\";\nvar zopf = \"𝕫\";\nvar Zopf = \"ℤ\";\nvar Zscr = \"𝒵\";\nvar zscr = \"𝓏\";\nvar zwj = \"‍\";\nvar zwnj = \"‌\";\nvar require$$1$1 = {\n\tAacute: Aacute$1,\n\taacute: aacute$1,\n\tAbreve: Abreve,\n\tabreve: abreve,\n\tac: ac,\n\tacd: acd,\n\tacE: acE,\n\tAcirc: Acirc$1,\n\tacirc: acirc$1,\n\tacute: acute$1,\n\tAcy: Acy,\n\tacy: acy,\n\tAElig: AElig$1,\n\taelig: aelig$1,\n\taf: af,\n\tAfr: Afr,\n\tafr: afr,\n\tAgrave: Agrave$1,\n\tagrave: agrave$1,\n\talefsym: alefsym,\n\taleph: aleph,\n\tAlpha: Alpha,\n\talpha: alpha,\n\tAmacr: Amacr,\n\tamacr: amacr,\n\tamalg: amalg,\n\tamp: amp$2,\n\tAMP: AMP$1,\n\tandand: andand,\n\tAnd: And,\n\tand: and,\n\tandd: andd,\n\tandslope: andslope,\n\tandv: andv,\n\tang: ang,\n\tange: ange,\n\tangle: angle,\n\tangmsdaa: angmsdaa,\n\tangmsdab: angmsdab,\n\tangmsdac: angmsdac,\n\tangmsdad: angmsdad,\n\tangmsdae: angmsdae,\n\tangmsdaf: angmsdaf,\n\tangmsdag: angmsdag,\n\tangmsdah: angmsdah,\n\tangmsd: angmsd,\n\tangrt: angrt,\n\tangrtvb: angrtvb,\n\tangrtvbd: angrtvbd,\n\tangsph: angsph,\n\tangst: angst,\n\tangzarr: angzarr,\n\tAogon: Aogon,\n\taogon: aogon,\n\tAopf: Aopf,\n\taopf: aopf,\n\tapacir: apacir,\n\tap: ap,\n\tapE: apE,\n\tape: ape,\n\tapid: apid,\n\tapos: apos$1,\n\tApplyFunction: ApplyFunction,\n\tapprox: approx,\n\tapproxeq: approxeq,\n\tAring: Aring$1,\n\taring: aring$1,\n\tAscr: Ascr,\n\tascr: ascr,\n\tAssign: Assign,\n\tast: ast,\n\tasymp: asymp,\n\tasympeq: asympeq,\n\tAtilde: Atilde$1,\n\tatilde: atilde$1,\n\tAuml: Auml$1,\n\tauml: auml$1,\n\tawconint: awconint,\n\tawint: awint,\n\tbackcong: backcong,\n\tbackepsilon: backepsilon,\n\tbackprime: backprime,\n\tbacksim: backsim,\n\tbacksimeq: backsimeq,\n\tBackslash: Backslash,\n\tBarv: Barv,\n\tbarvee: barvee,\n\tbarwed: barwed,\n\tBarwed: Barwed,\n\tbarwedge: barwedge,\n\tbbrk: bbrk,\n\tbbrktbrk: bbrktbrk,\n\tbcong: bcong,\n\tBcy: Bcy,\n\tbcy: bcy,\n\tbdquo: bdquo,\n\tbecaus: becaus,\n\tbecause: because,\n\tBecause: Because,\n\tbemptyv: bemptyv,\n\tbepsi: bepsi,\n\tbernou: bernou,\n\tBernoullis: Bernoullis,\n\tBeta: Beta,\n\tbeta: beta,\n\tbeth: beth,\n\tbetween: between,\n\tBfr: Bfr,\n\tbfr: bfr,\n\tbigcap: bigcap,\n\tbigcirc: bigcirc,\n\tbigcup: bigcup,\n\tbigodot: bigodot,\n\tbigoplus: bigoplus,\n\tbigotimes: bigotimes,\n\tbigsqcup: bigsqcup,\n\tbigstar: bigstar,\n\tbigtriangledown: bigtriangledown,\n\tbigtriangleup: bigtriangleup,\n\tbiguplus: biguplus,\n\tbigvee: bigvee,\n\tbigwedge: bigwedge,\n\tbkarow: bkarow,\n\tblacklozenge: blacklozenge,\n\tblacksquare: blacksquare,\n\tblacktriangle: blacktriangle,\n\tblacktriangledown: blacktriangledown,\n\tblacktriangleleft: blacktriangleleft,\n\tblacktriangleright: blacktriangleright,\n\tblank: blank,\n\tblk12: blk12,\n\tblk14: blk14,\n\tblk34: blk34,\n\tblock: block,\n\tbne: bne,\n\tbnequiv: bnequiv,\n\tbNot: bNot,\n\tbnot: bnot,\n\tBopf: Bopf,\n\tbopf: bopf,\n\tbot: bot,\n\tbottom: bottom,\n\tbowtie: bowtie,\n\tboxbox: boxbox,\n\tboxdl: boxdl,\n\tboxdL: boxdL,\n\tboxDl: boxDl,\n\tboxDL: boxDL,\n\tboxdr: boxdr,\n\tboxdR: boxdR,\n\tboxDr: boxDr,\n\tboxDR: boxDR,\n\tboxh: boxh,\n\tboxH: boxH,\n\tboxhd: boxhd,\n\tboxHd: boxHd,\n\tboxhD: boxhD,\n\tboxHD: boxHD,\n\tboxhu: boxhu,\n\tboxHu: boxHu,\n\tboxhU: boxhU,\n\tboxHU: boxHU,\n\tboxminus: boxminus,\n\tboxplus: boxplus,\n\tboxtimes: boxtimes,\n\tboxul: boxul,\n\tboxuL: boxuL,\n\tboxUl: boxUl,\n\tboxUL: boxUL,\n\tboxur: boxur,\n\tboxuR: boxuR,\n\tboxUr: boxUr,\n\tboxUR: boxUR,\n\tboxv: boxv,\n\tboxV: boxV,\n\tboxvh: boxvh,\n\tboxvH: boxvH,\n\tboxVh: boxVh,\n\tboxVH: boxVH,\n\tboxvl: boxvl,\n\tboxvL: boxvL,\n\tboxVl: boxVl,\n\tboxVL: boxVL,\n\tboxvr: boxvr,\n\tboxvR: boxvR,\n\tboxVr: boxVr,\n\tboxVR: boxVR,\n\tbprime: bprime,\n\tbreve: breve,\n\tBreve: Breve,\n\tbrvbar: brvbar$1,\n\tbscr: bscr,\n\tBscr: Bscr,\n\tbsemi: bsemi,\n\tbsim: bsim,\n\tbsime: bsime,\n\tbsolb: bsolb,\n\tbsol: bsol,\n\tbsolhsub: bsolhsub,\n\tbull: bull,\n\tbullet: bullet,\n\tbump: bump,\n\tbumpE: bumpE,\n\tbumpe: bumpe,\n\tBumpeq: Bumpeq,\n\tbumpeq: bumpeq,\n\tCacute: Cacute,\n\tcacute: cacute,\n\tcapand: capand,\n\tcapbrcup: capbrcup,\n\tcapcap: capcap,\n\tcap: cap,\n\tCap: Cap,\n\tcapcup: capcup,\n\tcapdot: capdot,\n\tCapitalDifferentialD: CapitalDifferentialD,\n\tcaps: caps,\n\tcaret: caret,\n\tcaron: caron,\n\tCayleys: Cayleys,\n\tccaps: ccaps,\n\tCcaron: Ccaron,\n\tccaron: ccaron,\n\tCcedil: Ccedil$1,\n\tccedil: ccedil$1,\n\tCcirc: Ccirc,\n\tccirc: ccirc,\n\tCconint: Cconint,\n\tccups: ccups,\n\tccupssm: ccupssm,\n\tCdot: Cdot,\n\tcdot: cdot,\n\tcedil: cedil$1,\n\tCedilla: Cedilla,\n\tcemptyv: cemptyv,\n\tcent: cent$1,\n\tcenterdot: centerdot,\n\tCenterDot: CenterDot,\n\tcfr: cfr,\n\tCfr: Cfr,\n\tCHcy: CHcy,\n\tchcy: chcy,\n\tcheck: check,\n\tcheckmark: checkmark,\n\tChi: Chi,\n\tchi: chi,\n\tcirc: circ,\n\tcirceq: circeq,\n\tcirclearrowleft: circlearrowleft,\n\tcirclearrowright: circlearrowright,\n\tcircledast: circledast,\n\tcircledcirc: circledcirc,\n\tcircleddash: circleddash,\n\tCircleDot: CircleDot,\n\tcircledR: circledR,\n\tcircledS: circledS,\n\tCircleMinus: CircleMinus,\n\tCirclePlus: CirclePlus,\n\tCircleTimes: CircleTimes,\n\tcir: cir,\n\tcirE: cirE,\n\tcire: cire,\n\tcirfnint: cirfnint,\n\tcirmid: cirmid,\n\tcirscir: cirscir,\n\tClockwiseContourIntegral: ClockwiseContourIntegral,\n\tCloseCurlyDoubleQuote: CloseCurlyDoubleQuote,\n\tCloseCurlyQuote: CloseCurlyQuote,\n\tclubs: clubs,\n\tclubsuit: clubsuit,\n\tcolon: colon,\n\tColon: Colon,\n\tColone: Colone,\n\tcolone: colone,\n\tcoloneq: coloneq,\n\tcomma: comma,\n\tcommat: commat,\n\tcomp: comp,\n\tcompfn: compfn,\n\tcomplement: complement,\n\tcomplexes: complexes,\n\tcong: cong,\n\tcongdot: congdot,\n\tCongruent: Congruent,\n\tconint: conint,\n\tConint: Conint,\n\tContourIntegral: ContourIntegral,\n\tcopf: copf,\n\tCopf: Copf,\n\tcoprod: coprod,\n\tCoproduct: Coproduct,\n\tcopy: copy$1,\n\tCOPY: COPY$1,\n\tcopysr: copysr,\n\tCounterClockwiseContourIntegral: CounterClockwiseContourIntegral,\n\tcrarr: crarr,\n\tcross: cross,\n\tCross: Cross,\n\tCscr: Cscr,\n\tcscr: cscr,\n\tcsub: csub,\n\tcsube: csube,\n\tcsup: csup,\n\tcsupe: csupe,\n\tctdot: ctdot,\n\tcudarrl: cudarrl,\n\tcudarrr: cudarrr,\n\tcuepr: cuepr,\n\tcuesc: cuesc,\n\tcularr: cularr,\n\tcularrp: cularrp,\n\tcupbrcap: cupbrcap,\n\tcupcap: cupcap,\n\tCupCap: CupCap,\n\tcup: cup,\n\tCup: Cup,\n\tcupcup: cupcup,\n\tcupdot: cupdot,\n\tcupor: cupor,\n\tcups: cups,\n\tcurarr: curarr,\n\tcurarrm: curarrm,\n\tcurlyeqprec: curlyeqprec,\n\tcurlyeqsucc: curlyeqsucc,\n\tcurlyvee: curlyvee,\n\tcurlywedge: curlywedge,\n\tcurren: curren$1,\n\tcurvearrowleft: curvearrowleft,\n\tcurvearrowright: curvearrowright,\n\tcuvee: cuvee,\n\tcuwed: cuwed,\n\tcwconint: cwconint,\n\tcwint: cwint,\n\tcylcty: cylcty,\n\tdagger: dagger,\n\tDagger: Dagger,\n\tdaleth: daleth,\n\tdarr: darr,\n\tDarr: Darr,\n\tdArr: dArr,\n\tdash: dash,\n\tDashv: Dashv,\n\tdashv: dashv,\n\tdbkarow: dbkarow,\n\tdblac: dblac,\n\tDcaron: Dcaron,\n\tdcaron: dcaron,\n\tDcy: Dcy,\n\tdcy: dcy,\n\tddagger: ddagger,\n\tddarr: ddarr,\n\tDD: DD,\n\tdd: dd,\n\tDDotrahd: DDotrahd,\n\tddotseq: ddotseq,\n\tdeg: deg$1,\n\tDel: Del,\n\tDelta: Delta,\n\tdelta: delta,\n\tdemptyv: demptyv,\n\tdfisht: dfisht,\n\tDfr: Dfr,\n\tdfr: dfr,\n\tdHar: dHar,\n\tdharl: dharl,\n\tdharr: dharr,\n\tDiacriticalAcute: DiacriticalAcute,\n\tDiacriticalDot: DiacriticalDot,\n\tDiacriticalDoubleAcute: DiacriticalDoubleAcute,\n\tDiacriticalGrave: DiacriticalGrave,\n\tDiacriticalTilde: DiacriticalTilde,\n\tdiam: diam,\n\tdiamond: diamond,\n\tDiamond: Diamond,\n\tdiamondsuit: diamondsuit,\n\tdiams: diams,\n\tdie: die,\n\tDifferentialD: DifferentialD,\n\tdigamma: digamma,\n\tdisin: disin,\n\tdiv: div,\n\tdivide: divide$1,\n\tdivideontimes: divideontimes,\n\tdivonx: divonx,\n\tDJcy: DJcy,\n\tdjcy: djcy,\n\tdlcorn: dlcorn,\n\tdlcrop: dlcrop,\n\tdollar: dollar,\n\tDopf: Dopf,\n\tdopf: dopf,\n\tDot: Dot,\n\tdot: dot,\n\tDotDot: DotDot,\n\tdoteq: doteq,\n\tdoteqdot: doteqdot,\n\tDotEqual: DotEqual,\n\tdotminus: dotminus,\n\tdotplus: dotplus,\n\tdotsquare: dotsquare,\n\tdoublebarwedge: doublebarwedge,\n\tDoubleContourIntegral: DoubleContourIntegral,\n\tDoubleDot: DoubleDot,\n\tDoubleDownArrow: DoubleDownArrow,\n\tDoubleLeftArrow: DoubleLeftArrow,\n\tDoubleLeftRightArrow: DoubleLeftRightArrow,\n\tDoubleLeftTee: DoubleLeftTee,\n\tDoubleLongLeftArrow: DoubleLongLeftArrow,\n\tDoubleLongLeftRightArrow: DoubleLongLeftRightArrow,\n\tDoubleLongRightArrow: DoubleLongRightArrow,\n\tDoubleRightArrow: DoubleRightArrow,\n\tDoubleRightTee: DoubleRightTee,\n\tDoubleUpArrow: DoubleUpArrow,\n\tDoubleUpDownArrow: DoubleUpDownArrow,\n\tDoubleVerticalBar: DoubleVerticalBar,\n\tDownArrowBar: DownArrowBar,\n\tdownarrow: downarrow,\n\tDownArrow: DownArrow,\n\tDownarrow: Downarrow,\n\tDownArrowUpArrow: DownArrowUpArrow,\n\tDownBreve: DownBreve,\n\tdowndownarrows: downdownarrows,\n\tdownharpoonleft: downharpoonleft,\n\tdownharpoonright: downharpoonright,\n\tDownLeftRightVector: DownLeftRightVector,\n\tDownLeftTeeVector: DownLeftTeeVector,\n\tDownLeftVectorBar: DownLeftVectorBar,\n\tDownLeftVector: DownLeftVector,\n\tDownRightTeeVector: DownRightTeeVector,\n\tDownRightVectorBar: DownRightVectorBar,\n\tDownRightVector: DownRightVector,\n\tDownTeeArrow: DownTeeArrow,\n\tDownTee: DownTee,\n\tdrbkarow: drbkarow,\n\tdrcorn: drcorn,\n\tdrcrop: drcrop,\n\tDscr: Dscr,\n\tdscr: dscr,\n\tDScy: DScy,\n\tdscy: dscy,\n\tdsol: dsol,\n\tDstrok: Dstrok,\n\tdstrok: dstrok,\n\tdtdot: dtdot,\n\tdtri: dtri,\n\tdtrif: dtrif,\n\tduarr: duarr,\n\tduhar: duhar,\n\tdwangle: dwangle,\n\tDZcy: DZcy,\n\tdzcy: dzcy,\n\tdzigrarr: dzigrarr,\n\tEacute: Eacute$1,\n\teacute: eacute$1,\n\teaster: easter,\n\tEcaron: Ecaron,\n\tecaron: ecaron,\n\tEcirc: Ecirc$1,\n\tecirc: ecirc$1,\n\tecir: ecir,\n\tecolon: ecolon,\n\tEcy: Ecy,\n\tecy: ecy,\n\teDDot: eDDot,\n\tEdot: Edot,\n\tedot: edot,\n\teDot: eDot,\n\tee: ee,\n\tefDot: efDot,\n\tEfr: Efr,\n\tefr: efr,\n\teg: eg,\n\tEgrave: Egrave$1,\n\tegrave: egrave$1,\n\tegs: egs,\n\tegsdot: egsdot,\n\tel: el,\n\tElement: Element$1,\n\telinters: elinters,\n\tell: ell,\n\tels: els,\n\telsdot: elsdot,\n\tEmacr: Emacr,\n\temacr: emacr,\n\tempty: empty,\n\temptyset: emptyset,\n\tEmptySmallSquare: EmptySmallSquare,\n\temptyv: emptyv,\n\tEmptyVerySmallSquare: EmptyVerySmallSquare,\n\temsp13: emsp13,\n\temsp14: emsp14,\n\temsp: emsp,\n\tENG: ENG,\n\teng: eng,\n\tensp: ensp,\n\tEogon: Eogon,\n\teogon: eogon,\n\tEopf: Eopf,\n\teopf: eopf,\n\tepar: epar,\n\teparsl: eparsl,\n\teplus: eplus,\n\tepsi: epsi,\n\tEpsilon: Epsilon,\n\tepsilon: epsilon,\n\tepsiv: epsiv,\n\teqcirc: eqcirc,\n\teqcolon: eqcolon,\n\teqsim: eqsim,\n\teqslantgtr: eqslantgtr,\n\teqslantless: eqslantless,\n\tEqual: Equal,\n\tequals: equals,\n\tEqualTilde: EqualTilde,\n\tequest: equest,\n\tEquilibrium: Equilibrium,\n\tequiv: equiv,\n\tequivDD: equivDD,\n\teqvparsl: eqvparsl,\n\terarr: erarr,\n\terDot: erDot,\n\tescr: escr,\n\tEscr: Escr,\n\tesdot: esdot,\n\tEsim: Esim,\n\tesim: esim,\n\tEta: Eta,\n\teta: eta,\n\tETH: ETH$1,\n\teth: eth$1,\n\tEuml: Euml$1,\n\teuml: euml$1,\n\teuro: euro,\n\texcl: excl,\n\texist: exist,\n\tExists: Exists,\n\texpectation: expectation,\n\texponentiale: exponentiale,\n\tExponentialE: ExponentialE,\n\tfallingdotseq: fallingdotseq,\n\tFcy: Fcy,\n\tfcy: fcy,\n\tfemale: female,\n\tffilig: ffilig,\n\tfflig: fflig,\n\tffllig: ffllig,\n\tFfr: Ffr,\n\tffr: ffr,\n\tfilig: filig,\n\tFilledSmallSquare: FilledSmallSquare,\n\tFilledVerySmallSquare: FilledVerySmallSquare,\n\tfjlig: fjlig,\n\tflat: flat,\n\tfllig: fllig,\n\tfltns: fltns,\n\tfnof: fnof,\n\tFopf: Fopf,\n\tfopf: fopf,\n\tforall: forall,\n\tForAll: ForAll,\n\tfork: fork,\n\tforkv: forkv,\n\tFouriertrf: Fouriertrf,\n\tfpartint: fpartint,\n\tfrac12: frac12$1,\n\tfrac13: frac13,\n\tfrac14: frac14$1,\n\tfrac15: frac15,\n\tfrac16: frac16,\n\tfrac18: frac18,\n\tfrac23: frac23,\n\tfrac25: frac25,\n\tfrac34: frac34$1,\n\tfrac35: frac35,\n\tfrac38: frac38,\n\tfrac45: frac45,\n\tfrac56: frac56,\n\tfrac58: frac58,\n\tfrac78: frac78,\n\tfrasl: frasl,\n\tfrown: frown,\n\tfscr: fscr,\n\tFscr: Fscr,\n\tgacute: gacute,\n\tGamma: Gamma,\n\tgamma: gamma,\n\tGammad: Gammad,\n\tgammad: gammad,\n\tgap: gap,\n\tGbreve: Gbreve,\n\tgbreve: gbreve,\n\tGcedil: Gcedil,\n\tGcirc: Gcirc,\n\tgcirc: gcirc,\n\tGcy: Gcy,\n\tgcy: gcy,\n\tGdot: Gdot,\n\tgdot: gdot,\n\tge: ge,\n\tgE: gE,\n\tgEl: gEl,\n\tgel: gel,\n\tgeq: geq,\n\tgeqq: geqq,\n\tgeqslant: geqslant,\n\tgescc: gescc,\n\tges: ges,\n\tgesdot: gesdot,\n\tgesdoto: gesdoto,\n\tgesdotol: gesdotol,\n\tgesl: gesl,\n\tgesles: gesles,\n\tGfr: Gfr,\n\tgfr: gfr,\n\tgg: gg,\n\tGg: Gg,\n\tggg: ggg,\n\tgimel: gimel,\n\tGJcy: GJcy,\n\tgjcy: gjcy,\n\tgla: gla,\n\tgl: gl,\n\tglE: glE,\n\tglj: glj,\n\tgnap: gnap,\n\tgnapprox: gnapprox,\n\tgne: gne,\n\tgnE: gnE,\n\tgneq: gneq,\n\tgneqq: gneqq,\n\tgnsim: gnsim,\n\tGopf: Gopf,\n\tgopf: gopf,\n\tgrave: grave,\n\tGreaterEqual: GreaterEqual,\n\tGreaterEqualLess: GreaterEqualLess,\n\tGreaterFullEqual: GreaterFullEqual,\n\tGreaterGreater: GreaterGreater,\n\tGreaterLess: GreaterLess,\n\tGreaterSlantEqual: GreaterSlantEqual,\n\tGreaterTilde: GreaterTilde,\n\tGscr: Gscr,\n\tgscr: gscr,\n\tgsim: gsim,\n\tgsime: gsime,\n\tgsiml: gsiml,\n\tgtcc: gtcc,\n\tgtcir: gtcir,\n\tgt: gt$2,\n\tGT: GT$1,\n\tGt: Gt,\n\tgtdot: gtdot,\n\tgtlPar: gtlPar,\n\tgtquest: gtquest,\n\tgtrapprox: gtrapprox,\n\tgtrarr: gtrarr,\n\tgtrdot: gtrdot,\n\tgtreqless: gtreqless,\n\tgtreqqless: gtreqqless,\n\tgtrless: gtrless,\n\tgtrsim: gtrsim,\n\tgvertneqq: gvertneqq,\n\tgvnE: gvnE,\n\tHacek: Hacek,\n\thairsp: hairsp,\n\thalf: half,\n\thamilt: hamilt,\n\tHARDcy: HARDcy,\n\thardcy: hardcy,\n\tharrcir: harrcir,\n\tharr: harr,\n\thArr: hArr,\n\tharrw: harrw,\n\tHat: Hat,\n\thbar: hbar,\n\tHcirc: Hcirc,\n\thcirc: hcirc,\n\thearts: hearts,\n\theartsuit: heartsuit,\n\thellip: hellip,\n\thercon: hercon,\n\thfr: hfr,\n\tHfr: Hfr,\n\tHilbertSpace: HilbertSpace,\n\thksearow: hksearow,\n\thkswarow: hkswarow,\n\thoarr: hoarr,\n\thomtht: homtht,\n\thookleftarrow: hookleftarrow,\n\thookrightarrow: hookrightarrow,\n\thopf: hopf,\n\tHopf: Hopf,\n\thorbar: horbar,\n\tHorizontalLine: HorizontalLine,\n\thscr: hscr,\n\tHscr: Hscr,\n\thslash: hslash,\n\tHstrok: Hstrok,\n\thstrok: hstrok,\n\tHumpDownHump: HumpDownHump,\n\tHumpEqual: HumpEqual,\n\thybull: hybull,\n\thyphen: hyphen,\n\tIacute: Iacute$1,\n\tiacute: iacute$1,\n\tic: ic,\n\tIcirc: Icirc$1,\n\ticirc: icirc$1,\n\tIcy: Icy,\n\ticy: icy,\n\tIdot: Idot,\n\tIEcy: IEcy,\n\tiecy: iecy,\n\tiexcl: iexcl$1,\n\tiff: iff,\n\tifr: ifr,\n\tIfr: Ifr,\n\tIgrave: Igrave$1,\n\tigrave: igrave$1,\n\tii: ii,\n\tiiiint: iiiint,\n\tiiint: iiint,\n\tiinfin: iinfin,\n\tiiota: iiota,\n\tIJlig: IJlig,\n\tijlig: ijlig,\n\tImacr: Imacr,\n\timacr: imacr,\n\timage: image,\n\tImaginaryI: ImaginaryI,\n\timagline: imagline,\n\timagpart: imagpart,\n\timath: imath,\n\tIm: Im,\n\timof: imof,\n\timped: imped,\n\tImplies: Implies,\n\tincare: incare,\n\t\"in\": \"∈\",\n\tinfin: infin,\n\tinfintie: infintie,\n\tinodot: inodot,\n\tintcal: intcal,\n\tint: int,\n\tInt: Int,\n\tintegers: integers,\n\tIntegral: Integral,\n\tintercal: intercal,\n\tIntersection: Intersection,\n\tintlarhk: intlarhk,\n\tintprod: intprod,\n\tInvisibleComma: InvisibleComma,\n\tInvisibleTimes: InvisibleTimes,\n\tIOcy: IOcy,\n\tiocy: iocy,\n\tIogon: Iogon,\n\tiogon: iogon,\n\tIopf: Iopf,\n\tiopf: iopf,\n\tIota: Iota,\n\tiota: iota,\n\tiprod: iprod,\n\tiquest: iquest$1,\n\tiscr: iscr,\n\tIscr: Iscr,\n\tisin: isin,\n\tisindot: isindot,\n\tisinE: isinE,\n\tisins: isins,\n\tisinsv: isinsv,\n\tisinv: isinv,\n\tit: it,\n\tItilde: Itilde,\n\titilde: itilde,\n\tIukcy: Iukcy,\n\tiukcy: iukcy,\n\tIuml: Iuml$1,\n\tiuml: iuml$1,\n\tJcirc: Jcirc,\n\tjcirc: jcirc,\n\tJcy: Jcy,\n\tjcy: jcy,\n\tJfr: Jfr,\n\tjfr: jfr,\n\tjmath: jmath,\n\tJopf: Jopf,\n\tjopf: jopf,\n\tJscr: Jscr,\n\tjscr: jscr,\n\tJsercy: Jsercy,\n\tjsercy: jsercy,\n\tJukcy: Jukcy,\n\tjukcy: jukcy,\n\tKappa: Kappa,\n\tkappa: kappa,\n\tkappav: kappav,\n\tKcedil: Kcedil,\n\tkcedil: kcedil,\n\tKcy: Kcy,\n\tkcy: kcy,\n\tKfr: Kfr,\n\tkfr: kfr,\n\tkgreen: kgreen,\n\tKHcy: KHcy,\n\tkhcy: khcy,\n\tKJcy: KJcy,\n\tkjcy: kjcy,\n\tKopf: Kopf,\n\tkopf: kopf,\n\tKscr: Kscr,\n\tkscr: kscr,\n\tlAarr: lAarr,\n\tLacute: Lacute,\n\tlacute: lacute,\n\tlaemptyv: laemptyv,\n\tlagran: lagran,\n\tLambda: Lambda,\n\tlambda: lambda,\n\tlang: lang,\n\tLang: Lang,\n\tlangd: langd,\n\tlangle: langle,\n\tlap: lap,\n\tLaplacetrf: Laplacetrf,\n\tlaquo: laquo$1,\n\tlarrb: larrb,\n\tlarrbfs: larrbfs,\n\tlarr: larr,\n\tLarr: Larr,\n\tlArr: lArr,\n\tlarrfs: larrfs,\n\tlarrhk: larrhk,\n\tlarrlp: larrlp,\n\tlarrpl: larrpl,\n\tlarrsim: larrsim,\n\tlarrtl: larrtl,\n\tlatail: latail,\n\tlAtail: lAtail,\n\tlat: lat,\n\tlate: late,\n\tlates: lates,\n\tlbarr: lbarr,\n\tlBarr: lBarr,\n\tlbbrk: lbbrk,\n\tlbrace: lbrace,\n\tlbrack: lbrack,\n\tlbrke: lbrke,\n\tlbrksld: lbrksld,\n\tlbrkslu: lbrkslu,\n\tLcaron: Lcaron,\n\tlcaron: lcaron,\n\tLcedil: Lcedil,\n\tlcedil: lcedil,\n\tlceil: lceil,\n\tlcub: lcub,\n\tLcy: Lcy,\n\tlcy: lcy,\n\tldca: ldca,\n\tldquo: ldquo,\n\tldquor: ldquor,\n\tldrdhar: ldrdhar,\n\tldrushar: ldrushar,\n\tldsh: ldsh,\n\tle: le,\n\tlE: lE,\n\tLeftAngleBracket: LeftAngleBracket,\n\tLeftArrowBar: LeftArrowBar,\n\tleftarrow: leftarrow,\n\tLeftArrow: LeftArrow,\n\tLeftarrow: Leftarrow,\n\tLeftArrowRightArrow: LeftArrowRightArrow,\n\tleftarrowtail: leftarrowtail,\n\tLeftCeiling: LeftCeiling,\n\tLeftDoubleBracket: LeftDoubleBracket,\n\tLeftDownTeeVector: LeftDownTeeVector,\n\tLeftDownVectorBar: LeftDownVectorBar,\n\tLeftDownVector: LeftDownVector,\n\tLeftFloor: LeftFloor,\n\tleftharpoondown: leftharpoondown,\n\tleftharpoonup: leftharpoonup,\n\tleftleftarrows: leftleftarrows,\n\tleftrightarrow: leftrightarrow,\n\tLeftRightArrow: LeftRightArrow,\n\tLeftrightarrow: Leftrightarrow,\n\tleftrightarrows: leftrightarrows,\n\tleftrightharpoons: leftrightharpoons,\n\tleftrightsquigarrow: leftrightsquigarrow,\n\tLeftRightVector: LeftRightVector,\n\tLeftTeeArrow: LeftTeeArrow,\n\tLeftTee: LeftTee,\n\tLeftTeeVector: LeftTeeVector,\n\tleftthreetimes: leftthreetimes,\n\tLeftTriangleBar: LeftTriangleBar,\n\tLeftTriangle: LeftTriangle,\n\tLeftTriangleEqual: LeftTriangleEqual,\n\tLeftUpDownVector: LeftUpDownVector,\n\tLeftUpTeeVector: LeftUpTeeVector,\n\tLeftUpVectorBar: LeftUpVectorBar,\n\tLeftUpVector: LeftUpVector,\n\tLeftVectorBar: LeftVectorBar,\n\tLeftVector: LeftVector,\n\tlEg: lEg,\n\tleg: leg,\n\tleq: leq,\n\tleqq: leqq,\n\tleqslant: leqslant,\n\tlescc: lescc,\n\tles: les,\n\tlesdot: lesdot,\n\tlesdoto: lesdoto,\n\tlesdotor: lesdotor,\n\tlesg: lesg,\n\tlesges: lesges,\n\tlessapprox: lessapprox,\n\tlessdot: lessdot,\n\tlesseqgtr: lesseqgtr,\n\tlesseqqgtr: lesseqqgtr,\n\tLessEqualGreater: LessEqualGreater,\n\tLessFullEqual: LessFullEqual,\n\tLessGreater: LessGreater,\n\tlessgtr: lessgtr,\n\tLessLess: LessLess,\n\tlesssim: lesssim,\n\tLessSlantEqual: LessSlantEqual,\n\tLessTilde: LessTilde,\n\tlfisht: lfisht,\n\tlfloor: lfloor,\n\tLfr: Lfr,\n\tlfr: lfr,\n\tlg: lg,\n\tlgE: lgE,\n\tlHar: lHar,\n\tlhard: lhard,\n\tlharu: lharu,\n\tlharul: lharul,\n\tlhblk: lhblk,\n\tLJcy: LJcy,\n\tljcy: ljcy,\n\tllarr: llarr,\n\tll: ll,\n\tLl: Ll,\n\tllcorner: llcorner,\n\tLleftarrow: Lleftarrow,\n\tllhard: llhard,\n\tlltri: lltri,\n\tLmidot: Lmidot,\n\tlmidot: lmidot,\n\tlmoustache: lmoustache,\n\tlmoust: lmoust,\n\tlnap: lnap,\n\tlnapprox: lnapprox,\n\tlne: lne,\n\tlnE: lnE,\n\tlneq: lneq,\n\tlneqq: lneqq,\n\tlnsim: lnsim,\n\tloang: loang,\n\tloarr: loarr,\n\tlobrk: lobrk,\n\tlongleftarrow: longleftarrow,\n\tLongLeftArrow: LongLeftArrow,\n\tLongleftarrow: Longleftarrow,\n\tlongleftrightarrow: longleftrightarrow,\n\tLongLeftRightArrow: LongLeftRightArrow,\n\tLongleftrightarrow: Longleftrightarrow,\n\tlongmapsto: longmapsto,\n\tlongrightarrow: longrightarrow,\n\tLongRightArrow: LongRightArrow,\n\tLongrightarrow: Longrightarrow,\n\tlooparrowleft: looparrowleft,\n\tlooparrowright: looparrowright,\n\tlopar: lopar,\n\tLopf: Lopf,\n\tlopf: lopf,\n\tloplus: loplus,\n\tlotimes: lotimes,\n\tlowast: lowast,\n\tlowbar: lowbar,\n\tLowerLeftArrow: LowerLeftArrow,\n\tLowerRightArrow: LowerRightArrow,\n\tloz: loz,\n\tlozenge: lozenge,\n\tlozf: lozf,\n\tlpar: lpar,\n\tlparlt: lparlt,\n\tlrarr: lrarr,\n\tlrcorner: lrcorner,\n\tlrhar: lrhar,\n\tlrhard: lrhard,\n\tlrm: lrm,\n\tlrtri: lrtri,\n\tlsaquo: lsaquo,\n\tlscr: lscr,\n\tLscr: Lscr,\n\tlsh: lsh,\n\tLsh: Lsh,\n\tlsim: lsim,\n\tlsime: lsime,\n\tlsimg: lsimg,\n\tlsqb: lsqb,\n\tlsquo: lsquo,\n\tlsquor: lsquor,\n\tLstrok: Lstrok,\n\tlstrok: lstrok,\n\tltcc: ltcc,\n\tltcir: ltcir,\n\tlt: lt$2,\n\tLT: LT$1,\n\tLt: Lt,\n\tltdot: ltdot,\n\tlthree: lthree,\n\tltimes: ltimes,\n\tltlarr: ltlarr,\n\tltquest: ltquest,\n\tltri: ltri,\n\tltrie: ltrie,\n\tltrif: ltrif,\n\tltrPar: ltrPar,\n\tlurdshar: lurdshar,\n\tluruhar: luruhar,\n\tlvertneqq: lvertneqq,\n\tlvnE: lvnE,\n\tmacr: macr$1,\n\tmale: male,\n\tmalt: malt,\n\tmaltese: maltese,\n\t\"Map\": \"⤅\",\n\tmap: map,\n\tmapsto: mapsto,\n\tmapstodown: mapstodown,\n\tmapstoleft: mapstoleft,\n\tmapstoup: mapstoup,\n\tmarker: marker,\n\tmcomma: mcomma,\n\tMcy: Mcy,\n\tmcy: mcy,\n\tmdash: mdash,\n\tmDDot: mDDot,\n\tmeasuredangle: measuredangle,\n\tMediumSpace: MediumSpace,\n\tMellintrf: Mellintrf,\n\tMfr: Mfr,\n\tmfr: mfr,\n\tmho: mho,\n\tmicro: micro$1,\n\tmidast: midast,\n\tmidcir: midcir,\n\tmid: mid,\n\tmiddot: middot$1,\n\tminusb: minusb,\n\tminus: minus,\n\tminusd: minusd,\n\tminusdu: minusdu,\n\tMinusPlus: MinusPlus,\n\tmlcp: mlcp,\n\tmldr: mldr,\n\tmnplus: mnplus,\n\tmodels: models,\n\tMopf: Mopf,\n\tmopf: mopf,\n\tmp: mp,\n\tmscr: mscr,\n\tMscr: Mscr,\n\tmstpos: mstpos,\n\tMu: Mu,\n\tmu: mu,\n\tmultimap: multimap,\n\tmumap: mumap,\n\tnabla: nabla,\n\tNacute: Nacute,\n\tnacute: nacute,\n\tnang: nang,\n\tnap: nap,\n\tnapE: napE,\n\tnapid: napid,\n\tnapos: napos,\n\tnapprox: napprox,\n\tnatural: natural,\n\tnaturals: naturals,\n\tnatur: natur,\n\tnbsp: nbsp$1,\n\tnbump: nbump,\n\tnbumpe: nbumpe,\n\tncap: ncap,\n\tNcaron: Ncaron,\n\tncaron: ncaron,\n\tNcedil: Ncedil,\n\tncedil: ncedil,\n\tncong: ncong,\n\tncongdot: ncongdot,\n\tncup: ncup,\n\tNcy: Ncy,\n\tncy: ncy,\n\tndash: ndash,\n\tnearhk: nearhk,\n\tnearr: nearr,\n\tneArr: neArr,\n\tnearrow: nearrow,\n\tne: ne,\n\tnedot: nedot,\n\tNegativeMediumSpace: NegativeMediumSpace,\n\tNegativeThickSpace: NegativeThickSpace,\n\tNegativeThinSpace: NegativeThinSpace,\n\tNegativeVeryThinSpace: NegativeVeryThinSpace,\n\tnequiv: nequiv,\n\tnesear: nesear,\n\tnesim: nesim,\n\tNestedGreaterGreater: NestedGreaterGreater,\n\tNestedLessLess: NestedLessLess,\n\tNewLine: NewLine,\n\tnexist: nexist,\n\tnexists: nexists,\n\tNfr: Nfr,\n\tnfr: nfr,\n\tngE: ngE,\n\tnge: nge,\n\tngeq: ngeq,\n\tngeqq: ngeqq,\n\tngeqslant: ngeqslant,\n\tnges: nges,\n\tnGg: nGg,\n\tngsim: ngsim,\n\tnGt: nGt,\n\tngt: ngt,\n\tngtr: ngtr,\n\tnGtv: nGtv,\n\tnharr: nharr,\n\tnhArr: nhArr,\n\tnhpar: nhpar,\n\tni: ni,\n\tnis: nis,\n\tnisd: nisd,\n\tniv: niv,\n\tNJcy: NJcy,\n\tnjcy: njcy,\n\tnlarr: nlarr,\n\tnlArr: nlArr,\n\tnldr: nldr,\n\tnlE: nlE,\n\tnle: nle,\n\tnleftarrow: nleftarrow,\n\tnLeftarrow: nLeftarrow,\n\tnleftrightarrow: nleftrightarrow,\n\tnLeftrightarrow: nLeftrightarrow,\n\tnleq: nleq,\n\tnleqq: nleqq,\n\tnleqslant: nleqslant,\n\tnles: nles,\n\tnless: nless,\n\tnLl: nLl,\n\tnlsim: nlsim,\n\tnLt: nLt,\n\tnlt: nlt,\n\tnltri: nltri,\n\tnltrie: nltrie,\n\tnLtv: nLtv,\n\tnmid: nmid,\n\tNoBreak: NoBreak,\n\tNonBreakingSpace: NonBreakingSpace,\n\tnopf: nopf,\n\tNopf: Nopf,\n\tNot: Not,\n\tnot: not$1,\n\tNotCongruent: NotCongruent,\n\tNotCupCap: NotCupCap,\n\tNotDoubleVerticalBar: NotDoubleVerticalBar,\n\tNotElement: NotElement,\n\tNotEqual: NotEqual,\n\tNotEqualTilde: NotEqualTilde,\n\tNotExists: NotExists,\n\tNotGreater: NotGreater,\n\tNotGreaterEqual: NotGreaterEqual,\n\tNotGreaterFullEqual: NotGreaterFullEqual,\n\tNotGreaterGreater: NotGreaterGreater,\n\tNotGreaterLess: NotGreaterLess,\n\tNotGreaterSlantEqual: NotGreaterSlantEqual,\n\tNotGreaterTilde: NotGreaterTilde,\n\tNotHumpDownHump: NotHumpDownHump,\n\tNotHumpEqual: NotHumpEqual,\n\tnotin: notin,\n\tnotindot: notindot,\n\tnotinE: notinE,\n\tnotinva: notinva,\n\tnotinvb: notinvb,\n\tnotinvc: notinvc,\n\tNotLeftTriangleBar: NotLeftTriangleBar,\n\tNotLeftTriangle: NotLeftTriangle,\n\tNotLeftTriangleEqual: NotLeftTriangleEqual,\n\tNotLess: NotLess,\n\tNotLessEqual: NotLessEqual,\n\tNotLessGreater: NotLessGreater,\n\tNotLessLess: NotLessLess,\n\tNotLessSlantEqual: NotLessSlantEqual,\n\tNotLessTilde: NotLessTilde,\n\tNotNestedGreaterGreater: NotNestedGreaterGreater,\n\tNotNestedLessLess: NotNestedLessLess,\n\tnotni: notni,\n\tnotniva: notniva,\n\tnotnivb: notnivb,\n\tnotnivc: notnivc,\n\tNotPrecedes: NotPrecedes,\n\tNotPrecedesEqual: NotPrecedesEqual,\n\tNotPrecedesSlantEqual: NotPrecedesSlantEqual,\n\tNotReverseElement: NotReverseElement,\n\tNotRightTriangleBar: NotRightTriangleBar,\n\tNotRightTriangle: NotRightTriangle,\n\tNotRightTriangleEqual: NotRightTriangleEqual,\n\tNotSquareSubset: NotSquareSubset,\n\tNotSquareSubsetEqual: NotSquareSubsetEqual,\n\tNotSquareSuperset: NotSquareSuperset,\n\tNotSquareSupersetEqual: NotSquareSupersetEqual,\n\tNotSubset: NotSubset,\n\tNotSubsetEqual: NotSubsetEqual,\n\tNotSucceeds: NotSucceeds,\n\tNotSucceedsEqual: NotSucceedsEqual,\n\tNotSucceedsSlantEqual: NotSucceedsSlantEqual,\n\tNotSucceedsTilde: NotSucceedsTilde,\n\tNotSuperset: NotSuperset,\n\tNotSupersetEqual: NotSupersetEqual,\n\tNotTilde: NotTilde,\n\tNotTildeEqual: NotTildeEqual,\n\tNotTildeFullEqual: NotTildeFullEqual,\n\tNotTildeTilde: NotTildeTilde,\n\tNotVerticalBar: NotVerticalBar,\n\tnparallel: nparallel,\n\tnpar: npar,\n\tnparsl: nparsl,\n\tnpart: npart,\n\tnpolint: npolint,\n\tnpr: npr,\n\tnprcue: nprcue,\n\tnprec: nprec,\n\tnpreceq: npreceq,\n\tnpre: npre,\n\tnrarrc: nrarrc,\n\tnrarr: nrarr,\n\tnrArr: nrArr,\n\tnrarrw: nrarrw,\n\tnrightarrow: nrightarrow,\n\tnRightarrow: nRightarrow,\n\tnrtri: nrtri,\n\tnrtrie: nrtrie,\n\tnsc: nsc,\n\tnsccue: nsccue,\n\tnsce: nsce,\n\tNscr: Nscr,\n\tnscr: nscr,\n\tnshortmid: nshortmid,\n\tnshortparallel: nshortparallel,\n\tnsim: nsim,\n\tnsime: nsime,\n\tnsimeq: nsimeq,\n\tnsmid: nsmid,\n\tnspar: nspar,\n\tnsqsube: nsqsube,\n\tnsqsupe: nsqsupe,\n\tnsub: nsub,\n\tnsubE: nsubE,\n\tnsube: nsube,\n\tnsubset: nsubset,\n\tnsubseteq: nsubseteq,\n\tnsubseteqq: nsubseteqq,\n\tnsucc: nsucc,\n\tnsucceq: nsucceq,\n\tnsup: nsup,\n\tnsupE: nsupE,\n\tnsupe: nsupe,\n\tnsupset: nsupset,\n\tnsupseteq: nsupseteq,\n\tnsupseteqq: nsupseteqq,\n\tntgl: ntgl,\n\tNtilde: Ntilde$1,\n\tntilde: ntilde$1,\n\tntlg: ntlg,\n\tntriangleleft: ntriangleleft,\n\tntrianglelefteq: ntrianglelefteq,\n\tntriangleright: ntriangleright,\n\tntrianglerighteq: ntrianglerighteq,\n\tNu: Nu,\n\tnu: nu,\n\tnum: num,\n\tnumero: numero,\n\tnumsp: numsp,\n\tnvap: nvap,\n\tnvdash: nvdash,\n\tnvDash: nvDash,\n\tnVdash: nVdash,\n\tnVDash: nVDash,\n\tnvge: nvge,\n\tnvgt: nvgt,\n\tnvHarr: nvHarr,\n\tnvinfin: nvinfin,\n\tnvlArr: nvlArr,\n\tnvle: nvle,\n\tnvlt: nvlt,\n\tnvltrie: nvltrie,\n\tnvrArr: nvrArr,\n\tnvrtrie: nvrtrie,\n\tnvsim: nvsim,\n\tnwarhk: nwarhk,\n\tnwarr: nwarr,\n\tnwArr: nwArr,\n\tnwarrow: nwarrow,\n\tnwnear: nwnear,\n\tOacute: Oacute$1,\n\toacute: oacute$1,\n\toast: oast,\n\tOcirc: Ocirc$1,\n\tocirc: ocirc$1,\n\tocir: ocir,\n\tOcy: Ocy,\n\tocy: ocy,\n\todash: odash,\n\tOdblac: Odblac,\n\todblac: odblac,\n\todiv: odiv,\n\todot: odot,\n\todsold: odsold,\n\tOElig: OElig,\n\toelig: oelig,\n\tofcir: ofcir,\n\tOfr: Ofr,\n\tofr: ofr,\n\togon: ogon,\n\tOgrave: Ograve$1,\n\tograve: ograve$1,\n\togt: ogt,\n\tohbar: ohbar,\n\tohm: ohm,\n\toint: oint,\n\tolarr: olarr,\n\tolcir: olcir,\n\tolcross: olcross,\n\toline: oline,\n\tolt: olt,\n\tOmacr: Omacr,\n\tomacr: omacr,\n\tOmega: Omega,\n\tomega: omega,\n\tOmicron: Omicron,\n\tomicron: omicron,\n\tomid: omid,\n\tominus: ominus,\n\tOopf: Oopf,\n\toopf: oopf,\n\topar: opar,\n\tOpenCurlyDoubleQuote: OpenCurlyDoubleQuote,\n\tOpenCurlyQuote: OpenCurlyQuote,\n\toperp: operp,\n\toplus: oplus,\n\torarr: orarr,\n\tOr: Or,\n\tor: or,\n\tord: ord,\n\torder: order,\n\torderof: orderof,\n\tordf: ordf$1,\n\tordm: ordm$1,\n\torigof: origof,\n\toror: oror,\n\torslope: orslope,\n\torv: orv,\n\toS: oS,\n\tOscr: Oscr,\n\toscr: oscr,\n\tOslash: Oslash$1,\n\toslash: oslash$1,\n\tosol: osol,\n\tOtilde: Otilde$1,\n\totilde: otilde$1,\n\totimesas: otimesas,\n\tOtimes: Otimes,\n\totimes: otimes,\n\tOuml: Ouml$1,\n\touml: ouml$1,\n\tovbar: ovbar,\n\tOverBar: OverBar,\n\tOverBrace: OverBrace,\n\tOverBracket: OverBracket,\n\tOverParenthesis: OverParenthesis,\n\tpara: para$1,\n\tparallel: parallel,\n\tpar: par,\n\tparsim: parsim,\n\tparsl: parsl,\n\tpart: part,\n\tPartialD: PartialD,\n\tPcy: Pcy,\n\tpcy: pcy,\n\tpercnt: percnt,\n\tperiod: period,\n\tpermil: permil,\n\tperp: perp,\n\tpertenk: pertenk,\n\tPfr: Pfr,\n\tpfr: pfr,\n\tPhi: Phi,\n\tphi: phi,\n\tphiv: phiv,\n\tphmmat: phmmat,\n\tphone: phone,\n\tPi: Pi,\n\tpi: pi,\n\tpitchfork: pitchfork,\n\tpiv: piv,\n\tplanck: planck,\n\tplanckh: planckh,\n\tplankv: plankv,\n\tplusacir: plusacir,\n\tplusb: plusb,\n\tpluscir: pluscir,\n\tplus: plus,\n\tplusdo: plusdo,\n\tplusdu: plusdu,\n\tpluse: pluse,\n\tPlusMinus: PlusMinus,\n\tplusmn: plusmn$1,\n\tplussim: plussim,\n\tplustwo: plustwo,\n\tpm: pm,\n\tPoincareplane: Poincareplane,\n\tpointint: pointint,\n\tpopf: popf,\n\tPopf: Popf,\n\tpound: pound$1,\n\tprap: prap,\n\tPr: Pr,\n\tpr: pr,\n\tprcue: prcue,\n\tprecapprox: precapprox,\n\tprec: prec,\n\tpreccurlyeq: preccurlyeq,\n\tPrecedes: Precedes,\n\tPrecedesEqual: PrecedesEqual,\n\tPrecedesSlantEqual: PrecedesSlantEqual,\n\tPrecedesTilde: PrecedesTilde,\n\tpreceq: preceq,\n\tprecnapprox: precnapprox,\n\tprecneqq: precneqq,\n\tprecnsim: precnsim,\n\tpre: pre,\n\tprE: prE,\n\tprecsim: precsim,\n\tprime: prime,\n\tPrime: Prime,\n\tprimes: primes,\n\tprnap: prnap,\n\tprnE: prnE,\n\tprnsim: prnsim,\n\tprod: prod,\n\tProduct: Product,\n\tprofalar: profalar,\n\tprofline: profline,\n\tprofsurf: profsurf,\n\tprop: prop,\n\tProportional: Proportional,\n\tProportion: Proportion,\n\tpropto: propto,\n\tprsim: prsim,\n\tprurel: prurel,\n\tPscr: Pscr,\n\tpscr: pscr,\n\tPsi: Psi,\n\tpsi: psi,\n\tpuncsp: puncsp,\n\tQfr: Qfr,\n\tqfr: qfr,\n\tqint: qint,\n\tqopf: qopf,\n\tQopf: Qopf,\n\tqprime: qprime,\n\tQscr: Qscr,\n\tqscr: qscr,\n\tquaternions: quaternions,\n\tquatint: quatint,\n\tquest: quest,\n\tquesteq: questeq,\n\tquot: quot$2,\n\tQUOT: QUOT$1,\n\trAarr: rAarr,\n\trace: race,\n\tRacute: Racute,\n\tracute: racute,\n\tradic: radic,\n\traemptyv: raemptyv,\n\trang: rang,\n\tRang: Rang,\n\trangd: rangd,\n\trange: range,\n\trangle: rangle,\n\traquo: raquo$1,\n\trarrap: rarrap,\n\trarrb: rarrb,\n\trarrbfs: rarrbfs,\n\trarrc: rarrc,\n\trarr: rarr,\n\tRarr: Rarr,\n\trArr: rArr,\n\trarrfs: rarrfs,\n\trarrhk: rarrhk,\n\trarrlp: rarrlp,\n\trarrpl: rarrpl,\n\trarrsim: rarrsim,\n\tRarrtl: Rarrtl,\n\trarrtl: rarrtl,\n\trarrw: rarrw,\n\tratail: ratail,\n\trAtail: rAtail,\n\tratio: ratio,\n\trationals: rationals,\n\trbarr: rbarr,\n\trBarr: rBarr,\n\tRBarr: RBarr,\n\trbbrk: rbbrk,\n\trbrace: rbrace,\n\trbrack: rbrack,\n\trbrke: rbrke,\n\trbrksld: rbrksld,\n\trbrkslu: rbrkslu,\n\tRcaron: Rcaron,\n\trcaron: rcaron,\n\tRcedil: Rcedil,\n\trcedil: rcedil,\n\trceil: rceil,\n\trcub: rcub,\n\tRcy: Rcy,\n\trcy: rcy,\n\trdca: rdca,\n\trdldhar: rdldhar,\n\trdquo: rdquo,\n\trdquor: rdquor,\n\trdsh: rdsh,\n\treal: real,\n\trealine: realine,\n\trealpart: realpart,\n\treals: reals,\n\tRe: Re,\n\trect: rect,\n\treg: reg$1,\n\tREG: REG$1,\n\tReverseElement: ReverseElement,\n\tReverseEquilibrium: ReverseEquilibrium,\n\tReverseUpEquilibrium: ReverseUpEquilibrium,\n\trfisht: rfisht,\n\trfloor: rfloor,\n\trfr: rfr,\n\tRfr: Rfr,\n\trHar: rHar,\n\trhard: rhard,\n\trharu: rharu,\n\trharul: rharul,\n\tRho: Rho,\n\trho: rho,\n\trhov: rhov,\n\tRightAngleBracket: RightAngleBracket,\n\tRightArrowBar: RightArrowBar,\n\trightarrow: rightarrow,\n\tRightArrow: RightArrow,\n\tRightarrow: Rightarrow,\n\tRightArrowLeftArrow: RightArrowLeftArrow,\n\trightarrowtail: rightarrowtail,\n\tRightCeiling: RightCeiling,\n\tRightDoubleBracket: RightDoubleBracket,\n\tRightDownTeeVector: RightDownTeeVector,\n\tRightDownVectorBar: RightDownVectorBar,\n\tRightDownVector: RightDownVector,\n\tRightFloor: RightFloor,\n\trightharpoondown: rightharpoondown,\n\trightharpoonup: rightharpoonup,\n\trightleftarrows: rightleftarrows,\n\trightleftharpoons: rightleftharpoons,\n\trightrightarrows: rightrightarrows,\n\trightsquigarrow: rightsquigarrow,\n\tRightTeeArrow: RightTeeArrow,\n\tRightTee: RightTee,\n\tRightTeeVector: RightTeeVector,\n\trightthreetimes: rightthreetimes,\n\tRightTriangleBar: RightTriangleBar,\n\tRightTriangle: RightTriangle,\n\tRightTriangleEqual: RightTriangleEqual,\n\tRightUpDownVector: RightUpDownVector,\n\tRightUpTeeVector: RightUpTeeVector,\n\tRightUpVectorBar: RightUpVectorBar,\n\tRightUpVector: RightUpVector,\n\tRightVectorBar: RightVectorBar,\n\tRightVector: RightVector,\n\tring: ring,\n\trisingdotseq: risingdotseq,\n\trlarr: rlarr,\n\trlhar: rlhar,\n\trlm: rlm,\n\trmoustache: rmoustache,\n\trmoust: rmoust,\n\trnmid: rnmid,\n\troang: roang,\n\troarr: roarr,\n\trobrk: robrk,\n\tropar: ropar,\n\tropf: ropf,\n\tRopf: Ropf,\n\troplus: roplus,\n\trotimes: rotimes,\n\tRoundImplies: RoundImplies,\n\trpar: rpar,\n\trpargt: rpargt,\n\trppolint: rppolint,\n\trrarr: rrarr,\n\tRrightarrow: Rrightarrow,\n\trsaquo: rsaquo,\n\trscr: rscr,\n\tRscr: Rscr,\n\trsh: rsh,\n\tRsh: Rsh,\n\trsqb: rsqb,\n\trsquo: rsquo,\n\trsquor: rsquor,\n\trthree: rthree,\n\trtimes: rtimes,\n\trtri: rtri,\n\trtrie: rtrie,\n\trtrif: rtrif,\n\trtriltri: rtriltri,\n\tRuleDelayed: RuleDelayed,\n\truluhar: ruluhar,\n\trx: rx,\n\tSacute: Sacute,\n\tsacute: sacute,\n\tsbquo: sbquo,\n\tscap: scap,\n\tScaron: Scaron,\n\tscaron: scaron,\n\tSc: Sc,\n\tsc: sc,\n\tsccue: sccue,\n\tsce: sce,\n\tscE: scE,\n\tScedil: Scedil,\n\tscedil: scedil,\n\tScirc: Scirc,\n\tscirc: scirc,\n\tscnap: scnap,\n\tscnE: scnE,\n\tscnsim: scnsim,\n\tscpolint: scpolint,\n\tscsim: scsim,\n\tScy: Scy,\n\tscy: scy,\n\tsdotb: sdotb,\n\tsdot: sdot,\n\tsdote: sdote,\n\tsearhk: searhk,\n\tsearr: searr,\n\tseArr: seArr,\n\tsearrow: searrow,\n\tsect: sect$1,\n\tsemi: semi,\n\tseswar: seswar,\n\tsetminus: setminus,\n\tsetmn: setmn,\n\tsext: sext,\n\tSfr: Sfr,\n\tsfr: sfr,\n\tsfrown: sfrown,\n\tsharp: sharp,\n\tSHCHcy: SHCHcy,\n\tshchcy: shchcy,\n\tSHcy: SHcy,\n\tshcy: shcy,\n\tShortDownArrow: ShortDownArrow,\n\tShortLeftArrow: ShortLeftArrow,\n\tshortmid: shortmid,\n\tshortparallel: shortparallel,\n\tShortRightArrow: ShortRightArrow,\n\tShortUpArrow: ShortUpArrow,\n\tshy: shy$1,\n\tSigma: Sigma,\n\tsigma: sigma,\n\tsigmaf: sigmaf,\n\tsigmav: sigmav,\n\tsim: sim,\n\tsimdot: simdot,\n\tsime: sime,\n\tsimeq: simeq,\n\tsimg: simg,\n\tsimgE: simgE,\n\tsiml: siml,\n\tsimlE: simlE,\n\tsimne: simne,\n\tsimplus: simplus,\n\tsimrarr: simrarr,\n\tslarr: slarr,\n\tSmallCircle: SmallCircle,\n\tsmallsetminus: smallsetminus,\n\tsmashp: smashp,\n\tsmeparsl: smeparsl,\n\tsmid: smid,\n\tsmile: smile,\n\tsmt: smt,\n\tsmte: smte,\n\tsmtes: smtes,\n\tSOFTcy: SOFTcy,\n\tsoftcy: softcy,\n\tsolbar: solbar,\n\tsolb: solb,\n\tsol: sol,\n\tSopf: Sopf,\n\tsopf: sopf,\n\tspades: spades,\n\tspadesuit: spadesuit,\n\tspar: spar,\n\tsqcap: sqcap,\n\tsqcaps: sqcaps,\n\tsqcup: sqcup,\n\tsqcups: sqcups,\n\tSqrt: Sqrt,\n\tsqsub: sqsub,\n\tsqsube: sqsube,\n\tsqsubset: sqsubset,\n\tsqsubseteq: sqsubseteq,\n\tsqsup: sqsup,\n\tsqsupe: sqsupe,\n\tsqsupset: sqsupset,\n\tsqsupseteq: sqsupseteq,\n\tsquare: square,\n\tSquare: Square,\n\tSquareIntersection: SquareIntersection,\n\tSquareSubset: SquareSubset,\n\tSquareSubsetEqual: SquareSubsetEqual,\n\tSquareSuperset: SquareSuperset,\n\tSquareSupersetEqual: SquareSupersetEqual,\n\tSquareUnion: SquareUnion,\n\tsquarf: squarf,\n\tsqu: squ,\n\tsquf: squf,\n\tsrarr: srarr,\n\tSscr: Sscr,\n\tsscr: sscr,\n\tssetmn: ssetmn,\n\tssmile: ssmile,\n\tsstarf: sstarf,\n\tStar: Star,\n\tstar: star,\n\tstarf: starf,\n\tstraightepsilon: straightepsilon,\n\tstraightphi: straightphi,\n\tstrns: strns,\n\tsub: sub,\n\tSub: Sub,\n\tsubdot: subdot,\n\tsubE: subE,\n\tsube: sube,\n\tsubedot: subedot,\n\tsubmult: submult,\n\tsubnE: subnE,\n\tsubne: subne,\n\tsubplus: subplus,\n\tsubrarr: subrarr,\n\tsubset: subset,\n\tSubset: Subset,\n\tsubseteq: subseteq,\n\tsubseteqq: subseteqq,\n\tSubsetEqual: SubsetEqual,\n\tsubsetneq: subsetneq,\n\tsubsetneqq: subsetneqq,\n\tsubsim: subsim,\n\tsubsub: subsub,\n\tsubsup: subsup,\n\tsuccapprox: succapprox,\n\tsucc: succ,\n\tsucccurlyeq: succcurlyeq,\n\tSucceeds: Succeeds,\n\tSucceedsEqual: SucceedsEqual,\n\tSucceedsSlantEqual: SucceedsSlantEqual,\n\tSucceedsTilde: SucceedsTilde,\n\tsucceq: succeq,\n\tsuccnapprox: succnapprox,\n\tsuccneqq: succneqq,\n\tsuccnsim: succnsim,\n\tsuccsim: succsim,\n\tSuchThat: SuchThat,\n\tsum: sum,\n\tSum: Sum,\n\tsung: sung,\n\tsup1: sup1$1,\n\tsup2: sup2$1,\n\tsup3: sup3$1,\n\tsup: sup,\n\tSup: Sup,\n\tsupdot: supdot,\n\tsupdsub: supdsub,\n\tsupE: supE,\n\tsupe: supe,\n\tsupedot: supedot,\n\tSuperset: Superset,\n\tSupersetEqual: SupersetEqual,\n\tsuphsol: suphsol,\n\tsuphsub: suphsub,\n\tsuplarr: suplarr,\n\tsupmult: supmult,\n\tsupnE: supnE,\n\tsupne: supne,\n\tsupplus: supplus,\n\tsupset: supset,\n\tSupset: Supset,\n\tsupseteq: supseteq,\n\tsupseteqq: supseteqq,\n\tsupsetneq: supsetneq,\n\tsupsetneqq: supsetneqq,\n\tsupsim: supsim,\n\tsupsub: supsub,\n\tsupsup: supsup,\n\tswarhk: swarhk,\n\tswarr: swarr,\n\tswArr: swArr,\n\tswarrow: swarrow,\n\tswnwar: swnwar,\n\tszlig: szlig$1,\n\tTab: Tab,\n\ttarget: target,\n\tTau: Tau,\n\ttau: tau,\n\ttbrk: tbrk,\n\tTcaron: Tcaron,\n\ttcaron: tcaron,\n\tTcedil: Tcedil,\n\ttcedil: tcedil,\n\tTcy: Tcy,\n\ttcy: tcy,\n\ttdot: tdot,\n\ttelrec: telrec,\n\tTfr: Tfr,\n\ttfr: tfr,\n\tthere4: there4,\n\ttherefore: therefore,\n\tTherefore: Therefore,\n\tTheta: Theta,\n\ttheta: theta,\n\tthetasym: thetasym,\n\tthetav: thetav,\n\tthickapprox: thickapprox,\n\tthicksim: thicksim,\n\tThickSpace: ThickSpace,\n\tThinSpace: ThinSpace,\n\tthinsp: thinsp,\n\tthkap: thkap,\n\tthksim: thksim,\n\tTHORN: THORN$1,\n\tthorn: thorn$1,\n\ttilde: tilde,\n\tTilde: Tilde,\n\tTildeEqual: TildeEqual,\n\tTildeFullEqual: TildeFullEqual,\n\tTildeTilde: TildeTilde,\n\ttimesbar: timesbar,\n\ttimesb: timesb,\n\ttimes: times$1,\n\ttimesd: timesd,\n\ttint: tint,\n\ttoea: toea,\n\ttopbot: topbot,\n\ttopcir: topcir,\n\ttop: top,\n\tTopf: Topf,\n\ttopf: topf,\n\ttopfork: topfork,\n\ttosa: tosa,\n\ttprime: tprime,\n\ttrade: trade,\n\tTRADE: TRADE,\n\ttriangle: triangle,\n\ttriangledown: triangledown,\n\ttriangleleft: triangleleft,\n\ttrianglelefteq: trianglelefteq,\n\ttriangleq: triangleq,\n\ttriangleright: triangleright,\n\ttrianglerighteq: trianglerighteq,\n\ttridot: tridot,\n\ttrie: trie,\n\ttriminus: triminus,\n\tTripleDot: TripleDot,\n\ttriplus: triplus,\n\ttrisb: trisb,\n\ttritime: tritime,\n\ttrpezium: trpezium,\n\tTscr: Tscr,\n\ttscr: tscr,\n\tTScy: TScy,\n\ttscy: tscy,\n\tTSHcy: TSHcy,\n\ttshcy: tshcy,\n\tTstrok: Tstrok,\n\ttstrok: tstrok,\n\ttwixt: twixt,\n\ttwoheadleftarrow: twoheadleftarrow,\n\ttwoheadrightarrow: twoheadrightarrow,\n\tUacute: Uacute$1,\n\tuacute: uacute$1,\n\tuarr: uarr,\n\tUarr: Uarr,\n\tuArr: uArr,\n\tUarrocir: Uarrocir,\n\tUbrcy: Ubrcy,\n\tubrcy: ubrcy,\n\tUbreve: Ubreve,\n\tubreve: ubreve,\n\tUcirc: Ucirc$1,\n\tucirc: ucirc$1,\n\tUcy: Ucy,\n\tucy: ucy,\n\tudarr: udarr,\n\tUdblac: Udblac,\n\tudblac: udblac,\n\tudhar: udhar,\n\tufisht: ufisht,\n\tUfr: Ufr,\n\tufr: ufr,\n\tUgrave: Ugrave$1,\n\tugrave: ugrave$1,\n\tuHar: uHar,\n\tuharl: uharl,\n\tuharr: uharr,\n\tuhblk: uhblk,\n\tulcorn: ulcorn,\n\tulcorner: ulcorner,\n\tulcrop: ulcrop,\n\tultri: ultri,\n\tUmacr: Umacr,\n\tumacr: umacr,\n\tuml: uml$1,\n\tUnderBar: UnderBar,\n\tUnderBrace: UnderBrace,\n\tUnderBracket: UnderBracket,\n\tUnderParenthesis: UnderParenthesis,\n\tUnion: Union,\n\tUnionPlus: UnionPlus,\n\tUogon: Uogon,\n\tuogon: uogon,\n\tUopf: Uopf,\n\tuopf: uopf,\n\tUpArrowBar: UpArrowBar,\n\tuparrow: uparrow,\n\tUpArrow: UpArrow,\n\tUparrow: Uparrow,\n\tUpArrowDownArrow: UpArrowDownArrow,\n\tupdownarrow: updownarrow,\n\tUpDownArrow: UpDownArrow,\n\tUpdownarrow: Updownarrow,\n\tUpEquilibrium: UpEquilibrium,\n\tupharpoonleft: upharpoonleft,\n\tupharpoonright: upharpoonright,\n\tuplus: uplus,\n\tUpperLeftArrow: UpperLeftArrow,\n\tUpperRightArrow: UpperRightArrow,\n\tupsi: upsi,\n\tUpsi: Upsi,\n\tupsih: upsih,\n\tUpsilon: Upsilon,\n\tupsilon: upsilon,\n\tUpTeeArrow: UpTeeArrow,\n\tUpTee: UpTee,\n\tupuparrows: upuparrows,\n\turcorn: urcorn,\n\turcorner: urcorner,\n\turcrop: urcrop,\n\tUring: Uring,\n\turing: uring,\n\turtri: urtri,\n\tUscr: Uscr,\n\tuscr: uscr,\n\tutdot: utdot,\n\tUtilde: Utilde,\n\tutilde: utilde,\n\tutri: utri,\n\tutrif: utrif,\n\tuuarr: uuarr,\n\tUuml: Uuml$1,\n\tuuml: uuml$1,\n\tuwangle: uwangle,\n\tvangrt: vangrt,\n\tvarepsilon: varepsilon,\n\tvarkappa: varkappa,\n\tvarnothing: varnothing,\n\tvarphi: varphi,\n\tvarpi: varpi,\n\tvarpropto: varpropto,\n\tvarr: varr,\n\tvArr: vArr,\n\tvarrho: varrho,\n\tvarsigma: varsigma,\n\tvarsubsetneq: varsubsetneq,\n\tvarsubsetneqq: varsubsetneqq,\n\tvarsupsetneq: varsupsetneq,\n\tvarsupsetneqq: varsupsetneqq,\n\tvartheta: vartheta,\n\tvartriangleleft: vartriangleleft,\n\tvartriangleright: vartriangleright,\n\tvBar: vBar,\n\tVbar: Vbar,\n\tvBarv: vBarv,\n\tVcy: Vcy,\n\tvcy: vcy,\n\tvdash: vdash,\n\tvDash: vDash,\n\tVdash: Vdash,\n\tVDash: VDash,\n\tVdashl: Vdashl,\n\tveebar: veebar,\n\tvee: vee,\n\tVee: Vee,\n\tveeeq: veeeq,\n\tvellip: vellip,\n\tverbar: verbar,\n\tVerbar: Verbar,\n\tvert: vert,\n\tVert: Vert,\n\tVerticalBar: VerticalBar,\n\tVerticalLine: VerticalLine,\n\tVerticalSeparator: VerticalSeparator,\n\tVerticalTilde: VerticalTilde,\n\tVeryThinSpace: VeryThinSpace,\n\tVfr: Vfr,\n\tvfr: vfr,\n\tvltri: vltri,\n\tvnsub: vnsub,\n\tvnsup: vnsup,\n\tVopf: Vopf,\n\tvopf: vopf,\n\tvprop: vprop,\n\tvrtri: vrtri,\n\tVscr: Vscr,\n\tvscr: vscr,\n\tvsubnE: vsubnE,\n\tvsubne: vsubne,\n\tvsupnE: vsupnE,\n\tvsupne: vsupne,\n\tVvdash: Vvdash,\n\tvzigzag: vzigzag,\n\tWcirc: Wcirc,\n\twcirc: wcirc,\n\twedbar: wedbar,\n\twedge: wedge,\n\tWedge: Wedge,\n\twedgeq: wedgeq,\n\tweierp: weierp,\n\tWfr: Wfr,\n\twfr: wfr,\n\tWopf: Wopf,\n\twopf: wopf,\n\twp: wp,\n\twr: wr,\n\twreath: wreath,\n\tWscr: Wscr,\n\twscr: wscr,\n\txcap: xcap,\n\txcirc: xcirc,\n\txcup: xcup,\n\txdtri: xdtri,\n\tXfr: Xfr,\n\txfr: xfr,\n\txharr: xharr,\n\txhArr: xhArr,\n\tXi: Xi,\n\txi: xi,\n\txlarr: xlarr,\n\txlArr: xlArr,\n\txmap: xmap,\n\txnis: xnis,\n\txodot: xodot,\n\tXopf: Xopf,\n\txopf: xopf,\n\txoplus: xoplus,\n\txotime: xotime,\n\txrarr: xrarr,\n\txrArr: xrArr,\n\tXscr: Xscr,\n\txscr: xscr,\n\txsqcup: xsqcup,\n\txuplus: xuplus,\n\txutri: xutri,\n\txvee: xvee,\n\txwedge: xwedge,\n\tYacute: Yacute$1,\n\tyacute: yacute$1,\n\tYAcy: YAcy,\n\tyacy: yacy,\n\tYcirc: Ycirc,\n\tycirc: ycirc,\n\tYcy: Ycy,\n\tycy: ycy,\n\tyen: yen$1,\n\tYfr: Yfr,\n\tyfr: yfr,\n\tYIcy: YIcy,\n\tyicy: yicy,\n\tYopf: Yopf,\n\tyopf: yopf,\n\tYscr: Yscr,\n\tyscr: yscr,\n\tYUcy: YUcy,\n\tyucy: yucy,\n\tyuml: yuml$1,\n\tYuml: Yuml,\n\tZacute: Zacute,\n\tzacute: zacute,\n\tZcaron: Zcaron,\n\tzcaron: zcaron,\n\tZcy: Zcy,\n\tzcy: zcy,\n\tZdot: Zdot,\n\tzdot: zdot,\n\tzeetrf: zeetrf,\n\tZeroWidthSpace: ZeroWidthSpace,\n\tZeta: Zeta,\n\tzeta: zeta,\n\tzfr: zfr,\n\tZfr: Zfr,\n\tZHcy: ZHcy,\n\tzhcy: zhcy,\n\tzigrarr: zigrarr,\n\tzopf: zopf,\n\tZopf: Zopf,\n\tZscr: Zscr,\n\tzscr: zscr,\n\tzwj: zwj,\n\tzwnj: zwnj\n};\n\nvar Aacute = \"Á\";\nvar aacute = \"á\";\nvar Acirc = \"Â\";\nvar acirc = \"â\";\nvar acute = \"´\";\nvar AElig = \"Æ\";\nvar aelig = \"æ\";\nvar Agrave = \"À\";\nvar agrave = \"à\";\nvar amp$1 = \"&\";\nvar AMP = \"&\";\nvar Aring = \"Å\";\nvar aring = \"å\";\nvar Atilde = \"Ã\";\nvar atilde = \"ã\";\nvar Auml = \"Ä\";\nvar auml = \"ä\";\nvar brvbar = \"¦\";\nvar Ccedil = \"Ç\";\nvar ccedil = \"ç\";\nvar cedil = \"¸\";\nvar cent = \"¢\";\nvar copy = \"©\";\nvar COPY = \"©\";\nvar curren = \"¤\";\nvar deg = \"°\";\nvar divide = \"÷\";\nvar Eacute = \"É\";\nvar eacute = \"é\";\nvar Ecirc = \"Ê\";\nvar ecirc = \"ê\";\nvar Egrave = \"È\";\nvar egrave = \"è\";\nvar ETH = \"Ð\";\nvar eth = \"ð\";\nvar Euml = \"Ë\";\nvar euml = \"ë\";\nvar frac12 = \"½\";\nvar frac14 = \"¼\";\nvar frac34 = \"¾\";\nvar gt$1 = \">\";\nvar GT = \">\";\nvar Iacute = \"Í\";\nvar iacute = \"í\";\nvar Icirc = \"Î\";\nvar icirc = \"î\";\nvar iexcl = \"¡\";\nvar Igrave = \"Ì\";\nvar igrave = \"ì\";\nvar iquest = \"¿\";\nvar Iuml = \"Ï\";\nvar iuml = \"ï\";\nvar laquo = \"«\";\nvar lt$1 = \"<\";\nvar LT = \"<\";\nvar macr = \"¯\";\nvar micro = \"µ\";\nvar middot = \"·\";\nvar nbsp = \" \";\nvar not = \"¬\";\nvar Ntilde = \"Ñ\";\nvar ntilde = \"ñ\";\nvar Oacute = \"Ó\";\nvar oacute = \"ó\";\nvar Ocirc = \"Ô\";\nvar ocirc = \"ô\";\nvar Ograve = \"Ò\";\nvar ograve = \"ò\";\nvar ordf = \"ª\";\nvar ordm = \"º\";\nvar Oslash = \"Ø\";\nvar oslash = \"ø\";\nvar Otilde = \"Õ\";\nvar otilde = \"õ\";\nvar Ouml = \"Ö\";\nvar ouml = \"ö\";\nvar para = \"¶\";\nvar plusmn = \"±\";\nvar pound = \"£\";\nvar quot$1 = \"\\\"\";\nvar QUOT = \"\\\"\";\nvar raquo = \"»\";\nvar reg = \"®\";\nvar REG = \"®\";\nvar sect = \"§\";\nvar shy = \"­\";\nvar sup1 = \"¹\";\nvar sup2 = \"²\";\nvar sup3 = \"³\";\nvar szlig = \"ß\";\nvar THORN = \"Þ\";\nvar thorn = \"þ\";\nvar times = \"×\";\nvar Uacute = \"Ú\";\nvar uacute = \"ú\";\nvar Ucirc = \"Û\";\nvar ucirc = \"û\";\nvar Ugrave = \"Ù\";\nvar ugrave = \"ù\";\nvar uml = \"¨\";\nvar Uuml = \"Ü\";\nvar uuml = \"ü\";\nvar Yacute = \"Ý\";\nvar yacute = \"ý\";\nvar yen = \"¥\";\nvar yuml = \"ÿ\";\nvar require$$1 = {\n\tAacute: Aacute,\n\taacute: aacute,\n\tAcirc: Acirc,\n\tacirc: acirc,\n\tacute: acute,\n\tAElig: AElig,\n\taelig: aelig,\n\tAgrave: Agrave,\n\tagrave: agrave,\n\tamp: amp$1,\n\tAMP: AMP,\n\tAring: Aring,\n\taring: aring,\n\tAtilde: Atilde,\n\tatilde: atilde,\n\tAuml: Auml,\n\tauml: auml,\n\tbrvbar: brvbar,\n\tCcedil: Ccedil,\n\tccedil: ccedil,\n\tcedil: cedil,\n\tcent: cent,\n\tcopy: copy,\n\tCOPY: COPY,\n\tcurren: curren,\n\tdeg: deg,\n\tdivide: divide,\n\tEacute: Eacute,\n\teacute: eacute,\n\tEcirc: Ecirc,\n\tecirc: ecirc,\n\tEgrave: Egrave,\n\tegrave: egrave,\n\tETH: ETH,\n\teth: eth,\n\tEuml: Euml,\n\teuml: euml,\n\tfrac12: frac12,\n\tfrac14: frac14,\n\tfrac34: frac34,\n\tgt: gt$1,\n\tGT: GT,\n\tIacute: Iacute,\n\tiacute: iacute,\n\tIcirc: Icirc,\n\ticirc: icirc,\n\tiexcl: iexcl,\n\tIgrave: Igrave,\n\tigrave: igrave,\n\tiquest: iquest,\n\tIuml: Iuml,\n\tiuml: iuml,\n\tlaquo: laquo,\n\tlt: lt$1,\n\tLT: LT,\n\tmacr: macr,\n\tmicro: micro,\n\tmiddot: middot,\n\tnbsp: nbsp,\n\tnot: not,\n\tNtilde: Ntilde,\n\tntilde: ntilde,\n\tOacute: Oacute,\n\toacute: oacute,\n\tOcirc: Ocirc,\n\tocirc: ocirc,\n\tOgrave: Ograve,\n\tograve: ograve,\n\tordf: ordf,\n\tordm: ordm,\n\tOslash: Oslash,\n\toslash: oslash,\n\tOtilde: Otilde,\n\totilde: otilde,\n\tOuml: Ouml,\n\touml: ouml,\n\tpara: para,\n\tplusmn: plusmn,\n\tpound: pound,\n\tquot: quot$1,\n\tQUOT: QUOT,\n\traquo: raquo,\n\treg: reg,\n\tREG: REG,\n\tsect: sect,\n\tshy: shy,\n\tsup1: sup1,\n\tsup2: sup2,\n\tsup3: sup3,\n\tszlig: szlig,\n\tTHORN: THORN,\n\tthorn: thorn,\n\ttimes: times,\n\tUacute: Uacute,\n\tuacute: uacute,\n\tUcirc: Ucirc,\n\tucirc: ucirc,\n\tUgrave: Ugrave,\n\tugrave: ugrave,\n\tuml: uml,\n\tUuml: Uuml,\n\tuuml: uuml,\n\tYacute: Yacute,\n\tyacute: yacute,\n\tyen: yen,\n\tyuml: yuml\n};\n\nvar amp = \"&\";\nvar apos = \"'\";\nvar gt = \">\";\nvar lt = \"<\";\nvar quot = \"\\\"\";\nvar require$$0$1 = {\n\tamp: amp,\n\tapos: apos,\n\tgt: gt,\n\tlt: lt,\n\tquot: quot\n};\n\nvar decode_codepoint = {};\n\nvar require$$0 = {\n\t\"0\": 65533,\n\t\"128\": 8364,\n\t\"130\": 8218,\n\t\"131\": 402,\n\t\"132\": 8222,\n\t\"133\": 8230,\n\t\"134\": 8224,\n\t\"135\": 8225,\n\t\"136\": 710,\n\t\"137\": 8240,\n\t\"138\": 352,\n\t\"139\": 8249,\n\t\"140\": 338,\n\t\"142\": 381,\n\t\"145\": 8216,\n\t\"146\": 8217,\n\t\"147\": 8220,\n\t\"148\": 8221,\n\t\"149\": 8226,\n\t\"150\": 8211,\n\t\"151\": 8212,\n\t\"152\": 732,\n\t\"153\": 8482,\n\t\"154\": 353,\n\t\"155\": 8250,\n\t\"156\": 339,\n\t\"158\": 382,\n\t\"159\": 376\n};\n\nvar __importDefault$2 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(decode_codepoint, \"__esModule\", { value: true });\nvar decode_json_1 = __importDefault$2(require$$0);\n// Adapted from https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\nvar fromCodePoint$2 = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.fromCodePoint ||\n function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n };\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n if (codePoint in decode_json_1.default) {\n codePoint = decode_json_1.default[codePoint];\n }\n return fromCodePoint$2(codePoint);\n}\ndecode_codepoint.default = decodeCodePoint;\n\nvar __importDefault$1 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(decode, \"__esModule\", { value: true });\ndecode.decodeHTML = decode.decodeHTMLStrict = decode.decodeXML = void 0;\nvar entities_json_1$1 = __importDefault$1(require$$1$1);\nvar legacy_json_1 = __importDefault$1(require$$1);\nvar xml_json_1$1 = __importDefault$1(require$$0$1);\nvar decode_codepoint_1 = __importDefault$1(decode_codepoint);\nvar strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\\da-fA-F]+|#\\d+);/g;\ndecode.decodeXML = getStrictDecoder(xml_json_1$1.default);\ndecode.decodeHTMLStrict = getStrictDecoder(entities_json_1$1.default);\nfunction getStrictDecoder(map) {\n var replace = getReplacer(map);\n return function (str) { return String(str).replace(strictEntityRe, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\ndecode.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1$1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1$1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n // TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return map[str.slice(1, -1)] || str;\n };\n}\n\nvar encode = {};\n\nvar __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(encode, \"__esModule\", { value: true });\nencode.escapeUTF8 = encode.escape = encode.encodeNonAsciiHTML = encode.encodeHTML = encode.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require$$0$1);\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeXML = getASCIIEncoder(inverseXML);\nvar entities_json_1 = __importDefault(require$$1$1);\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\n/**\n * Encodes all entities and non-ASCII characters in the input.\n *\n * This includes characters that are valid ASCII characters in HTML documents.\n * For example `#` will be encoded as `#`. To get a more compact output,\n * consider using the `encodeNonAsciiHTML` function.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeHTML = getInverse(inverseHTML, htmlReplacer);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\n// /[^\\0-\\x7F]/gu\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nvar getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n function (str) { return str.codePointAt(0); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c) {\n return (c.charCodeAt(0) - 0xd800) * 0x400 +\n c.charCodeAt(1) -\n 0xdc00 +\n 0x10000;\n };\nfunction singleCharReplacer(c) {\n return \"&#x\" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0))\n .toString(16)\n .toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reEscapeChars = new RegExp(xmlReplacer.source + \"|\" + reNonASCII.source, \"g\");\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nfunction escape(data) {\n return data.replace(reEscapeChars, singleCharReplacer);\n}\nencode.escape = escape;\n/**\n * Encodes all characters not valid in XML documents using numeric hexadecimal\n * reference (eg. `ü`).\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nfunction escapeUTF8(data) {\n return data.replace(xmlReplacer, singleCharReplacer);\n}\nencode.escapeUTF8 = escapeUTF8;\nfunction getASCIIEncoder(obj) {\n return function (data) {\n return data.replace(reEscapeChars, function (c) { return obj[c] || singleCharReplacer(c); });\n };\n}\n\n(function (exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;\nvar decode_1 = decode;\nvar encode_1 = encode;\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeXML` or `decodeHTML` directly.\n */\nfunction decode$1(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);\n}\nexports.decode = decode$1;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeHTMLStrict` or `decodeXML` directly.\n */\nfunction decodeStrict(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `encodeHTML`, `encodeXML` or `encodeNonAsciiHTML` directly.\n */\nfunction encode$1(data, level) {\n return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);\n}\nexports.encode = encode$1;\nvar encode_2 = encode;\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return encode_2.encodeXML; } });\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return encode_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return encode_2.escapeUTF8; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nvar decode_2 = decode;\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\n}(lib));\n\nvar ENTITY = '&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});';\nvar C_BACKSLASH$1 = 92;\nvar reBackslashOrAmp = /[\\\\&]/;\nvar ESCAPABLE = '[!\"#$%&\\'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]';\nvar reEntityOrEscapedChar = new RegExp(\"\\\\\\\\\" + ESCAPABLE + \"|\" + ENTITY, 'gi');\nvar XMLSPECIAL = '[&<>\"]';\nvar reXmlSpecial = new RegExp(XMLSPECIAL, 'g');\nvar unescapeChar = function (s) {\n if (s.charCodeAt(0) === C_BACKSLASH$1) {\n return s.charAt(1);\n }\n return lib.decodeHTML(s);\n};\n// Replace entities and backslash escapes with literal characters.\nfunction unescapeString(s) {\n if (reBackslashOrAmp.test(s)) {\n return s.replace(reEntityOrEscapedChar, unescapeChar);\n }\n return s;\n}\nfunction normalizeURI(uri) {\n try {\n return encode_1(uri);\n }\n catch (err) {\n return uri;\n }\n}\nfunction replaceUnsafeChar(s) {\n switch (s) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n default:\n return s;\n }\n}\nfunction escapeXml(s) {\n if (reXmlSpecial.test(s)) {\n return s.replace(reXmlSpecial, replaceUnsafeChar);\n }\n return s;\n}\nfunction repeat(str, count) {\n var arr = [];\n for (var i = 0; i < count; i++) {\n arr.push(str);\n }\n return arr.join('');\n}\nfunction isEmpty(str) {\n if (!str) {\n return true;\n }\n return !/[^ \\t]+/.test(str);\n}\n\nvar NodeWalker = /** @class */ (function () {\n function NodeWalker(root) {\n this.current = root;\n this.root = root;\n this.entering = true;\n }\n NodeWalker.prototype.next = function () {\n var cur = this.current;\n var entering = this.entering;\n if (cur === null) {\n return null;\n }\n var container = isContainer$1(cur);\n if (entering && container) {\n if (cur.firstChild) {\n this.current = cur.firstChild;\n this.entering = true;\n }\n else {\n // stay on node but exit\n this.entering = false;\n }\n }\n else if (cur === this.root) {\n this.current = null;\n }\n else if (cur.next === null) {\n this.current = cur.parent;\n this.entering = false;\n }\n else {\n this.current = cur.next;\n this.entering = true;\n }\n return { entering: entering, node: cur };\n };\n NodeWalker.prototype.resumeAt = function (node, entering) {\n this.current = node;\n this.entering = entering === true;\n };\n return NodeWalker;\n}());\n\nfunction isContainer$1(node) {\n switch (node.type) {\n case 'document':\n case 'blockQuote':\n case 'list':\n case 'item':\n case 'paragraph':\n case 'heading':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'table':\n case 'tableHead':\n case 'tableBody':\n case 'tableRow':\n case 'tableCell':\n case 'tableDelimRow':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nvar lastNodeId = 1;\nvar nodeMap = {};\nfunction getNodeById(id) {\n return nodeMap[id];\n}\nfunction removeNodeById(id) {\n delete nodeMap[id];\n}\nfunction removeAllNode() {\n nodeMap = {};\n}\nvar Node$1 = /** @class */ (function () {\n function Node(nodeType, sourcepos) {\n this.parent = null;\n this.prev = null;\n this.next = null;\n // only for container node\n this.firstChild = null;\n this.lastChild = null;\n // only for leaf node\n this.literal = null;\n if (nodeType === 'document') {\n this.id = -1;\n }\n else {\n this.id = lastNodeId++;\n }\n this.type = nodeType;\n this.sourcepos = sourcepos;\n nodeMap[this.id] = this;\n }\n Node.prototype.isContainer = function () {\n return isContainer$1(this);\n };\n Node.prototype.unlink = function () {\n if (this.prev) {\n this.prev.next = this.next;\n }\n else if (this.parent) {\n this.parent.firstChild = this.next;\n }\n if (this.next) {\n this.next.prev = this.prev;\n }\n else if (this.parent) {\n this.parent.lastChild = this.prev;\n }\n this.parent = null;\n this.next = null;\n this.prev = null;\n };\n Node.prototype.replaceWith = function (node) {\n this.insertBefore(node);\n this.unlink();\n };\n Node.prototype.insertAfter = function (sibling) {\n sibling.unlink();\n sibling.next = this.next;\n if (sibling.next) {\n sibling.next.prev = sibling;\n }\n sibling.prev = this;\n this.next = sibling;\n if (this.parent) {\n sibling.parent = this.parent;\n if (!sibling.next) {\n sibling.parent.lastChild = sibling;\n }\n }\n };\n Node.prototype.insertBefore = function (sibling) {\n sibling.unlink();\n sibling.prev = this.prev;\n if (sibling.prev) {\n sibling.prev.next = sibling;\n }\n sibling.next = this;\n this.prev = sibling;\n sibling.parent = this.parent;\n if (!sibling.prev) {\n sibling.parent.firstChild = sibling;\n }\n };\n Node.prototype.appendChild = function (child) {\n child.unlink();\n child.parent = this;\n if (this.lastChild) {\n this.lastChild.next = child;\n child.prev = this.lastChild;\n this.lastChild = child;\n }\n else {\n this.firstChild = child;\n this.lastChild = child;\n }\n };\n Node.prototype.prependChild = function (child) {\n child.unlink();\n child.parent = this;\n if (this.firstChild) {\n this.firstChild.prev = child;\n child.next = this.firstChild;\n this.firstChild = child;\n }\n else {\n this.firstChild = child;\n this.lastChild = child;\n }\n };\n Node.prototype.walker = function () {\n return new NodeWalker(this);\n };\n return Node;\n}());\nvar BlockNode = /** @class */ (function (_super) {\n __extends(BlockNode, _super);\n function BlockNode(nodeType, sourcepos) {\n var _this = _super.call(this, nodeType, sourcepos) || this;\n // temporal data (for parsing)\n _this.open = true;\n _this.lineOffsets = null;\n _this.stringContent = null;\n _this.lastLineBlank = false;\n _this.lastLineChecked = false;\n _this.type = nodeType;\n return _this;\n }\n return BlockNode;\n}(Node$1));\nvar ListNode = /** @class */ (function (_super) {\n __extends(ListNode, _super);\n function ListNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.listData = null;\n return _this;\n }\n return ListNode;\n}(BlockNode));\nvar HeadingNode = /** @class */ (function (_super) {\n __extends(HeadingNode, _super);\n function HeadingNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.level = 0;\n _this.headingType = 'atx';\n return _this;\n }\n return HeadingNode;\n}(BlockNode));\nvar CodeBlockNode = /** @class */ (function (_super) {\n __extends(CodeBlockNode, _super);\n function CodeBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isFenced = false;\n _this.fenceChar = null;\n _this.fenceLength = 0;\n _this.fenceOffset = -1;\n _this.info = null;\n _this.infoPadding = 0;\n return _this;\n }\n return CodeBlockNode;\n}(BlockNode));\nvar TableNode = /** @class */ (function (_super) {\n __extends(TableNode, _super);\n function TableNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.columns = [];\n return _this;\n }\n return TableNode;\n}(BlockNode));\nvar TableCellNode = /** @class */ (function (_super) {\n __extends(TableCellNode, _super);\n function TableCellNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.startIdx = 0;\n _this.endIdx = 0;\n _this.paddingLeft = 0;\n _this.paddingRight = 0;\n _this.ignored = false;\n return _this;\n }\n return TableCellNode;\n}(BlockNode));\nvar RefDefNode = /** @class */ (function (_super) {\n __extends(RefDefNode, _super);\n function RefDefNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.title = '';\n _this.dest = '';\n _this.label = '';\n return _this;\n }\n return RefDefNode;\n}(BlockNode));\nvar CustomBlockNode = /** @class */ (function (_super) {\n __extends(CustomBlockNode, _super);\n function CustomBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.syntaxLength = 0;\n _this.offset = -1;\n _this.info = '';\n return _this;\n }\n return CustomBlockNode;\n}(BlockNode));\nvar HtmlBlockNode = /** @class */ (function (_super) {\n __extends(HtmlBlockNode, _super);\n function HtmlBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.htmlBlockType = -1;\n return _this;\n }\n return HtmlBlockNode;\n}(BlockNode));\nvar LinkNode = /** @class */ (function (_super) {\n __extends(LinkNode, _super);\n function LinkNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.destination = null;\n _this.title = null;\n _this.extendedAutolink = false;\n return _this;\n }\n return LinkNode;\n}(Node$1));\nvar CodeNode = /** @class */ (function (_super) {\n __extends(CodeNode, _super);\n function CodeNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.tickCount = 0;\n return _this;\n }\n return CodeNode;\n}(Node$1));\nvar CustomInlineNode = /** @class */ (function (_super) {\n __extends(CustomInlineNode, _super);\n function CustomInlineNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.info = '';\n return _this;\n }\n return CustomInlineNode;\n}(Node$1));\nfunction createNode$1(type, sourcepos) {\n switch (type) {\n case 'heading':\n return new HeadingNode(type, sourcepos);\n case 'list':\n case 'item':\n return new ListNode(type, sourcepos);\n case 'link':\n case 'image':\n return new LinkNode(type, sourcepos);\n case 'codeBlock':\n return new CodeBlockNode(type, sourcepos);\n case 'htmlBlock':\n return new HtmlBlockNode(type, sourcepos);\n case 'table':\n return new TableNode(type, sourcepos);\n case 'tableCell':\n return new TableCellNode(type, sourcepos);\n case 'document':\n case 'paragraph':\n case 'blockQuote':\n case 'thematicBreak':\n case 'tableRow':\n case 'tableBody':\n case 'tableHead':\n case 'frontMatter':\n return new BlockNode(type, sourcepos);\n case 'code':\n return new CodeNode(type, sourcepos);\n case 'refDef':\n return new RefDefNode(type, sourcepos);\n case 'customBlock':\n return new CustomBlockNode(type, sourcepos);\n case 'customInline':\n return new CustomInlineNode(type, sourcepos);\n default:\n return new Node$1(type, sourcepos);\n }\n}\nfunction isCodeBlock(node) {\n return node.type === 'codeBlock';\n}\nfunction isHtmlBlock(node) {\n return node.type === 'htmlBlock';\n}\nfunction isHeading(node) {\n return node.type === 'heading';\n}\nfunction isList(node) {\n return node.type === 'list';\n}\nfunction isTable(node) {\n return node.type === 'table';\n}\nfunction isRefDef(node) {\n return node.type === 'refDef';\n}\nfunction isCustomBlock(node) {\n return node.type === 'customBlock';\n}\nfunction isCustomInline(node) {\n return node.type === 'customInline';\n}\nfunction text$1(s, sourcepos) {\n var node = createNode$1('text', sourcepos);\n node.literal = s;\n return node;\n}\n\nvar TAGNAME = '[A-Za-z][A-Za-z0-9-]*';\nvar ATTRIBUTENAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\nvar UNQUOTEDVALUE = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar SINGLEQUOTEDVALUE = \"'[^']*'\";\nvar DOUBLEQUOTEDVALUE = '\"[^\"]*\"';\nvar ATTRIBUTEVALUE = \"(?:\" + UNQUOTEDVALUE + \"|\" + SINGLEQUOTEDVALUE + \"|\" + DOUBLEQUOTEDVALUE + \")\";\nvar ATTRIBUTEVALUESPEC = \"\" + '(?:\\\\s*=\\\\s*' + ATTRIBUTEVALUE + \")\";\nvar ATTRIBUTE = \"\" + '(?:\\\\s+' + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + \"?)\";\nvar OPENTAG = \"<\" + TAGNAME + ATTRIBUTE + \"*\\\\s*/?>\";\nvar CLOSETAG = \"]\";\nvar HTMLCOMMENT = '|';\nvar PROCESSINGINSTRUCTION = '[<][?].*?[?][>]';\nvar DECLARATION = ']*>';\nvar CDATA = '';\nvar HTMLTAG = \"(?:\" + OPENTAG + \"|\" + CLOSETAG + \"|\" + HTMLCOMMENT + \"|\" + PROCESSINGINSTRUCTION + \"|\" + DECLARATION + \"|\" + CDATA + \")\";\nvar reHtmlTag = new RegExp(\"^\" + HTMLTAG, 'i');\n\n// derived from https://github.com/mathiasbynens/String.fromCodePoint\n/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */\nvar fromCodePoint;\nif (String.fromCodePoint) {\n fromCodePoint = function (_) {\n try {\n return String.fromCodePoint(_);\n }\n catch (e) {\n if (e instanceof RangeError) {\n return String.fromCharCode(0xfffd);\n }\n throw e;\n }\n };\n}\nelse {\n var stringFromCharCode_1 = String.fromCharCode;\n var floor_1 = Math.floor;\n fromCodePoint = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = args.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(args[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor_1(codePoint) !== codePoint // not an integer\n ) {\n return String.fromCharCode(0xfffd);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n }\n else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = (codePoint % 0x400) + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode_1.apply(void 0, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n}\nvar fromCodePoint$1 = fromCodePoint;\n\nvar DOMAIN = '(?:[w-]+.)*[A-Za-z0-9-]+.[A-Za-z0-9-]+';\nvar PATH = '[^<\\\\s]*[^ lastIdx) {\n newNodes.push(text$1(literal.substring(lastIdx, range[0]), sourcepos(lastIdx, range[0] - 1)));\n }\n var linkNode = createNode$1('link', sourcepos.apply(void 0, range));\n linkNode.appendChild(text$1(linkText, sourcepos.apply(void 0, range)));\n linkNode.destination = url;\n linkNode.extendedAutolink = true;\n newNodes.push(linkNode);\n lastIdx = range[1] + 1;\n }\n if (lastIdx < literal.length) {\n newNodes.push(text$1(literal.substring(lastIdx), sourcepos(lastIdx, literal.length - 1)));\n }\n for (var _c = 0, newNodes_1 = newNodes; _c < newNodes_1.length; _c++) {\n var newNode = newNodes_1[_c];\n node.insertBefore(newNode);\n }\n node.unlink();\n }\n };\n while ((event = walker.next())) {\n _loop_1();\n }\n}\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n// normalize a reference in reference link (remove []s, trim,\n// collapse internal space, unicode case fold.\n// See commonmark/commonmark.js#168.\nfunction normalizeReference(str) {\n return str\n .slice(1, str.length - 1)\n .trim()\n .replace(/[ \\t\\r\\n]+/, ' ')\n .toLowerCase()\n .toUpperCase();\n}\nfunction iterateObject(obj, iteratee) {\n Object.keys(obj).forEach(function (key) {\n iteratee(key, obj[key]);\n });\n}\nfunction omit(obj) {\n var propNames = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n propNames[_i - 1] = arguments[_i];\n }\n var resultMap = __assign({}, obj);\n propNames.forEach(function (key) {\n delete resultMap[key];\n });\n return resultMap;\n}\nfunction isEmptyObj(obj) {\n return !Object.keys(obj).length;\n}\nfunction clearObj(obj) {\n Object.keys(obj).forEach(function (key) {\n delete obj[key];\n });\n}\n\nvar C_NEWLINE = 10;\nvar C_ASTERISK = 42;\nvar C_UNDERSCORE = 95;\nvar C_BACKTICK = 96;\nvar C_OPEN_BRACKET$1 = 91;\nvar C_CLOSE_BRACKET = 93;\nvar C_TILDE = 126;\nvar C_LESSTHAN$1 = 60;\nvar C_BANG = 33;\nvar C_BACKSLASH = 92;\nvar C_AMPERSAND = 38;\nvar C_OPEN_PAREN = 40;\nvar C_CLOSE_PAREN = 41;\nvar C_COLON = 58;\nvar C_SINGLEQUOTE = 39;\nvar C_DOUBLEQUOTE = 34;\nvar C_DOLLAR = 36;\n// Some regexps used in inline parser:\nvar ESCAPED_CHAR = \"\\\\\\\\\" + ESCAPABLE;\nvar rePunctuation = new RegExp(/[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/);\nvar reLinkTitle = new RegExp(\"^(?:\\\"(\" + ESCAPED_CHAR + \"|[^\\\"\\\\x00])*\\\"\" +\n \"|\" +\n (\"'(\" + ESCAPED_CHAR + \"|[^'\\\\x00])*'\") +\n \"|\" +\n (\"\\\\((\" + ESCAPED_CHAR + \"|[^()\\\\x00])*\\\\))\"));\nvar reLinkDestinationBraces = /^(?:<(?:[^<>\\n\\\\\\x00]|\\\\.)*>)/;\nvar reEscapable = new RegExp(\"^\" + ESCAPABLE);\nvar reEntityHere = new RegExp(\"^\" + ENTITY, 'i');\nvar reTicks = /`+/;\nvar reTicksHere = /^`+/;\nvar reEllipses = /\\.\\.\\./g;\nvar reDash = /--+/g;\nvar reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;\nvar reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i;\nvar reSpnl = /^ *(?:\\n *)?/;\nvar reWhitespaceChar = /^[ \\t\\n\\x0b\\x0c\\x0d]/;\nvar reUnicodeWhitespaceChar = /^\\s/;\nvar reFinalSpace = / *$/;\nvar reInitialSpace = /^ */;\nvar reSpaceAtEndOfLine = /^ *(?:\\n|$)/;\nvar reLinkLabel = /^\\[(?:[^\\\\\\[\\]]|\\\\.){0,1000}\\]/;\n// Matches a string of non-special characters.\nvar reMain = /^[^\\n`\\[\\]\\\\!<&*_'\"~$]+/m;\nvar InlineParser = /** @class */ (function () {\n function InlineParser(options) {\n // An InlineParser keeps track of a subject (a string to be parsed)\n // and a position in that subject.\n this.subject = '';\n this.delimiters = null; // used by handleDelim method\n this.brackets = null;\n this.pos = 0;\n this.lineStartNum = 0;\n this.lineIdx = 0;\n this.lineOffsets = [0];\n this.linePosOffset = 0;\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.options = options;\n }\n InlineParser.prototype.sourcepos = function (start, end) {\n var linePosOffset = this.linePosOffset + this.lineOffsets[this.lineIdx];\n var lineNum = this.lineStartNum + this.lineIdx;\n var startpos = [lineNum, start + linePosOffset];\n if (typeof end === 'number') {\n return [startpos, [lineNum, end + linePosOffset]];\n }\n return startpos;\n };\n InlineParser.prototype.nextLine = function () {\n this.lineIdx += 1;\n this.linePosOffset = -this.pos;\n };\n // If re matches at current position in the subject, advance\n // position in subject and return the match; otherwise return null.\n InlineParser.prototype.match = function (re) {\n var m = re.exec(this.subject.slice(this.pos));\n if (m === null) {\n return null;\n }\n this.pos += m.index + m[0].length;\n return m[0];\n };\n // Returns the code for the character at the current subject position, or -1\n // there are no more characters.\n InlineParser.prototype.peek = function () {\n if (this.pos < this.subject.length) {\n return this.subject.charCodeAt(this.pos);\n }\n return -1;\n };\n // Parse zero or more space characters, including at most one newline\n InlineParser.prototype.spnl = function () {\n this.match(reSpnl);\n return true;\n };\n // All of the parsers below try to match something at the current position\n // in the subject. If they succeed in matching anything, they\n // return the inline matched, advancing the subject.\n // Attempt to parse backticks, adding either a backtick code span or a\n // literal sequence of backticks.\n InlineParser.prototype.parseBackticks = function (block) {\n var startpos = this.pos + 1;\n var ticks = this.match(reTicksHere);\n if (ticks === null) {\n return false;\n }\n var afterOpenTicks = this.pos;\n var matched;\n while ((matched = this.match(reTicks)) !== null) {\n if (matched === ticks) {\n var contents = this.subject.slice(afterOpenTicks, this.pos - ticks.length);\n var sourcepos = this.sourcepos(startpos, this.pos);\n var lines = contents.split('\\n');\n if (lines.length > 1) {\n var lastLine = last(lines);\n this.lineIdx += lines.length - 1;\n this.linePosOffset = -(this.pos - lastLine.length - ticks.length);\n sourcepos[1] = this.sourcepos(this.pos);\n contents = lines.join(' ');\n }\n var node = createNode$1('code', sourcepos);\n if (contents.length > 0 &&\n contents.match(/[^ ]/) !== null &&\n contents[0] == ' ' &&\n contents[contents.length - 1] == ' ') {\n node.literal = contents.slice(1, contents.length - 1);\n }\n else {\n node.literal = contents;\n }\n node.tickCount = ticks.length;\n block.appendChild(node);\n return true;\n }\n }\n // If we got here, we didn't match a closing backtick sequence.\n this.pos = afterOpenTicks;\n block.appendChild(text$1(ticks, this.sourcepos(startpos, this.pos - 1)));\n return true;\n };\n // Parse a backslash-escaped special character, adding either the escaped\n // character, a hard line break (if the backslash is followed by a newline),\n // or a literal backslash to the block's children. Assumes current character\n // is a backslash.\n InlineParser.prototype.parseBackslash = function (block) {\n var subj = this.subject;\n var node;\n this.pos += 1;\n var startpos = this.pos;\n if (this.peek() === C_NEWLINE) {\n this.pos += 1;\n node = createNode$1('linebreak', this.sourcepos(this.pos - 1, this.pos));\n block.appendChild(node);\n this.nextLine();\n }\n else if (reEscapable.test(subj.charAt(this.pos))) {\n block.appendChild(text$1(subj.charAt(this.pos), this.sourcepos(startpos, this.pos)));\n this.pos += 1;\n }\n else {\n block.appendChild(text$1('\\\\', this.sourcepos(startpos, startpos)));\n }\n return true;\n };\n // Attempt to parse an autolink (URL or email in pointy brackets).\n InlineParser.prototype.parseAutolink = function (block) {\n var m;\n var dest;\n var node;\n var startpos = this.pos + 1;\n if ((m = this.match(reEmailAutolink))) {\n dest = m.slice(1, m.length - 1);\n node = createNode$1('link', this.sourcepos(startpos, this.pos));\n node.destination = normalizeURI(\"mailto:\" + dest);\n node.title = '';\n node.appendChild(text$1(dest, this.sourcepos(startpos + 1, this.pos - 1)));\n block.appendChild(node);\n return true;\n }\n if ((m = this.match(reAutolink))) {\n dest = m.slice(1, m.length - 1);\n node = createNode$1('link', this.sourcepos(startpos, this.pos));\n node.destination = normalizeURI(dest);\n node.title = '';\n node.appendChild(text$1(dest, this.sourcepos(startpos + 1, this.pos - 1)));\n block.appendChild(node);\n return true;\n }\n return false;\n };\n // Attempt to parse a raw HTML tag.\n InlineParser.prototype.parseHtmlTag = function (block) {\n var startpos = this.pos + 1;\n var m = this.match(reHtmlTag);\n if (m === null) {\n return false;\n }\n var node = createNode$1('htmlInline', this.sourcepos(startpos, this.pos));\n node.literal = m;\n block.appendChild(node);\n return true;\n };\n // Scan a sequence of characters with code cc, and return information about\n // the number of delimiters and whether they are positioned such that\n // they can open and/or close emphasis or strong emphasis. A utility\n // function for strong/emph parsing.\n InlineParser.prototype.scanDelims = function (cc) {\n var numdelims = 0;\n var startpos = this.pos;\n if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {\n numdelims++;\n this.pos++;\n }\n else {\n while (this.peek() === cc) {\n numdelims++;\n this.pos++;\n }\n }\n if (numdelims === 0 || (numdelims < 2 && (cc === C_TILDE || cc === C_DOLLAR))) {\n this.pos = startpos;\n return null;\n }\n var charBefore = startpos === 0 ? '\\n' : this.subject.charAt(startpos - 1);\n var ccAfter = this.peek();\n var charAfter;\n if (ccAfter === -1) {\n charAfter = '\\n';\n }\n else {\n charAfter = fromCodePoint$1(ccAfter);\n }\n var afterIsWhitespace = reUnicodeWhitespaceChar.test(charAfter);\n var afterIsPunctuation = rePunctuation.test(charAfter);\n var beforeIsWhitespace = reUnicodeWhitespaceChar.test(charBefore);\n var beforeIsPunctuation = rePunctuation.test(charBefore);\n var leftFlanking = !afterIsWhitespace && (!afterIsPunctuation || beforeIsWhitespace || beforeIsPunctuation);\n var rightFlanking = !beforeIsWhitespace && (!beforeIsPunctuation || afterIsWhitespace || afterIsPunctuation);\n var canOpen;\n var canClose;\n if (cc === C_UNDERSCORE) {\n canOpen = leftFlanking && (!rightFlanking || beforeIsPunctuation);\n canClose = rightFlanking && (!leftFlanking || afterIsPunctuation);\n }\n else if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {\n canOpen = leftFlanking && !rightFlanking;\n canClose = rightFlanking;\n }\n else if (cc === C_DOLLAR) {\n canOpen = !afterIsWhitespace;\n canClose = !beforeIsWhitespace;\n }\n else {\n canOpen = leftFlanking;\n canClose = rightFlanking;\n }\n this.pos = startpos;\n return { numdelims: numdelims, canOpen: canOpen, canClose: canClose };\n };\n // Handle a delimiter marker for emphasis or a quote.\n InlineParser.prototype.handleDelim = function (cc, block) {\n var res = this.scanDelims(cc);\n if (!res) {\n return false;\n }\n var numdelims = res.numdelims;\n var startpos = this.pos + 1;\n var contents;\n this.pos += numdelims;\n if (cc === C_SINGLEQUOTE) {\n contents = '\\u2019';\n }\n else if (cc === C_DOUBLEQUOTE) {\n contents = '\\u201C';\n }\n else {\n contents = this.subject.slice(startpos - 1, this.pos);\n }\n var node = text$1(contents, this.sourcepos(startpos, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n if ((res.canOpen || res.canClose) &&\n (this.options.smart || (cc !== C_SINGLEQUOTE && cc !== C_DOUBLEQUOTE))) {\n this.delimiters = {\n cc: cc,\n numdelims: numdelims,\n origdelims: numdelims,\n node: node,\n previous: this.delimiters,\n next: null,\n canOpen: res.canOpen,\n canClose: res.canClose,\n };\n if (this.delimiters.previous) {\n this.delimiters.previous.next = this.delimiters;\n }\n }\n return true;\n };\n InlineParser.prototype.removeDelimiter = function (delim) {\n if (delim.previous !== null) {\n delim.previous.next = delim.next;\n }\n if (delim.next === null) {\n // top of stack\n this.delimiters = delim.previous;\n }\n else {\n delim.next.previous = delim.previous;\n }\n };\n InlineParser.prototype.removeDelimitersBetween = function (bottom, top) {\n if (bottom.next !== top) {\n bottom.next = top;\n top.previous = bottom;\n }\n };\n /**\n * Process all delimiters - emphasis, strong emphasis, strikethrough(gfm)\n * If the smart punctuation options is true,\n * convert single/double quotes to corresponding unicode characters.\n **/\n InlineParser.prototype.processEmphasis = function (stackBottom) {\n var _a;\n var opener;\n var closer;\n var oldCloser;\n var openerInl, closerInl;\n var openerFound;\n var oddMatch = false;\n var openersBottom = (_a = {},\n _a[C_UNDERSCORE] = [stackBottom, stackBottom, stackBottom],\n _a[C_ASTERISK] = [stackBottom, stackBottom, stackBottom],\n _a[C_SINGLEQUOTE] = [stackBottom],\n _a[C_DOUBLEQUOTE] = [stackBottom],\n _a[C_TILDE] = [stackBottom],\n _a[C_DOLLAR] = [stackBottom],\n _a);\n // find first closer above stackBottom:\n closer = this.delimiters;\n while (closer !== null && closer.previous !== stackBottom) {\n closer = closer.previous;\n }\n // move forward, looking for closers, and handling each\n while (closer !== null) {\n var closercc = closer.cc;\n var closerEmph = closercc === C_UNDERSCORE || closercc === C_ASTERISK;\n if (!closer.canClose) {\n closer = closer.next;\n }\n else {\n // found emphasis closer. now look back for first matching opener:\n opener = closer.previous;\n openerFound = false;\n while (opener !== null &&\n opener !== stackBottom &&\n opener !== openersBottom[closercc][closerEmph ? closer.origdelims % 3 : 0]) {\n oddMatch =\n closerEmph &&\n (closer.canOpen || opener.canClose) &&\n closer.origdelims % 3 !== 0 &&\n (opener.origdelims + closer.origdelims) % 3 === 0;\n if (opener.cc === closer.cc && opener.canOpen && !oddMatch) {\n openerFound = true;\n break;\n }\n opener = opener.previous;\n }\n oldCloser = closer;\n if (closerEmph || closercc === C_TILDE || closercc === C_DOLLAR) {\n if (!openerFound) {\n closer = closer.next;\n }\n else if (opener) {\n // (null opener check for type narrowing)\n // calculate actual number of delimiters used from closer\n var useDelims = closer.numdelims >= 2 && opener.numdelims >= 2 ? 2 : 1;\n var emptyDelims = closerEmph ? 0 : 1;\n openerInl = opener.node;\n closerInl = closer.node;\n // build contents for new emph element\n var nodeType = closerEmph\n ? useDelims === 1\n ? 'emph'\n : 'strong'\n : 'strike';\n if (closercc === C_DOLLAR) {\n nodeType = 'customInline';\n }\n var newNode = createNode$1(nodeType);\n var openerEndPos = openerInl.sourcepos[1];\n var closerStartPos = closerInl.sourcepos[0];\n newNode.sourcepos = [\n [openerEndPos[0], openerEndPos[1] - useDelims + 1],\n [closerStartPos[0], closerStartPos[1] + useDelims - 1],\n ];\n openerInl.sourcepos[1][1] -= useDelims;\n closerInl.sourcepos[0][1] += useDelims;\n openerInl.literal = openerInl.literal.slice(useDelims);\n closerInl.literal = closerInl.literal.slice(useDelims);\n opener.numdelims -= useDelims;\n closer.numdelims -= useDelims;\n // remove used delimiters from stack elts and inlines\n var tmp = openerInl.next;\n var next = void 0;\n while (tmp && tmp !== closerInl) {\n next = tmp.next;\n tmp.unlink();\n newNode.appendChild(tmp);\n tmp = next;\n }\n // build custom inline node\n if (closercc === C_DOLLAR) {\n var textNode = newNode.firstChild;\n var literal = textNode.literal || '';\n var info = literal.split(/\\s/)[0];\n newNode.info = info;\n if (literal.length <= info.length) {\n textNode.unlink();\n }\n else {\n textNode.sourcepos[0][1] += info.length;\n textNode.literal = literal.replace(info + \" \", '');\n }\n }\n openerInl.insertAfter(newNode);\n // remove elts between opener and closer in delimiters stack\n this.removeDelimitersBetween(opener, closer);\n // if opener has 0 delims, remove it and the inline\n // if opener has 1 delims and character is tilde, remove delimiter only\n if (opener.numdelims <= emptyDelims) {\n if (opener.numdelims === 0) {\n openerInl.unlink();\n }\n this.removeDelimiter(opener);\n }\n // if closer has 0 delims, remove it and the inline\n // if closer has 1 delims and character is tilde, remove delimiter only\n if (closer.numdelims <= emptyDelims) {\n if (closer.numdelims === 0) {\n closerInl.unlink();\n }\n var tempstack = closer.next;\n this.removeDelimiter(closer);\n closer = tempstack;\n }\n }\n }\n else if (closercc === C_SINGLEQUOTE) {\n closer.node.literal = '\\u2019';\n if (openerFound) {\n opener.node.literal = '\\u2018';\n }\n closer = closer.next;\n }\n else if (closercc === C_DOUBLEQUOTE) {\n closer.node.literal = '\\u201D';\n if (openerFound) {\n opener.node.literal = '\\u201C';\n }\n closer = closer.next;\n }\n if (!openerFound) {\n // Set lower bound for future searches for openers:\n openersBottom[closercc][closerEmph ? oldCloser.origdelims % 3 : 0] = oldCloser.previous;\n if (!oldCloser.canOpen) {\n // We can remove a closer that can't be an opener,\n // once we've seen there's no matching opener:\n this.removeDelimiter(oldCloser);\n }\n }\n }\n }\n // remove all delimiters\n while (this.delimiters !== null && this.delimiters !== stackBottom) {\n this.removeDelimiter(this.delimiters);\n }\n };\n // Attempt to parse link title (sans quotes), returning the string\n // or null if no match.\n InlineParser.prototype.parseLinkTitle = function () {\n var title = this.match(reLinkTitle);\n if (title === null) {\n return null;\n }\n // chop off quotes from title and unescape:\n return unescapeString(title.substr(1, title.length - 2));\n };\n // Attempt to parse link destination, returning the string or null if no match.\n InlineParser.prototype.parseLinkDestination = function () {\n var res = this.match(reLinkDestinationBraces);\n if (res === null) {\n if (this.peek() === C_LESSTHAN$1) {\n return null;\n }\n // @TODO handrolled parser; res should be null or the string\n var savepos = this.pos;\n var openparens = 0;\n var c = void 0;\n while ((c = this.peek()) !== -1) {\n if (c === C_BACKSLASH && reEscapable.test(this.subject.charAt(this.pos + 1))) {\n this.pos += 1;\n if (this.peek() !== -1) {\n this.pos += 1;\n }\n }\n else if (c === C_OPEN_PAREN) {\n this.pos += 1;\n openparens += 1;\n }\n else if (c === C_CLOSE_PAREN) {\n if (openparens < 1) {\n break;\n }\n else {\n this.pos += 1;\n openparens -= 1;\n }\n }\n else if (reWhitespaceChar.exec(fromCodePoint$1(c)) !== null) {\n break;\n }\n else {\n this.pos += 1;\n }\n }\n if (this.pos === savepos && c !== C_CLOSE_PAREN) {\n return null;\n }\n if (openparens !== 0) {\n return null;\n }\n res = this.subject.substr(savepos, this.pos - savepos);\n return normalizeURI(unescapeString(res));\n } // chop off surrounding <..>:\n return normalizeURI(unescapeString(res.substr(1, res.length - 2)));\n };\n // Attempt to parse a link label, returning number of characters parsed.\n InlineParser.prototype.parseLinkLabel = function () {\n var m = this.match(reLinkLabel);\n if (m === null || m.length > 1001) {\n return 0;\n }\n return m.length;\n };\n // Add open bracket to delimiter stack and add a text node to block's children.\n InlineParser.prototype.parseOpenBracket = function (block) {\n var startpos = this.pos;\n this.pos += 1;\n var node = text$1('[', this.sourcepos(this.pos, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n this.addBracket(node, startpos, false);\n return true;\n };\n // IF next character is [, and ! delimiter to delimiter stack and\n // add a text node to block's children. Otherwise just add a text node.\n InlineParser.prototype.parseBang = function (block) {\n var startpos = this.pos;\n this.pos += 1;\n if (this.peek() === C_OPEN_BRACKET$1) {\n this.pos += 1;\n var node = text$1('![', this.sourcepos(this.pos - 1, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n this.addBracket(node, startpos + 1, true);\n }\n else {\n var node = text$1('!', this.sourcepos(this.pos, this.pos));\n block.appendChild(node);\n }\n return true;\n };\n // Try to match close bracket against an opening in the delimiter\n // stack. Add either a link or image, or a plain [ character,\n // to block's children. If there is a matching delimiter,\n // remove it from the delimiter stack.\n InlineParser.prototype.parseCloseBracket = function (block) {\n var dest = null;\n var title = null;\n var matched = false;\n this.pos += 1;\n var startpos = this.pos;\n // get last [ or ![\n var opener = this.brackets;\n if (opener === null) {\n // no matched opener, just return a literal\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n return true;\n }\n if (!opener.active) {\n // no matched opener, just return a literal\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n // take opener off brackets stack\n this.removeBracket();\n return true;\n }\n // If we got here, open is a potential opener\n var isImage = opener.image;\n // Check to see if we have a link/image\n var savepos = this.pos;\n // Inline link?\n if (this.peek() === C_OPEN_PAREN) {\n this.pos++;\n if (this.spnl() &&\n (dest = this.parseLinkDestination()) !== null &&\n this.spnl() &&\n // make sure there's a space before the title:\n ((reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&\n (title = this.parseLinkTitle())) ||\n true) &&\n this.spnl() &&\n this.peek() === C_CLOSE_PAREN) {\n this.pos += 1;\n matched = true;\n }\n else {\n this.pos = savepos;\n }\n }\n var refLabel = '';\n if (!matched) {\n // Next, see if there's a link label\n var beforelabel = this.pos;\n var n = this.parseLinkLabel();\n if (n > 2) {\n refLabel = this.subject.slice(beforelabel, beforelabel + n);\n }\n else if (!opener.bracketAfter) {\n // Empty or missing second label means to use the first label as the reference.\n // The reference must not contain a bracket. If we know there's a bracket, we don't even bother checking it.\n refLabel = this.subject.slice(opener.index, startpos);\n }\n if (n === 0) {\n // If shortcut reference link, rewind before spaces we skipped.\n this.pos = savepos;\n }\n if (refLabel) {\n refLabel = normalizeReference(refLabel);\n // lookup rawlabel in refMap\n var link = this.refMap[refLabel];\n if (link) {\n dest = link.destination;\n title = link.title;\n matched = true;\n }\n }\n }\n if (matched) {\n var node = createNode$1(isImage ? 'image' : 'link');\n node.destination = dest;\n node.title = title || '';\n node.sourcepos = [opener.startpos, this.sourcepos(this.pos)];\n var tmp = opener.node.next;\n var next = void 0;\n while (tmp) {\n next = tmp.next;\n tmp.unlink();\n node.appendChild(tmp);\n tmp = next;\n }\n block.appendChild(node);\n this.processEmphasis(opener.previousDelimiter);\n this.removeBracket();\n opener.node.unlink();\n // We remove this bracket and processEmphasis will remove later delimiters.\n // Now, for a link, we also deactivate earlier link openers.\n // (no links in links)\n if (!isImage) {\n opener = this.brackets;\n while (opener !== null) {\n if (!opener.image) {\n opener.active = false; // deactivate this opener\n }\n opener = opener.previous;\n }\n }\n if (this.options.referenceDefinition) {\n this.refLinkCandidateMap[block.id] = { node: block, refLabel: refLabel };\n }\n return true;\n } // no match\n this.removeBracket(); // remove this opener from stack\n this.pos = startpos;\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n if (this.options.referenceDefinition) {\n this.refLinkCandidateMap[block.id] = { node: block, refLabel: refLabel };\n }\n return true;\n };\n InlineParser.prototype.addBracket = function (node, index, image) {\n if (this.brackets !== null) {\n this.brackets.bracketAfter = true;\n }\n this.brackets = {\n node: node,\n startpos: this.sourcepos(index + (image ? 0 : 1)),\n previous: this.brackets,\n previousDelimiter: this.delimiters,\n index: index,\n image: image,\n active: true,\n };\n };\n InlineParser.prototype.removeBracket = function () {\n if (this.brackets) {\n this.brackets = this.brackets.previous;\n }\n };\n // Attempt to parse an entity.\n InlineParser.prototype.parseEntity = function (block) {\n var m;\n var startpos = this.pos + 1;\n if ((m = this.match(reEntityHere))) {\n block.appendChild(text$1(lib.decodeHTML(m), this.sourcepos(startpos, this.pos)));\n return true;\n }\n return false;\n };\n // Parse a run of ordinary characters, or a single character with\n // a special meaning in markdown, as a plain string.\n InlineParser.prototype.parseString = function (block) {\n var m;\n var startpos = this.pos + 1;\n if ((m = this.match(reMain))) {\n if (this.options.smart) {\n var lit = m.replace(reEllipses, '\\u2026').replace(reDash, function (chars) {\n var enCount = 0;\n var emCount = 0;\n if (chars.length % 3 === 0) {\n // If divisible by 3, use all em dashes\n emCount = chars.length / 3;\n }\n else if (chars.length % 2 === 0) {\n // If divisible by 2, use all en dashes\n enCount = chars.length / 2;\n }\n else if (chars.length % 3 === 2) {\n // If 2 extra dashes, use en dash for last 2; em dashes for rest\n enCount = 1;\n emCount = (chars.length - 2) / 3;\n }\n else {\n // Use en dashes for last 4 hyphens; em dashes for rest\n enCount = 2;\n emCount = (chars.length - 4) / 3;\n }\n return repeat('\\u2014', emCount) + repeat('\\u2013', enCount);\n });\n block.appendChild(text$1(lit, this.sourcepos(startpos, this.pos)));\n }\n else {\n var node = text$1(m, this.sourcepos(startpos, this.pos));\n block.appendChild(node);\n }\n return true;\n }\n return false;\n };\n // Parse a newline. If it was preceded by two spaces, return a hard\n // line break; otherwise a soft line break.\n InlineParser.prototype.parseNewline = function (block) {\n this.pos += 1; // assume we're at a \\n\n // check previous node for trailing spaces\n var lastc = block.lastChild;\n if (lastc && lastc.type === 'text' && lastc.literal[lastc.literal.length - 1] === ' ') {\n var hardbreak = lastc.literal[lastc.literal.length - 2] === ' ';\n var litLen = lastc.literal.length;\n lastc.literal = lastc.literal.replace(reFinalSpace, '');\n var finalSpaceLen = litLen - lastc.literal.length;\n lastc.sourcepos[1][1] -= finalSpaceLen;\n block.appendChild(createNode$1(hardbreak ? 'linebreak' : 'softbreak', this.sourcepos(this.pos - finalSpaceLen, this.pos)));\n }\n else {\n block.appendChild(createNode$1('softbreak', this.sourcepos(this.pos, this.pos)));\n }\n this.nextLine();\n this.match(reInitialSpace); // gobble leading spaces in next line\n return true;\n };\n // Attempt to parse a link reference, modifying refmap.\n InlineParser.prototype.parseReference = function (block, refMap) {\n if (!this.options.referenceDefinition) {\n return 0;\n }\n this.subject = block.stringContent;\n this.pos = 0;\n var title = null;\n var startpos = this.pos;\n // label:\n var matchChars = this.parseLinkLabel();\n if (matchChars === 0) {\n return 0;\n }\n var rawlabel = this.subject.substr(0, matchChars);\n // colon:\n if (this.peek() === C_COLON) {\n this.pos++;\n }\n else {\n this.pos = startpos;\n return 0;\n }\n // link url\n this.spnl();\n var dest = this.parseLinkDestination();\n if (dest === null) {\n this.pos = startpos;\n return 0;\n }\n var beforetitle = this.pos;\n this.spnl();\n if (this.pos !== beforetitle) {\n title = this.parseLinkTitle();\n }\n if (title === null) {\n title = '';\n // rewind before spaces\n this.pos = beforetitle;\n }\n // make sure we're at line end:\n var atLineEnd = true;\n if (this.match(reSpaceAtEndOfLine) === null) {\n if (title === '') {\n atLineEnd = false;\n }\n else {\n // the potential title we found is not at the line end,\n // but it could still be a legal link reference if we\n // discard the title\n title = '';\n // rewind before spaces\n this.pos = beforetitle;\n // and instead check if the link URL is at the line end\n atLineEnd = this.match(reSpaceAtEndOfLine) !== null;\n }\n }\n if (!atLineEnd) {\n this.pos = startpos;\n return 0;\n }\n var normalLabel = normalizeReference(rawlabel);\n if (normalLabel === '') {\n // label must contain non-whitespace characters\n this.pos = startpos;\n return 0;\n }\n var sourcepos = this.getReferenceDefSourcepos(block);\n block.sourcepos[0][0] = sourcepos[1][0] + 1;\n var node = createNode$1('refDef', sourcepos);\n node.title = title;\n node.dest = dest;\n node.label = normalLabel;\n block.insertBefore(node);\n if (!refMap[normalLabel]) {\n refMap[normalLabel] = createRefDefState(node);\n }\n else {\n this.refDefCandidateMap[node.id] = node;\n }\n return this.pos - startpos;\n };\n InlineParser.prototype.mergeTextNodes = function (walker) {\n var event;\n var textNodes = [];\n while ((event = walker.next())) {\n var entering = event.entering, node = event.node;\n if (entering && node.type === 'text') {\n textNodes.push(node);\n }\n else if (textNodes.length === 1) {\n textNodes = [];\n }\n else if (textNodes.length > 1) {\n var firstNode = textNodes[0];\n var lastNode = textNodes[textNodes.length - 1];\n if (firstNode.sourcepos && lastNode.sourcepos) {\n firstNode.sourcepos[1] = lastNode.sourcepos[1];\n }\n firstNode.next = lastNode.next;\n if (firstNode.next) {\n firstNode.next.prev = firstNode;\n }\n for (var i = 1; i < textNodes.length; i += 1) {\n firstNode.literal += textNodes[i].literal;\n textNodes[i].unlink();\n }\n textNodes = [];\n }\n }\n };\n InlineParser.prototype.getReferenceDefSourcepos = function (block) {\n var lines = block.stringContent.split(/\\n|\\r\\n/);\n var passedUrlLine = false;\n var quotationCount = 0;\n var lastLineOffset = { line: 0, ch: 0 };\n for (var i = 0; i < lines.length; i += 1) {\n var line = lines[i];\n if (reWhitespaceChar.test(line)) {\n break;\n }\n if (/\\:/.test(line) && quotationCount === 0) {\n if (passedUrlLine) {\n break;\n }\n var lineOffset = line.indexOf(':') === line.length - 1 ? i + 1 : i;\n lastLineOffset = { line: lineOffset, ch: lines[lineOffset].length };\n passedUrlLine = true;\n }\n // should consider extendable title\n var matched = line.match(/'|\"/g);\n if (matched) {\n quotationCount += matched.length;\n }\n if (quotationCount === 2) {\n lastLineOffset = { line: i, ch: line.length };\n break;\n }\n }\n return [\n [block.sourcepos[0][0], block.sourcepos[0][1]],\n [block.sourcepos[0][0] + lastLineOffset.line, lastLineOffset.ch],\n ];\n };\n // Parse the next inline element in subject, advancing subject position.\n // On success, add the result to block's children and return true.\n // On failure, return false.\n InlineParser.prototype.parseInline = function (block) {\n var _a;\n var res = false;\n var c = this.peek();\n if (c === -1) {\n return false;\n }\n switch (c) {\n case C_NEWLINE:\n res = this.parseNewline(block);\n break;\n case C_BACKSLASH:\n res = this.parseBackslash(block);\n break;\n case C_BACKTICK:\n res = this.parseBackticks(block);\n break;\n case C_ASTERISK:\n case C_UNDERSCORE:\n case C_TILDE:\n case C_DOLLAR:\n res = this.handleDelim(c, block);\n break;\n case C_SINGLEQUOTE:\n case C_DOUBLEQUOTE:\n res = !!((_a = this.options) === null || _a === void 0 ? void 0 : _a.smart) && this.handleDelim(c, block);\n break;\n case C_OPEN_BRACKET$1:\n res = this.parseOpenBracket(block);\n break;\n case C_BANG:\n res = this.parseBang(block);\n break;\n case C_CLOSE_BRACKET:\n res = this.parseCloseBracket(block);\n break;\n case C_LESSTHAN$1:\n res = this.parseAutolink(block) || this.parseHtmlTag(block);\n break;\n case C_AMPERSAND:\n if (!block.disabledEntityParse) {\n res = this.parseEntity(block);\n }\n break;\n default:\n res = this.parseString(block);\n break;\n }\n if (!res) {\n this.pos += 1;\n block.appendChild(text$1(fromCodePoint$1(c), this.sourcepos(this.pos, this.pos + 1)));\n }\n return true;\n };\n // Parse string content in block into inline children,\n // using refmap to resolve references.\n InlineParser.prototype.parse = function (block) {\n this.subject = block.stringContent.trim();\n this.pos = 0;\n this.delimiters = null;\n this.brackets = null;\n this.lineOffsets = block.lineOffsets || [0];\n this.lineIdx = 0;\n this.linePosOffset = 0;\n this.lineStartNum = block.sourcepos[0][0];\n if (isHeading(block)) {\n this.lineOffsets[0] += block.level + 1;\n }\n while (this.parseInline(block)) { }\n block.stringContent = null; // allow raw string to be garbage collected\n this.processEmphasis(null);\n this.mergeTextNodes(block.walker());\n var _a = this.options, extendedAutolinks = _a.extendedAutolinks, customParser = _a.customParser;\n if (extendedAutolinks) {\n convertExtAutoLinks(block.walker(), extendedAutolinks);\n }\n if (customParser && block.firstChild) {\n var event_1;\n var walker = block.firstChild.walker();\n while ((event_1 = walker.next())) {\n var node = event_1.node, entering = event_1.entering;\n if (customParser[node.type]) {\n customParser[node.type](node, { entering: entering, options: this.options });\n }\n }\n }\n };\n return InlineParser;\n}());\n\nvar reTaskListItemMarker = /^\\[([ \\txX])\\][ \\t]+/;\n// finalize for block handler\nfunction taskListItemFinalize(_, block) {\n if (block.firstChild && block.firstChild.type === 'paragraph') {\n var p = block.firstChild;\n var m = p.stringContent.match(reTaskListItemMarker);\n if (m) {\n var mLen = m[0].length;\n p.stringContent = p.stringContent.substring(mLen - 1);\n p.sourcepos[0][1] += mLen;\n p.lineOffsets[0] += mLen;\n block.listData.task = true;\n block.listData.checked = /[xX]/.test(m[1]);\n }\n }\n}\n\nvar table = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableHead' || t === 'tableBody';\n },\n acceptsLines: false,\n};\nvar tableBody$1 = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableRow';\n },\n acceptsLines: false,\n};\nvar tableHead$1 = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableRow' || t === 'tableDelimRow';\n },\n acceptsLines: false,\n};\nvar tableDelimRow = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableDelimCell';\n },\n acceptsLines: false,\n};\nvar tableDelimCell = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar tableRow = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableCell';\n },\n acceptsLines: false,\n};\nvar tableCell = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\n\nvar CODE_INDENT = 4;\nvar C_TAB = 9;\nvar C_GREATERTHAN = 62;\nvar C_LESSTHAN = 60;\nvar C_SPACE = 32;\nvar C_OPEN_BRACKET = 91;\nvar reNonSpace = /[^ \\t\\f\\v\\r\\n]/;\nvar reClosingCodeFence = /^(?:`{3,}|~{3,})(?= *$)/;\n// Returns true if block ends with a blank line, descending if needed\n// into lists and sublists.\nfunction endsWithBlankLine(block) {\n var curBlock = block;\n while (curBlock) {\n if (curBlock.lastLineBlank) {\n return true;\n }\n var t = curBlock.type;\n if (!curBlock.lastLineChecked && (t === 'list' || t === 'item')) {\n curBlock.lastLineChecked = true;\n curBlock = curBlock.lastChild;\n }\n else {\n curBlock.lastLineChecked = true;\n break;\n }\n }\n return false;\n}\nfunction peek(ln, pos) {\n if (pos < ln.length) {\n return ln.charCodeAt(pos);\n }\n return -1;\n}\n// Returns true if string contains only space characters.\nfunction isBlank(s) {\n return !reNonSpace.test(s);\n}\nfunction isSpaceOrTab(c) {\n return c === C_SPACE || c === C_TAB;\n}\n\nvar reClosingCustomBlock = /^\\$\\$$/;\nvar customBlock$1 = {\n continue: function (parser, container) {\n var line = parser.currentLine;\n var match = line.match(reClosingCustomBlock);\n if (match) {\n // closing custom block\n parser.lastLineLength = match[0].length;\n parser.finalize(container, parser.lineNumber);\n return 2 /* Finished */;\n }\n // skip optional spaces of custom block offset\n var i = container.offset;\n while (i > 0 && isSpaceOrTab(peek(line, parser.offset))) {\n parser.advanceOffset(1, true);\n i--;\n }\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n if (block.stringContent === null) {\n return;\n }\n // first line becomes info string\n var content = block.stringContent;\n var newlinePos = content.indexOf('\\n');\n var firstLine = content.slice(0, newlinePos);\n var rest = content.slice(newlinePos + 1);\n var infoString = firstLine.match(/^(\\s*)(.*)/);\n block.info = unescapeString(infoString[2].trim());\n block.literal = rest;\n block.stringContent = null;\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\n\nvar noop = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar document$1 = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar list = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n var item = block.firstChild;\n while (item) {\n // check for non-final list item ending with blank line:\n if (endsWithBlankLine(item) && item.next) {\n block.listData.tight = false;\n break;\n }\n // recurse into children of list item, to see if there are\n // spaces between any of them:\n var subitem = item.firstChild;\n while (subitem) {\n if (endsWithBlankLine(subitem) && (item.next || subitem.next)) {\n block.listData.tight = false;\n break;\n }\n subitem = subitem.next;\n }\n item = item.next;\n }\n },\n canContain: function (t) {\n return t === 'item';\n },\n acceptsLines: false,\n};\nvar blockQuote$1 = {\n continue: function (parser) {\n var ln = parser.currentLine;\n if (!parser.indented && peek(ln, parser.nextNonspace) === C_GREATERTHAN) {\n parser.advanceNextNonspace();\n parser.advanceOffset(1, false);\n if (isSpaceOrTab(peek(ln, parser.offset))) {\n parser.advanceOffset(1, true);\n }\n }\n else {\n return 1 /* Stop */;\n }\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar item = {\n continue: function (parser, container) {\n if (parser.blank) {\n if (container.firstChild === null) {\n // Blank line after empty list item\n return 1 /* Stop */;\n }\n parser.advanceNextNonspace();\n }\n else if (parser.indent >= container.listData.markerOffset + container.listData.padding) {\n parser.advanceOffset(container.listData.markerOffset + container.listData.padding, true);\n }\n else {\n return 1 /* Stop */;\n }\n return 0 /* Go */;\n },\n finalize: taskListItemFinalize,\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar heading = {\n continue: function () {\n // a heading can never container > 1 line, so fail to match:\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar thematicBreak$1 = {\n continue: function () {\n // a thematic break can never container > 1 line, so fail to match:\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar codeBlock = {\n continue: function (parser, container) {\n var ln = parser.currentLine;\n var indent = parser.indent;\n if (container.isFenced) {\n // fenced\n var match = indent <= 3 &&\n ln.charAt(parser.nextNonspace) === container.fenceChar &&\n ln.slice(parser.nextNonspace).match(reClosingCodeFence);\n if (match && match[0].length >= container.fenceLength) {\n // closing fence - we're at end of line, so we can return\n parser.lastLineLength = parser.offset + indent + match[0].length;\n parser.finalize(container, parser.lineNumber);\n return 2 /* Finished */;\n }\n // skip optional spaces of fence offset\n var i = container.fenceOffset;\n while (i > 0 && isSpaceOrTab(peek(ln, parser.offset))) {\n parser.advanceOffset(1, true);\n i--;\n }\n }\n else {\n // indented\n if (indent >= CODE_INDENT) {\n parser.advanceOffset(CODE_INDENT, true);\n }\n else if (parser.blank) {\n parser.advanceNextNonspace();\n }\n else {\n return 1 /* Stop */;\n }\n }\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n var _a;\n if (block.stringContent === null) {\n return;\n }\n if (block.isFenced) {\n // fenced\n // first line becomes info string\n var content = block.stringContent;\n var newlinePos = content.indexOf('\\n');\n var firstLine = content.slice(0, newlinePos);\n var rest = content.slice(newlinePos + 1);\n var infoString = firstLine.match(/^(\\s*)(.*)/);\n block.infoPadding = infoString[1].length;\n block.info = unescapeString(infoString[2].trim());\n block.literal = rest;\n }\n else {\n // indented\n block.literal = (_a = block.stringContent) === null || _a === void 0 ? void 0 : _a.replace(/(\\n *)+$/, '\\n');\n }\n block.stringContent = null; // allow GC\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar htmlBlock$1 = {\n continue: function (parser, container) {\n return parser.blank && (container.htmlBlockType === 6 || container.htmlBlockType === 7)\n ? 1 /* Stop */\n : 0 /* Go */;\n },\n finalize: function (_, block) {\n var _a;\n block.literal = ((_a = block.stringContent) === null || _a === void 0 ? void 0 : _a.replace(/(\\n *)+$/, '')) || null;\n block.stringContent = null; // allow GC\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar paragraph = {\n continue: function (parser) {\n return parser.blank ? 1 /* Stop */ : 0 /* Go */;\n },\n finalize: function (parser, block) {\n if (block.stringContent === null) {\n return;\n }\n var pos;\n var hasReferenceDefs = false;\n // try parsing the beginning as link reference definitions:\n while (peek(block.stringContent, 0) === C_OPEN_BRACKET &&\n (pos = parser.inlineParser.parseReference(block, parser.refMap))) {\n block.stringContent = block.stringContent.slice(pos);\n hasReferenceDefs = true;\n }\n if (hasReferenceDefs && isBlank(block.stringContent)) {\n block.unlink();\n }\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar refDef = noop;\nvar frontMatter$2 = noop;\nvar blockHandlers = {\n document: document$1,\n list: list,\n blockQuote: blockQuote$1,\n item: item,\n heading: heading,\n thematicBreak: thematicBreak$1,\n codeBlock: codeBlock,\n htmlBlock: htmlBlock$1,\n paragraph: paragraph,\n table: table,\n tableBody: tableBody$1,\n tableHead: tableHead$1,\n tableRow: tableRow,\n tableCell: tableCell,\n tableDelimRow: tableDelimRow,\n tableDelimCell: tableDelimCell,\n refDef: refDef,\n customBlock: customBlock$1,\n frontMatter: frontMatter$2,\n};\n\nfunction parseRowContent(content) {\n var startIdx = 0;\n var offset = 0;\n var cells = [];\n for (var i = 0; i < content.length; i += 1) {\n if (content[i] === '|' && content[i - 1] !== '\\\\') {\n var cell = content.substring(startIdx, i);\n if (startIdx === 0 && isEmpty(cell)) {\n offset = i + 1;\n }\n else {\n cells.push(cell);\n }\n startIdx = i + 1;\n }\n }\n if (startIdx < content.length) {\n var cell = content.substring(startIdx, content.length);\n if (!isEmpty(cell)) {\n cells.push(cell);\n }\n }\n return [offset, cells];\n}\nfunction generateTableCells(cellType, contents, lineNum, chPos) {\n var cells = [];\n for (var _i = 0, contents_1 = contents; _i < contents_1.length; _i++) {\n var content = contents_1[_i];\n var preSpaces = content.match(/^[ \\t]+/);\n var paddingLeft = preSpaces ? preSpaces[0].length : 0;\n var paddingRight = void 0, trimmed = void 0;\n if (paddingLeft === content.length) {\n paddingLeft = 0;\n paddingRight = 0;\n trimmed = '';\n }\n else {\n var postSpaces = content.match(/[ \\t]+$/);\n paddingRight = postSpaces ? postSpaces[0].length : 0;\n trimmed = content.slice(paddingLeft, content.length - paddingRight);\n }\n var chPosStart = chPos + paddingLeft;\n var tableCell = createNode$1(cellType, [\n [lineNum, chPos],\n [lineNum, chPos + content.length - 1],\n ]);\n tableCell.stringContent = trimmed.replace(/\\\\\\|/g, '|'); // replace esacped pipe(\\|)\n tableCell.startIdx = cells.length;\n tableCell.endIdx = cells.length;\n tableCell.lineOffsets = [chPosStart - 1];\n tableCell.paddingLeft = paddingLeft;\n tableCell.paddingRight = paddingRight;\n cells.push(tableCell);\n chPos += content.length + 1;\n }\n return cells;\n}\nfunction getColumnFromDelimCell(cellNode) {\n var align = null;\n var content = cellNode.stringContent;\n var firstCh = content[0];\n var lastCh = content[content.length - 1];\n if (lastCh === ':') {\n align = firstCh === ':' ? 'center' : 'right';\n }\n else if (firstCh === ':') {\n align = 'left';\n }\n return { align: align };\n}\nvar tableHead = function (parser, container) {\n var stringContent = container.stringContent;\n if (container.type === 'paragraph' && !parser.indented && !parser.blank) {\n var lastNewLineIdx = stringContent.length - 1;\n var lastLineStartIdx = stringContent.lastIndexOf('\\n', lastNewLineIdx - 1) + 1;\n var headerContent = stringContent.slice(lastLineStartIdx, lastNewLineIdx);\n var delimContent = parser.currentLine.slice(parser.nextNonspace);\n var _a = parseRowContent(headerContent), headerOffset = _a[0], headerCells = _a[1];\n var _b = parseRowContent(delimContent), delimOffset = _b[0], delimCells = _b[1];\n var reValidDelimCell_1 = /^[ \\t]*:?-+:?[ \\t]*$/;\n if (\n // not checking if the number of header cells and delimiter cells are the same\n // to consider the case of merged-column (via plugin)\n !headerCells.length ||\n !delimCells.length ||\n delimCells.some(function (cell) { return !reValidDelimCell_1.test(cell); }) ||\n // to prevent to regard setTextHeading as tabel delim cell with 'disallowDeepHeading' option\n (delimCells.length === 1 && delimContent.indexOf('|') !== 0)) {\n return 0 /* None */;\n }\n var lineOffsets = container.lineOffsets;\n var firstLineNum = parser.lineNumber - 1;\n var firstLineStart = last(lineOffsets) + 1;\n var table = createNode$1('table', [\n [firstLineNum, firstLineStart],\n [parser.lineNumber, parser.offset],\n ]);\n // eslint-disable-next-line arrow-body-style\n table.columns = delimCells.map(function () { return ({ align: null }); });\n container.insertAfter(table);\n if (lineOffsets.length === 1) {\n container.unlink();\n }\n else {\n container.stringContent = stringContent.slice(0, lastLineStartIdx);\n var paraLastLineStartIdx = stringContent.lastIndexOf('\\n', lastLineStartIdx - 2) + 1;\n var paraLastLineLen = lastLineStartIdx - paraLastLineStartIdx - 1;\n parser.lastLineLength = lineOffsets[lineOffsets.length - 2] + paraLastLineLen;\n parser.finalize(container, firstLineNum - 1);\n }\n parser.advanceOffset(parser.currentLine.length - parser.offset, false);\n var tableHead_1 = createNode$1('tableHead', [\n [firstLineNum, firstLineStart],\n [parser.lineNumber, parser.offset],\n ]);\n table.appendChild(tableHead_1);\n var tableHeadRow_1 = createNode$1('tableRow', [\n [firstLineNum, firstLineStart],\n [firstLineNum, firstLineStart + headerContent.length - 1],\n ]);\n var tableDelimRow_1 = createNode$1('tableDelimRow', [\n [parser.lineNumber, parser.nextNonspace + 1],\n [parser.lineNumber, parser.offset],\n ]);\n tableHead_1.appendChild(tableHeadRow_1);\n tableHead_1.appendChild(tableDelimRow_1);\n generateTableCells('tableCell', headerCells, firstLineNum, firstLineStart + headerOffset).forEach(function (cellNode) {\n tableHeadRow_1.appendChild(cellNode);\n });\n var delimCellNodes = generateTableCells('tableDelimCell', delimCells, parser.lineNumber, parser.nextNonspace + 1 + delimOffset);\n delimCellNodes.forEach(function (cellNode) {\n tableDelimRow_1.appendChild(cellNode);\n });\n table.columns = delimCellNodes.map(getColumnFromDelimCell);\n parser.tip = table;\n return 2 /* Leaf */;\n }\n return 0 /* None */;\n};\nvar tableBody = function (parser, container) {\n if ((container.type !== 'table' && container.type !== 'tableBody') ||\n (!parser.blank && parser.currentLine.indexOf('|') === -1)) {\n return 0 /* None */;\n }\n parser.advanceOffset(parser.currentLine.length - parser.offset, false);\n if (parser.blank) {\n var table_1 = container;\n if (container.type === 'tableBody') {\n table_1 = container.parent;\n parser.finalize(container, parser.lineNumber - 1);\n }\n parser.finalize(table_1, parser.lineNumber - 1);\n return 0 /* None */;\n }\n var tableBody = container;\n if (container.type === 'table') {\n tableBody = parser.addChild('tableBody', parser.nextNonspace);\n tableBody.stringContent = null;\n }\n var tableRow = createNode$1('tableRow', [\n [parser.lineNumber, parser.nextNonspace + 1],\n [parser.lineNumber, parser.currentLine.length],\n ]);\n tableBody.appendChild(tableRow);\n var table = tableBody.parent;\n var content = parser.currentLine.slice(parser.nextNonspace);\n var _a = parseRowContent(content), offset = _a[0], cellContents = _a[1];\n generateTableCells('tableCell', cellContents, parser.lineNumber, parser.nextNonspace + 1 + offset).forEach(function (cellNode, idx) {\n if (idx >= table.columns.length) {\n cellNode.ignored = true;\n }\n tableRow.appendChild(cellNode);\n });\n return 2 /* Leaf */;\n};\n\nvar reCustomBlock = /^(\\$\\$)(\\s*[a-zA-Z])+/;\nvar reCanBeCustomInline = /^(\\$\\$)(\\s*[a-zA-Z])+.*(\\$\\$)/;\nvar customBlock = function (parser) {\n var match;\n if (!parser.indented &&\n !reCanBeCustomInline.test(parser.currentLine) &&\n (match = parser.currentLine.match(reCustomBlock))) {\n var syntaxLength = match[1].length;\n parser.closeUnmatchedBlocks();\n var container = parser.addChild('customBlock', parser.nextNonspace);\n container.syntaxLength = syntaxLength;\n container.offset = parser.indent;\n parser.advanceNextNonspace();\n parser.advanceOffset(syntaxLength, false);\n return 2 /* Leaf */;\n }\n return 0 /* None */;\n};\n\nvar reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;\nvar reHtmlBlockOpen = [\n /./,\n /^<(?:script|pre|style)(?:\\s|>|$)/i,\n /^/,\n /\\?>/,\n />/,\n /\\]\\]>/,\n];\nvar reMaybeSpecial = /^[#`~*+_=<>0-9-;$]/;\nvar reLineEnding$1 = /\\r\\n|\\n|\\r/;\nfunction document$2() {\n return createNode$1('document', [\n [1, 1],\n [0, 0],\n ]);\n}\nvar defaultOptions$1 = {\n smart: false,\n tagFilter: false,\n extendedAutolinks: false,\n disallowedHtmlBlockTags: [],\n referenceDefinition: false,\n disallowDeepHeading: false,\n customParser: null,\n frontMatter: false,\n};\nvar Parser = /** @class */ (function () {\n function Parser(options) {\n this.options = __assign(__assign({}, defaultOptions$1), options);\n this.doc = document$2();\n this.tip = this.doc;\n this.oldtip = this.doc;\n this.lineNumber = 0;\n this.offset = 0;\n this.column = 0;\n this.nextNonspace = 0;\n this.nextNonspaceColumn = 0;\n this.indent = 0;\n this.currentLine = '';\n this.indented = false;\n this.blank = false;\n this.partiallyConsumedTab = false;\n this.allClosed = true;\n this.lastMatchedContainer = this.doc;\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.lastLineLength = 0;\n this.lines = [];\n if (this.options.frontMatter) {\n blockHandlers.frontMatter = frontMatter;\n blockStarts.unshift(frontMatter$1);\n }\n this.inlineParser = new InlineParser(this.options);\n }\n Parser.prototype.advanceOffset = function (count, columns) {\n if (columns === void 0) { columns = false; }\n var currentLine = this.currentLine;\n var charsToTab, charsToAdvance;\n var c;\n while (count > 0 && (c = currentLine[this.offset])) {\n if (c === '\\t') {\n charsToTab = 4 - (this.column % 4);\n if (columns) {\n this.partiallyConsumedTab = charsToTab > count;\n charsToAdvance = charsToTab > count ? count : charsToTab;\n this.column += charsToAdvance;\n this.offset += this.partiallyConsumedTab ? 0 : 1;\n count -= charsToAdvance;\n }\n else {\n this.partiallyConsumedTab = false;\n this.column += charsToTab;\n this.offset += 1;\n count -= 1;\n }\n }\n else {\n this.partiallyConsumedTab = false;\n this.offset += 1;\n this.column += 1; // assume ascii; block starts are ascii\n count -= 1;\n }\n }\n };\n Parser.prototype.advanceNextNonspace = function () {\n this.offset = this.nextNonspace;\n this.column = this.nextNonspaceColumn;\n this.partiallyConsumedTab = false;\n };\n Parser.prototype.findNextNonspace = function () {\n var currentLine = this.currentLine;\n var i = this.offset;\n var cols = this.column;\n var c;\n while ((c = currentLine.charAt(i)) !== '') {\n if (c === ' ') {\n i++;\n cols++;\n }\n else if (c === '\\t') {\n i++;\n cols += 4 - (cols % 4);\n }\n else {\n break;\n }\n }\n this.blank = c === '\\n' || c === '\\r' || c === '';\n this.nextNonspace = i;\n this.nextNonspaceColumn = cols;\n this.indent = this.nextNonspaceColumn - this.column;\n this.indented = this.indent >= CODE_INDENT;\n };\n // Add a line to the block at the tip. We assume the tip\n // can accept lines -- that check should be done before calling this.\n Parser.prototype.addLine = function () {\n if (this.partiallyConsumedTab) {\n this.offset += 1; // skip over tab\n // add space characters:\n var charsToTab = 4 - (this.column % 4);\n this.tip.stringContent += repeat(' ', charsToTab);\n }\n if (this.tip.lineOffsets) {\n this.tip.lineOffsets.push(this.offset);\n }\n else {\n this.tip.lineOffsets = [this.offset];\n }\n this.tip.stringContent += this.currentLine.slice(this.offset) + \"\\n\";\n };\n // Add block of type tag as a child of the tip. If the tip can't\n // accept children, close and finalize it and try its parent,\n // and so on til we find a block that can accept children.\n Parser.prototype.addChild = function (tag, offset) {\n while (!blockHandlers[this.tip.type].canContain(tag)) {\n this.finalize(this.tip, this.lineNumber - 1);\n }\n var columnNumber = offset + 1; // offset 0 = column 1\n var newBlock = createNode$1(tag, [\n [this.lineNumber, columnNumber],\n [0, 0],\n ]);\n newBlock.stringContent = '';\n this.tip.appendChild(newBlock);\n this.tip = newBlock;\n return newBlock;\n };\n // Finalize and close any unmatched blocks.\n Parser.prototype.closeUnmatchedBlocks = function () {\n if (!this.allClosed) {\n // finalize any blocks not matched\n while (this.oldtip !== this.lastMatchedContainer) {\n var parent_1 = this.oldtip.parent;\n this.finalize(this.oldtip, this.lineNumber - 1);\n this.oldtip = parent_1;\n }\n this.allClosed = true;\n }\n };\n // Finalize a block. Close it and do any necessary postprocessing,\n // e.g. creating stringContent from strings, setting the 'tight'\n // or 'loose' status of a list, and parsing the beginnings\n // of paragraphs for reference definitions. Reset the tip to the\n // parent of the closed block.\n Parser.prototype.finalize = function (block, lineNumber) {\n var above = block.parent;\n block.open = false;\n block.sourcepos[1] = [lineNumber, this.lastLineLength];\n blockHandlers[block.type].finalize(this, block);\n this.tip = above;\n };\n // Walk through a block & children recursively, parsing string content\n // into inline content where appropriate.\n Parser.prototype.processInlines = function (block) {\n var event;\n var customParser = this.options.customParser;\n var walker = block.walker();\n this.inlineParser.refMap = this.refMap;\n this.inlineParser.refLinkCandidateMap = this.refLinkCandidateMap;\n this.inlineParser.refDefCandidateMap = this.refDefCandidateMap;\n this.inlineParser.options = this.options;\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n var t = node.type;\n if (customParser && customParser[t]) {\n customParser[t](node, { entering: entering, options: this.options });\n }\n if (!entering &&\n (t === 'paragraph' ||\n t === 'heading' ||\n (t === 'tableCell' && !node.ignored))) {\n this.inlineParser.parse(node);\n }\n }\n };\n // Analyze a line of text and update the document appropriately.\n // We parse markdown text by calling this on each line of input,\n // then finalizing the document.\n Parser.prototype.incorporateLine = function (ln) {\n var container = this.doc;\n this.oldtip = this.tip;\n this.offset = 0;\n this.column = 0;\n this.blank = false;\n this.partiallyConsumedTab = false;\n this.lineNumber += 1;\n // replace NUL characters for security\n if (ln.indexOf('\\u0000') !== -1) {\n ln = ln.replace(/\\0/g, '\\uFFFD');\n }\n this.currentLine = ln;\n // For each containing block, try to parse the associated line start.\n // Bail out on failure: container will point to the last matching block.\n // Set allMatched to false if not all containers match.\n var allMatched = true;\n var lastChild;\n while ((lastChild = container.lastChild) && lastChild.open) {\n container = lastChild;\n this.findNextNonspace();\n switch (blockHandlers[container.type]['continue'](this, container)) {\n case 0 /* Go */: // we've matched, keep going\n break;\n case 1 /* Stop */: // we've failed to match a block\n allMatched = false;\n break;\n case 2 /* Finished */: // we've hit end of line for fenced code close and can return\n this.lastLineLength = ln.length;\n return;\n default:\n throw new Error('continue returned illegal value, must be 0, 1, or 2');\n }\n if (!allMatched) {\n container = container.parent; // back up to last matching block\n break;\n }\n }\n this.allClosed = container === this.oldtip;\n this.lastMatchedContainer = container;\n var matchedLeaf = container.type !== 'paragraph' && blockHandlers[container.type].acceptsLines;\n var blockStartsLen = blockStarts.length;\n // Unless last matched container is a code block, try new container starts,\n // adding children to the last matched container:\n while (!matchedLeaf) {\n this.findNextNonspace();\n // this is a little performance optimization:\n if (container.type !== 'table' &&\n container.type !== 'tableBody' &&\n container.type !== 'paragraph' &&\n !this.indented &&\n !reMaybeSpecial.test(ln.slice(this.nextNonspace))) {\n this.advanceNextNonspace();\n break;\n }\n var i = 0;\n while (i < blockStartsLen) {\n var res = blockStarts[i](this, container);\n if (res === 1 /* Container */) {\n container = this.tip;\n break;\n }\n else if (res === 2 /* Leaf */) {\n container = this.tip;\n matchedLeaf = true;\n break;\n }\n else {\n i++;\n }\n }\n if (i === blockStartsLen) {\n // nothing matched\n this.advanceNextNonspace();\n break;\n }\n }\n // What remains at the offset is a text line. Add the text to the\n // appropriate container.\n // First check for a lazy paragraph continuation:\n if (!this.allClosed && !this.blank && this.tip.type === 'paragraph') {\n // lazy paragraph continuation\n this.addLine();\n }\n else {\n // not a lazy continuation\n // finalize any blocks not matched\n this.closeUnmatchedBlocks();\n if (this.blank && container.lastChild) {\n container.lastChild.lastLineBlank = true;\n }\n var t = container.type;\n // Block quote lines are never blank as they start with >\n // and we don't count blanks in fenced code for purposes of tight/loose\n // lists or breaking out of lists. We also don't set _lastLineBlank\n // on an empty list item, or if we just closed a fenced block.\n var lastLineBlank = this.blank &&\n !(t === 'blockQuote' ||\n (isCodeBlock(container) && container.isFenced) ||\n (t === 'item' && !container.firstChild && container.sourcepos[0][0] === this.lineNumber));\n // propagate lastLineBlank up through parents:\n var cont = container;\n while (cont) {\n cont.lastLineBlank = lastLineBlank;\n cont = cont.parent;\n }\n if (blockHandlers[t].acceptsLines) {\n this.addLine();\n // if HtmlBlock, check for end condition\n if (isHtmlBlock(container) &&\n container.htmlBlockType >= 1 &&\n container.htmlBlockType <= 5 &&\n reHtmlBlockClose[container.htmlBlockType].test(this.currentLine.slice(this.offset))) {\n this.lastLineLength = ln.length;\n this.finalize(container, this.lineNumber);\n }\n }\n else if (this.offset < ln.length && !this.blank) {\n // create paragraph container for line\n container = this.addChild('paragraph', this.offset);\n this.advanceNextNonspace();\n this.addLine();\n }\n }\n this.lastLineLength = ln.length;\n };\n // The main parsing function. Returns a parsed document AST.\n Parser.prototype.parse = function (input, lineTexts) {\n this.doc = document$2();\n this.tip = this.doc;\n this.lineNumber = 0;\n this.lastLineLength = 0;\n this.offset = 0;\n this.column = 0;\n this.lastMatchedContainer = this.doc;\n this.currentLine = '';\n var lines = input.split(reLineEnding$1);\n var len = lines.length;\n this.lines = lineTexts ? lineTexts : lines;\n if (this.options.referenceDefinition) {\n this.clearRefMaps();\n }\n if (input.charCodeAt(input.length - 1) === C_NEWLINE) {\n // ignore last blank line created by final newline\n len -= 1;\n }\n for (var i = 0; i < len; i++) {\n this.incorporateLine(lines[i]);\n }\n while (this.tip) {\n this.finalize(this.tip, len);\n }\n this.processInlines(this.doc);\n return this.doc;\n };\n Parser.prototype.partialParseStart = function (lineNumber, lines) {\n this.doc = document$2();\n this.tip = this.doc;\n this.lineNumber = lineNumber - 1;\n this.lastLineLength = 0;\n this.offset = 0;\n this.column = 0;\n this.lastMatchedContainer = this.doc;\n this.currentLine = '';\n var len = lines.length;\n for (var i = 0; i < len; i++) {\n this.incorporateLine(lines[i]);\n }\n return this.doc;\n };\n Parser.prototype.partialParseExtends = function (lines) {\n for (var i = 0; i < lines.length; i++) {\n this.incorporateLine(lines[i]);\n }\n };\n Parser.prototype.partialParseFinish = function () {\n while (this.tip) {\n this.finalize(this.tip, this.lineNumber);\n }\n this.processInlines(this.doc);\n };\n Parser.prototype.setRefMaps = function (refMap, refLinkCandidateMap, refDefCandidateMap) {\n this.refMap = refMap;\n this.refLinkCandidateMap = refLinkCandidateMap;\n this.refDefCandidateMap = refDefCandidateMap;\n };\n Parser.prototype.clearRefMaps = function () {\n [this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap].forEach(function (map) {\n clearObj(map);\n });\n };\n return Parser;\n}());\n\nfunction comparePos(p1, p2) {\n if (p1[0] < p2[0]) {\n return 1 /* LT */;\n }\n if (p1[0] > p2[0]) {\n return -1 /* GT */;\n }\n if (p1[1] < p2[1]) {\n return 1 /* LT */;\n }\n if (p1[1] > p2[1]) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction compareRangeAndPos(_a, pos) {\n var startPos = _a[0], endPos = _a[1];\n if (comparePos(endPos, pos) === 1 /* LT */) {\n return 1 /* LT */;\n }\n if (comparePos(startPos, pos) === -1 /* GT */) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction removeNextUntil(node, last) {\n if (node.parent !== last.parent || node === last) {\n return;\n }\n var next = node.next;\n while (next && next !== last) {\n var temp = next.next;\n for (var _i = 0, _a = ['parent', 'prev', 'next']; _i < _a.length; _i++) {\n var type = _a[_i];\n if (next[type]) {\n removeNodeById(next[type].id);\n next[type] = null;\n }\n }\n next = temp;\n }\n node.next = last.next;\n if (last.next) {\n last.next.prev = node;\n }\n else {\n node.parent.lastChild = node;\n }\n}\nfunction getChildNodes(parent) {\n var nodes = [];\n var curr = parent.firstChild;\n while (curr) {\n nodes.push(curr);\n curr = curr.next;\n }\n return nodes;\n}\nfunction insertNodesBefore(target, nodes) {\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n target.insertBefore(node);\n }\n}\nfunction prependChildNodes(parent, nodes) {\n for (var i = nodes.length - 1; i >= 0; i -= 1) {\n parent.prependChild(nodes[i]);\n }\n}\nfunction updateNextLineNumbers(base, diff) {\n if (!base || !base.parent || diff === 0) {\n return;\n }\n var walker = base.parent.walker();\n walker.resumeAt(base, true);\n var event;\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n if (entering) {\n node.sourcepos[0][0] += diff;\n node.sourcepos[1][0] += diff;\n }\n }\n}\nfunction compareRangeAndLine(_a, line) {\n var startPos = _a[0], endPos = _a[1];\n if (endPos[0] < line) {\n return 1 /* LT */;\n }\n if (startPos[0] > line) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction findChildNodeAtLine(parent, line) {\n var node = parent.firstChild;\n while (node) {\n var comp = compareRangeAndLine(node.sourcepos, line);\n if (comp === 0 /* EQ */) {\n return node;\n }\n if (comp === -1 /* GT */) {\n // To consider that top line is blank line\n return node.prev || node;\n }\n node = node.next;\n }\n return parent.lastChild;\n}\nfunction lastLeafNode(node) {\n while (node.lastChild) {\n node = node.lastChild;\n }\n return node;\n}\nfunction sameLineTopAncestor(node) {\n while (node.parent &&\n node.parent.type !== 'document' &&\n node.parent.sourcepos[0][0] === node.sourcepos[0][0]) {\n node = node.parent;\n }\n return node;\n}\nfunction findFirstNodeAtLine(parent, line) {\n var node = parent.firstChild;\n var prev = null;\n while (node) {\n var comp = compareRangeAndLine(node.sourcepos, line);\n if (comp === 0 /* EQ */) {\n if (node.sourcepos[0][0] === line || !node.firstChild) {\n return node;\n }\n prev = node;\n node = node.firstChild;\n }\n else if (comp === -1 /* GT */) {\n break;\n }\n else {\n prev = node;\n node = node.next;\n }\n }\n if (prev) {\n return sameLineTopAncestor(lastLeafNode(prev));\n }\n return null;\n}\nfunction findNodeAtPosition(parent, pos) {\n var node = parent;\n var prev = null;\n while (node) {\n var comp = compareRangeAndPos(node.sourcepos, pos);\n if (comp === 0 /* EQ */) {\n if (node.firstChild) {\n prev = node;\n node = node.firstChild;\n }\n else {\n return node;\n }\n }\n else if (comp === -1 /* GT */) {\n return prev;\n }\n else if (node.next) {\n node = node.next;\n }\n else {\n return prev;\n }\n }\n return node;\n}\nfunction findNodeById(id) {\n return getNodeById(id) || null;\n}\nfunction invokeNextUntil(callback, start, end) {\n if (end === void 0) { end = null; }\n if (start) {\n var walker = start.walker();\n while (start && start !== end) {\n callback(start);\n var next = walker.next();\n if (next) {\n start = next.node;\n }\n else {\n break;\n }\n }\n }\n}\nfunction isUnlinked(id) {\n var node = findNodeById(id);\n if (!node) {\n return true;\n }\n while (node && node.type !== 'document') {\n // eslint-disable-next-line no-loop-func\n if (!node.parent && !node.prev && !node.next) {\n return true;\n }\n node = node.parent;\n }\n return false;\n}\n\nvar reLineEnding = /\\r\\n|\\n|\\r/;\nfunction canBeContinuedListItem(lineText) {\n var spaceMatch = lineText.match(/^[ \\t]+/);\n if (spaceMatch && (spaceMatch[0].length >= 2 || /\\t/.test(spaceMatch[0]))) {\n return true;\n }\n var leftTrimmed = spaceMatch ? lineText.slice(spaceMatch.length) : lineText;\n return reBulletListMarker.test(leftTrimmed) || reOrderedListMarker.test(leftTrimmed);\n}\nfunction canBeContinuedTableBody(lineText) {\n return !isBlank(lineText) && lineText.indexOf('|') !== -1;\n}\nfunction createRefDefState(node) {\n var id = node.id, title = node.title, sourcepos = node.sourcepos, dest = node.dest;\n return {\n id: id,\n title: title,\n sourcepos: sourcepos,\n unlinked: false,\n destination: dest,\n };\n}\nvar ToastMark = /** @class */ (function () {\n function ToastMark(contents, options) {\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.referenceDefinition = !!(options === null || options === void 0 ? void 0 : options.referenceDefinition);\n this.parser = new Parser(options);\n this.parser.setRefMaps(this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap);\n this.eventHandlerMap = { change: [] };\n contents = contents || '';\n this.lineTexts = contents.split(reLineEnding);\n this.root = this.parser.parse(contents, this.lineTexts);\n }\n ToastMark.prototype.updateLineTexts = function (startPos, endPos, newText) {\n var _a;\n var startLine = startPos[0], startCol = startPos[1];\n var endLine = endPos[0], endCol = endPos[1];\n var newLines = newText.split(reLineEnding);\n var newLineLen = newLines.length;\n var startLineText = this.lineTexts[startLine - 1];\n var endLineText = this.lineTexts[endLine - 1];\n newLines[0] = startLineText.slice(0, startCol - 1) + newLines[0];\n newLines[newLineLen - 1] = newLines[newLineLen - 1] + endLineText.slice(endCol - 1);\n var removedLineLen = endLine - startLine + 1;\n (_a = this.lineTexts).splice.apply(_a, __spreadArray([startLine - 1, removedLineLen], newLines));\n return newLineLen - removedLineLen;\n };\n ToastMark.prototype.updateRootNodeState = function () {\n if (this.lineTexts.length === 1 && this.lineTexts[0] === '') {\n this.root.lastLineBlank = true;\n this.root.sourcepos = [\n [1, 1],\n [1, 0],\n ];\n return;\n }\n if (this.root.lastChild) {\n this.root.lastLineBlank = this.root.lastChild.lastLineBlank;\n }\n var lineTexts = this.lineTexts;\n var idx = lineTexts.length - 1;\n while (lineTexts[idx] === '') {\n idx -= 1;\n }\n if (lineTexts.length - 2 > idx) {\n idx += 1;\n }\n this.root.sourcepos[1] = [idx + 1, lineTexts[idx].length];\n };\n ToastMark.prototype.replaceRangeNodes = function (startNode, endNode, newNodes) {\n if (!startNode) {\n if (endNode) {\n insertNodesBefore(endNode, newNodes);\n removeNodeById(endNode.id);\n endNode.unlink();\n }\n else {\n prependChildNodes(this.root, newNodes);\n }\n }\n else {\n insertNodesBefore(startNode, newNodes);\n removeNextUntil(startNode, endNode);\n [startNode.id, endNode.id].forEach(function (id) { return removeNodeById(id); });\n startNode.unlink();\n }\n };\n ToastMark.prototype.getNodeRange = function (startPos, endPos) {\n var startNode = findChildNodeAtLine(this.root, startPos[0]);\n var endNode = findChildNodeAtLine(this.root, endPos[0]);\n // extend node range to include a following block which doesn't have preceding blank line\n if (endNode && endNode.next && endPos[0] + 1 === endNode.next.sourcepos[0][0]) {\n endNode = endNode.next;\n }\n return [startNode, endNode];\n };\n ToastMark.prototype.trigger = function (eventName, param) {\n this.eventHandlerMap[eventName].forEach(function (handler) {\n handler(param);\n });\n };\n ToastMark.prototype.extendEndLine = function (line) {\n while (this.lineTexts[line] === '') {\n line += 1;\n }\n return line;\n };\n ToastMark.prototype.parseRange = function (startNode, endNode, startLine, endLine) {\n // extends starting range if the first node can be a continued list item\n if (startNode &&\n startNode.prev &&\n ((isList(startNode.prev) && canBeContinuedListItem(this.lineTexts[startLine - 1])) ||\n (isTable(startNode.prev) && canBeContinuedTableBody(this.lineTexts[startLine - 1])))) {\n startNode = startNode.prev;\n startLine = startNode.sourcepos[0][0];\n }\n var editedLines = this.lineTexts.slice(startLine - 1, endLine);\n var root = this.parser.partialParseStart(startLine, editedLines);\n // extends ending range if the following node can be a fenced code block or a continued list item\n var nextNode = endNode ? endNode.next : this.root.firstChild;\n var lastChild = root.lastChild;\n var isOpenedLastChildCodeBlock = lastChild && isCodeBlock(lastChild) && lastChild.open;\n var isOpenedLastChildCustomBlock = lastChild && isCustomBlock(lastChild) && lastChild.open;\n var isLastChildList = lastChild && isList(lastChild);\n while (((isOpenedLastChildCodeBlock || isOpenedLastChildCustomBlock) && nextNode) ||\n (isLastChildList && nextNode && (nextNode.type === 'list' || nextNode.sourcepos[0][1] >= 2))) {\n var newEndLine = this.extendEndLine(nextNode.sourcepos[1][0]);\n this.parser.partialParseExtends(this.lineTexts.slice(endLine, newEndLine));\n if (!startNode) {\n startNode = endNode;\n }\n endNode = nextNode;\n endLine = newEndLine;\n nextNode = nextNode.next;\n }\n this.parser.partialParseFinish();\n var newNodes = getChildNodes(root);\n return { newNodes: newNodes, extStartNode: startNode, extEndNode: endNode };\n };\n ToastMark.prototype.getRemovedNodeRange = function (extStartNode, extEndNode) {\n if (!extStartNode ||\n (extStartNode && isRefDef(extStartNode)) ||\n (extEndNode && isRefDef(extEndNode))) {\n return null;\n }\n return {\n id: [extStartNode.id, extEndNode.id],\n line: [extStartNode.sourcepos[0][0] - 1, extEndNode.sourcepos[1][0] - 1],\n };\n };\n ToastMark.prototype.markDeletedRefMap = function (extStartNode, extEndNode) {\n var _this = this;\n if (!isEmptyObj(this.refMap)) {\n var markDeleted = function (node) {\n if (isRefDef(node)) {\n var refDefState = _this.refMap[node.label];\n if (refDefState && node.id === refDefState.id) {\n refDefState.unlinked = true;\n }\n }\n };\n if (extStartNode) {\n invokeNextUntil(markDeleted, extStartNode.parent, extEndNode);\n }\n if (extEndNode) {\n invokeNextUntil(markDeleted, extEndNode);\n }\n }\n };\n ToastMark.prototype.replaceWithNewRefDefState = function (nodes) {\n var _this = this;\n if (!isEmptyObj(this.refMap)) {\n var replaceWith_1 = function (node) {\n if (isRefDef(node)) {\n var label = node.label;\n var refDefState = _this.refMap[label];\n if (!refDefState || refDefState.unlinked) {\n _this.refMap[label] = createRefDefState(node);\n }\n }\n };\n nodes.forEach(function (node) {\n invokeNextUntil(replaceWith_1, node);\n });\n }\n };\n ToastMark.prototype.replaceWithRefDefCandidate = function () {\n var _this = this;\n if (!isEmptyObj(this.refDefCandidateMap)) {\n iterateObject(this.refDefCandidateMap, function (_, candidate) {\n var label = candidate.label, sourcepos = candidate.sourcepos;\n var refDefState = _this.refMap[label];\n if (!refDefState ||\n refDefState.unlinked ||\n refDefState.sourcepos[0][0] > sourcepos[0][0]) {\n _this.refMap[label] = createRefDefState(candidate);\n }\n });\n }\n };\n ToastMark.prototype.getRangeWithRefDef = function (startLine, endLine, startNode, endNode, lineDiff) {\n if (this.referenceDefinition && !isEmptyObj(this.refMap)) {\n var prevNode = findChildNodeAtLine(this.root, startLine - 1);\n var nextNode = findChildNodeAtLine(this.root, endLine + 1);\n if (prevNode && isRefDef(prevNode) && prevNode !== startNode && prevNode !== endNode) {\n startNode = prevNode;\n startLine = startNode.sourcepos[0][0];\n }\n if (nextNode && isRefDef(nextNode) && nextNode !== startNode && nextNode !== endNode) {\n endNode = nextNode;\n endLine = this.extendEndLine(endNode.sourcepos[1][0] + lineDiff);\n }\n }\n return [startNode, endNode, startLine, endLine];\n };\n ToastMark.prototype.parse = function (startPos, endPos, lineDiff) {\n if (lineDiff === void 0) { lineDiff = 0; }\n var range = this.getNodeRange(startPos, endPos);\n var startNode = range[0], endNode = range[1];\n var startLine = startNode ? Math.min(startNode.sourcepos[0][0], startPos[0]) : startPos[0];\n var endLine = this.extendEndLine((endNode ? Math.max(endNode.sourcepos[1][0], endPos[0]) : endPos[0]) + lineDiff);\n var parseResult = this.parseRange.apply(this, this.getRangeWithRefDef(startLine, endLine, startNode, endNode, lineDiff));\n var newNodes = parseResult.newNodes, extStartNode = parseResult.extStartNode, extEndNode = parseResult.extEndNode;\n var removedNodeRange = this.getRemovedNodeRange(extStartNode, extEndNode);\n var nextNode = extEndNode ? extEndNode.next : this.root.firstChild;\n if (this.referenceDefinition) {\n this.markDeletedRefMap(extStartNode, extEndNode);\n this.replaceRangeNodes(extStartNode, extEndNode, newNodes);\n this.replaceWithNewRefDefState(newNodes);\n }\n else {\n this.replaceRangeNodes(extStartNode, extEndNode, newNodes);\n }\n return { nodes: newNodes, removedNodeRange: removedNodeRange, nextNode: nextNode };\n };\n ToastMark.prototype.parseRefLink = function () {\n var _this = this;\n var result = [];\n if (!isEmptyObj(this.refMap)) {\n iterateObject(this.refMap, function (label, value) {\n if (value.unlinked) {\n delete _this.refMap[label];\n }\n iterateObject(_this.refLinkCandidateMap, function (_, candidate) {\n var node = candidate.node, refLabel = candidate.refLabel;\n if (refLabel === label) {\n result.push(_this.parse(node.sourcepos[0], node.sourcepos[1]));\n }\n });\n });\n }\n return result;\n };\n ToastMark.prototype.removeUnlinkedCandidate = function () {\n if (!isEmptyObj(this.refDefCandidateMap)) {\n [this.refLinkCandidateMap, this.refDefCandidateMap].forEach(function (candidateMap) {\n iterateObject(candidateMap, function (id) {\n if (isUnlinked(id)) {\n delete candidateMap[id];\n }\n });\n });\n }\n };\n ToastMark.prototype.editMarkdown = function (startPos, endPos, newText) {\n var lineDiff = this.updateLineTexts(startPos, endPos, newText);\n var parseResult = this.parse(startPos, endPos, lineDiff);\n var editResult = omit(parseResult, 'nextNode');\n updateNextLineNumbers(parseResult.nextNode, lineDiff);\n this.updateRootNodeState();\n var result = [editResult];\n if (this.referenceDefinition) {\n this.removeUnlinkedCandidate();\n this.replaceWithRefDefCandidate();\n result = result.concat(this.parseRefLink());\n }\n this.trigger('change', result);\n return result;\n };\n ToastMark.prototype.getLineTexts = function () {\n return this.lineTexts;\n };\n ToastMark.prototype.getRootNode = function () {\n return this.root;\n };\n ToastMark.prototype.findNodeAtPosition = function (pos) {\n var node = findNodeAtPosition(this.root, pos);\n if (!node || node === this.root) {\n return null;\n }\n return node;\n };\n ToastMark.prototype.findFirstNodeAtLine = function (line) {\n return findFirstNodeAtLine(this.root, line);\n };\n ToastMark.prototype.on = function (eventName, callback) {\n this.eventHandlerMap[eventName].push(callback);\n };\n ToastMark.prototype.off = function (eventName, callback) {\n var handlers = this.eventHandlerMap[eventName];\n var idx = handlers.indexOf(callback);\n handlers.splice(idx, 1);\n };\n ToastMark.prototype.findNodeById = function (id) {\n return findNodeById(id);\n };\n ToastMark.prototype.removeAllNode = function () {\n removeAllNode();\n };\n return ToastMark;\n}());\n\nvar disallowedTags = [\n 'title',\n 'textarea',\n 'style',\n 'xmp',\n 'iframe',\n 'noembed',\n 'noframes',\n 'script',\n 'plaintext',\n];\nvar reDisallowedTag = new RegExp(\"<(/?(?:\" + disallowedTags.join('|') + \")[^>]*>)\", 'ig');\nfunction filterDisallowedTags(str) {\n if (reDisallowedTag.test(str)) {\n return str.replace(reDisallowedTag, function (_, group) { return \"<\" + group; });\n }\n return str;\n}\n\nvar baseConvertors$1 = {\n heading: function (node, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: \"h\" + node.level,\n outerNewLine: true,\n };\n },\n text: function (node) {\n return {\n type: 'text',\n content: node.literal,\n };\n },\n softbreak: function (_, _a) {\n var options = _a.options;\n return {\n type: 'html',\n content: options.softbreak,\n };\n },\n linebreak: function () {\n return {\n type: 'html',\n content: '
    \\n',\n };\n },\n emph: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'em',\n };\n },\n strong: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'strong',\n };\n },\n paragraph: function (node, _a) {\n var _b;\n var entering = _a.entering;\n var grandparent = (_b = node.parent) === null || _b === void 0 ? void 0 : _b.parent;\n if (grandparent && grandparent.type === 'list') {\n if (grandparent.listData.tight) {\n return null;\n }\n }\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'p',\n outerNewLine: true,\n };\n },\n thematicBreak: function () {\n return {\n type: 'openTag',\n tagName: 'hr',\n outerNewLine: true,\n selfClose: true,\n };\n },\n blockQuote: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'blockquote',\n outerNewLine: true,\n innerNewLine: true,\n };\n },\n list: function (node, _a) {\n var entering = _a.entering;\n var _b = node.listData, type = _b.type, start = _b.start;\n var tagName = type === 'bullet' ? 'ul' : 'ol';\n var attributes = {};\n if (tagName === 'ol' && start !== null && start !== 1) {\n attributes.start = start.toString();\n }\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: tagName,\n attributes: attributes,\n outerNewLine: true,\n };\n },\n item: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'li',\n outerNewLine: true,\n };\n },\n htmlInline: function (node, _a) {\n var options = _a.options;\n var content = options.tagFilter ? filterDisallowedTags(node.literal) : node.literal;\n return { type: 'html', content: content };\n },\n htmlBlock: function (node, _a) {\n var options = _a.options;\n var content = options.tagFilter ? filterDisallowedTags(node.literal) : node.literal;\n if (options.nodeId) {\n return [\n { type: 'openTag', tagName: 'div', outerNewLine: true },\n { type: 'html', content: content },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n }\n return { type: 'html', content: content, outerNewLine: true };\n },\n code: function (node) {\n return [\n { type: 'openTag', tagName: 'code' },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'code' },\n ];\n },\n codeBlock: function (node) {\n var infoStr = node.info;\n var infoWords = infoStr ? infoStr.split(/\\s+/) : [];\n var codeClassNames = [];\n if (infoWords.length > 0 && infoWords[0].length > 0) {\n codeClassNames.push(\"language-\" + escapeXml(infoWords[0]));\n }\n return [\n { type: 'openTag', tagName: 'pre', outerNewLine: true },\n { type: 'openTag', tagName: 'code', classNames: codeClassNames },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'code' },\n { type: 'closeTag', tagName: 'pre', outerNewLine: true },\n ];\n },\n link: function (node, _a) {\n var entering = _a.entering;\n if (entering) {\n var _b = node, title = _b.title, destination = _b.destination;\n return {\n type: 'openTag',\n tagName: 'a',\n attributes: __assign({ href: escapeXml(destination) }, (title && { title: escapeXml(title) })),\n };\n }\n return { type: 'closeTag', tagName: 'a' };\n },\n image: function (node, _a) {\n var getChildrenText = _a.getChildrenText, skipChildren = _a.skipChildren;\n var _b = node, title = _b.title, destination = _b.destination;\n skipChildren();\n return {\n type: 'openTag',\n tagName: 'img',\n selfClose: true,\n attributes: __assign({ src: escapeXml(destination), alt: getChildrenText(node) }, (title && { title: escapeXml(title) })),\n };\n },\n customBlock: function (node, context, convertors) {\n var info = node.info.trim().toLowerCase();\n var customConvertor = convertors[info];\n if (customConvertor) {\n try {\n return customConvertor(node, context);\n }\n catch (e) {\n console.warn(\"[@toast-ui/editor] - The error occurred when \" + info + \" block node was parsed in markdown renderer: \" + e);\n }\n }\n return [\n { type: 'openTag', tagName: 'div', outerNewLine: true },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n },\n frontMatter: function (node) {\n return [\n {\n type: 'openTag',\n tagName: 'div',\n outerNewLine: true,\n // Because front matter is metadata, it should not be render.\n attributes: { style: 'white-space: pre; display: none;' },\n },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n },\n customInline: function (node, context, convertors) {\n var _a = node, info = _a.info, firstChild = _a.firstChild;\n var nomalizedInfo = info.trim().toLowerCase();\n var customConvertor = convertors[nomalizedInfo];\n var entering = context.entering;\n if (customConvertor) {\n try {\n return customConvertor(node, context);\n }\n catch (e) {\n console.warn(\"[@toast-ui/editor] - The error occurred when \" + nomalizedInfo + \" inline node was parsed in markdown renderer: \" + e);\n }\n }\n return entering\n ? [\n { type: 'openTag', tagName: 'span' },\n { type: 'text', content: \"$$\" + info + (firstChild ? ' ' : '') },\n ]\n : [\n { type: 'text', content: '$$' },\n { type: 'closeTag', tagName: 'span' },\n ];\n },\n};\n\nvar gfmConvertors = {\n strike: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'del',\n };\n },\n item: function (node, _a) {\n var entering = _a.entering;\n var _b = node.listData, checked = _b.checked, task = _b.task;\n if (entering) {\n var itemTag = {\n type: 'openTag',\n tagName: 'li',\n outerNewLine: true,\n };\n if (task) {\n return [\n itemTag,\n {\n type: 'openTag',\n tagName: 'input',\n selfClose: true,\n attributes: __assign(__assign({}, (checked && { checked: '' })), { disabled: '', type: 'checkbox' }),\n },\n {\n type: 'text',\n content: ' ',\n },\n ];\n }\n return itemTag;\n }\n return {\n type: 'closeTag',\n tagName: 'li',\n outerNewLine: true,\n };\n },\n table: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'table',\n outerNewLine: true,\n };\n },\n tableHead: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'thead',\n outerNewLine: true,\n };\n },\n tableBody: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'tbody',\n outerNewLine: true,\n };\n },\n tableRow: function (node, _a) {\n var entering = _a.entering;\n if (entering) {\n return {\n type: 'openTag',\n tagName: 'tr',\n outerNewLine: true,\n };\n }\n var result = [];\n if (node.lastChild) {\n var columnLen = node.parent.parent.columns.length;\n var lastColIdx = node.lastChild.endIdx;\n for (var i = lastColIdx + 1; i < columnLen; i += 1) {\n result.push({\n type: 'openTag',\n tagName: 'td',\n outerNewLine: true,\n }, {\n type: 'closeTag',\n tagName: 'td',\n outerNewLine: true,\n });\n }\n }\n result.push({\n type: 'closeTag',\n tagName: 'tr',\n outerNewLine: true,\n });\n return result;\n },\n tableCell: function (node, _a) {\n var entering = _a.entering;\n if (node.ignored) {\n return {\n type: 'text',\n content: '',\n };\n }\n var tablePart = node.parent.parent;\n var tagName = tablePart.type === 'tableHead' ? 'th' : 'td';\n var table = tablePart.parent;\n var columnInfo = table.columns[node.startIdx];\n var attributes = (columnInfo === null || columnInfo === void 0 ? void 0 : columnInfo.align) ? { align: columnInfo.align } : null;\n if (entering) {\n return __assign({ type: 'openTag', tagName: tagName, outerNewLine: true }, (attributes && { attributes: attributes }));\n }\n return {\n type: 'closeTag',\n tagName: tagName,\n outerNewLine: true,\n };\n },\n};\n\nvar defaultOptions = {\n softbreak: '\\n',\n gfm: false,\n tagFilter: false,\n nodeId: false,\n};\nfunction getChildrenText(node) {\n var buffer = [];\n var walker = node.walker();\n var event = null;\n while ((event = walker.next())) {\n var node_1 = event.node;\n if (node_1.type === 'text') {\n buffer.push(node_1.literal);\n }\n }\n return buffer.join('');\n}\nvar Renderer = /** @class */ (function () {\n function Renderer(customOptions) {\n this.buffer = [];\n this.options = __assign(__assign({}, defaultOptions), customOptions);\n this.convertors = this.createConvertors();\n delete this.options.convertors;\n }\n Renderer.prototype.createConvertors = function () {\n var convertors = __assign({}, baseConvertors$1);\n if (this.options.gfm) {\n convertors = __assign(__assign({}, convertors), gfmConvertors);\n }\n if (this.options.convertors) {\n var customConvertors_1 = this.options.convertors;\n var nodeTypes = Object.keys(customConvertors_1);\n var defaultConvertors_1 = __assign(__assign({}, baseConvertors$1), gfmConvertors);\n nodeTypes.forEach(function (nodeType) {\n var orgConvertor = convertors[nodeType];\n var convertor = customConvertors_1[nodeType];\n var convertorType = Object.keys(defaultConvertors_1).indexOf(nodeType) === -1\n ? nodeType.toLowerCase()\n : nodeType;\n if (orgConvertor) {\n convertors[convertorType] = function (node, context, convertors) {\n context.origin = function () { return orgConvertor(node, context, convertors); };\n return convertor(node, context);\n };\n }\n else {\n convertors[convertorType] = convertor;\n }\n });\n }\n return convertors;\n };\n Renderer.prototype.getConvertors = function () {\n return this.convertors;\n };\n Renderer.prototype.getOptions = function () {\n return this.options;\n };\n Renderer.prototype.render = function (rootNode) {\n var _this = this;\n this.buffer = [];\n var walker = rootNode.walker();\n var event = null;\n var _loop_1 = function () {\n var node = event.node, entering = event.entering;\n var convertor = this_1.convertors[node.type];\n if (!convertor) {\n return \"continue\";\n }\n var skipped = false;\n var context = {\n entering: entering,\n leaf: !isContainer$1(node),\n options: this_1.options,\n getChildrenText: getChildrenText,\n skipChildren: function () {\n skipped = true;\n },\n };\n var converted = isCustomBlock(node) || isCustomInline(node)\n ? convertor(node, context, this_1.convertors)\n : convertor(node, context);\n if (converted) {\n var htmlNodes = Array.isArray(converted) ? converted : [converted];\n htmlNodes.forEach(function (htmlNode, index) {\n if (htmlNode.type === 'openTag' && _this.options.nodeId && index === 0) {\n if (!htmlNode.attributes) {\n htmlNode.attributes = {};\n }\n htmlNode.attributes['data-nodeid'] = String(node.id);\n }\n _this.renderHTMLNode(htmlNode);\n });\n if (skipped) {\n walker.resumeAt(node, false);\n walker.next();\n }\n }\n };\n var this_1 = this;\n while ((event = walker.next())) {\n _loop_1();\n }\n this.addNewLine();\n return this.buffer.join('');\n };\n Renderer.prototype.renderHTMLNode = function (node) {\n switch (node.type) {\n case 'openTag':\n case 'closeTag':\n this.renderElementNode(node);\n break;\n case 'text':\n this.renderTextNode(node);\n break;\n case 'html':\n this.renderRawHtmlNode(node);\n break;\n // no-default-case\n }\n };\n Renderer.prototype.generateOpenTagString = function (node) {\n var _this = this;\n var tagName = node.tagName, classNames = node.classNames, attributes = node.attributes;\n this.buffer.push(\"<\" + tagName);\n if (classNames && classNames.length > 0) {\n this.buffer.push(\" class=\\\"\" + classNames.join(' ') + \"\\\"\");\n }\n if (attributes) {\n Object.keys(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n _this.buffer.push(\" \" + attrName + \"=\\\"\" + attrValue + \"\\\"\");\n });\n }\n if (node.selfClose) {\n this.buffer.push(' /');\n }\n this.buffer.push('>');\n };\n Renderer.prototype.generateCloseTagString = function (_a) {\n var tagName = _a.tagName;\n this.buffer.push(\"\");\n };\n Renderer.prototype.addNewLine = function () {\n if (this.buffer.length && last(last(this.buffer)) !== '\\n') {\n this.buffer.push('\\n');\n }\n };\n Renderer.prototype.addOuterNewLine = function (node) {\n if (node.outerNewLine) {\n this.addNewLine();\n }\n };\n Renderer.prototype.addInnerNewLine = function (node) {\n if (node.innerNewLine) {\n this.addNewLine();\n }\n };\n Renderer.prototype.renderTextNode = function (node) {\n this.buffer.push(escapeXml(node.content));\n };\n Renderer.prototype.renderRawHtmlNode = function (node) {\n this.addOuterNewLine(node);\n this.buffer.push(node.content);\n this.addOuterNewLine(node);\n };\n Renderer.prototype.renderElementNode = function (node) {\n if (node.type === 'openTag') {\n this.addOuterNewLine(node);\n this.generateOpenTagString(node);\n if (node.selfClose) {\n this.addOuterNewLine(node);\n }\n else {\n this.addInnerNewLine(node);\n }\n }\n else {\n this.addInnerNewLine(node);\n this.generateCloseTagString(node);\n this.addOuterNewLine(node);\n }\n };\n return Renderer;\n}());\n\n/*! @license DOMPurify 2.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.3/LICENSE */\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\n\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\n\nvar regExpTest = unapply(RegExp.prototype.test);\n\nvar typeErrorCreate = unconstruct(TypeError);\n\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\n\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n\n/* Add properties to a lookup table */\nfunction addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nfunction clone(object) {\n var newObject = create(null);\n\n var property = void 0;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html$2 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n// SVG\nvar svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n\nvar svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n\nvar mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n\nvar text = freeze(['#text']);\n\nvar html$1$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n\nvar svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n\nvar mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nvar ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.3.3';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n\n\n var ElementPrototype = Element.prototype;\n\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n\n\n var documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html$2), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n var FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n var RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n var RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n var RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n\n /* Parsing of strict XHTML documents */\n var PARSER_MEDIA_TYPE = void 0;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc = void 0;\n\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? function (x) {\n return x;\n } : stringToLowerCase;\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$2);\n addToSet(ALLOWED_ATTR, html$1$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erronously deleted from\n // HTML namespace.\n var commonSvgAndHTMLElements = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml') {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(object) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (tagName === 'select' && regExpTest(/